Amstrad CPC
This article needs additional citations for verification. (September 2007) |
This article contains weasel words: vague phrasing that often accompanies biased or unverifiable information. (February 2009) |
Type | Personal computer |
---|---|
Release date | 1984 |
Discontinued | 1990 |
Operating system | Locomotive BASIC 1.0, 1.1 and CP/M |
CPU | Zilog Z80A @ 4 MHz |
Memory | 64 to 576 KB[1] |
The Amstrad CPC is a series of 8 bit home computers produced by Amstrad during the 1980s and early 1990s. "CPC" stands for 'Colour Personal Computer', although it was possible to purchase a CPC with a green screen (GT64/65) as well as with the standard colour screen (CTM640/644).
Release history
The first machine, the CPC 464, introduced in 1984, was designed as a direct competitor to the Commodore 64 system. Packaged as a "complete system" the CPC 464 came with its own monitor and built-in cassette tape deck. The CPC 664, with its own built-in floppy disk drive, arrived early in 1985, to be replaced itself later that same year by the CPC 6128
The original CPC range was successful, especially in Europe, with three million units sold[2]. Following this, Amstrad launched the Amstrad PCW word-processor range, which sold eight million units[2]. Variations and clones of the CPC range were also released in Germany and Spain. The Plus range failed to find a market amongst the higher spec 16-bit Atari ST and Commodore Amiga systems.
Plus models
In 1990 Amstrad introduced the "Plus" series, 464 and 6128 Plus, which tweaked the hardware and added a cartridge slot to the system.[3] Improvements were made to the video display which saw an increase in palette to 4096 colours and gained a capacity for hardware sprites.[3] Splitting the display into separate modes and pixel scrolling both became fully supported hardware features. The former was reasonably easy on the non-"Plus" machines, and the latter possible to some degree using clever programming of the existing Motorola 6845.
An automatic DMA transfer system for feeding the sound chip was also added, enabling high-quality samples to be replayed with minimal processor overhead. The sound chip itself however, remained unchanged.[3]
A cut-down CPC Plus, without the keyboard or support for non-cartridge media was also released as the GX4000 video game console.[3] These models did not do well in the marketplace, failing to attract any substantial third-party support.[4] The 8-bit technology behind the CPC was looking out-of-date by 1990 and Amstrad's marketing failed to promote any significant advantage over the competing Atari ST and Commodore Amiga systems.[4] The new models were not helped by the substantial price difference between cartridge games and their tape and disc counterparts, exacerbated by the tendency to rerelease old games on cartridge without taking advantage of the enhanced Plus hardware.
Technical specifications
- CPC 464 – Tape deck, 64 KB RAM.[5]
- CPC 472 – Tape deck, 72 KB RAM (the additional 8 KB RAM are not usable by the system itself); produced in small numbers for the Spanish market to avoid a legal ruling requiring that computers with 64 KB or less RAM must be localized to the Spanish language, including the keyboard and screen messages. The law was subsequently changed to include machines with more than 64 KB RAM so a localised version of the 472 also exists.[6]
- CPC 664 – 3" Floppy disk drive, 64 KB RAM.
- CPC 6128 – 3" Floppy disk drive, 128 KB RAM.
Processor
CPC models were based on a Zilog Z80 processor clocked at 4 MHz.[7] Because a common pool of RAM is shared with the video circuits, the Z80 may only make a memory accesses every four cycles - which has the effect of rounding instruction cycle lengths up to the next multiple of four. The speed is therefore roughly equivalent to a 3.3 MHz machine.
Memory
The system came with 64 KB or 128 KB of RAM depending on the model (capable of being expanded to 512k within the Amstrad-standard address space).[7] [8] The machines also featured an (almost) standard 9-pin Atari-style joystick socket which was able to take two joysticks via a splitter.[7]
Expansion
The hardware and firmware was designed so that it could access software in external ROMs. Each ROM had to be a 16k block and was switched in and out of the memory space shared with the video RAM. The Amstrad firmware was deliberately designed so that new software could be easily accessed from these ROMs with minimum of fuss. Popular applications were marketed on ROM, particularly word processing and programming utility software (examples are Protext and Brunword of the former, and the MAXAM assembler of the latter type).
Such extra ROM chips did not plug directly into the CPC itself, but into extra plug-in "rom-boxes" which contained sockets for the ROM chips and a minimal amount of decoding circuitry for the main machine to be able to switch between them. These boxes were either marketed commercially or could be built by competent hobbyists and they attached to the main expansion port at the back of the machine. Software on ROM loaded much faster than from disc or tape and the machine's boot-up sequence was designed to evaluate ROMs it found and optionally hand over control of the machine to them. This allowed complete [weasel words] customisation of the function of the machine, something that research labs and enthusiasts exploited for all manner of purposes [citation needed]. However, the typical user would probably not be aware of this added ROM functionality unless they read the CPC press, as it was not described in the user manual and was hardly ever mentioned in marketing literature. It was, however, documented in the official Amstrad firmware manual.
Video
Underlying the CPC's video output was the Motorola 6845 address generator. This chip was connected to a pixel generator that supported 4 bpp, 2 bpp and 1 bpp output (bpp = bits per pixel). The address generator was clocked at a constant rate so the 4 bpp display generated half as many pixels as the 2 bpp and a quarter as many as the 1 bpp. Three built-in display resolutions were available, though increased screen size could be achieved by reprogramming the 6845.
The standard video modes were:
- Mode 0: 160×200 pixels with 16 colors (4 bpp)[7]
- Mode 1: 320×200 pixels with 4 colors (2 bpp)[7]
- Mode 2: 640×200 pixels with 2 colors (1 bpp)[7]
A colour palette of 27 colors was supported,[7] derived from RGB colour space with each component assigned as either off, half on or on. The later Plus models extended this to 4096 colours and added support for hardware sprites.[3]
The machine lacked an RF TV or composite video output and instead shipped with a proprietary 6-pin DIN connector intended for use solely with the supplied Amstrad monitor.[7] An official external adapter for RF TV was available to buy separately. The 6-pin DIN connector is capable of driving a SCART television with a correctly wired lead. The video signals are PAL frequency 1v p-p analogue RGB with composite sync.
Audio
The CPC used the General Instrument AY-3-8912 sound chip,[7] providing three channels, each configurable to generate square waves, white noise or both. A small array of hardware volume envelopes are available.
Output was provided in mono by a small (4 cm) built-in loudspeaker with volume control, driven by an internal amplifier. Stereo output was provided through a 3.5 mm headphones jack.
Playback of digital sound samples at a resolution of approximately 5-bit (for example as on the title screen of the game RoboCop) was possible by sending a stream of values to the sound chip. This technique was very processor-intensive and hard to combine with any other processing.
Floppy disk drive
Amstrad's choice of Hitachi's 3" floppy disk drive, when the rest of the PC industry was moving to Sony's 3.5" format, is claimed to be due to Amstrad bulk-buying a large consignment of 3" drive units in Asia. The chosen drive (built-in for later models) was a single-sided 40-track unit that required the user to physically remove and flip the disk to access the other side.[8] Each side had its own independent write-protect switch.[8] The sides were termed "A" and "B", with each one commonly formatted to 180 kB (in AMSDOS format, comprising 2 kB directory and 178 kB storage) for a total of 360 kB per disc.
The interface with the drives was a NEC 765 FDC, used for the same purpose in the IBM PC/XT, PC/AT and PS/2 machines. Its features were not fully used in order to cut costs, namely DMA transfers and support for single density disks; they were formatted as double density using modified frequency modulation.
Disks were shipped in a paper sleeve or a hard plastic case resembling a compact disc "jewel" case. The casing is thicker and more rigid than that of 3.5" diskettes. A sliding metal cover to protect the media surface is internal to the casing and latched, unlike the simple external sliding cover of Sony's version. Because of this they were significantly more expensive than both 5.25" and 3.5" alternatives. This, combined with their low nominal capacities and their essentially proprietary nature, led to the format being discontinued shortly after the CPC itself was discontinued.
Apart from Amstrad's other 3" machines (the PCW and the ZX Spectrum +3), the few other computer systems to use them included the Sega SF-7000 and CP/M systems such as the Tatung Einstein and Osborne machines. They also found use on embedded systems.
The Shugart-standard interface meant that Amstrad CPC machines were able to use standard 3", 3½" or 5¼" drives as their second drive. Programs such as ROMDOS and ParaDOS extended the standard AMSDOS system to provide support for double-sided, 80-track formats, enabling up to 800k to be stored on a single disk.
The 3" disks themselves were usually known as "discs" on the CPC, following the spelling on the machine's plastic casing.
Serial port adaptor
Amstrad issued two RS-232-C D25 serial interfaces, attached to the expansion connector at the rear of the machine, with a through-connector for the CPC464 disk drive or other peripherals. The original interface came with a "Book of Spells" for facilitating data transfer between other systems using a proprietary protocol in the device's own ROM, as well as terminal software to connect to British Telecom's Prestel service. A separate version of the ROM was created for the U.S. market due to the use of the commands "SUCK" and "BLOW", which were considered unacceptable there.
Software and hardware limitations in this interface led to its replacement with an Amstrad-branded version of a compatible alternative by Pace. Serial interfaces were also available from third-party vendors such as KDS Electronics and Cirkit.
Software
BASIC and operating system
Like most home computers at the time, the CPC had its OS and a BASIC interpreter built in as ROM. It used Locomotive BASIC - an improved version of Locomotive Software's Z80 BASIC for the BBC Microcomputer co-processor board. This was faster, more comfortable and more powerful [citation needed] than the generic but common Microsoft BASIC used by the Commodore 64 and MSX amongst others. It was particularly notable for providing easy access to the machine's video and audio resources in contrast to the arcane POKE commands required on generic Microsoft implementations. Other unusual features included timed event handling with the AFTER and EVERY commands, and text-based windowing.
CP/M
Digital Research's CP/M operating system was supplied with the 664 and 6128 disk-based systems, and the DDI-1 disk expansion unit for the 464. 64k machines shipped with CP/M 2.2 alone, while the 128k machines also included CP/M 3.1. The compact CP/M 2.2 implementation was largely stored on the boot sectors of a 3" disk in what was called "System format"; typing |CPM from Locomotive BASIC would load code from these sectors, making it a popular choice for custom game loading routines. The CP/M 3.1 implementation was largely in a separate file which was in turn loaded from the boot sector. Much public domain CP/M software was made available for the CPC, from word-processors such as VDE to complete bulletin board systems such as ROS.
Other languages
Although it was possible to obtain compilers for Locomotive BASIC, C and Pascal, the majority of the CPC's software was written in native Z80a assembly language. Popular assemblers were Hisoft's Devpac, Arnor's Maxam, and (in France) DAMS. Disk-based CPC (not Plus) systems shipped with an interpreter for the educational language LOGO, booted from CP/M 2.2 but largely CPC-specific with much code resident in the AMSDOS ROM; 6128 machines also included a CP/M 3.1, non-ROM version.
Roland
At launch, 50 games were available from Amsoft. A number of these (as well as several subsequent releases) were tagged with the Roland name, in an attempt to give the CPC a recognisable mascot. However, since the games had not been designed around the Roland character and only had the branding added later, there was initially no consensus on what kind of games Roland should star in or even what he looked like. Roland's appearance varied immensely, from a spiky-haired blonde teenager (Roland Goes Digging) to a mutant flea (Roland In The Caves) to a white cube with legs (Roland Goes Square Bashing) to something resembling Luigi from the Mario games (Roland On The Ropes). Eventually it was decided that Roland should be a squat man in a blue hat, red jumper and yellow trousers. The character was named after Roland Perry, a technical manager at Amstrad.
Community
The Amstrad CPC enjoyed a strong and long lifetime, mainly due to the machines use for businesses as well as gaming. Dedicated programmers continued working on the CPC range, even producing Graphical User Interface (GUI) operating systems such as FutureOS and SymbOS. Internet sites devoted to the CPC have appeared from around the world featuring forums, news, hardware, software, programming and games. CPC Magazines appeared during the 1980s including publications in countries such as Britain, France, Spain, Germany, Denmark, Australia and Greece. Titles included the official Amstrad Computer User publication,[9] as well as independent titles like Amstrad Action,[9] Amtix!,[9] Computing with the Amstrad CPC,[9] CPC Attack,[9] Australia's The Amstrad User, France's Amstrad Cent Pour Cent and Amstar. Following the CPCs end of production, Amstrad gave permission for the CPC ROMs to be distributed freely as long as the copyright message is not changed and that it is acknowledged that Amstrad still holds copyright, giving emulator authors the possibility to ship the CPC firmware with their programs.[10]
Influence on other Amstrad machines
Amstrad followed their success with the CPC 464 by launching the Amstrad PCW word-processor range, another Z80-based machine with a 3" disk drive and software by Locomotive Software. The PCW was originally developed to be partly compatible with an improved version of the CPC ('ANT', or Arnold Number Two - the CPC's development codename was Arnold). However Amstrad decided to focus on the PCW and the ANT project never came to market.
On 7 April 1986 Amstrad announced it had bought from Sinclair Research "...the worldwide rights to sell and manufacture all existing and future Sinclair computers and computer products, together with the Sinclair brand name and those intellectual property rights where they relate to computers and computer related products."[11] which included the ZX Spectrum, for £5 million. This included Sinclair's unsold stock of Sinclair QLs and Spectrums. Amstrad made more than £5 million on selling these surplus machines alone. Amstrad launched two new variants of the Spectrum: the ZX Spectrum +2, based on the ZX Spectrum 128, with a built-in tape drive (like the CPC 464) and, the following year, the ZX Spectrum +3, with a built-in floppy disk drive (similar to the CPC 664 and 6128), taking the 3" disks that Amstrad CPC machines used.
See also
- List of Amstrad CPC games
- Amstrad PCW (CP/M wordprocessor/personal computer range)
- CP/M
- FutureOS (Third-party operating system for CPC 6128 and 6128 Plus)
- Sinclair Research
- Sinclair ZX Spectrum
- SymbOS (multitasking operating system)
Notes and references
- ^ Transistorized memory, such as RAM, ROM, flash and cache sizes as well as file sizes are specified using binary meanings for K (10241), M (10242), G (10243), etc.
- ^ a b Amstrad Products Archive
- ^ a b c d e "Plus range at Old Computers". Old-Computers.com. Retrieved 2008-05-06.
{{cite web}}
: Cite has empty unknown parameter:|coauthors=
(help) - ^ a b "GX4000 Old Computers". Old-Computers.com. Retrieved 2008-05-06.
{{cite web}}
: Cite has empty unknown parameter:|coauthors=
(help) - ^ "464 Old Computers". Old-Computers.com. Retrieved 2008-05-06.
{{cite web}}
: Cite has empty unknown parameter:|coauthors=
(help) - ^ amstradmuseum.com cpc 472
- ^ a b c d e f g h i Technical Specification, CPC464 Service Manual, p. 2., Amstrad Consumer Electronics Plc.
- ^ a b c Technical Specification, CPC6128 Service Manual, p. 31., Amstrad Consumer Electronics Plc.
- ^ a b c d e "CPC UK Magazines". Nicholas Campbell. Retrieved 2008-05-06.
{{cite web}}
: Cite has empty unknown parameter:|coauthors=
(help) - ^ Lawson, Cliff. "Lawson emulation". Cliff Lawson. Retrieved 2008-05-06.
{{cite web}}
: Cite has empty unknown parameter:|coauthors=
(help) - ^ CRASH 28 - News