The CPC was a very popular little computer with the very successful Locoscript word processor (still developed today for the PC) which was used in my school library for many years. With it's classy green screens, and 3" disks that had to be manually turned over in the disk drive, for me in the early 90s, it was like a dinosaur from a past age. Little did I know of the friendly BASIC interpreter and OS available underneath (we booted locoscript direct from disk) or of the superb arcade conversion games available for the CPC which would have put my old beeb to shame. Years later I've discovered the CPC, and am almost sorry that I never owned an original.
Andreas Stroiczek's CPCEmu is a superb example of emulation on the Acorn. Fully multi-tasking (even on low end machines) it can flick to single-tasking for more speed if needed, with just a click on the iconbar. Many operations are performed through the WIMP frontend, and the emulator is superbly easy to use as you simply drag a disk image file to the disk drive you want to load it into. Floppy disk read-only tags can be set, and the disk even turned over in the drive with a click on the icon or using one of the many hotkeys.
The emulator comes with all the system ROMs needed to load it, and the CPC prompt appears on loading in a window on the desktop, with the BASIC interpreter ready to take instructions. Disks are catalogued with the simple 'cat' command, and then it is small matter to select the file you want and type; 'run "filename.typ"' and the program loads.
At any time the emulator can be reset, a snapshot of its status saved, or even a screenshot to savour the memory of a game completed. The window the emulator runs in can be set to small or large scale. What's more the emulator very cleverly adjusts the size of the window to remove the black border around the edge, no matter what the size of the used screen area.
Andreas also supplies with CPCEmu his CPCXtract program which performs various filing activities on AMSDOS disk images, allowing files to be listed, extracted, added and the disk write-protected. You even have to select the side of the disk to act on, since on the real CPC you literally had to take the 3" disk out of the drive, rotate through 180°, and put it back in the drive.
The emulation is as far as I can tell perfect, that is to say I ran up against no problems. Sound is fully implemented and there were no graphical glitches to speak of. Various ROMs can be setup to load into the emulator and various models of CPC can be selected to boot. From what I can tell, printing is also supported by the emulator via the RISC OS printer stream. The only niggle I had with CPCEmu was that the keyboard mappings are for the CPC, thus Shift-2 produces speechmarks instead of an @ symbol, it also defaults to a German keyboard layout (with Y and Z swapped) though this can be altered.
Since CPCEmu is written using the same Z80 core as Andreas' Gameboy emulator, it is not surprising that CPCEmu exhibits the same racing pace, and is nearly full speed on even low end machines (although not in multi-tasking mode). Everything you could want from a CPC emulator is here.
Speed Rating:
ARM 2
ARM 250
ARM 3
ARM 6
ARM 7
Note: Speed rating in multi-tasking mode.
CPC emulator
v1.10 (293Kb)
Andreas Stroiceks'
Homepage
CPC by Mark Rison is a little less polished than CPCEmu and although developed around the same time isn't quite in the same class. The system ROMs are distributed separately to the emulator, and although it is a trivial matter to copy them into the application, it is a distraction. To configure the emulator easily a separate frontend is available into which the original emulator is copied. Once this is done, an icon appears on the iconbar with a menu to various options windows. Double-clicking on a Disk image loads it into the emulator and causes it to exit the desktop and start up the emulation. Low end users will immediately notice that CPC is a damn site faster than CPCEmu, even when both are single-tasking. At times I even found myself slowing CPC down becuase it was going too fast, but at least elite was smooth.
For an unknown reason the screen flickered a lot as if the palette was constantly changing. I'm not sure what caused this but it makes the emulator a bit irritating to use. A severe lack of documentation is also lacking from the emulator, and is supplied with the source (note, press Alt-F12 to quit). One of the features I did like was the colour/green option to allow the user to simulate the green screens of old that were often supplied with the CPC.
Although less feature rich than CPCEmu, it is considerably faster, and only uses 512Kb of memory as opposed to CPC's 1Mb+, and will therefore be more popular with low end users. The full source code is available, and is in fact of a later version than 1996-07-28, and although it hasn't been tested as thoroughly is apparently multi-tasking. The last source release could also easily emulate a ZX81 by simply setting a variable in the program according to these instructions. Mark has now left this project, but would be happy for any enthusiast to further develop his code.
Speed Rating: ARM
2
ARM 250
ARM 3
ARM 6
ARM 7
StrongARM
Mark Rison's CPC emulator page
Technical details
CPU - Z80A running at 4MHz
Display - Palette of 27 colours (3 intensitys of red, green
and blue), 3 standard screen modes mode 0: 160x200 - 16 colours, mode 1:
320x200 - 4 colours, mode 2: 640x200 - 2 colours. Video Controller CRTC
HD6845 for Programmable screen size, Programmable screen position, Scrolling
and paging. No hardware-sprites.
Sound - SND: AY-3-8912 Programable Sound Generator (PSG)
running at 1MHz with 8 octave range, 3 tone channels, tone and volume control,
1 noise generator, hardware volume envelopes.
RAM - Up to 512k possible but 64k/128k was standard.
VRAM - No special VRAM (main RAM is used by the Video Controller)
ROM - Up to 4MB (256 expansion ROMs, 16k each)
Other Chips:
"Gate Array" custom chip (c) Amstrad Consumer Electronics
Plc. for memory control and screen output/control.
INTEL 8255 PPI Interface chip interface for keyboard and sound-chip.
Reference - Andreas Stroiczek, author of CPCemu.
Software:
Various CPC software
ftp://ftp.nvg.unit.no/pub/cpc
Recommended Software:
Elite, Outrun, Afterburner, Spitfire, SimCity, Gunboat, Sherman,
Gryzor, Renegade, Bombjack, Zap't'balls.