Vote for your favorite emulator
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 | Oct 1, 2023 | ❌ | ✅ | Lots of other computer systems | Open source | |
Roland | [9] | Sep 24, 2011 | ❌ | ❌ | - | Open source | |
Ronald | [10] Repo | Sep 25, 2023 | ⚠️ | ❌ | - | Open source | |
RVMplayer | [11] | 0.1.1 | May 6, 2023 | ❌ | ❌ | ZX Spectrum | Freeware |
Tiny Emus | [12] [13] yakc Online Old Games BZH Games | Nov 4, 2023 | ✅ | ❌ | KC Compact, ZX Spectrum, VIC-20, Commodore 64, Acorn Atom, KC 85, KC 87, Z9001, Z1013, LC80 | Open source | |
Xiragon | [14] | 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 | [15] | 4.5.3 | Mar 16, 2022 | - | ✅ | - | Open source |
libretro-crocods | Emulation core | [16] | 0.1 | Feb 28, 2017 | - | ❌ | - | Open source |
MESS 2015 | Emulation core | [17] | 0.160 | circa 2015 | - | ✅ | KC Compact, Aleste 520EX & lots of other computer systems | Open source |
SugarLibRetro | Emulation core | [18] (wraps independent lib CPCCore) | git | Jan 10, 2020 | - | ✅ | - | Open source |
EmuVR | Frontend | [19] | Dec 25, 2022 | ❌ | - | Depends on emulation cores | Donationware | |
Hackable Console | Frontend | [20] | Mar 27, 2022 | ✅ | - | Depends on emulation cores | Open source | |
RetroArch | Frontend | [21] RetroAchievements | 1.16.0 | Sep 22, 2023 | ❌ | - | Depends on emulation cores | Donationware & Open source |
Current Operating Systems
Desktop
Emulator name | External link | Windows | macOS | Linux | Current version | Latest release | Developer tools | Amstrad Plus | Also emulates | License |
---|---|---|---|---|---|---|---|---|---|---|
ACE-DL | [22] Discord Based on ACE | ✅ | ✅ | ✅ | Dec 17, 2023 | ✅ | ✅ | - | Freeware | |
AMSpiriT | [23] Forum | ✅ | ❌ | ❌ | 0.967b | Dec 6, 2023 | ❌ | ❌ | - | Freeware |
Arnimedes | [24] | ✅ | ❌ | ❌ | 1.02 | Jul 7, 2012 | ❌ | ❌ | - | Freeware |
Arnold | [25] Aeliss fork Arnold TNG macOS | ✅ | ⚠️ | ⚠️ | WIP | May 13, 2017 | ⚠️ | ✅ | KC Compact, Aleste 520EX | Open source |
Caprice Forever | [26] | ✅ | ❌ | ❌ | 23.11 | Nov 11, 2023 | ✅ | ✅ | - | Freeware & Outdated sources |
Caprice32 | [27] Old repo Linux Aleste Reloaded | ✅ | ✅ | ✅ | 4.6.0 | Oct 8, 2022 | ⚠️ | ✅ | - | Donationware & Open source |
Clock Signal | [28] Linux | ❌ | ✅ | ✅ | Dec 28, 2023 | ❌ | ❌ | ZX Spectrum, ZX80/81, Enterprise, MSX, Oric, ColecoVision, Acorn Electron, Apple II, VIC-20, Atari 2600, Atari ST, Macintosh | Donationware & Open source | |
CoPaCabana | [29] | ✅ | ❌ | ❌ | 0.74 | Apr 12, 2006 | ⚠️ | ❌ | - | Donationware |
CPC++ | [30] | ✅ | ✅ | ⚠️ | b700 | May 31, 2015 | ❌ | ❌ | - | Freeware |
cpc4x | [31] | ❌ | ❌ | ⚠️ | 0.26 | Dec 11, 2004 | ❌ | ❌ | - | Open source |
CPCEC | [32] Repo CPCE CPCEG | ✅ | ❌ | ⚠️ | Aug 6, 2022 | ⚠️ | ✅ | ZX Spectrum, Commodore 64, MSX (unreleased) | Open source | |
cpcec-gtk | [33] | ❌ | ❌ | ✅ | Feb 4, 2023 | ✅ | ✅ | - | Open source | |
CPCemu | [34] | ✅ | ✅ | ✅ | 2.5 | Aug 13, 2022 | ⚠️ | ❌ | - | Freeware |
CPCEPower | [35] | ✅ | ✅ | ✅ | 2105 | Jun 4, 2021 | ❌ | ✅ | - | Donationware |
CPCSharp | [36] | ✅ | ✅ | ❌ | 1.0.0-beta1 | Apr 7, 2021 | ⚠️ | ❌ | - | Open source |
CPvC | [37] | ✅ | ❌ | ❌ | Sep 30, 2022 | ❌ | ❌ | - | Open source | |
CrocoDS | [38] Repo | ✅ | ✅ | ❌ | 4.0 beta3 | Dec 10, 2023 | ⚠️ | ❌ | - | Open source |
DSP | [39] | ✅ | ⚠️ | ⚠️ | 0.22 | Nov 15, 2023 | ❌ | ❌ | 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 | [40] | ✅ | ⚠️ | ⚠️ | 2.0.11.2 | Apr 19, 2019 | ⚠️ | ❌ | ZX Spectrum, Enterprise | Donationware & Open source |
MAME | [41] macOS Other ports | ✅ | ✅ | ✅ | 0.261 | Nov 29, 2023 | ⚠️ | ✅ | KC Compact, Aleste 520EX & lots of other computer systems | Open source |
NO$CPC | [42] | ✅ | ❌ | ❌ | 1.8 | Nov 2, 2000 | ⚠️ | ✅ | - | Donationware |
PC-CPC | [43] Repo | ✅ | ❌ | ❌ | 0.1at b29 | Nov 17, 2011 | ⚠️ | ❌ | - | Open source |
Retro Virtual Machine | [44] | ✅ | ✅ | ✅ | 2.1.11 | Nov 13, 2023 | ❌ Removed | ✅ | ZX Spectrum, MSX 1, ColecoVision, SG-1000, Master System | Donationware |
Roland | [45] Repo | ✅ | ❌ | ✅ | 0.70 | Apr 20, 2017 | ❌ | ❌ | - | Open source |
Ronald | [46] | ❌ | ❌ | ⚠️ | Sep 25, 2023 | ⚠️ | ❌ | - | Open source | |
SugarBox | [47] Old site | ✅ | ✅ | ✅ | 2.0.2 | Nov 29, 2023 | ⚠️ | ✅ | - | Open source |
Virtual CPC | [48] Archive | ✅ | ❌ | ❌ | 1.1 | Aug 8, 2011 | ⚠️ | ❌ | - | Freeware |
WinAPE | [49] CPCwin | ✅ | ❌ | ❌ | 2.0b2 | Jan 5, 2016 | ✅ | ✅ | - | Donationware |
WinCPC / MacCPC | [50] vbCPC | ✅ | ✅ | ❌ | 0.9.2 | Jan 22, 2010 | ✅ | ❌ | - | Freeware |
Xcpc | [51] | ❌ | ❌ | ✅ | 0.38.1 | Apr 8, 2023 | ❌ | ❌ | - | Open source |
XNACPC | [52] CPC3D | ✅ | ❌ | ❌ | 1.0 | Nov 11, 2011 | ❌ | ❌ | - | Open source |
YACE | [53] | ❌ | ❌ | ⚠️ | Nov 12, 2014 | ✅ | ❌ | - | ❌ Unreleased | |
ZEsarUX | [54] | ✅ | ✅ | ✅ | X | Sep 8, 2023 | ⚠️ | ❌ | PCW, ZX Spectrum, ZX80/81, MSX 1, ColecoVision, Spectravideo, Jupiter ACE, Sam Coupe, SG-1000, Master System, Sinclair QL, MK14, Z88 | Donationware & Open source |
Alternative OS
Emulator name | External link | AmigaOS PPC | AROS | MorphOS | Haiku | Developer tools | Amstrad Plus | Also emulates | License |
---|---|---|---|---|---|---|---|---|---|
ACE | [55] Repo | ❌ | ❌ | v1.26
Jan 1, 2024 |
v1.25.1
Oct 15, 2023 |
✅ | ✅ | Dozens of CPC hardware expansions thru plugins | Freeware (plugins are Open Source) |
Arnold | AmigaOS AROS | v1.15
Dec 17, 2012 |
Oct 24, 2010 |
❌ | ❌ | ❌ | ✅ | KC Compact | Open source |
Caprice32 | [56] | ❌ | v4.2.0
Oct 23, 2010 |
❌ | ❌ | ❌ | ✅ | KC Compact | Open source |
MAME | AmigaOS MorphOS Haiku | MESS v0.146u4
Aug 19, 2012 |
❌ | MESS v0.113
Nov 1, 2007 |
v0.261-1
Dec 1, 2023 |
⚠️ | ✅ | KC Compact, Aleste 520EX & lots of other computer systems | Open source |
Mobile
Host system | Emulator name | External link | Current version | Latest release | Amstrad Plus | Also emulates | License |
---|---|---|---|---|---|---|---|
Android | andcpc | [57] | 1.5.1 | Apr 4, 2011 | ❌ | - | Open source |
Android | Azimuth | [58] | 1.11 | Aug 22, 2023 | ❌ | - | Adware and in-app purchases💲 |
Android | CPCDroid | [59] | 1.5.1 | Mar 2, 2011 | ❌ | - | Open source |
Android | CPCemu | [60] | 2.5 | Aug 14, 2022 | ❌ | - | Freeware |
Android | Droid-CPC | [61] | 1.1.01 | Dec 15, 2016 | ❌ | - | Commercial💲 |
iOS | CPCemu | [62] | 2.5 | Aug 13, 2022 | ❌ | - | Software available on request |
iOS | CrocoDS | [63] Repo | 2.1 | Jun 21, 2013 | ❌ | - | Open source |
Discontinued Operating Systems
Host system | Emulator name | External link | Current version | Latest release | Amstrad Plus | Also emulates | License |
---|---|---|---|---|---|---|---|
Acorn RISC OS | !CPC | [64] [65] | Jul 28, 1996 | ❌ | - | Open source | |
Acorn RISC OS | !CPCemu | [66] | 1.21 | Mar 22, 2016 | ❌ | - | Open source |
AmigaOS m68k | A-CPC | [67] | 2.0 | Mar 30, 2002 | ✅ | - | Open source |
AmigaOS m68k | Ami-cpc | [68] Ami-cpc2 | 0.46 | Jan 21, 1998 | ❌ | - | Open source |
AmigaOS m68k | CPE | [69] | Feb 24, 1995 | ❌ | - | Open source | |
AmigaOS m68k | EmuCPC | [70] | 0.7 | Sep 15, 1996 | ❌ | - | Open source |
BlackBerry OS | BB-CPC | [71] (dead link) | 1.0.1.3 | Jul 15, 2013 | ❌ | - | Commercial💲 |
Classic Mac OS | CPC++ | [72] | 1.3.2 | Oct 6, 1997 | ❌ | - | Shareware💲 |
DOS | AdvanceMESS | [73] | 3.9 | Sep 8, 2018 | ✅ | KC Compact, Aleste 520EX & lots of other computer systems | Open source |
DOS | Arnimedes | [74] | 0.8a | Apr 15, 2000 | ❌ | - | Freeware |
DOS | Caprice32 | [75] | 1.11 | Sep 20, 1999 | ❌ | - | Open source |
DOS | CPC | [76] | 0.55b | May 16, 1997 | ❌ | - | Freeware |
DOS | CPC-em | [77] | 0.4 | Jul 7, 2004 | ❌ | - | Open source |
DOS | CPCE | [78] | 1.94 | Jun 2, 2011 | ❌ | - | Freeware |
DOS | CPCemu | [79] | 1.5 | Jul 7, 1998 | ❌ | - | Freeware |
DOS | CPE | [80] | 5.2 | Apr 21, 1997 | ❌ | - | Open source |
DOS | NO$CPC | [81] | 1.8 | Nov 2, 2000 | ✅ | - | Freeware |
DOS | PC-CPC | [82] | Feb 3, 1998 | ❌ | - | Open source | |
DOS | RWCPC | [83] | Mar 23, 1995 | ❌ | - | Freeware | |
DOS | SIMCPC | [84] | Dec 10, 1989 | ❌ | - | Shareware💲 | |
DOS | YAGE | [85] | 0.91 | Oct 24, 1998 | ❌ | - | Freeware |
EXOS | Software CPC Emulator | [86] [87] | 1.3 | Jan 11, 2013 | ❌ | - | Open source |
Maemo | CPCm | [88] | 1.20-1 | Apr 27, 2010 | ❌ | - | Open source |
MSX-DOS | EMU6CPC | [89] | Dec 17, 2018 | ❌ | - | Freeware | |
Palm OS | CaPriCe for Palm OS | [90] | 2.8 | Jun 28, 2011 | ❌ | - | Open source |
Palm OS | CoPaCabana | [91] | 0.75 | Dec 4, 2007 | ❌ | - | Freeware |
Pocket PC | PocketCaprice | [92] | 0.9 | Aug 19, 2007 | ❌ | - | Freeware |
SunOS | CPC++ | [93] | 1.3.0 | Feb 22, 1997 | ❌ | - | Shareware💲 |
Symbian | S60-CPC | [94] | 0.74 | Feb 21, 2006 | ❌ | - | Open source |
Windows 9x | CPC-em | [95] | 0.3 | Jan 22, 2004 | ❌ | - | Open source |
Windows 9x | MTMW | [96] | 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, 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 | [97] [98] | v5 | Apr 20, 2010 | ✅ | - | Freeware |
Microsoft XBOX | CoinOPS (RetroFE) | [99] | 5 | Oct 18, 2012 | ❌ | Lots of other computer systems | Freeware |
Microsoft Xbox 360 | XNACPC | [100] | 1.0 | Nov 11, 2011 | ❌ | - | Open source |
Nintendo Wii | Wiituka | [101] | 0.98.8 | May 15, 2009 | ❌ | - | Open source |
Sega Dreamcast | CPCast | [102] | May 6, 2006 | ❌ | - | Freeware | |
Sega Dreamcast | DreamCPC | [103] | Alpha 3 | Oct 16, 2005 | ❌ | - | Freeware |
Sony PS2 | CPC-em | [104] | 0.4 | Dec 22, 2004 | ❌ | - | Freeware |
Sony PS3 | Caprice32 | [105] | 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 and OpenDingux. 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 | [106] | 0.8pre | Aug 19, 2010 | ❌ | - | Open source |
Dingoo A320 / A330 | Dingux-CAP32 | [107] | 1.1.2 | Oct 17, 2009 | ❌ | - | Open source |
GamePark Caanoo | Caanoo-CAP32 | [108] | 1.1.3 | Apr 24, 2011 | ❌ | - | Open source |
GamePark GP2x | CapriceGP2x | [109] | 0.5 | Feb 22, 2006 | ❌ | - | Open source |
GamePark GP2x | GP2X-CAP32 | [110] | 1.5.1 | Aug 29, 2009 | ❌ | - | Open source |
GamePark GP32 | Pituka GP32 | [111] | 1d | May 15, 2010 | ❌ | - | Open source |
GamePark Wiz | Wiz-CAP32 | [112] | 1.1.0 | Aug 29, 2009 | ❌ | - | Open source |
GCW Zero | Dingux-CAP32 | [113] | 1.1.2 | May 25, 2014 | ❌ | - | Open source |
JXD S5110 / S601 & Yinlips G18 | JXD-CAP32 | [114] | 1.1.1 | Oct 27, 2012 | ❌ | - | Open source |
Nintendo DS | AmeDS | [115] | 4.0 | Apr 25, 2010 | ❌ | - | Freeware |
Nintendo DS | CrocoDS | [116] Repo | 2.0 | Nov 9, 2007 | ❌ | - | Open source |
Nintendo GameBoy Advance | Mini Amstrad Emulator | [117] | Dec 26, 2005 | ❌ | - | Open source | |
Odroid GO | CapriceESP32 | [118] | Dec 3, 2020 | ❌ | - | Open source | |
OpenDingux | CrocoDS | [119] Repo | Jan 15, 2020 | ❌ | - | Open source | |
Pandora | Pandora-CAP32 | [120] | 1.1.0 | Jun 27, 2010 | ❌ | - | Open source |
Sony PSP | Caprice32 PSP | [121] | 4.2.0.2 | Nov 28, 2007 | ❌ | - | Open source |
Sony PSP | CPCPSP | [122] | 0.1 | Dec 24, 2005 | ❌ | - | Freeware |
Sony PSP | PSPCAP32 | [123] | 1.5.1 | Aug 21, 2009 | ❌ | - | Open source |
Trimui Model S | Arnold Trimui | [124] | Oct 19, 2021 | ✅ | - | Open source |
Single-Board Computers / Raspberry Pi
LibRetro / RetroArch is used as the foundation of Lakka, Recalbox, Batocera and RetroPie alternative OSes for the Raspberry Pi and other SBC. But you can also use RetroArch for Amstrad CPC emulation on a stock Raspberry Pi OS. Or you can use these stand-alone CPC emulators:
Emulator name | External link | Current version | Latest release | Amstrad Plus | Also emulates | License |
---|---|---|---|---|---|---|
#CPC4Rpi | [125] | 1.1 | Dec 19, 2013 | ❌ | - | Commercial💲 |
CapriceRPI | [126] | 1.3d | Feb 28, 2016 | ❌ | - | Open source |
Clock Signal | [127] | Dec 28, 2023 | ❌ | ZX Spectrum, ZX80/81, Enterprise, MSX, Oric, ColecoVision, Acorn Electron, Apple II, VIC-20, Atari 2600, Atari ST, Macintosh | Donationware & Open source | |
CPCEPower | [128] | 2105 | Jun 4, 2021 | ✅ | - | Freeware |
MAME | [129] | 0.261 | Nov 29, 2023 | ✅ | KC Compact, Aleste 520EX & lots of other computer systems | Open source |
SugarPi | [130] | 1.2.0 | Feb 3, 2021 | ✅ | - | Open source |
ZEsarUX | [131] | X | Sep 8, 2023 | ❌ | PCW, ZX Spectrum, ZX80/81, MSX 1, ColecoVision, Spectravideo, Jupiter ACE, Sam Coupe, SG-1000, Master System, Sinclair QL, MK14, Z88 | Donationware & Open source |
Hardware
- CPC TREX CPC-ONE TurboCPC core running on a FPGA board
- CPC FPGA CPC emulation running on a custom made FPGA board
- FPGAmstrad CoreAmstrad CoreDocAmstrad CPC for MIST and MISTer Translation of JavaCPC from Java into VHDL on a MiST board
- CPC2 Project CPC emulation running on a Cyclone V FPGA board
- ESP32 TinyCPC Port from CPC-em emulator to TTGO VGA32 v1.x board with ESP32
- AMSGateArray Reverse engineered Gate Array from decapped chips
- 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 [132]
- FlashFloppy Open source floppy-drive emulator for the ubiquitous Gotek hardware. Supports DSK, EDSK, HFE disk-images
- Pauline FPGA-based floppy-drive dumper and emulator
- TZXduino Arduino-based tape deck emulator. Supports 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
- 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
CPC cartridge slot
Emulator support for a CPC cartridge slot is as follows:
- M4 Board simulates a standard Plus cartridge port on the CPC and handles standard CPR files. M4 Board is emulated by CPCemu
- Plus2CPC brings a standard physical Plus cartridge port to the CPC. It is not supported by emulators
- Play2CPC is an evolution of the Plus2CPC, adding RMR2 Plus mapping, R/W cartridge support, CRTC cursor raster interrupt and a 3-channel soundchip conforming to the PlayCity base spec. Play2CPC is emulated by ACE
- Dandanator brings a non-standard physical cartridge port and a very exotic non-standard memory mapper that spies on Z80 instructions (sacrificing compatibility without any justification). It is emulated by ACE, Retro Virtual Machine, CPCEC, ZEsarUX, DSP
Mass-storage
Emulator support for mass-storage expansions 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, Caprice Forever, MAME, WinAPE, WinCPC, Arnold, Virtual CPC
- Albireo is emulated by ACE, Caprice Forever
- M4 Board is emulated by CPCemu
- Vortex Winchester Drive, USIfAC / ULIfAC and Symbiface3 / RSF3 are not supported by emulators
Audio devices
Emulator support is as follows:
- SSA-1 speech synthesizer is emulated by ACE, Caprice Forever, JavaCPC, MAME
- Dk'Tronics speech synthesizer is emulated by ACE, Caprice Forever, JavaCPC, MAME
- Techni-Musique speech synthesizer is emulated by ACE, Caprice Forever
- Amdrum is emulated by ACE, JavaCPC, MAME, WinAPE
- Digiblaster is emulated by ACE, Caprice Forever, JavaCPC, MAME, WinAPE, CPCEC, CPCEPower, WinCPC, Virtual CPC
- PlayCity is fully emulated by ACE, MAME, Arnold, SugarBox. The audio part of PlayCity is emulated by Caprice Forever, JavaCPC, CPCEC
- Play2CPC implements the PlayCity base spec (aka Arcade Sound System). It has one additional soundchip instead of two and no CTC chip. It is emulated by ACE
- Willy OPL3 is emulated by ACE
- Willy MIDI is emulated only by ACE for Haiku
- Music Machine, Speak&SID, LambdaSpeak, Amsdap (SE-One, Moonsound, etc...) 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
At the moment, 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
- DSC #4 demo with reference images (CRTC 1): Media:DSC4 reference1.png Media:DSC4 reference2.png
- Camembert 4 demo with reference images (CRTC 0/1/3/4): Media:Camembert-real.jpg Media:Camembert 4 Pixel Precise.jpg
- BSC7 Interlace demo with reference image (CRTC 0/2/3/4): Media:BSC7 reference.png
Z80 CPU
- ZEXALL (CP/M) ZEXDOC (CP/M) Z80 Full Test Z80 Doc Test Z80 Flags Test Z80 Doc Flags Test Z80 MEMPTR Test Z80 CCF Test Z80 CPU instruction set exercisers
- Arkanoid (using Z80 Interrupt Mode 2) L'anneau de Zengara (using Z80 register R) Light Corridor (Z80 useless instruction prefixes) Dogsbody (accessing non-standard I/O ports)
- 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 Other source about T-state timings Ultra accurate timing behaviour
Diagnostics
- Official Amstrad CPC hardware diagnostics Non-official Amstrad Diagnostics STS SysInfo Tests CRTC type Identifying CRTC visually
- RAM Expansion Test MemTest RAM Test CRTC4 Test RAM de McLeod Ideafix RAM Check Testprogram For All ERAM Xenon 2 Take On Me Trololo Experiments Still The One Post Scriptum Chany 512K cracks Expanded RAM software list RAM exercisers
- FutureOS Behaviour of RAM mode &C3 More on the issue RAM expansion bug on CPC464/664
- Batman The Movie Turrican Technical explanation CPC keyboard clash
- "Acid" test suite [133] Tests results in ACE PPI tests Chips tests by arnoldemu
- Plus Test [134] CPC and CPC+ Emulator test suite (including Instruction and Interrupt timing tests)
Amstrad Plus
- Official Plus diagnostics cartridge File:Roudoudou CPR tests.zip [135] Plus testing tools
- 4096 Colors Preview CPC+ First Demo Simply The Bests ASM Intro 1 Veteran Revival'n Impact coop Fluff Space Gun Prehistorik 2 No Exit ASIC effects
- Frogger Rick Dangerous 6128+ La culotte de Zelda Flappy Rulez Picrocs Sudoplus Ghosts'n Goblins Goldorak Versus Homebrews
- 6128 Plus Dma Hate Beats Eerie Forest CRTC3 Fairy Soundtracker DMA To test DMA and to compare the PSG output with the output from a real Amstrad Plus
- Bulles X-Mas 2008 Synergy Mir Station BarBar Delirium Tremens Funerapolis Sappy USS Cygnus 192 GX8K To test hardware sprites emulation
Colorimetry
- 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 CTM644 display and emulators display:
Graphics
- Shakerland Ultra accurate CRTC documentation and its associated CPC testing tool
- Equalizor Revolog Technical explanation Unpredictable behaviour of the real CRTC type 1 chip. We can classify these behaviours as CRTC types 1a and 1b
- HSYNC test Split-Rasters Test CRTC1 Les split-rasters Côté Gamers Out-Screen II CRTC editor CRTC software CRTC testing tools
- Pixel 1 Horizontal Hard Scroll for all CRTCs Vertical Hard Scroll 100% Smooth CRTC Register 3 scrolling test Skate Wars Jinks Out of this World Killer Cobra Edge Grinder Relentless Warhawk Mission Genocide Axys Red Sunset Hyperdrive Ghosts'n Goblins Legend of Kage Profanation Super Cauldron Smooth CRTC R3/R5 hardware scrolling
- BSC 91 Voyage 1993 OVL '96 Byte 98 Unique Paradise Power System Prodatron Longshot Amazing Madness Chany Dream End Welcom-X 2 S&Koh Other World 3 Big'O Full'O Dem'O Not Dead Odyssey Croco Chanel Tire Au Flan Early demos, so they were developed without CPC emulator bias
- Battro Still Scrolling PhX Bloc Us Wake Up Stand Up Yet Another Plasma Logon's Run Still Rising Onescreen Colonies Gloire à Piou DTC Points Barres Octopus Pocus FMR CPC Synergy 2 Scroll Factory The One DemoIzArt CRTC effects
- Les Mondes Parallèles Paranoia Molecularr 2 Megablasters Quadraster Groops Sudoku Master Overkoban Prince Dastan Sokoban Within Deva Drifter Hexavirus v0 A tribute to the sisters True overscan games
- Mode 3 Test "Mode 5" Viewer Pixel Free Test interlace color Interlace viewer Climax Perfect Pix Paint Imperial Mahjong Special graphics modes
- Mire Mir'Color Climax-G Fatal Beauties 4 Sins Twinblast MCS 6 Schadel Thunder Blade Turrican To test the VDU
Peripherals
- Magnum Light Phaser SkeetShoot The Enforcer Dk'Tronics Light Pen Light Pen Mark II To test lightguns and lightpens connected to expansion port
- West Phaser Gunstick Trojan LP-1 To test lightguns and lightpens connected to joystick port
- SSA-1 software list Dk'Tronics software list TMPI software list To test speech synthesizers emulation
- Digital Orgasm Digitracker File:DigiTracker Amdrum.zip [136] Amdrum To test Digiblaster and Amdrum soundcards emulation
- SymAmp VGMplay 4200 VGM musicfiles pack BluePillCPC To test Willy OPL3 and MIDI emulation
- ProText ProSpell ProPrint Impr'Image To test printer emulation
- Advanced OCP Art Studio To test AMX and Kempston mouse emulation
- HDCPM UniDOS UniLOAD 60MB archive SymbOS 45MB disk-image To test mass-storage, RTC and modern mouse (scroll wheel) emulation
- X-MEM FW CatRun CowSay iMPsuite GOS+ Utopia To test ROMboard emulation
- Alcon 2020 Converted GX4000 Software To test the Play2CPC emulation
- The Sword of Ianna Brunilda MojonTwins romset To test the Dandanator emulation
- Anti-Multiface II software list War in Middle Earth Zap't'Balls advanced The Insider To test Multiface II emulation
Copy-protection
- FDC test suite Disk drive tests CDT/TZX test suite for emulators Set of tests by arnoldemu
- Tape Head Azimuth Ultra Son Soft-Lok Bonzo Super Meddler SpeedTrans Transformateur Deconnect NoAMSDOS software list Computer Hits Marmelade Mickey Mouse Astro Marine Corps Druid Breaking Baud To test Tape emulation
- FatMag 2 Backtro 5KB 3 The Demo CPC 30th Anniversary Midline Process Can Robots Take Control Phortem Batman Forever Pinball Dreams R-Type Nheredia Doomsday Lost Echoes Orion Prime Musical loader, Multi-drives, 3.5 inch (dual-head and 80 tracks) floppy drives support
- RPM DskTest Crazy Dlfrsilver Dump Tool Test Suite Format II ParaDOS Xexor Discology Hercule II UltraDisc Disc'o'Magic Multi Mark To test FDC emulation
- FatMag The HFE trackload version is designed to rigorously test the FDC emulation Open Tower Defense Emulator detection through a FDC test Fugitif Disk swapping detection
- Demonstration of KBI protection Pacific Platoon Robinson Crusoe Daley Thompson's Olympic Challenge Les Hits de l'Aventure Protection based on weak bits
- E.X.I.T Le Nécromancien Tensions Wild Streets Skyx Turbo Cup Sphaira Dwarf Sapiens Corsarios Cobra Eden Blues M'enfin Mike & Moko Equinoxe Vocabulaire CM Protection based on custom GAPS data
- Donkey Kong Scott Winder Reporter Destructive copy-protection Puffy's Saga Defender of the Crown Le Maraudeur Profession Détective Qin Basun Some other copy-protected disk-images
- Protection schemes documented Lenslok Gaps Latis Copy-protection in EDSK images Implementation in SugarBox emulator FDC blog articles Anti-copy bug Baudload and Trackload list Autoboot Technical explanations
Other
- Trantor 3D Starfighter Treasure Island Dizzy Ghost Hunters Super Robin Hood Advanced Pinball Simulator Jet Bike Simulator Grand Prix Simulator Darts 180 Killapede Jail Break Robocop Chase HQ Shinobi 4-Bit Digi Try Software English vocal digits
- Le Manoir de Mortvielle Hold-Up Forteresse Canadair L'île Jaws Holocauste Afteroids Fire & Forget Xyphoes Fantasy Space Race Yao demo Other software sound effects
- Now that's what I call Chip Tunes Amstream music-disk We Are All Old Amstrad CPC Mix YM!Rulez (real hardware recordings) Sintetizador de Sonidos To test the PSG emulation
- Raytracing in BASIC Julia Fractal 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 WAV 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
- IMG VHD HDF File formats of flat hard-drive image
- CSL Cpc Scripting Language, a macro/scripting system to automate emulators
Emulation Tools
- CPCDiskXP DiskUtil SugarConvDsk DSK iDSK Dsktools ManageDSK WriteDSK SAMdisk Disk Image Manager sector-cpc HxCFloppyEmulator software Disk Utilities Set of tools about disk-images
- CPCTapeXP TapeUtil SugarConvTape CDTMaster 2CDT CSW2CDT CDT2WAV tzxtools Set of tools about tape-images
- CPRTools Edit Amstrad Plus CPR cartridge-images
- WinImage, DiskExplorer, Mtools Ultimate Imager CP/M Image File Explorer Access and edit IMG hard-drive images. No need of tools for VHD images with FAT filesystem, they are supported directly in Windows Explorer: it works the same way as ISO files
- CPCGamesCD-CPCLoader CDROM containing a navigable database with all the games of the Amstrad CPC
- CPC Analyser Help reverse engineer Amstrad CPC games
- Emulator tooling UI screenshots of tooling in CPC emulators
- WinAPE WinCPC JavaCPC Caprice Reloaded Caprice Forever Emulators with an integrated Z80 Assembler
- Java Z80Assembler Pasmo UZ80 Rasm BASM SjASMPlus cpctools Disark KC IDE Tools for CPC cross-development in Z80 Assembler
- ccz80 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
- Turbo Rascal Syntax Error CPC demo made with TRSE TRSE CPC tutorial A complete suite (IDE, compiler, resource editor) for developing CPC games/demos in Pascal
- CPC Basic CPCBasic Unchained Amstrad Basic Helper CpcAlive ugBASIC Cross-platform CPC development in BASIC
- 8BP Graphic City Sprites Alive Laser Basic FAst BAsic COMpiler TurboBASIC compiler B-ASIC Useful CPC tools (compilers and RSX) to beef up the Amstrad BASIC
- ConvImgCPC img2cpc DaDither Martine Splitraster+ UniPixelViewer UniPixelViewer tutorial Image converters from PC to CPC
- GrafX2 Multipaint Retro Game Asset Studio Sprite Creator Cross-platform CPC pixel art editors
- CHIPNSFX WYZTracker Arkos Tracker 2 Furnace 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
- Focusing on the minute details in Z80, CRTC and PPI 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
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 | [137] | 2.30 | Apr 2, 1986 | Commercial💲 | BBC BASIC |
CPCZVM | [138] | Jul 6, 2019 | Open source | Z-Machine | |
Pac-Man | [139] | 1.1 | Jun 5, 2014 | Open source | Pac-Man arcade |
Phoenix | [140] | Jan 6, 2019 | Freeware | Phoenix arcade | |
Space Invaders | [141] | 1.0 | Jun 11, 2016 | Freeware | Space Invaders arcade |
Vezza | [142] | Oct 7, 2023 | Open source | Z-Machine | |
ZXM | [143] | 1993 | Freeware | ZX Spectrum | |
Zym | [144] | 0.9 | Feb 19, 2022 | Open source | Z-Machine |