Emulators
Contents
- 1 Vote for your favorite emulator
- 2 Software Platforms (Full OS independance)
- 3 Current Operating Systems
- 4 Discontinued Operating Systems
- 5 Home Consoles
- 6 Handheld Consoles
- 7 FPGA
- 8 Hardware and Parts
- 9 Peripherals support
- 10 Rewind feature
- 11 Emulator accuracy checking tools
- 12 File format specifications
- 13 Emulation Tools
- 14 Emulator Detection
- 15 Emulators running on the Amstrad CPC
Vote for your favorite emulator
There is a poll on CPCWiki forum
Software Platforms (Full OS independance)
Java Platform
Emulator name | External link | Current version | Latest release | Developer tools | Amstrad Plus | Also emulates | License |
---|---|---|---|---|---|---|---|
Arnold Jnr | [1] | Aug 27, 2001 | ❌ | ❌ | - | Open source | |
JavaCPC Desktop | [2] JavaGX4000 CPCInAJar | 3.0.2 | Apr 8, 2022 | ✅ | ✅ | KC Compact | Donationware & Open source |
JEMU | [3] | Feb 19, 2007 | ❌ | ❌ | ZX Spectrum, ZX80/81, BBC Micro, VZ-300 | Open source | |
WebCPC | [4] JavaCPC Applet | r15 | Dec 31, 2010 | ❌ | ❌ | - | Open source |
JS / Wasm / Web Platform
Emulator name | External link | Current version | Latest release | Developer tools | Amstrad Plus | Also emulates | License |
---|---|---|---|---|---|---|---|
CPCBox | [5] [6] BZH Games | beta | Dec 28, 2013 | ❌ | ❌ | - | Freeware |
CrocoDS | [7] Repo | Jun 9, 2020 | ⚠️ | ❌ | - | Open source | |
Emularity (MAME) | [8] JSMESS Classic Reload | Jan 27, 2024 | ❌ | ✅ | Tons of vintage computers, game consoles and arcade systems | Open source | |
Roland | [9] | Sep 24, 2011 | ❌ | ❌ | - | Open source | |
Ronald | [10] Repo | Apr 1, 2024 | ⚠️ | ❌ | - | Open source | |
RVMplayer | [11] | 0.1.1 | May 6, 2023 | ❌ | ❌ | ZX Spectrum | Freeware |
Tiny Emus | [12] CPC UI yakc mini CPC Online Old Games BZH Games | Mar 22, 2024 | ✅ | ❌ | KC Compact, ZX Spectrum, VIC-20, Commodore 64, Acorn Atom, KC 85, KC 87, Z9001, Z1013, LC80 | Open source | |
Xiragon | [13] | Nov 28, 2012 | ❌ | ❌ | - | Open source |
LibRetro (API for emulators)
Emulator name | Type | External link | Current version | Latest release | Developer tools | Amstrad Plus | Also emulates | License |
---|---|---|---|---|---|---|---|---|
libretro-cap32 | Emulation core | [14] | 4.5.4 | Dec 18, 2023 | - | ✅ | - | Open source |
libretro-crocods | Emulation core | [15] | 0.1 | Jul 26, 2022 | - | ❌ | - | Open source |
LRMAME | Emulation core | [16] | 0.267 | Jul 7, 2024 | - | ✅ | Tons of vintage computers, game consoles and arcade systems | Open source |
SugarLibRetro | Emulation core | [17] (wraps independent lib CPCCore) | git | Jan 10, 2020 | - | ✅ | - | Open source |
EmuVR | Frontend | [18] | 1.0.11 | Dec 24, 2022 | ❌ | - | Depends on emulation cores | Donationware |
Hackable Console | Frontend | [19] | Mar 27, 2022 | ✅ | - | Depends on emulation cores | Open source | |
RetroArch | Frontend | [20] RetroAchievements | 1.19.1 | Jun 5, 2024 | ❌ | - | Depends on emulation cores | Donationware & Open source |
Several distributions also exist based on RetroArch: RetroBat, Lakka, RetroPie, Batocera, Recalbox
Current Operating Systems
Desktop
Emulator name | External link | Windows | macOS | Linux | Other OS | Current version | Latest release | Developer tools | Amstrad Plus | Also emulates | License |
---|---|---|---|---|---|---|---|---|---|---|---|
ACE | Web site IRC channel Plugins' repo | ❌ | ❌ | ❌ | MorphOS, Haiku | 1.26 | Jan 1, 2024 | ✅ | ✅ | Dozens of CPC hardware expansions thru plugins | Freeware (plugins are Open Source) |
ACE-DL | [21] Discord Based on ACE | ✅ | ✅ | ❗ | - | Wake Point | Jun 21, 2024 | ✅ | ✅ | - | Freeware |
AMSpiriT | [22] Discord Forum | ✅ | ❌ | ❌ | - | 1.01 rc | Apr 24, 2024 | ❌ | ❌ | - | Freeware |
Arnimedes | [23] | ✅ | ❌ | ❌ | - | 1.02 | Jul 7, 2012 | ❌ | ❌ | - | Freeware |
Arnold | [24] Aeliss fork Arnold TNG macOS AmigaOS AROS | ✅ | ✅ | 🛠️ | AmigaOS PPC, AROS | May 13, 2017 | ⚠️ | ✅ | KC Compact, Aleste 520EX | Open source | |
Caprice Forever | [25] | ✅ | ❌ | ❌ | - | 24.6 | Jun 14, 2024 | ✅ | ✅ | - | Freeware & Outdated sources |
Caprice32 | [26] Old repo Linux AROS | ✅ | ✅ | ✅ | AROS | 4.6.0 | Oct 8, 2022 | ⚠️ | ✅ | - | Donationware & Open source |
Clock Signal | [27] Linux Raspberry Pi | ❌ | ✅ | ✅ | - | Jun 3, 2024 | ❌ | ❌ | ZX Spectrum, ZX80/81, Enterprise, MSX, Oric, ColecoVision, Apple II, VIC-20, Atari 2600, Atari ST, Electron, Archimedes, Macintosh, Master System | Donationware & Open source | |
CoPaCabana | [28] | ✅ | ❌ | ❌ | - | 0.74 | Apr 12, 2006 | ⚠️ | ❌ | - | Donationware |
CPC++ | [29] | ✅ | ✅ | ❗ | - | b700 | May 31, 2015 | ❌ | ❌ | - | Freeware |
cpc4x | [30] | ❌ | ❌ | 🛠️ | - | 0.26 | Dec 11, 2004 | ❌ | ❌ | - | Open source |
CPCEC | [31] Repo CPCE CPCEG | ✅ | 🛠️ | 🛠️ | - | May 5, 2024 | ⚠️ | ✅ | ZX Spectrum, Commodore 64, MSX | Open source | |
cpcec-gtk | [32] | ❌ | ❌ | 🛠️ | - | Feb 4, 2023 | ✅ | ✅ | - | Open source | |
CPCemu | [33] | ✅ | ✅ | ✅ | - | 2.5 | Aug 13, 2022 | ⚠️ | ❌ | - | Freeware |
CPCEPower | [34] | ✅ | ✅ | ✅ | - | 2105 | Jun 4, 2021 | ❌ | ✅ | - | Donationware |
CPCSharp | [35] | ✅ | ✅ | ❌ | - | 1.0.0-beta1 | Apr 7, 2021 | ⚠️ | ❌ | - | Open source |
CPvC | [36] | ✅ | ❌ | ❌ | - | Sep 30, 2022 | ❌ | ❌ | - | Open source | |
CrocoDS | [37] Repo | ✅ | ✅ | ❌ | - | 4.0 beta3 | Dec 10, 2023 | ⚠️ | ❌ | - | Open source |
DSP | [38] | ✅ | ✅ | 🛠️ | - | 0.23 wip1 | Mar 25, 2024 | ❌ | ❌ | ZX Spectrum, Commodore 64, Oric, ColecoVision, Game Boy, NES, SG-1000, Master System, Game Gear, Super Cassette Vision, PV-1000, PV-2000, Arcade | Open source |
ep128emu | [39] | ✅ | 🛠️ | 🛠️ | - | 2.0.11.2 | Apr 19, 2019 | ⚠️ | ❌ | ZX Spectrum, Enterprise | Donationware & Open source |
MAME | [40] macOS Other ports AmigaOS MorphOS Haiku | ✅ | ✅ | ✅ | AmigaOS PPC, MorphOS, Haiku | 0.267 | Jun 30, 2024 | ⚠️ | ✅ | Tons of vintage computers, game consoles and arcade systems | Open source |
NO$CPC | [41] | ✅ | ❌ | ❌ | - | 1.8 | Nov 2, 2000 | ⚠️ | ✅ | - | Donationware |
PC-CPC | [42] Repo | ✅ | ❌ | ❌ | - | 0.1at b29 | Nov 17, 2011 | ⚠️ | ❌ | - | Open source |
Retro Virtual Machine | [43] | ✅ | ✅ | ✅ | - | 2.1.16 | Jul 2, 2024 | ❌ Removed | ✅ | ZX Spectrum, MSX 1, ColecoVision, SG-1000, Master System | Donationware |
Roland | [44] Repo | ✅ | ❌ | 🛠️ | - | 0.70 | Apr 20, 2017 | ❌ | ❌ | - | Open source |
Ronald | [45] | ❌ | ❌ | 🛠️ | - | Apr 1, 2024 | ⚠️ | ❌ | - | Open source | |
SugarBox | [46] Old site SugarPi | ✅ | ✅ | ✅ | - | 2.0.2 | Nov 29, 2023 | ⚠️ | ✅ | - | Open source |
Virtual CPC | [47] Archive | ✅ | ❌ | ❌ | - | 1.1 | Aug 8, 2011 | ⚠️ | ❌ | - | Freeware |
WinAPE | [48] CPCwin | ✅ | ❌ | ❌ | - | 2.0b2 | Jan 5, 2016 | ✅ | ✅ | - | Donationware |
WinCPC / MacCPC | [49] vbCPC | ✅ | ✅ | ❌ | - | 0.9.2 | Jan 22, 2010 | ✅ | ❌ | - | Freeware |
Xcpc | [50] | ❌ | ❌ | ✅ | - | 0.38.1 | Apr 8, 2023 | ❌ | ❌ | - | Open source |
XNACPC | [51] CPC3D | ✅ | ❌ | ❌ | - | 1.0 | Nov 11, 2011 | ❌ | ❌ | - | Open source |
ZEsarUX | [52] | ✅ | ✅ | ✅ | Haiku | 11.0 | Jun 6, 2024 | ⚠️ | ❌ | PCW, ZX Spectrum, ZX80/81, MSX 1, ColecoVision, Spectravideo, Jupiter ACE, Sam Coupe, SG-1000, Master System, Sinclair QL, MK14, Z88 | Donationware & Open source |
❗= No Raspberry Pi / ARM build
🛠️ = Build it yourself
⚠️ = Incomplete tooling
Mobile
Host system | Emulator name | External link | Current version | Latest release | Amstrad Plus | Also emulates | License |
---|---|---|---|---|---|---|---|
Android | andcpc | [53] | 1.5.1 | Apr 4, 2011 | ❌ | - | Open source |
Android | Azimuth | [54] | 1.11 | Aug 22, 2023 | ❌ | - | Adware and in-app purchases💲 |
Android | CPCDroid | [55] | 1.5.1 | Mar 2, 2011 | ❌ | - | Open source |
Android | CPCemu | [56] | 2.5 | Aug 14, 2022 | ❌ | - | Freeware |
Android | Droid-CPC | [57] | 1.1.01 | Dec 15, 2016 | ❌ | - | Commercial💲 |
Android | MAME4droid 2024 | [58] Repo | 1.14 (0.267) | Jul 3, 2024 | ✅ | Tons of vintage computers, game consoles and arcade systems | Open source |
iOS | CPCemu | [59] | 2.5 | Aug 13, 2022 | ❌ | - | Software available on request |
iOS | CrocoDS | [60] Repo | 2.1 | Jun 21, 2013 | ❌ | - | Open source |
iOS | MAME4iOS | [61] | 2022.5 | Dec 12, 2022 | ✅ | Tons of vintage computers, game consoles and arcade systems | Open source |
Discontinued Operating Systems
Host system | Emulator name | External link | Current version | Latest release | Amstrad Plus | Also emulates | License |
---|---|---|---|---|---|---|---|
Acorn RISC OS | !CPC | [62] [63] | Jul 28, 1996 | ❌ | - | Open source | |
Acorn RISC OS | !CPCemu | [64] | 1.21 | Mar 22, 2016 | ❌ | - | Open source |
AmigaOS m68k | A-CPC | [65] | 2.0 | Mar 30, 2002 | ✅ | - | Open source |
AmigaOS m68k | Ami-cpc | [66] Ami-cpc2 | 0.46 | Jan 21, 1998 | ❌ | - | Open source |
AmigaOS m68k | CPE | [67] | Feb 24, 1995 | ❌ | - | Open source | |
AmigaOS m68k | EmuCPC | [68] | 0.7 | Sep 15, 1996 | ❌ | - | Open source |
BlackBerry OS | BB-CPC | [69] (dead link) | 1.0.1.3 | Jul 15, 2013 | ❌ | - | Commercial💲 |
Classic Mac OS | CPC++ | [70] | 1.3.2 | Oct 6, 1997 | ❌ | - | Shareware💲 |
DOS | AdvanceMESS | [71] | 3.9 | Sep 8, 2018 | ✅ | Tons of vintage computers and game consoles | Open source |
DOS | Arnimedes | [72] | 0.8a | Apr 15, 2000 | ❌ | - | Freeware |
DOS | Caprice32 | [73] | 1.11 | Sep 20, 1999 | ❌ | - | Open source |
DOS | CPC | [74] | 0.55b | May 16, 1997 | ❌ | - | Freeware |
DOS | CPC-em | [75] | 0.4 | Jul 7, 2004 | ❌ | - | Open source |
DOS | CPCE | [76] | 1.94 | Jun 2, 2011 | ❌ | - | Freeware |
DOS | CPCemu | [77] | 1.5 | Jul 7, 1998 | ❌ | - | Freeware |
DOS | CPE | [78] | 5.2 | Apr 21, 1997 | ❌ | - | Open source |
DOS | NO$CPC | [79] | 1.8 | Nov 2, 2000 | ✅ | - | Freeware |
DOS | PC-CPC | [80] | Feb 3, 1998 | ❌ | - | Open source | |
DOS | RWCPC | [81] | Mar 23, 1995 | ❌ | - | Freeware | |
DOS | SIMCPC | [82] | Dec 10, 1989 | ❌ | - | Shareware💲 | |
DOS | YAGE | [83] | 0.91 | Oct 24, 1998 | ❌ | - | Freeware |
EXOS | Software CPC Emulator | [84] [85] | 1.3 | Jan 11, 2013 | ❌ | - | Open source |
Maemo | CPCm | [86] | 1.20-1 | Apr 27, 2010 | ❌ | - | Open source |
MSX-DOS | EMU6CPC | [87] | Dec 17, 2018 | ❌ | - | Freeware | |
OS/2 | SDLMAME | [88] | 0.170 | Jan 30, 2016 | ✅ | Tons of vintage computers, game consoles and arcade systems | Open source |
Palm OS | CaPriCe for Palm OS | [89] | 2.8 | Jun 28, 2011 | ❌ | - | Open source |
Palm OS | CoPaCabana | [90] | 0.75 | Dec 4, 2007 | ❌ | - | Freeware |
Pocket PC | PocketCaprice | [91] | 0.9 | Aug 19, 2007 | ❌ | - | Freeware |
SunOS | CPC++ | [92] | 1.3.0 | Feb 22, 1997 | ❌ | - | Shareware💲 |
Symbian | S60-CPC | [93] | 0.74 | Feb 21, 2006 | ❌ | - | Open source |
Windows 9x | CPC-em | [94] | 0.3 | Jan 22, 2004 | ❌ | - | Open source |
Windows 9x | MTMW | [95] | 1.30B | Jan 11, 2000 | ✅ | ZX Spectrum, ZX80/81, Enterprise, Jupiter ACE | Freeware |
Home Consoles
You can use RetroArch for Amstrad CPC emulation on Apple TV, Android TV, Nvidia Shield, Steam Link, Xbox One, Xbox Series, PS2, PS Vita TV, GameCube, Wii, Wii U and Switch. Or you can use these stand-alone CPC emulators:
Host system | Emulator name | External link | Current version | Latest release | Amstrad Plus | Also emulates | License |
---|---|---|---|---|---|---|---|
Microsoft XBOX | ArnoldX | [96] [97] | v5 | Apr 20, 2010 | ✅ | - | Freeware |
Microsoft XBOX | CoinOPS (RetroFE) | [98] | 5 | Oct 18, 2012 | ❌ | Tons of vintage computers, game consoles and arcade systems | Freeware |
Microsoft Xbox 360 | XNACPC | [99] | 1.0 | Nov 11, 2011 | ❌ | - | Open source |
Nintendo Wii | Wiituka | [100] | 0.98.8 | May 15, 2009 | ❌ | - | Open source |
Sega Dreamcast | CPCast | [101] | May 6, 2006 | ❌ | - | Freeware | |
Sega Dreamcast | DreamCPC | [102] | Alpha 3 | Oct 16, 2005 | ❌ | - | Freeware |
Sony PS2 | CPC-em | [103] | 0.4 | Dec 22, 2004 | ❌ | - | Freeware |
Sony PS3 | Caprice32 | [104] | 4.1.0 DBG | Apr 9, 2012 | ❌ | - | Open source |
Handheld Consoles
Note: Android-based handheld consoles (Razer Edge, Ayn Odin Pro, Retroid Pocket Flip, GPD XP, ...) will work with stand-alone Android CPC emulators or with RetroArch, same as an Android phone.
You can use RetroArch for Amstrad CPC emulation on PSP, PS Vita, DS, 3DS, Switch, Steam Deck, RetroFW, Miyoo, OpenDingux and ArkOS. Or you can use these stand-alone CPC emulators:
Host system | Emulator name | External link | Current version | Latest release | Amstrad Plus | Also emulates | License |
---|---|---|---|---|---|---|---|
Dingoo A320 / A330 | Pituka Dingux | [105] | 0.8pre | Aug 19, 2010 | ❌ | - | Open source |
Dingoo A320 / A330 | Dingux-CAP32 | [106] | 1.1.2 | Oct 17, 2009 | ❌ | - | Open source |
GamePark Caanoo | Caanoo-CAP32 | [107] | 1.1.3 | Apr 24, 2011 | ❌ | - | Open source |
GamePark GP2x | CapriceGP2x | [108] | 0.5 | Feb 22, 2006 | ❌ | - | Open source |
GamePark GP2x | GP2X-CAP32 | [109] | 1.5.1 | Aug 29, 2009 | ❌ | - | Open source |
GamePark GP32 | Pituka GP32 | [110] | 1d | May 15, 2010 | ❌ | - | Open source |
GamePark Wiz | Wiz-CAP32 | [111] | 1.1.0 | Aug 29, 2009 | ❌ | - | Open source |
GCW Zero | Dingux-CAP32 | [112] | 1.1.2 | May 25, 2014 | ❌ | - | Open source |
JXD S5110 / S601 & Yinlips G18 | JXD-CAP32 | [113] | 1.1.1 | Oct 27, 2012 | ❌ | - | Open source |
Nintendo DS | AmeDS | [114] | 4.0 | Apr 25, 2010 | ❌ | - | Freeware |
Nintendo DS | CrocoDS | [115] Repo | 2.0 | Nov 9, 2007 | ❌ | - | Open source |
Nintendo GameBoy Advance | Mini Amstrad Emulator | [116] | Dec 26, 2005 | ❌ | - | Open source | |
Odroid GO | CapriceESP32 | [117] | Dec 3, 2020 | ❌ | - | Open source | |
OpenDingux | CrocoDS | [118] Repo | Jan 15, 2020 | ❌ | - | Open source | |
Pandora | Pandora-CAP32 | [119] | 1.1.0 | Jun 27, 2010 | ❌ | - | Open source |
Sony PSP | Caprice32 PSP | [120] | 4.2.0.2 | Nov 28, 2007 | ❌ | - | Open source |
Sony PSP | CPCPSP | [121] | 0.1 | Dec 24, 2005 | ❌ | - | Freeware |
Sony PSP | PSPCAP32 | [122] | 1.5.1 | Aug 21, 2009 | ❌ | - | Open source |
Trimui Model S | Arnold Trimui | [123] | Oct 19, 2021 | ✅ | - | Open source |
FPGA
- CPC TREX CPC-One TurboCPC core by TobiFlex running on different FPGA boards
- CPC FPGA CPC emulation by Ranulf (Ralferoo) Doswell, running on a custom made FPGA board
- FPGAmstrad CoreAmstrad CoreDocAmstrad Translation by Renaud (Freemac) Hélias of JavaCPC from Java into VHDL for MiST board
- CPC for MiST and MiSTer Started by Alexey (Sorgelig) Melnikov as a port of CoreAmstrad, but every module has been either rewritten or replaced
- CPC2 Project CPC emulation running on a Cyclone V FPGA board
- AmstradCPC core Based on McLeod's core and running on a ZXTres FPGA board
Hardware and Parts
- Just CPC4ATX CPC clone made from NOS chips
- CPC464-2mini A mini CPC464
- CPC Modular Modular Amstrad CPC compatible computer
- CPC 464/6128 replica PCBs To be used as a direct replacement to the original PCBs
- ESP32 TinyCPC Port from CPC-em emulator to TTGO VGA32 v1.x board with ESP32
- CPCESP ESP32 based Amstrad CPC emulator
- MCLZ8 z80-open-silicon Z80 emulators to be used as drop-in replacement
- Nuked-MD-FPGA A-Z80 Verilog Z80 implementations reverse engineered from decapped chip Baltazar Ken Shirriff Instruction decode PLA table Technical documentation
- Visual Z80 Remix Z80 Explorer Netlist-level ultra accurate Z80 simulators
- Forum thread Reverse engineered Gate Array by Gerald from decapped chips Ash Evans Gyorgy Szombathelyi AMSGateArray Subsequent Verilog/VHDL implementations Signals analysis by Bread80
- ASIC and Pre-ASIC Gate Array Z80 CPU HD6845SP CRTC AY-3-8912 PSG NEC D765 FDC Die shots of decapped CPC chips. How to: Optically decode the ROM of a decapped chip Automate ROM decoding Decap, image and reverse engineer the C128 PLA chip Reverse engineered Oric ULA chip
- Multi-CRTC Board Host and select between multiple CRTC chip types in one CPC
- SDiskEmul Floppy-drive emulator released in 2007. Abandoned now. Supports DSK, EDSK disk-images
- HxC Floppy Emulator Commercial floppy-drive emulator. Supports directly DSK, EDSK, HFE disk-images. IPF, CTRAW, SCP disk-images supported through conversion to HFE disk-image [124]
- FlashFloppy Open source floppy-drive emulator for the ubiquitous Gotek hardware. Supports DSK, EDSK, HFE disk-images
- GreaseWeazle Open source USB floppy adapter Flux reader/writer
- KryoFlux Proprietary floppy adapter Flux reader/writer
- Pauline FPGA-based floppy-drive dumper and emulator
- DDI-3 USB floppy-drive emulator with an integrated FDC chip for CPC464
- DriveRDY Emulates the Ready signal necessary for floppy drives on Amstrad machines
- TZXduino Arduino-based tape deck emulator. Supports many formats of tape-images including CDT and TZX
- tapDancer [125] Chrome and Android app that plays back many formats of tape-images including CDT and TZX
- PlayUEF Web-browser based tape deck emulator, supporting CDT and TZX tape-images
- Amstrad CPC Printer Emulator Arduino-based CPC printer emulator that can output text, markdown or HTML
- Retro-Printer Plugin module for the Raspberry Pi that makes it possible to connect retro computers to modern USB or network printers
- ESCParser Command-line utility, ESC/P printer emulator that can output PostScript, SVG or PDF
- CPC-plus-cartridge Different PCB designs and code to make a CPC-plus cartridge
- Amstrad Multicart 16-in-1 cartridge for the GX4000 or Amstrad Plus computer
- C4CPC Cartridge replacement for the Amstrad Plus range and the GX4000
- Flash+ cartridge Amstrad CPC+ GX4000 reflashable cartridge
- LensKey LensLok copy-protection decoder for Windows
- Sinden Lightgun LCD-compatible lightgun
Peripherals support
Mass storage devices
Emulator support is as follows:
- Dobbertin Harddisc is emulated by MAME
- uIDE is emulated by Arnold
- Symbiface II IDE/PATA interface or compatible (X-Mass, Cyboard) is emulated by ACE, ACE-DL, Caprice Forever, MAME, WinAPE, WinCPC, Arnold, Virtual CPC
- Albireo is emulated by ACE, ACE-DL, Caprice Forever
- M4 Board is emulated by CPCemu
- Vortex Winchester Drive, IDE8255, USIfAC / ULIfAC, Symbiface3 / RSF3 are not supported by emulators
Audio devices
Emulator support is as follows:
- SSA-1 speech synthesizer is emulated by ACE, ACE-DL, Caprice Forever, JavaCPC, MAME
- Dk'Tronics speech synthesizer is emulated by ACE, ACE-DL, Caprice Forever, JavaCPC, MAME
- Techni-Musique speech synthesizer is emulated by ACE, ACE-DL, Caprice Forever
- Amdrum is emulated by ACE, ACE-DL, JavaCPC, MAME, WinAPE
- Digiblaster is emulated by ACE, ACE-DL, Caprice Forever, JavaCPC, MAME, WinAPE, WinCPC, CPCEC, CPCEPower, Virtual CPC
- PlayCity is fully emulated by ACE, ACE-DL, MAME, Arnold, SugarBox. It is partially emulated (no CTC) by Caprice Forever, JavaCPC, CPCEC
- Play2CPC is partially emulated (no FM and no digidrums) by ACE, ACE-DL
- Willy OPL3 is emulated by ACE, ACE-DL
- Willy MIDI is emulated by ACE (software synth emulation on Haiku, MIDI OUT support on MorphOS)
- Music Machine (Sampling/Playback/MIDI), Speak&SID, LambdaSpeak, Amsdap MoonSound, Amsdap MP3 Player CPC Radio are not supported by emulators
Graphics devices
CPC graphics display expansions (CRTC Type 5, Amsdap GFX9000) are not supported by emulators.
CPC graphics acquisition devices (Dart Scanner, VIDI digitizer, Digitaliseur Ara) are not supported by emulators.
CPC printers are poorly supported by emulators. The only emulators that at least do some print rendering emulation are JavaCPC and Caprice Forever.
Input devices
Some lightguns / lightpens are emulated by ACE, ACE-DL, Caprice Forever, JavaCPC, CPCEC, CPCEPower, Virtual CPC, Wiituka.
CPC mouse support is as follows:
- AMX mouse (1-bit axis, 3 buttons) or compatible (Imperium Solo, Dk'Tronics Genius adapter, DIY GEOS adapter, Atari-ST mouse adapter, PS2Mouse, Marconi Trackerball) is emulated by ACE, ACE-DL, Caprice Forever, WinAPE, Arnold, Virtual CPC, CPCemu, Retro Virtual Machine
- Kempston mouse (8-bit axis, 2 buttons) is emulated by ACE, ACE-DL, Arnold
- Reisware mouse (8-bit axis, 2 buttons) is emulated by CPCemu
- Symbiface II PS/2 mouse (6-bit axis, 5 buttons, scroll wheel) is emulated by ACE-DL, Caprice Forever, MAME, WinAPE, Arnold, CPCemu
- MultiPlay mouse (4-bit axis, 3 buttons) or compatible (Symbiface3 / RSF3 mouse) is emulated by ACE, ACE-DL, Caprice Forever, JavaCPC, Arnold, Retro Virtual Machine
- Albireo mouse (8-bit axis, 3 buttons), Imperium Solo custom mode (6-bit axis, 3 buttons) are not supported by emulators
Note: AMX and MultiPlay are the most widely supported mice in CPC programs
Hacking devices
Emulator support is as follows:
- Multiface II is emulated by ACE, ACE-DL, Caprice Forever, JavaCPC, MAME, WinAPE, Arnold
- HackIt is emulated by ACE-DL, Arnold
- Mirage Imager is emulated by ACE
- Transtape is emulated by MAME
- Programmers Development System is emulated by MAME
- Demon Development Cartridge, Action Replay AMX, Disc Wizard are not supported by emulators
Rewind feature
ACE-DL has a rewind feature, but it is not as good as it could be: Demonstration of rewind in ACE-DL
Only the RetroArch CPC emulator has a proper rewind feature: Demonstration of rewind in RetroArch. To reverse the game, the user press and hold the rewind button. And at any point, releasing the button makes time goes forward again.
A very simple approach would be to make a SNA for each frame and limit the RAM snapshot to 128KB, which is ok for 99% of CPC software. For a 10-seconds long rewind functionality, only 64MB RAM is needed (128KB * 50 frames * 10 seconds).
A more efficient approach is to store only the values that are changed in RAM between two frames, so that RAM can be restored when rewinding. This allows for long rewinds, even of a CPC equipped with a 4MB RAM expansion. Proof of it is the GBA emulator SkyEmu demonstrating super long rewind while needing very few RAM.
For debugging, going back to the previous instruction is easily implemented. The emulator has to store the time when the previous instruction was executed so that he can go back to that instruction. In the same way, emulators can provide access to the previous HBL, IRQ, VBL, etc.
Emulator accuracy checking tools
Quick evaluation
- From Scratch demo with reference images (CRTC 1): Media:From Scratch logo.png Media:From Scratch tetris.png Media:From Scratch ovl.png
- DSC4 v2 demo with reference images (CRTC 1): Media:DSC4 reference1.png Media:DSC4 reference2.png Technical explanation
- Other World 3 demo with reference image (CRTC 0/1): Media:Other World 3.png
- BSC7 Interlace demo with reference image (CRTC 0/2/3/4): Media:BSC7 reference.png
Z80 CPU
- 🔥Raxoft tests CPC port of z80test ZEX Z80 CPU instruction set exercisers
- Arkanoid Boulder Dash The Great Escape Using Z80 Interrupt Mode 2 Trailblazer (using HALT) L'anneau de Zengara (using Z80 register R) Light Corridor (Z80 useless instruction prefixes) Dogsbody (accessing non-standard I/O ports) Pinball Dreams (Z80 NMOS only)
- Z80 instruction set Z80 MEMPTR (aka WZ) internal register Even weirder Z80 behaviour To get to the bottom of it Z80 is always NMOS on CPC and Plus How the Z80 behaves
- Z80 T-state timings [126] Other source about T-state timings Ultra accurate timing behaviour I/O port allocation RAM/ROM mapping Technical documentation
Diagnostics
- Amstest Amstrad Diagnostics STS SysInfo Test CRTC type [127] Identifying CRTC visually Basic Program Status Window Version du Firmware Basic
- SymbOS RAM Expansion Test MemTest RAM Test CRTC4 Test RAM de McLeod Ideafix RAM Check Testprogram For All ERAM Test RAM Basic Xenon 2 Take On Me Trololo Experiments Still The One Post Scriptum Onescreen Colonies #2 256K Chany 512K cracks Anti-Multiface Expanded RAM software list RAM exercisers
- FutureOS CP/M Plus Phortem Pac-Man Emulator Behaviour of RAM mode &C3 More on the issue RAM expansion hardware bug on CPC464/664
- 🔥Kevin Thacker's "Acid tests" suite Older version Forum thread Tests results in ACE Collection of tests which are used to verify emulators operation against real CPC, Plus and expansions
- 🔥Richard Wilson's Plus Test suite [128] CPC and CPC+ Emulator test suite (including Instruction and Interrupt timing tests)
Amstrad Plus
- Arnold 5 Diagnostic Cartridge Software Demonstrator 4096 Colors Preview 4096K tester File:Roudoudou CPR tests.zip [129] No Exit (uninitialised stack pointer) Tennis Cup 2 (analogue joystick) Plus testing tools
- 6128 Plus DMA Fairy Soundtracker DMA To test DMA sound
- Delirium Tremens Delirium Tremens running on real hardware Bulles Funerapolis X-mas 2008 USS Cygnus 192 To test hardware sprites
- Arnoldemu T&J Sylvestre Longshot [130] Offset [131] Plus Vectored Interrupt Bug Plus hardware bugs documented
- L'Aigle d'Or le Retour Bumpy's Arcade Fantasy Kick Boxing Gold D.Day Striker in the Crypts of Trogan Prehistorik II CPC Demos with Plus features To test Amstrad Plus enhancement of CPC software
- Plus Games Demos for Plus only Search filters to verify the entire Plus software library
Colorimetry
- CPC DiAG Raster Toutes les couleurs du CPC Couleurs Les split-rasters Mir'Color Test Interlace Color Infinite Colours Mode 1 Tramage et Choix des Couleurs FED Colour calibration
- Minor difference in colorimetry between CPC and Plus On CPC (not Plus!), green half-intensity is significantly higher than red and blue half-intensities
- Major difference in colorimetry between the real Amstrad displays and emulators display. CPC DiAG shows clearly why, by demonstrating the weak response of Amstrad monitors to the Red component:
- CPC DiAG also shows that the primary colours themselves are a bit different. Blue is more vivid and Green is less fluorescent on Amstrad displays.
- Colours are less saturated and black is not as profound on CRT monitors than they are on modern displays.
Graphics
- 🔥Shakerland Ultra accurate CRTC documentation and its associated CPC testing tool
- 5KB 2 (tweakable demo) HSYNC test CRTC Programmierung Côté Gamers Screen Effect Blitter File:CheshireCat - Scroll hard en Basic.dsk [132] Out-Screen II CRTC editor Control del CRT CRTC testing tools
- Vertical and Horizontal 1-pixel mode1 hardware scroll for all CRTCs File:Lister-of-smeg vertscroll4.dsk Smooth CRTC Register 3 scrolling test Skate Wars Jinks Out of this World Killer Cobra Edge Grinder Relentless Corsair Trainer Warhawk Mission Genocide Axys Red Sunset Ghosts'n Goblins Legend of Kage Profanation Super Cauldron Smooth CRTC R3/R5 hardware scrolling
- BSC 91 Voyage 1993 OVL '96 Byte 98 Divine Paradise Power System Prodatron Longshot Amazing KKB First Hage's First New Age Flore Dentro Chany Dream End S&Koh Overflow Previews Mystery Little One Freedelire Spy Hunter Scroller Big'O Full'O Dem'O Sea You Soon Plasma Wobbler Mad Rast Odyssey Synergy Early CRTC demos
- Ze Meeting 2003 Camembert 4 DemoIzArt Not Dead Croco Chanel Tire Au Flan Arôme Tomate Twistimus DTC Synergy 2 CRTC demos from 2000s
- OSC #0 OSC #1 Still Rising Still the Bests Still Scrolling River Scroll Scroll Factory Battro Bloc Us Wake Up Wunderbar Cookie Yet Another Plasma Isometrikum Logon's Run Octopus Pocus Sugarlumps CRTC demos from 2010s
- OSC #2 OSC #3 Stand Up The One Swingin' Return of the Droid Mike's Scrollers Foursome Checkmate Debris Ghost Nop Latest CRTC demos
- Les Mondes Parallèles Paranoia Molecularr 2 Megablasters Quadraster Inferno Groops Sudoku Master Overkoban Prince Dastan Sokoban Within Deva Drifter Hexavirus v0 A tribute to the sisters True overscan games
- Points Barres (Mode 3) New Mode "Mode 5" Viewer Raster Slideshow Brutal Deluxe Rhino-Raster Split-Rasters Test CRTC1 Crazy Ball Trailblazer Fugitif Flush Wishes You a Happy New Year Pixel Free Overscan Megatext Gozeur Intro 2 Interlace viewer Interlaced 800x600 Interlace Climax Kvety Flipraster Perfect Pix Paint Bat-Moule Tetris Imperial Mahjong Special graphics modes Mode EGX Mode R Mode 5 Technical explanations
- Prehistorik II (screen calibration) Mire Chany Dream 5 4 Sins TV Noise Climax-G Nice Picture Show Fatal Beauties JavaCPC Overscan Pixel Nation Twinblast MCS 6 Schadel Scandinavian Flag Kill JLCS Deleting Disc Plasma Pas Cher Wavy Vagues sur l'écran Bildschirmverzerrer Thunder Blade (292 lines) Bonanza Bros (295 lines) Turrican (296 lines) Wonder Boy (296 lines) Sliders (330 lines) Rastan (336 lines) To test the VDU
- Octoplex (crtc1) Dynamic Duo (crtc1) Druid II (crtc1) Legend of Steel (crtc1) 007 The Living Daylights (crtc1) FMR (crtc1) Some known bugs on real CRTCs
- Welcom-X 2 (crtc0) Madness (crtc1) 5KB 1 (crtc1) Scrolling Hard Vertical (crtc2) Some programs that only run correctly on one type of CRTC
Audio
- Trantor 3D Starfighter Treasure Island Dizzy Ghost Hunters Super Robin Hood Advanced Pinball Simulator Jet Bike Simulator Grand Prix Simulator Darts 180 Killapede Startest Jail Break Robocop Chase HQ Shinobi Fly Spy Meltdown Throne Legacy Just Get 9 4-Bit Digi Try OctoBear Speech Software English vocal sounds
- El Enigma de Aceps Le Manoir de Mortvielle Etrange Castel Forteresse Canadair L'île Jaws Holocauste Apocalypse Punk Star Afteroids Amstroids Hold-Up Fire & Forget Xyphoes Fantasy Spectra Space Race Yao demo Terrific Face Hugger Ultimate Smallest Scroll Musik100 Digital Synthesizer Echosoft Mega Sound Digitracker NGS Other software sound effects Audio-tape included software list
- Now that's what I call Chip Tunes Amstream music-disk We Are All Old Anthology AYC Sound Shap Audio Amstrad CPC Mix YM!Rulez (real hardware recordings) Soundtrakker 128k ST128 Song Modules by BSC Starkos Starkos Song Modules Ams'Orgue Sintetizador de Sonidos To test the PSG emulation
Peripherals
- SSA-1 software list Dk'Tronics software list TMPI software list To test speech synthesizers emulation
- Cocoon Player Bordelik 4 Digital Orgasm Bloood Digitracker Symbiosis Prodatron MDL packs File:DigiTracker Amdrum.zip [133] Amdrum VGMplay OPL3 VGM pack BluePillCPC To test Digiblaster, Amdrum, Willy OPL3 and Willy MIDI soundcards emulation
- West Phaser Gunstick Trojan LP-1 To test lightguns and lightpens connected to joystick port Magnum Light Phaser SkeetShoot The Enforcer Dk'Tronics Light Pen Light Pen Mark II Dart Light Pen FutureOS To test lightguns and lightpens connected to expansion port
- The Key Le Manoir de Mortvielle Pro-Design Cherry Paint EasiArt GPaint AMX Art Advanced OCP Art Studio Max Desktop Worktop DES CEUS SymbOS FutureOS MultiPlay To test AMX Mouse and MultiPlay emulation
- Tasword Tasprint Print Master ProText ProType ProPrint Miraprint Qualitas Plus BrunWord CPC-Word MicroDesign Page Printer Stop Press (AMX Pagemaker) X-Press Page Publisher PowerPage 128 StarMouse Impr'Image Speedtrans screen dump Kdump Printer Pac II Impression RSX Imprimante Scrypte Machine à écrire DemoImp To test printer emulation
- HDCPM FutureOS SymbOS UniDOS UniLoad LiliCPC M4FE To test RTC and mass-storage emulation
- RulezCharge CPChessNet Ewen SymbOS UniDOS To test the network emulation
- X-MEM FW 32 Roms Booster Roman CatRun CowSay iMPsuite Graph'OS Nirvana Utopia Hexam Orgams YANCC HDCPM FutureOS SymbOS UniDOS To test ROMboard emulation
- Alcon 2020 Hyperdrive Puzzle Bobble Revenge of Trasmoz Crazy Piri Chronicle Converted GX4000 Software FutureOS SymbOS UniDOS To test Plus2CPC or compatible (Play2CPC, M4 Board) CPC cartridge slot expansion
- Multiface Protector Anti-Multiface II software list RX 220 War in Middle Earth Zap't'Balls advanced The Insider MF2RR Technical documentation [134] To test Multiface II emulation
- LensLok Dandanator 8bit Printer Ports CRTC Type 5 Exotic hardware that should be emulated
- Everything else is a nice bonus
Copy-protection
- FDC test suite Disk drive tests CDT/TZX test suite Set of tests by arnoldemu
- Azimut Locator Tape Speed Checker Motor Control Odd Border Ultra Son Catalogueur de Cassettes Tape Utility Soft-Lok Soft-Arc Deconnect NoAMSDOS software list Computer Hits Marmelade Mickey Mouse Basil Split Personalities Frank Bruno's Boxing Baudload software list Keytone software list Tape Counter software list Loading Screens slideshow To test Tape emulation
- Musical Loader FatMag 2 [135] 5KB 3 Backtro Unique The Demo Fres Fighter II Turbo CPC 30th Anniversary Midline Process Can Robots Take Control PhX Batman Forever Pinball Dreams R-Type 128K Nheredia Doomsday Lost Echoes The Elves of Maroland Orion Prime Musical loader, Multi-drives, 3.5 inch (dual-head and 80 tracks) floppy drives support House of Usher (5.25 inch) ParaDOS software list
- RPM DskTest Discover Dir Doktor Optimize Crazy Dlfrsilver Dump Tool Test Suite Format II Magic Transfert Magic DOS DOS-copy ParaDOS Xexor Discology Hercule II OddJob Master Disc UltraDisc Disc+Ultra Disc'o'Magic Multi Mark To test FDC emulation
- FatMag (HFE version) BND4 Invitro (sick mode) Open Tower Defense Rigorous FDC tests by Roudoudou Disk Swapping Autodetect software list Superpix Bad Mag Issue 2 Disk swapping detection Unique Diskmaker (Generate discs in noiseload format) Big Cheese 2 (FDC VU-meter effect) Sphaira (Accessing the 3rd drive) Demonstration of KBI protection Protector
- Weak Sectors Custom Gaps Custom Gap2 Sector SizeX Sector Size8 Sector Size7 Sector Size6 Sector Erased 64 Sectors Overlap Custom Rémi Herbulot Brice Rivé Rubi MBC Protected software lists
- Prehistorik Profession Détective Emlyn Hugues Arcade Quiz Other copy-protection schemes Dark Sceptre Krypton Factor Works only on older floppy drives TokiMap Technical explanation Unreliable FDC loader
- 1001 BC Scott Winder Reporter Holocauste Speedlock AAAA Destructive copy-protection Sir Lancelot Secret Defense M'enfin Turbo Cup Erebus Le Passager du Temps Anti-copy bug software list Exotic copy-protection MotorON software list
- Protection schemes documented Gaps Latis LensLok Copy-protection in EDSK images Implementation in SugarBox emulator FDC blog articles Autoboot Amsdos disk format Disk structure DiscSys Speedlock K7 1987 Speedlock D7 1989 Technical explanations
Other
- Into the Eagle's Nest Technical explanation Floating bus making the bottom border appear black on CPC, purple on 464+ and green on 6128+
- The Abduction of Oscar Z Technical explanation Neat colour gradient effect on non-CTM monitors
- The Eternal Light Druid & Droid Paulina's Potions Claudia BMP Converter Snoozing Softwares that only run fine on flawed emulators but are broken on real machines
- Equalizor Revolog Technical explanation Unpredictable behaviour of the real CRTC type 1 chip. We can classify these behaviours as CRTC types 1a and 1b. See also the chapter 11.6 "Rupture For Dummies" on the CRTC Compendium
- Get Dexter Different screen transition effect depending on the detected CRTC type
- Space Racer Bob Winner Sapiens (Tape) Mata Hari (Tape) Thai Boxing CPC keyboard detection Jungle Jane 3D Megacode Firmware detection
- The Untouchables Batman The Movie Turrican Technical explanation CPC keyboard clash Thunder Blade (6 keys) Agent X II (7 keys) Wishing-Well (8 keys) Score 3020 (9 keys) Simultaneous keypresses for cheat mode
- Raytracing in BASIC Reliefs Mathématiques Cherry Blossom Deuligne Julia Fractal Machine Code Mandelbrot Life Highway To Hell Chain Montre To benchmark emulators using their fullspeed mode
File format specifications
- DSK / EDSK HFE IPF CTRAW SCP File formats of disk-image
- CDT / TZX PZX CSW FLAC WAV MP3 File formats of tape-image
- CPR cartridge SNA snapshot Other file formats used in CPC emulators
- Official SNR session spec Discussion about SNR format Archive of SNR sessions
- YM AYC VGM Soundchip logging file formats
- CSL Cpc Scripting Language, a macro/scripting system to automate emulators
Emulation Tools
- CPCDiskXP DiskUtil SugarConvDsk DSK iDSK dsktools edsktool ManageDSK WriteDSK SAMdisk Disk Image Manager sector-cpc HxCFloppyEmulator software Disk Utilities dsk-lua upd765pro Amstrad DSK Explorer Set of tools about disk-images
- CPCTapeXP TapeUtil SugarConvTape CDTMaster 2CDT CSW2CDT CDT2WAV wav2tzx Set of tools about tape-images
- CPRTools UniDOS Cartridge Creator Edit Amstrad Plus CPR cartridge-images
- WinImage, DiskExplorer, Ultimate Imager CP/M Image File Explorer Access and edit hard-drive images
- CPC Analyser ImHex Other tools
- Emulator tooling UI screenshots of tooling in CPC emulators
- WinAPE WinCPC JavaCPC Caprice Reloaded Caprice Forever Emulators with an integrated Z80 Assembler
- Java Z80Assembler Glass Pasmo UZ80 Rasm BASM zasm vasm SjASMPlus cpctools cpclib Disark MDL ASM Code Lens KC IDE Tools for CPC cross-development in Z80 Assembler
- SDCC SDCC vs PhrozenC SDCC vs z88dk z88dk can be used with SDCC and provides a huge library Phactory cpc-dev-tool-chain CPCtelera WinCPCtelera Cross-platform CPC development in C
- Millfork ccz80 Java Grinder CPC cross-development with C-like or Java-like programming languages
- Quiche Turbo Rascal Syntax Error CPC demo made with TRSE TRSE CPC tutorial CPC cross-development in Pascal
- Multi-Platform Arcade Game Designer The most user-friendly Windows tool for creating CPC games
- Quigs IDE Suite of PC-based tools and editors for SymbOS application development
- CPC Basic cross-compiler CPCBasic Unchained Amstrad Basic Helper SDKCPC CpcAlive ugBASIC EndBASIC Cross-platform CPC development in BASIC
- ZX0 Salvador ZX0 decompressor in BASIC Comparative study Compression tools
- ConvImgCPC ImgToCpc img2cpc Magick2CPC gfx2crtc DaDither Dithertron Martine Splitraster+ UniPixelViewer UniPixelViewer tutorial Image converters from PC to CPC
- Multipaint GrafX2 CPCPaint Amstrad CPC Tools Kit Retro Game Asset Studio AkuSprite Editor Sprite Creator Aseprite Maped Cross-platform CPC pixel art editors
- vgm-conv YMtoVGM YMcruncher wav2ay Music converters
- CHIPNSFX Vortex Tracker II WYZTracker Arkos Tracker 2 Furnace Bintracker Cross-platform CPC music creation suites
Emulator Detection
If you want to promote usage of real CPC computers, you can detect CPC emulators by:
- Checking if the memory is initialized with zeroes, as real machines have random memory values at boot
- Playing with the "floating" bus
- Focusing on the minute details in Z80, CRTC, PPI and PAL chips. They are most often wrong in emulators
- Examining the FDC chip. It is only replicated more or less superficially in all emulators because the internals of the chip are still unknown. Many emulators don't even support the FDC SCAN or FORMAT commands
Combining these methods will definitely get you a 100% success rate in detecting emulators, even the toughest ones.
There is also this initiative for emulators who willingly want to be detected: Emulator IDs
Emulators running on the Amstrad CPC
Emulator name | External link | Current version | Latest release | License | Emulates |
---|---|---|---|---|---|
Amstrad BBC BASIC | [136] | 2.30 | Apr 2, 1986 | Commercial💲 | BBC BASIC |
BASIC 1.1 Fuer CPC464 | [137] | Oct 1986 | Open source | Locomotive BASIC 1.1 | |
CPCZVM | [138] | Jul 6, 2019 | Open source | Z-Machine | |
CPvM | [139] Repo | 1.0 | Apr 17, 2024 | Open source | CP/M |
Pac-Man | [140] | 1.1 | Jun 5, 2014 | Open source | Pac-Man arcade |
PC-Emulator | [141] | Sep 1986 | Hardware💲 | IBM PC | |
Phoenix | [142] | Jan 6, 2019 | Freeware | Phoenix arcade | |
Space Invaders | [143] | 1.02 | Mar 18, 2017 | Freeware | Space Invaders arcade |
Vezza | [144] Repo | Jan 7, 2024 | Open source | Z-Machine | |
ZXM | [145] | 1993 | Freeware | ZX Spectrum | |
Zym | [146] | 0.9 | Feb 19, 2022 | Open source | Z-Machine |