The Amstrad CPC 464 was one of the most successful computers in Europe. Between 1984 and 1990, more than two million computers were sold. Despite its ordinary characteristics (like those of the Sinclair Spectrum and often less interesting than those of the others like the Commodore 64 or Atari XL/Xe series) or odd features (like video memory or 3″ floppy disk format), it was very popular because of its really low price and its interesting commercial concept : all peripherals were sold together (like the Commodore PET that was sold years earlier): CPU/keyboard, tape recorder, monitor (monochrome green or colour).
A huge number of programs and peripherals were developed for the CPC family. It ran AmsDos that was completely embedded in the Basic using so-called RSX commands starting with |, but it could not format disks, for that, a special application was needed. The CPC family was capable to run the CP/M 2.2 or 3.0 operating systems with an external Floppy disk unit. A lot of great CP/M software was adapted for the Amstrad CPC. While AMSDOS could be run only with Amstrad’s 3″ floppy disk drive, CP/M could be run with any floppy disk drives available on the market. Actually CP/M was pretty good compared to MS-DOS, although it was only 8 bit. Interesting was that the Z80 processor was downwards compatible to the 8080 processor and hence allowed the 8-bit CP/M to be run without changes. When programming in assembly language, one had to use the 8080 instruction set which had different mnemonics than the Z80’s.
About 42 KB RAM was available for the user, the video memory and the ROM were mapped on the same addresses with a dedicated chip to switch the memory banks automatically. CPC’s first prototype was built around a 6502 processor and from its designers, it received the nickname Arnold. During the development it was changed to Zilog Z80 and later it was presented to the public as ROLAND (Arnold acronym) which gave this very same name to several CPC software (e.g. Player 1 vs. Roland). A few months later, the CPC 664 would be completed which offered a built-in floppy disk drive.
The CPC machines used Locomotive Basic, which was surprisingly fast compared to other basics of that time, had even software interrupts, and it could react to hardware interrupts that were passed to the BASIC interpreter. In this way, programs looking like multitasking applications could be written in BASIC. There was a ROM module available for CPC machines named MAXAM, with a built-in editor, assembler and disassembler which made it fairly easy to write BASIC and assembly mixed programs. (It would’ve been better though if the Locomotive BASIC would’ve had the ability to mix BASIC and assembly, like the BBC Microcomputer did.)
The tape drive routines in ROM had variable baud rate parameters, and so it was possible to store programs at 19200 baud or higher. However, this could lead to read errors of course, which was used as a copy protection by many programs sold on tape.