* CPU: Zilog Z80 4 MHz
* RAM: 64 kb (42kb left for user)
* VRAM: 16 kb
* ROM: 32 kb
* Text Modes: 20 x 25 with 16 colors, 40 x 25 with 4 colors, 80 x 25 with 2 colors
* Graphic Modes: 160 x 200 with 16 colors, 320 x 200 with 4 colors, 640 x 200 with 2 colors
* Colors: 27
* Sound: 3 channels, 8 octaves +1 noise channel
* I/O Ports: Printer port, Bus port, 1 Joystick plug (Atari standard), Floppy Disc Port, DIN plug for Amstrad monitor, Headphone / Sound stereo jack output
* Keyboard: QWERTY mechanical keyboard. Numeric keypad and edit block with arrow keys
* Built In Media: Tape Recorder (1000 or 2000 bauds)
* OS: AMSDOS or CP/M
* Built In Language: Locomotive Basic
MESS currently supports cpc464 emulation with one "cassette" (cass) device and up to two floppy drives, "floppydisk1" (flop1) and "floppydisk2" (flop2). The former one supports tapes in .wav and .cdt format; the latter ones support disk images in .dsk format.
Also notice that a "snapshot" (dump) feature is available for .sna files and that the "printer" (prin) is emulated as well. Keyboard
This system requires full keyboard emulation to work correctly. At startup, full keyboard emulation mode is enabled by default. Whilst in full keyboard emulation mode, some key associated functionality may be disabled (like the ESC key for EXIT). The keyboard emulation mode is toggled using the "Scroll Lock" key (by default). Floppy Disks
With a disk image loaded, the emulation starts from the BASIC "Ready" prompt.
From here you can enter commands to access the disk image
* A directory listing can be obtained with:
* A program can be run with:
The common programs to run are those with a .BIN or .BAS extension and usually the smaller of the files on the disk image.
On a few games you can type:
to start the game.
If a directory listing cannot be obtained, then the disc might be copy-protected. In this case, try:
"|" is obtained by pressing "shift" and the "@" key together. Since the keyboard is mapped so the keys are in the roughly same place as on a real Amstrad keyboard, then @ can be found around the "[","@","]","#" keys of your PC keyboard.
The |CPM command works by loading and executing the first sector on the first track of the disc. Snapshots
Snapshots, which contain a memory dump, CPU state and hardware state, can be run from a command line interface with the following command:
mess cpc464 -snap "snapshot name"
The snapshot will start automatically. Miscellaneous
There are a few excellent utilities for creating and maintaining disk images for the Amstrad CPC emulators. Here are just a couple
* CPDRead -- http://www.classicgaming.com/caprice/
* CPCfs -- ftp://ftp.lip6.fr/pub/amstrad/emu-util/cpcfs085.zip
Others can be found in the FAQ at http://genesis8.free.fr
Runs many disk images and snapshots well.
History and Trivia
The CPC464 was an 8-bit Amstrad computer, produced in 1984, with 64k of RAM and a tape recorder built in.
The Amstrad CPC 464 was one of the most successful computers in Europe. 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 strange 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 this machine. It ran AmsDos (Amstrad's Operating System). AmsDos was completely embedded in the Basic using so-called RSX commands starting with |, but it could not format disks, you needed a special application for that. The 464 also could use CP/M 2.2 or 3.0 when used with an external Floppy disk unit (3" Hitachi,
180 KB / face). A lot of great CP/M software was adapted for the Amstrad CPC.
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.
Notice that the first Amstrad CPC prototype, called "Arnold", which gave the name ROLAND (Arnold acronym) to several CPC games, was built around a 6502 processor and only later the CPU was changed to a Z80.
A few months later, the CPC series would be completed with a computer which offered a built-in floppy disk unit: the CPC 664.
The Schneider CPC-464 was produced in Germany by Schneider Rundfunkwerke. It was first marketed successfully in Germany, then in France and Spain and maybe other European countries.
It was basically the same machine as the Amstrad CPC-64 with a less colorful case and keyboard and some slight hardware differences, like better quality back connectors. OSes and Add-Ons
(info from Ekkehard Morgenstern): AMSDOS could be run only with Amstrad's 3" floppy disk drive. CP/M could be run either with 3" floppy disk drives or other drives available on the market. (I had a 5 1/4" Vortex disk drive with 704K capacity)
Actually CP/M was pretty good compared to MS-DOS, but of course 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. But when programming in assembly language, you had to use the 8080 instruction set which had different mnemonics than the Z80's.
There was a lot of cool add-on hardware for the CPC. I had a MAXAM module which had a built-in editor, assembler and disassembler in ROM. This 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 computer did)
Locomotive BASIC was surprisingly fast at the time and had even software interrupts, with which it was possible to react to hardware interrupts that were passed to the BASIC interpreter. Hence you could write programs that behaved like multitasking apps. The language also had an advanced sound architecture containing commands to define different wave-forms.
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. Amstrad CPC vs. Schneider CPC
(info from Lyall Moffitt): This document lists the differences between the English CPC's and the German CPC's. The original
distributor in Germany was Schneider GmbH. The machines distributed by Schneider had the Schneider logo on them. (The monitors and some peripherals were also re-branded as "Schneider" e.g. Schneider DDI-1). Later CPCs were distributed by Amstrad and had the Amstrad logo on them.
The three models distributed by Schneider were:
* Schneider CPC464: This had the Schneider logo followed by "64k Colour Personal Computer <>" printed on the keyboard. The keyboard did not have green and red keys, instead these were coloured light brown/grey.
* Schneider CPC664: This had the Schneider logo followed by "64k Colour Personal Computer <>" printed on the keyboard. The keyboard did not have blue keys, instead these were coloured light brown/grey.
* Schneider CPC6128: This had the Schneider logo followed by "CPC6128: schneiderCPC" printed on the keyboard.
Early German CPC's show "Schneider 64K Microcomputer ..." or "Schneider 128K microcomputer ..." on start-up. Later CPC's showed "Amstrad 64k Microcomputer ..." or "Amstrad 128K microcomputer ...". The start-up name is defined by option links on the P.C.B. German CPC464's and CPC664's have P.C.B. edge connectors like the English CPC's. German CPC6128's have real connectors, instead of the P.C.B. edge of the English CPC's. This was done to reduce RF emissions. The printer is a 36-way female centronics type, the Expansion is a 50-way female centronics type and the second disc drive is a 34-way female centronics type. All the other connectors are the same. (joystick, stereo sound, monitor and power). All German CPC's have internal metal shield covering the circuit board. This is used to reduce RF
emissions. Therefore the German CPC's are much heavier than the English CPC's. Internally, all German CPC's were identical to the English CPC's. The P.C.B. was identical. The quick reference "sheet" on the top of the CPC6128 and CPC664 disc drive is also in German. The computer information, printed on the base of the computer is also in German.
(info from old-computers.com)
* CPC Zone -- http://cpczone.emuunlim.com/
* Amstrad Computer Manuals -- http://www.instruction-manuals.co.uk/category/computer/amstrad.htm
* Amstrad CPC Basic programming tutorial and games -- http://www.sean.co.uk/books/amstrad/index.shtm
* Amstrad Home Page -- http://web.ukonline.co.uk/cliff.lawson/index.htm
* The Unofficial Amstrad WWW Resource -- http://andercheran.aiind.upv.es/~amstrad/
* CPC 464 at old-computers.com -- http://old-computers.com/museum/computer.asp?c=84
* Arnold -- http://arnold.emuunlim.com/
* CaPriCe32 -- http://www.caprice32.cybercube.com/
* CoPaCabana (Win,PalmOS) -- http://copacabana.emuunlim.com/
* CpcAlive -- http://www.cpcalive.com/
* CPCEMU (En,De,Fr,Es) -- http://www.cpcemu.de, http://www.cpc-emu.org
* CPCE -- http://cpce.emuunlim.com/
* WinAPE32 -- http://winape.emuunlim.com/
* WinCPC -- http://www.wincpc.ch