|Units sold||3 million|
|Media||Cassette tape, 3 inch floppy disks|
|Operating system||AMSDOS with Locomotive BASIC 1.0 or 1.1; CP/M 2.2 or 3.0|
|CPU||Zilog Z80A @ 4 MHz|
|Memory||64 or 128 KB, expandable to 576 KB|
The Amstrad CPC (short for Colour Personal Computer) is a series of 8-bit home computers produced by Amstrad between 1984 and 1990. It was designed to compete in the mid-1980s home computer market dominated by the Commodore 64 and the Sinclair ZX Spectrum, where it successfully established itself primarily in the United Kingdom, France, Spain, and the German-speaking parts of Europe.
The series spawned a total of six distinct models: The CPC464, CPC664, and CPC6128 were highly successful competitors in the European home computer market. The later plus models, 464plus and 6128plus, efforts to prolong the system's lifecycle with hardware updates, were considerably less successful, as was the attempt to repackage the plus hardware into a game console as the GX4000.
The CPC models' hardware is based on the Zilog Z80A CPU, complemented with either 64 or 128 KB of RAM. Their computer-in-a-keyboard design prominently features an integrated storage device, either a compact cassette deck or 3 inch floppy disk drive. The main units were only sold bundled with either a colour or monochrome monitor that doubles as the main unit's power supply. Additionally, a wide range of first and third party hardware extensions such as external disk drives, printers, and memory extensions, was available.
The CPC series was pitched against other home computers primarily used to play video games and enjoyed a strong supply of game software. The comparatively low price for a complete computer system with dedicated monitor, its high resolution monochrome text and graphic capabilities and the possibility to run CP/M software also rendered the system attractive for business users, which was reflected by a wide selection of application software.
During its lifetime, the CPC series sold approximately three million units.
The original range 1.1
- CPC464 1.1.1
- CPC664 1.1.2
- CPC6128 1.1.3
The plus range 1.2
- 464plus, 6128plus 1.2.1
- GX4000 1.2.2
Special models and clones 1.3
- CPC472 1.3.1
- KC compact 1.3.2
- Aleste 520EX 1.3.3
- The original range 1.1
- Reception 2
- Processor 3.1
- Memory 3.2
- Video 3.3
- Audio 3.4
- Floppy disc drive 3.5
- Expansion 3.6
- RS232 serial adapters 4.1
- BASIC and operating system 5.1
- CP/M 5.2
- Other languages 5.3
- Roland 5.4
- Schneider Computer Division 6
- Community 7
- Influence on other Amstrad machines 8
- See also 9
- Notes and references 10
- External links 11
The original range
The philosophy behind the CPC series was twofold, firstly the concept was of an “all-in-one”, where the computer, keyboard and its data storage device were combined in a single unit, and sold with its own dedicated display monitor. Most home computers at that time such as Sinclair’s ZX series, the Commodore 64 and the BBC Micro relied on the use of the domestic television set and a separately connected tape recorder or disk drive. In itself, the all-in-one concept was not new, having been seen before on business-oriented machines and the Commodore PET, but in the home computer space, it predated the Apple Macintosh by almost a year.
Secondly, Amstrad founder Alan Sugar wanted the machine to resemble a “real computer, similar to what someone would see being used to check them in at the airport for their holidays”, and for the machine to not look like “a pregnant calculator” – in reference presumably to the Sinclair ZX81 and ZX Spectrum with their low cost, membrane-type keyboards.
The CPC464 featured 64 KB RAM and an internal cassette tape deck. It was introduced in June 1984 in the UK. Initial suggested retail prices for the CPC464 were GBP249.00/DM899.00 with a green screen and GBP359.00/DM1398.00 with a colour monitor. Following the introduction of the CPC6128 in late 1985, suggested retail prices for the CPC464 were cut by GBP50.00/DM100.00.
In 1990, the 464plus replaced the CPC464 in the model line-up, and production of the CPC464 was discontinued.
The CPC664 features 64 KB RAM and an internal 3-inch floppy disk drive. It was introduced in May 1985 in the UK. Initial suggested retail prices for the CPC664 were GBP339.00/DM1198.00 with a green screen and GBP449.00/DM1998.00 with a colour monitor.
After the successful release of the CPC464, consumers were constantly asking for two improvements: more memory and an internal disk drive. For Amstrad, the latter was easier to realize. At the deliberately low-key introduction of the CPC664 in May 1985, the machine was positioned not only as the lowest-cost disk system but even the lowest-cost CP/M 2.2 machine. In the Amstrad CPC product range the CPC664 complemented the CPC464 which was neither discontinued nor reduced in price.
Compared to the CPC464, the CPC664's main unit has been significantly redesigned, not only to accommodate the floppy disk drive but also with a redesigned keyboard area. Touted "ergonomic" by Amstrad's promotional material, the keyboard is noticeably tilted to the front with MSX-style cursor keys above the numeric keypad. Compared to the CPC464's multicoloured keyboard, the CPC664's keys are kept in a much quieter grey and pale blue colour scheme.
The back of the CPC664 main unit features the same connectors as the CPC464, with the exception of an additional 12V power lead. Unlike the CPC464's cassette tape drive that could be powered off the main unit's 5V voltage, the CPC664's floppy disk drive requires an additional 12V voltage. This voltage had to be separately supplied by an updated version of the bundled green screen/colour monitor (GT-65 and CTM-644 respectively).
The CPC664 was only produced for approximately six months. In late 1985, when the CPC6128 was introduced in Europe, Amstrad decided not to keep three models in the line-up, and production of the CPC664 was discontinued.
The CPC6128 features 128 KB RAM and an internal 3-inch floppy disk drive. Aside from various hardware and firmware improvements, one of the CPC6128's most prominent features is the compatibility with the CP/M+ operating system that rendered it attractive for business uses.
The CPC6128 was released in August 1985 and initially only sold in the USA. Imported and distributed by Indescomp, Inc. of Chicago, it was the first Amstrad product to be sold in the United States, a market that at the time was traditionally hostile towards European computer manufacturers. By the end of 1985, it arrived in Europe and replaced the CPC664 in the CPC model line-up. Initial suggested retail prices for the CPC6128 were USD699.00/GBP299.00/DM1598.00 with a green screen and USD799.00/GBP399.00/DM2098.00 with a colour monitor.
In 1990, the 6128plus replaced the CPC6128 in the model line-up, and production of the CPC6128 was discontinued.
The plus range
In 1990, confronted with a changing home computer market, Amstrad decided to refresh the CPC model range by introducing a new range variantly labeled plus or PLUS, 1990, or CPC+ range. The main goals were numerous enhancements to the existing CPC hardware platform, to restyle the casework to provide a contemporary appearance, and to add native support of cartridge media. The new model palette includes three variants, the 464plus and 6128plus computers and the GX4000 video game console. The "CPC" abbreviation was dropped from the model names.
The redesign significantly enhanced the CPC hardware, mainly to rectify its previous shortcomings as a gaming platform. The redesigned video hardware allows for hardware sprites and soft scrolling, with a colour palette extended from a maximum of 16 colours (plus separately definable border) at one time from a choice of 27, increased to a maximum of 32 out of 4096. The enhanced sound hardware offers automatic DMA transfer, allowing more complex sound effects with a significantly reduced processor overhead. Other hardware enhancements include the support of analogue joysticks, 8-bit printers, and ROM cartridges up to 4 Mbits.
The new range of models was intended to be completely backward compatible with the original CPC models. Its enhanced features are only available after a deliberately obscure unlocking mechanism has been triggered, thus preventing existing CPC software from accidentally invoking them.
Despite the significant hardware enhancements, the hardware platform was already outdated at launch and failed to attract both customers and software producers who had already been moving towards 16-bit systems. The plus range was a commercial failure, and production was discontinued shortly after its introduction in 1990.
The 464plus and 6128plus models were intended as "more sophisticated and stylish" replacements of the CPC464 and CPC6128. Based on the redesigned plus hardware platform, they share the same base characteristics as their predecessors: The 464plus is equipped with 64 KB RAM and a cassette tape drive, the 6128plus features 128 KB RAM and a 3" floppy disk drive. Both models share a common case layout with a keyboard taken over from the CPC6128 model, and the respective mass storage drive inserted in a case breakout.
In order to simplify the EMC screening process, the edge connectors of the previous models have been replaced with micro-ribbon connectors as previously used on the German Schneider CPC6128. As a result, a wide range of extensions for the original CPC range is connector-incompatible with the 464plus and 6128plus. In addition, the 6128plus does not have a tape socket for an external tape drive.
The plus range is not equipped with an on-board ROM, and thus the 464plus and the 6128plus do not contain a firmware. Instead, Amstrad provided the firmware for both models via the ROM extension facility, contained on the included Burnin' Rubber and Locomotive BASIC cartridge. This resulted in reduced hardware localization cost (only some select key caps and case labels had to be localized) with the added benefit of a rudimentary copy protection mechanism (without a firmware present, the machine itself could not copy a game cartridge's content). As the enhanced V4 firmware's structural differences causes problems with some CPC software directly calling firmware functions by their memory addresses, Amstrad separately sold a cartridge containing the original CPC6128's V3 firmware.
Both the 464plus and the 6128plus were introduced to the public in September 1990. Initial suggested retail prices were FRF1990 with a green screen and FRF2990 with a colour monitor for the 464plus, and FRF2990 with a green screen and FRF3990 with a colour monitor for the 6128plus.
Developed as part of the plus range, the GX4000 is Amstrad's short-lived attempt to enter the video game consoles market. Sharing the plus range's hardware characteristics, it represents the bare minimum variant of the range without a keyboard or support for mass storage devices.
Special models and clones
In 1985, Spain briefly introduced an import tax on computers without ñ letter key and containing 64KB or less of RAM. To circumvent this, Amstrad's Spanish distributor Indescomp (later to become Amstrad Spain) created and distributed the CPC472, a modified version of the CPC464. Its main difference is a small additional daughter board containing a CPC664 ROM chip, and an 8 KB memory chip which is not electrically connected to the machine, and consequently not available to the CPU. Its sole purpose was supposedly to increase the machine's total memory specs to 72 KB in order to circumvent the import tax. Only a month after the CPC472 had been released, Amstrad added the ñ key for the 464 and this tariff was not applied to 64k computers anymore, and production of the CPC472 was discontinued.
The KC compact ("Kleincomputer" - which means "small computer" - being a rather literal German translation of the English "microcomputer") is a clone of the Amstrad CPC built by East Germany's VEB Mikroelektronik Mühlhausen in October 1989. Although the machine included various substitutes and emulations of an Amstrad CPC's hardware, the machine is largely compatible with Amstrad CPC software. It is equipped with 64 KB memory and a CPC6128's firmware customized to the modified hardware, including an unmodified copy of Locomotive BASIC 1.1. The KC compact is the last 8-bit computer produced in East Germany.
In 1993, Omsk, Russia based company Patisonic released the Aleste 520EX, a computer highly compatible with the Amstrad CPC6128.  It could also be switched into an MSX mode. An expansion board named Magic Sound allowed to play Scream Tracker files.
A BYTE columnist in January 1985 called the CPC 464 "the closest yet to filling" his criteria for a useful home computer, including good keyboard, 80-column text, inexpensive disk drive, and support for a mainstream operating system like CP/M.
In order to avoid conflicts resulting from the CPU and the video circuits both accessing the shared main memory ("snowing"), CPU memory access is constrained to occur on microsecond boundaries, effectively padding every CPU instruction to a multiple of four CPU cycles. As typical Z80 instructions require three or four CPU cycles, the resulting loss of processing power is minor, reducing the effective clock rate to approximately 3.3 MHz.
Amstrad CPCs are equipped with either 64 (CPC464, CPC664, 464plus, GX4000) or 128 (CPC6128, 6128plus) KB of RAM. This base memory can be extended by up to 512 KB using memory expansions sold by third-party manufacturers, and by up to 4096 KB using experimental methods developed by hardware enthusiasts. Because the Z80 processor is only able to directly address 64 KB of memory, additional memory from the 128 KB models and memory expansions is made available using bank switching.
Underlying a CPC's video output is the unusual pairing of a CRTC (Motorola 6845 or compatible) with a custom-designed gate array to generate a pixel display output. CPC6128s later in production as well as the models from the plus range integrate both the CRTC and the gate array's functions with the system's ASIC.
Three built-in display resolutions are available: 160×200 pixels with 16 colours ("Mode 0", 20 text columns), 320×200 pixels with 4 colours ("Mode 1", 40 text columns), and 640×200 pixels with 2 colours ("Mode 2", 80 text columns). Increased screen size can be achieved by reprogramming the CRTC.
The original CPC video hardware supports a colour palette of 27 colours, generated from RGB colour space with each colour component assigned as either off, half on, or on. The plus range extended the palette to 4096 colours, also generated from RGB with 4 bits each for red, green and blue.
With the exception of the GX4000, all CPC models lack an RF television or composite video output and instead shipped with a 6-pin RGB DIN connector, also used by Acorn computers, to connect the supplied Amstrad monitor. It delivers a PAL frequency 1v p-p analogue RGB with composite sync signal that, if wired correctly, can drive a SCART television. External adapters for RF television were available as a first-party hardware accessory.
The CPC uses the General Instrument AY-3-8912 sound chip, providing three channels, each configurable to generate square waves, white noise or both. A small array of hardware volume envelopes are available.
It is possible to play back digital sound samples at a resolution of approximately 5-bit by sending a stream of values to the sound chip. This technique is very processor-intensive and hard to combine with any other processing. Examples are the title screens or other non-playable scenes of games like Chase H.Q., Meltdown, and RoboCop.
Floppy disc drive
Amstrad used Hitachi's 3" floppy disc drive. Its decision to do so, when the rest of the PC industry was moving to Sony's 3.5" format, is often wrongly claimed to be due to Amstrad bulk-buying a large consignment of 3" drive units in Asia; the units were custom-made by Panasonic. The chosen drive (built-in for later models) is a single-sided 40-track unit that requires the user to physically remove and flip the disc to access the other side. Each side has its own independent write-protect switch. The sides are 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 is a NEC 765 FDC, used for the same purpose in the IBM PC/XT, PC/AT and PS/2 machines. Its features are not fully used in order to cut costs, namely DMA transfers and support for single density discs; they were formatted as double density using modified frequency modulation.
Discs 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 inch diskettes, and designed to be mailed without any additional packaging. 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. They were significantly more expensive than both 5.25 inch and 3.5 inch 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 inch 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 means that Amstrad CPC machines are able to use standard 3", 3½" or 5¼" drives as their second drive. Programs such as ROMDOS and ParaDOS extend the standard AMSDOS system to provide support for double-sided, 80-track formats, enabling up to 800 KB to be stored on a single disc.
The 3 inch discs themselves are usually known as "discs" on the CPC, following the spelling on the machine's plastic casing and conventional non-American spelling.
The hardware and firmware was designed to be able to access software provided on external ROMs. Each ROM has to be a 16 kB block and is switched in and out of the memory space shared with the video RAM. The Amstrad firmware is deliberately designed so that new software could be easily accessed from these ROMs with a 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 do not plug directly into the CPC itself, but into extra plug-in "rom boxes" which contain 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 loads 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 allows significant customization of the functionality of the machine, something that enthusiasts exploited for various purposes. However, the typical users would probably not be aware of this added ROM functionality unless they read the CPC press, as it is not described in the user manual and was hardly ever mentioned in marketing literature. It is, however, documented in the official Amstrad firmware manual.
RS232 serial adapters
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.
BASIC and operating system
Like most home computers at the time, the CPC has its OS and a BASIC interpreter built in as ROM. It uses Locomotive BASIC - an improved version of Locomotive Software's Z80 BASIC for the BBC Microcomputer co-processor board. It is particularly notable for providing easy access to the machine's video and audio resources in contrast to the POKE commands required on generic Microsoft implementations. Other unusual features include timed event handling with the AFTER and EVERY commands, and text-based windowing.
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 include CP/M 3.1. The compact CP/M 2.2 implementation is 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 is largely in a separate file which is 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.
Although it was possible to obtain compilers for Locomotive BASIC, C and Pascal, the majority of the CPC's software was written in native Z80 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 include a CP/M 3.1, non-ROM version. A C compiler was also written and made available for the European market through Tandy Europe, by Micro Business products.
In an attempt to give the CPC a recognisable mascot, a number of games by Amstrad's in-house software publisher Amsoft have been tagged with the Roland name. However, as the games had not been designed around the Roland character and only had the branding added later, the character design varies immensely, from a spiky-haired blonde teenager (Roland Goes Digging) to a white cube with legs (Roland Goes Square Bashing) or a mutant flea (Roland in the Caves). The only two games with similar gameplay and main character design are Roland in Time and its sequel Roland in Space. The Roland character was named after Roland Perry, one of the lead designers of the original CPC range.
Schneider Computer Division
In order to market its computers in Germany, Austria, and Switzerland where Amstrad did not have any distribution structures, Amstrad entered a partnership with Schneider Rundfunkwerke AG, a German company that - very much like Amstrad itself - was previously only known for value-priced audio products. In 1984, Schneider's Schneider Computer Division daughter company was created specifically for the task, and the complete Amstrad CPC line-up was branded and sold as Schneider CPC.
Although they are based on the same hardware, the Schneider CPC models differ from the Amstrad CPC models in several details. Most prominently, the Schneider CPC464 and CPC664 keyboards featured grey instead of coloured keys, but still in the original British keyboard layout. To achieve a German "QWERTZ" keyboard layout, Schneider marketed a small software to reassign the keys as well as sticker labels for the keys. In order to conform with stricter German EMC regulations, the complete Schneider CPC line-up is equipped with an internal metal shielding. For the same reason, the Schneider CPC6128 features micro ribbon type connectors instead of edge connectors. Both the greyscale keyboard and the micro ribbon connectors found their way up into the design of later Amstrad CPC models.
In 1988, after Schneider refused to market Amstrad's AT-compatible computer line, the cooperation ended. Schneider went on to sell the remaining stock of Schneider CPC models and used their now well-established market position to introduce its own PC designs. With the formation of its German daughter company Amstrad GmbH to distribute its product lines including the CPC464 and CPC6128, Amstrad attempted but ultimately failed to establish their own brand in the German-speaking parts of Europe.
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, as well as independent titles like Amstrad Action, Amtix!, Computing with the Amstrad CPC, CPC Attack, Australia's The Amstrad User, France's Amstrad Cent Pour Cent and Amstar. Following the CPC's 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.
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." 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.
- List of Amstrad CPC emulators
- List of Amstrad CPC games
- SymbOS (multitasking operating system)
- FutureOS (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), ...
- CPC464 User Manual, p. 11, Amstrad Consumer Electronics Plc.
- The CPC664, Amstrad Computer User May 1985, P. 42-46.
- Amstrad Computer User, "User News...", August 1985, p. 7.
- Retro Gamer issue 83, From the Archives: Radical Software
- Russian WorldHeritage article
- Article at cpcwiki.eu
- Russian English-language page
- Spanish page
- Technical Specification, CPC464 Service Manual, p. 2., Amstrad Consumer Electronics Plc.
- CPC464/664/6128 Firmware ROM routines and explanations (Soft 968)
- Technical Specification, CPC6128 Service Manual, p. 31., Amstrad Consumer Electronics Plc.
- CPC Schneider International 6/85, P. 7
- CeBIT '88, Schneider Magazin 5/88, P. 6-8
- CRASH 28 - News
- CPC-Wiki (CPC specific Wiki containing further information)
- Unofficial Amstrad WWW Resource
- Amstrad systems at DMOZ