Difference between revisions of "Emulators"
(→Peripherals) |
(→Mass-storage, RTC and network dilemma) |
||
Line 1,454: | Line 1,454: | ||
Multiple mass-storage, RTC and network solutions already exist for the Amstrad CPC. We can put them in 3 categories: | Multiple mass-storage, RTC and network solutions already exist for the Amstrad CPC. We can put them in 3 categories: | ||
*'''Historical''': The [[Vortex Winchester Drive]] and the [[Dobbertin Harddisc|Dobbertin HD20]] with [[Dobbertin Smart Watch]] were sold during the commercial lifetime of the CPC. But these solutions are clumsy today with their very small capacity, their CP/M filesystem and their non-standard hard-drives and interface. | *'''Historical''': The [[Vortex Winchester Drive]] and the [[Dobbertin Harddisc|Dobbertin HD20]] with [[Dobbertin Smart Watch]] were sold during the commercial lifetime of the CPC. But these solutions are clumsy today with their very small capacity, their CP/M filesystem and their non-standard hard-drives and interface. | ||
− | *'''Historically-plausible''': The [[Symbiface II]] or [[X-Mass]] with [[Nova]] NVRAM/RTC are using the IDE/PATA interface created in 1986 for mass-storage access. However, the IDE interface was introduced on the CPC way after its commercial lifetime, the Symbiface II being released in 2006. The whole IDE/PATA sector access and FAT filesystem dance the CPC has to perform here is not necessary with more modern solutions. On the positive side, this isolation of the filesystem guarantees that the CPC software and the CPC emulator cannot inadvertently do wrong on the host filesystem, as the operations are limited to modifying the contents of the virtual hard-drive file. A direct file view on the host side can also make trouble if the CPC assumes it is the sole owner of the filesystem and doesn't accept that we change files and folders behind his back. The [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/cyboard-for-amstrad-cpc-yet-another-hardware-project/ Cyboard] is a Symbiface II clone that adds Ethernet support at a TCP/UDP level. The [https://github.com/salafek/Net4CPC Net4CPC] is the Ethernet part of the Cyboard provided without the Symbiface II | + | *'''Historically-plausible''': The [[Symbiface II]] or [[X-Mass]] with [[Nova]] NVRAM/RTC are using the IDE/PATA interface created in 1986 for mass-storage access. However, the IDE interface was introduced on the CPC way after its commercial lifetime, the Symbiface II being released in 2006. The whole IDE/PATA sector access and FAT filesystem dance the CPC has to perform here is not necessary with more modern solutions. On the positive side, this isolation of the filesystem guarantees that the CPC software and the CPC emulator cannot inadvertently do wrong on the host filesystem, as the operations are limited to modifying the contents of the virtual hard-drive file. A direct file view on the host side can also make trouble if the CPC assumes it is the sole owner of the filesystem and doesn't accept that we change files and folders behind his back. The [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/cyboard-for-amstrad-cpc-yet-another-hardware-project/ Cyboard] is a Symbiface II clone that adds Ethernet support at a TCP/UDP level. The [https://github.com/salafek/Net4CPC Net4CPC] is the Ethernet part of the Cyboard provided without the Symbiface II. |
*'''Modern''': [[Albireo]], [[ULIfAC]], [[Symbiface 3]] and [[M4 Board]] as they give the CPC a direct file view of the mass-storage instead of a sectors view. These solutions are well suited to provide network too, as HTTP and FTP are file access protocols. The Symbiface 3 and the M4 Board provide a NetAPI to access the Internet unlike the Albireo and the ULIfAC. The Symbiface 3 also emulates other peripherals (Dobbertin HD20, SSA-1 speech synthesizer, Digiblaster and AmDrum soundcards) but it is going overboard with its embedded MP3 player. | *'''Modern''': [[Albireo]], [[ULIfAC]], [[Symbiface 3]] and [[M4 Board]] as they give the CPC a direct file view of the mass-storage instead of a sectors view. These solutions are well suited to provide network too, as HTTP and FTP are file access protocols. The Symbiface 3 and the M4 Board provide a NetAPI to access the Internet unlike the Albireo and the ULIfAC. The Symbiface 3 also emulates other peripherals (Dobbertin HD20, SSA-1 speech synthesizer, Digiblaster and AmDrum soundcards) but it is going overboard with its embedded MP3 player. | ||
Revision as of 11:44, 3 September 2023
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 Single-Board Computers / Raspberry Pi
- 8 Hardware
- 9 Mass-storage, RTC and network dilemma
- 10 CPC cartridge slot
- 11 Audio devices
- 12 Emulator accuracy checking tools
- 13 File format specifications
- 14 Emulation Tools
- 15 Emulator Detection
- 16 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 | |
CPCInAJar | [2] | Mar 16, 2011 | ❌ | ❌ | - | Open source | |
JavaCPC Desktop | [3] JavaGX4000 | 3.0.2 | Apr 8, 2022 | ✅ | ✅ | KC Compact | Donationware & Open source |
JEMU | [4] | Feb 19, 2007 | ❌ | ❌ | BBC Micro, ZX Spectrum, ZX80/81, VZ-300 | Open source | |
WebCPC | [5] 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 | [6] BZH Games | beta | Dec 28, 2013 | ❌ | ❌ | - | Freeware |
CrocoDS | [7] | May 13, 2020 | ⚠️ | ❌ | - | Freeware | |
Emularity (MAME) | [8] JSMESS | Jul 15, 2023 | ❌ | ✅ | Lots of other computer systems | Open source | |
Roland | [9] | Sep 24, 2011 | ❌ | ❌ | - | Open source | |
Ronald | [10] | May 10, 2023 | ⚠️ | ❌ | - | Open source | |
RVMplayer | [11] | 0.1.1 | Apr 29, 2023 | ❌ | ❌ | ZX Spectrum | Freeware |
Tiny Emus | [12] [13] yakc | Dec 15, 2021 | ✅ | ❌ | 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] | 1.15.0 | Mar 11, 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 |
---|---|---|---|---|---|---|---|---|---|---|
AceHacked | [22] [23] | ✅ | ✅ | ✅ | Sep 1, 2023 | ✅ | ✅ | - | ❌ Unreleased | |
AMSpiriT | [24] [25] | ✅ | ❌ | ❌ | 0.863b | May 13, 2023 | ❌ Unreleased | ❌ | - | Freeware |
Arnimedes | [26] | ✅ | ❌ | ❌ | 1.02 | Jul 7, 2012 | ❌ | ❌ | - | Freeware |
Arnold | [27] Aeliss fork Arnold TNG [28] | ✅ | ⚠️ | ⚠️ | WIP | May 13, 2017 | ✅ | ✅ | KC Compact, Aleste 520EX | Open source |
Caprice32 | [29] [30] [31] Caprice32-Aleste | ✅ | ✅ | ✅ | Oct 8, 2022 | ⚠️ | ✅ | - | Donationware & Open source | |
Caprice Forever | [32] | ✅ | ❌ | ❌ | 23.7 | Jul 10, 2023 | ✅ | ✅ | - | Freeware |
Caprice Reloaded | [33] [34] | ✅ | ❌ | ⚠️ | r533 | Sep 25, 2011 | ✅ | ❌ | - | Open source |
Clock Signal | [35] [36] | ❌ | ✅ | ✅ | May 15, 2023 | ❌ | ❌ | ZX Spectrum, Enterprise, MSX, ColecoVision, Acorn Electron, Apple II, Oric, VIC-20, ZX80/81, Atari 2600, Atari ST, Macintosh | Donationware & Open source | |
CoPaCabana | [37] | ✅ | ❌ | ❌ | 0.74 | Apr 12, 2006 | ⚠️ | ❌ | - | Donationware |
CPC++ | [38] | ✅ | ✅ | ⚠️ | b700 | May 31, 2015 | ❌ | ❌ | - | Freeware |
cpc4x | [39] | ❌ | ❌ | ⚠️ | 0.26 | Dec 11, 2004 | ❌ | ❌ | - | Open source |
CPCEC | [40] [41] CPCE CPCEG | ✅ | ❌ | ⚠️ | Aug 6, 2022 | ⚠️ | ✅ | ZX Spectrum, Commodore 64, MSX (unreleased) | Open source | |
cpcec-gtk | [42] | ❌ | ❌ | ✅ | Feb 4, 2023 | ✅ | ✅ | - | Open source | |
CPCemu | [43] | ✅ | ✅ | ✅ | 2.5 | Aug 13, 2022 | ⚠️ | ❌ | - | Freeware |
CPCEPower | [44] | ✅ | ✅ | ✅ | 2105 | Jun 4, 2021 | ❌ | ✅ | - | Freeware |
CPCSharp | [45] | ✅ | ✅ | ❌ | 1.0.0-beta1 | Apr 7, 2021 | ⚠️ | ❌ | - | Open source |
CPvC | [46] | ✅ | ❌ | ❌ | Oct 7, 2020 | ❌ | ❌ | - | Open source | |
DSP | [47] | ✅ | ⚠️ | ⚠️ | 0.21 | Mar 12, 2023 | ❌ | ❌ | ZX Spectrum, Commodore 64, ColecoVision, Game Boy, NES, SG-1000, Master System, GameGear, Super Cassette Vision, PV-1000, PV-2000, Arcade | Open source |
ep128emu | [48] | ✅ | ✅ | ✅ | 2.0.11 | Jan 20, 2017 | ✅ | ❌ | ZX Spectrum, Enterprise | Donationware & Open source |
MacCPC | [49] | ❌ | ✅ | ❌ | 0.9.2 | Jan 22, 2010 | ✅ | ❌ | - | Freeware |
MAME | [50] [51] [52] | ✅ | ✅ | ✅ | 0.258 | Aug 30, 2023 | ⚠️ | ✅ | KC Compact, Aleste 520EX & lots of other computer systems | Open source |
NO$CPC | [53] | ✅ | ❌ | ❌ | 1.8 | Nov 2, 2000 | ✅ | ✅ | - | Freeware |
PC-CPC | [54] [55] | ✅ | ❌ | ❌ | 0.1at b29 | Nov 17, 2011 | ⚠️ | ❌ | - | Open source |
Retro Virtual Machine | [56] | ✅ | ✅ | ✅ | 2.1.8 | Sep 1, 2023 | ❌ Removed | ✅ | ZX Spectrum, MSX 1, ColecoVision, SG-1000, Master System | Donationware |
Roland | [57]/GitHub | ✅ | ❌ | ✅ | 0.70 | Apr 20, 2017 | ❌ | ❌ | - | Open source |
Ronald | [58] | ❌ | ❌ | ⚠️ | May 10, 2023 | ⚠️ | ❌ | - | Open source | |
SugarBox | [59] [60] | ✅ | ✅ | ✅ | 2.0.1 | May 26, 2023 | ⚠️ | ✅ | - | Open-Source |
Virtual CPC | [61] [62] | ✅ | ❌ | ❌ | 1.1 | Aug 8, 2011 | ✅ | ❌ | - | Freeware |
WinAPE | [63] CPCwin | ✅ | ❌ | ❌ | 2.0b2 | Jan 5, 2016 | ✅ | ✅ | - | Donationware |
WinCPC | [64] vbCPC | ✅ | ❌ | ❌ | 0.9.26 | Feb 1, 2007 | ✅ | ❌ | - | Freeware |
Xcpc | [65] | ❌ | ❌ | ✅ | 0.38.1 | Apr 8, 2023 | ❌ | ❌ | - | Open source |
XNACPC | [66] CPC3D | ✅ | ❌ | ❌ | 1.0 | Nov 11, 2011 | ❌ | ❌ | - | Open source |
YACE | [67] | ❌ | ❌ | ✅ | Nov 12, 2014 | ✅ | ❌ | - | ❌ Unreleased? | |
ZEsarUX | [68] | ✅ | ✅ | ✅ | 10.3 | May 10, 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
Host system | Emulator name | External link | Current version | Latest release | Developer tools | Amstrad Plus | Also emulates | License |
---|---|---|---|---|---|---|---|---|
AmigaOS PPC | Arnold | [69] | 1.15 | Dec 17, 2012 | ❌ | ✅ | KC Compact | Open source |
AmigaOS PPC | SDLMESS | [70] | 0.146u4 | Aug 19, 2012 | ⚠️ | ✅ | KC Compact, Aleste 520EX & lots of other computer systems | Open source |
Haiku | ACE | [71] [72] | 1.25.0 | Feb 18, 2023 | ✅ | ✅ | - | Freeware |
Haiku | AdvanceMAME | [73] | 3.9-1 | Feb 3, 2020 | ⚠️ | ✅ | KC Compact, Aleste 520EX & lots of other computer systems | Open source |
MorphOS | ACE | [74] | 1.25 | September 8, 2022 | ✅ | ✅ | - | Freeware |
MorphOS | MESS | [75] | 0.113 | Nov 1, 2007 | ⚠️ | ✅ | 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 | [76] | 1.5.1 | Apr 4, 2011 | ❌ | - | Open source |
Android | Azimuth | [77] | 1.11 | Aug 22, 2023 | ❌ | - | Adware and in-app purchases💲 |
Android | CPCDroid | [78] | 1.5.1 | Mar 2, 2011 | ❌ | - | Open source |
Android | CPCemu | [79] | 2.5 | Aug 14, 2022 | ❌ | - | Freeware |
Android | Droid-CPC | [80] | 1.1.01 | Dec 15, 2016 | ❌ | - | Commercial💲 |
iOS | CPCemu | [81] | 2.5 | Aug 13, 2022 | ❌ | - | Software available on request |
iOS | CrocoDS | [82] | 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 | [83] [84] | Jul 28, 1996 | ❌ | - | Open source | |
Acorn RISC OS | !CPCemu | [85] | 1.21 | Mar 22, 2016 | ❌ | - | Open source |
AmigaOS m68k | A-CPC | [86] | 2.0 | Mar 30, 2002 | ✅ | - | Open source |
AmigaOS m68k | Ami-cpc | [87] Ami-cpc2 | 0.46 | Jan 21, 1998 | ❌ | - | Open source |
AmigaOS m68k | CPE | [88] | Feb 24, 1995 | ❌ | - | Open source | |
AmigaOS m68k | EmuCPC | [89] | 0.7 | Sep 15, 1996 | ❌ | - | Open source |
BlackBerry OS | BB-CPC | [90] (dead link) | 1.0.1.3 | Jul 15, 2013 | ❌ | - | Commercial💲 |
Classic Mac OS | CPC++ | [91] | 1.3.2 | Oct 6, 1997 | ❌ | - | Shareware💲 |
DOS | AdvanceMESS | [92] | 3.9 | Sep 8, 2018 | ✅ | KC Compact, Aleste 520EX & lots of other computer systems | Open source |
DOS | Arnimedes | [93] | 0.8a | Apr 15, 2000 | ❌ | - | Freeware |
DOS | CPC | [94] | 0.55b | May 16, 1997 | ❌ | - | Freeware |
DOS | CPC-em | [95] | 0.4 | Jul 7, 2004 | ❌ | - | Open source |
DOS | CPCE | [96] | 1.94 | Jun 2, 2011 | ❌ | - | Freeware |
DOS | CPCemu | [97] | 1.5 | Jul 7, 1998 | ❌ | - | Freeware |
DOS | CPE | [98] | 5.2 | Apr 21, 1997 | ❌ | - | Open source |
DOS | NO$CPC | [99] | 1.8 | Nov 2, 2000 | ✅ | - | Freeware |
DOS | PC-CPC | [100] | Feb 3, 1998 | ❌ | - | Open source | |
DOS | RWCPC | [101] | Mar 23, 1995 | ❌ | - | Freeware | |
DOS | SIMCPC | [102] | Dec 10, 1989 | ❌ | - | Shareware💲 | |
DOS | YAGE | [103] | 0.91 | Oct 24, 1998 | ❌ | - | Freeware |
EXOS | Software CPC Emulator | [104] [105] | 1.3 | Jan 11, 2013 | ❌ | - | Open source |
Maemo | CPCm | [106] | 1.20-1 | Apr 27, 2010 | ❌ | - | Open source |
MSX-DOS | EMU6CPC | [107] | Dec 17, 2018 | ❌ | - | Freeware | |
Palm OS | CaPriCe for Palm OS | [108] | 2.8 | Jun 28, 2011 | ❌ | - | Open source |
Palm OS | CoPaCabana | [109] | 0.75 | Dec 4, 2007 | ❌ | - | Freeware |
Pocket PC | PocketCaprice | [110] | 0.9 | Aug 19, 2007 | ❌ | - | Freeware |
SunOS | CPC++ | [111] | 1.3.0 | Feb 22, 1997 | ❌ | - | Shareware💲 |
Symbian | S60-CPC | [112] | 0.74 | Feb 21, 2006 | ❌ | - | Open source |
Windows 9x | CPC-em | [113] | 0.3 | Jan 22, 2004 | ❌ | - | Open source |
Windows 9x | MTMW | [114] | 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, 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 | [115] [116] | v5 | Apr 20, 2010 | ✅ | - | Freeware |
Microsoft XBOX | CoinOPS (RetroFE) | [117] | 5 | Oct 18, 2012 | ❌ | Lots of other computer systems | Freeware |
Microsoft Xbox 360 | XNACPC | [118] | 1.0 | Nov 11, 2011 | ❌ | - | Open source |
Nintendo Wii | Wiituka | [119] | 0.98.8 | May 15, 2009 | ❌ | - | Open source |
Sega Dreamcast | CPCast | [120] | May 6, 2006 | ❌ | - | Freeware | |
Sega Dreamcast | DreamCPC | [121] | Alpha 3 | Oct 16, 2005 | ❌ | - | Freeware |
Sony PS2 | CPC-em | [122] | 0.4 | Dec 22, 2004 | ❌ | - | Freeware |
Sony PS3 | Caprice32 | [123] | 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 |
---|---|---|---|---|---|---|---|
Anbernic RG350 | CrocoDS | [124] | Jan 15, 2020 | ❌ | - | Freeware | |
Dingoo A320 / A330 | Pituka Dingux | [125] | 0.8pre | Aug 19, 2010 | ❌ | - | Open source |
Dingoo A320 / A330 | Dingux-CAP32 | [126] | 1.1.2 | Oct 17, 2009 | ❌ | - | Open source |
GamePark Caanoo | Caanoo-CAP32 | [127] | 1.1.3 | Apr 24, 2011 | ❌ | - | Open source |
GamePark GP2x | CapriceGP2x | [128] | 0.5 | Feb 22, 2006 | ❌ | - | Open source |
GamePark GP2x | GP2X-CAP32 | [129] | 1.5.1 | Aug 29, 2009 | ❌ | - | Open source |
GamePark GP32 | Pituka GP32 | [130] | 1d | May 15, 2010 | ❌ | - | Open source |
GamePark Wiz | Wiz-CAP32 | [131] | 1.1.0 | Aug 29, 2009 | ❌ | - | Open source |
GCW Zero | Dingux-CAP32 | [132] | 1.1.2 | May 25, 2014 | ❌ | - | Open source |
JXD S5110 / S601 & Yinlips G18 | JXD-CAP32 | [133] | 1.1.1 | Oct 27, 2012 | ❌ | - | Open source |
Nintendo DS | AmeDS | [134] | 4.0 | Apr 25, 2010 | ❌ | - | Freeware |
Nintendo DS | CrocoDS | [135] | 2.0 | Nov 9, 2007 | ❌ | - | Freeware |
Nintendo GameBoy Advance | Mini Amstrad Emulator | [136] | Dec 26, 2005 | ❌ | - | Open source | |
Odroid GO | CapriceESP32 | [137] | Dec 3, 2020 | ❌ | - | Open source | |
Pandora | Pandora-CAP32 | [138] | 1.1.0 | Jun 27, 2010 | ❌ | - | Open source |
Sony PSP | Caprice32 PSP | [139] | 4.2.0.2 | Nov 28, 2007 | ❌ | - | Open source |
Sony PSP | CPCPSP | [140] | 0.1 | Dec 24, 2005 | ❌ | - | Freeware |
Sony PSP | PSPCAP32 | [141] | 1.5.1 | Aug 21, 2009 | ❌ | - | Open source |
Trimui Model S | Arnold Trimui | [142] | 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 | [143] | 1.1 | Dec 19, 2013 | ❌ | - | Commercial💲 |
CapriceRPI | [144] | 1.3d | Feb 28, 2016 | ❌ | - | Open source |
Clock Signal | [145] | May 15, 2023 | ❌ | ZX Spectrum, Enterprise, MSX, ColecoVision, Acorn Electron, Apple II, Oric, VIC-20, ZX80/81, Atari 2600, Atari ST, Macintosh | Donationware & Open source | |
CPCEPower | [146] | 2105 | Jun 4, 2021 | ✅ | - | Freeware |
MAME | [147] | 0.258 | Aug 30, 2023 | ✅ | KC Compact, Aleste 520EX & lots of other computer systems | Open source |
SugarPi | [148] | 1.2.0 | Feb 3, 2021 | ✅ | - | Open source |
ZEsarUX | [149] | 10.3 | May 10, 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
- SDiskEmul Floppy-drive emulator released in 2007. Abandoned now. Supports DSK, EDSK disk-images
- HxC Floppy Emulator Commercial floppy-drive emulator. Supports HFE, DSK, EDSK, IPF disk-images
- FlashFloppy Open source floppy-drive emulator for the ubiquitous Gotek hardware. Supports HFE, DSK, EDSK disk-images
Mass-storage, RTC and network dilemma
Multiple mass-storage, RTC and network solutions already exist for the Amstrad CPC. We can put them in 3 categories:
- Historical: The Vortex Winchester Drive and the Dobbertin HD20 with Dobbertin Smart Watch were sold during the commercial lifetime of the CPC. But these solutions are clumsy today with their very small capacity, their CP/M filesystem and their non-standard hard-drives and interface.
- Historically-plausible: The Symbiface II or X-Mass with Nova NVRAM/RTC are using the IDE/PATA interface created in 1986 for mass-storage access. However, the IDE interface was introduced on the CPC way after its commercial lifetime, the Symbiface II being released in 2006. The whole IDE/PATA sector access and FAT filesystem dance the CPC has to perform here is not necessary with more modern solutions. On the positive side, this isolation of the filesystem guarantees that the CPC software and the CPC emulator cannot inadvertently do wrong on the host filesystem, as the operations are limited to modifying the contents of the virtual hard-drive file. A direct file view on the host side can also make trouble if the CPC assumes it is the sole owner of the filesystem and doesn't accept that we change files and folders behind his back. The Cyboard is a Symbiface II clone that adds Ethernet support at a TCP/UDP level. The Net4CPC is the Ethernet part of the Cyboard provided without the Symbiface II.
- Modern: Albireo, ULIfAC, Symbiface 3 and M4 Board as they give the CPC a direct file view of the mass-storage instead of a sectors view. These solutions are well suited to provide network too, as HTTP and FTP are file access protocols. The Symbiface 3 and the M4 Board provide a NetAPI to access the Internet unlike the Albireo and the ULIfAC. The Symbiface 3 also emulates other peripherals (Dobbertin HD20, SSA-1 speech synthesizer, Digiblaster and AmDrum soundcards) but it is going overboard with its embedded MP3 player.
Emulator support is as follows:
- Dobbertin HD20 with Dobbertin SmartWatch is emulated by MAME
- Symbiface II or X-Mass IDE/PATA 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, Net4CPC, ULIfAC and Symbiface 3 are not supported by emulators
CPC cartridge slot
Emulator support for a CPC cartridge slot is as follows:
- Dandanator brings a non-standard physical cartridge port and a very exotic non-standard memory mapper that spies on Z80 instructions. It is emulated by ACE, Retro Virtual Machine, CPCEC, ZEsarUX
- Plus2CPC and Play2CPC bring a standard physical Plus cartridge port to the CPC. They are not supported by emulators
- M4 Board simulates a standard Plus cartridge port on the CPC and handles standard CPR files. M4 Board is emulated by CPCemu
Why is the Dandanator winning over standard Plus cartridge solutions like the Plus2CPC? It's because some CPC games (The Sword of Ianna, Los Amores de Brunilda, ...) are released exclusively for it. So emulators are then forced to support it.
The situation would be different if those games were converted to standard CPR format by the community.
Audio devices
Emulator support is as follows:
- SSA-1 speech synthesizer is emulated by ACE, JavaCPC, MAME
- Dk'Tronics speech synthesizer is emulated by ACE, JavaCPC, MAME
- TMPI speech synthesizer is emulated by ACE, Caprice Forever
- AmDrum is emulated by ACE, JavaCPC, MAME, WinAPE
- Digiblaster is emulated by ACE, JavaCPC, MAME, WinAPE, Caprice Forever, CPCEC, WinCPC, Virtual CPC
- PlayCity is fully emulated by ACE, MAME, Arnold, SugarBox. The audio part of PlayCity is emulated by JavaCPC, Caprice Forever, CPCEC
- Play2CPC is an amputated PlayCity, with no CTC chip and only one soundchip instead of two, but otherwise compatible with the PlayCity
- OPL3 (Willy) is emulated by ACE
- Speak&SID, LambdaSpeak 3, General MIDI (Willy), SE-One (Amsdap) and Moonsound (Amsdap) are not supported by emulators
Emulator accuracy checking tools
Quick evaluation
- From Scratch demo with reference images: Media:Fromscratch1.png Media:Fromscratch2.png
- Camembert 4 demo with reference images: Media:Hsyncartefacts camembert4.png Media:Camembert 4 Pixel Precise.jpg
Z80 CPU
- ZEXALL and ZEXDOC Z80 CPU instruction set exercisers
- Z80 Full Test Z80 Doc Test Z80 Flags Test Z80 Doc Flags Test Z80 MEMPTR Test Z80 CCF Test
- Arkanoid Light Corridor Z80 IM2 usage, Z80 useless instruction prefixes
- Z80 instruction set Z80 MEMPTR (aka WZ) internal register Even weirder Z80 behaviour To get to the bottom of it 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 v1.3a
- RAM Expansion Test MemTest RAM Test CRTC4 Testprogram For All ERAM RAM testers
- "Acid" test suite [150] Tests results in ACE PPI tests Chips tests by arnoldemu
- Plus Test [151] CPC and CPC+ Emulator test suite (including Instruction and Interrupt timing tests)
Amstrad Plus
- Plus diagnostics cartridge Official Amstrad diagnostics
- 4096k Tester No Exit Amstrad Plus palette, Floating bus problem
- 6128 Plus Dma Fairy Soundtracker DMA To test DMA and to compare the PSG output with the output from a real Amstrad Plus
- Black Sabbath X-Mas 2008 Funerapolis Sappy To test hardware sprites emulation
Graphics
- Amstrad CPC CRTC Compendium Shaker Shakerland Portal(dead link) Ultra accurate CRTC documentation and its associated testing tool
- Equalizor Revolog Technical explanation Unpredictable behaviour of the real Amstrad CPC chips (ie. outside the realm of emulation)
- Test CRTC type v3.0 CRTC editor CRTC software CRTC tools
- Smooth CRTC Register 3 scrolling test Edge Grinder CRTC Register 3 horizontal scrolling trick Mission Genocide CRTC hardware vertical scrolling
- HSYNC test HSYNC-based demo effects Handling invalid CRTC HSYNC Backtro Other World 3 CRTC effects
- "Mode 5" Viewer Split-Rasters Test CRTC1 Les split-rasters Odyssey Onescreen Colonies Imperial Mahjong Mode 3 Test Split-rasters, multi-mode effects
- Mire Test interlace color Perfect Pix Paint Climax-G 4 Sins Twinblast MCS 6 Thunder Blade Turrican To test the VDU
Peripherals
- Magnum Light Phaser SkeetShoot for Trojan Phazer 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
- Amstrad SSA-1 Dk'Tronics TMPI To test speech synthesizers emulation
- AmDrum Digitracker To test AmDrum and Digiblaster soundcards emulation
- Advanced OCP Art Studio To test AMX and Kempston mouse emulation
- UniDOS SymbOS HDCPM To test the M4 Board emulation
- The Sword of Ianna Los Amores de Brunilda MojonTwins romset To test the Dandanator emulation
Copy-protection
- FDC test suite Disk drive tests CDT/TZX test suite for emulators Set of tests by arnoldemu
- DskTest Dlfrsilver Dump Tool Test Suite ParaDOS Discology Discology plus Hercule II Midline Process To test FDC emulation
- FatMag The HFE trackload version is designed as a very rigorous test of the FDC emulation Open Tower Defense Emulator detection through a FDC test
- Le Nécromancien E.X.I.T Basun Tensions Pacific Wild Streets Skyx Some copy-protected disk-images
- Protection schemes documented Copy-protection in EDSK images Implementation in SugarBox emulator FDC blog articles (in french) Technical explanations
File format specifications
- DSK / EDSK HFE File formats of disk-image
- WAV PCM CSW CDT / TZX File formats of tape-image
- CPR cartridge SNA snapshot SNR session Other file formats used in CPC emulators
- Archive of SNR sessions
- IMG VHD File formats of flat hard-drive image
Emulation Tools
- CPCDiskXP DSK iDSK Dsktools ManageDSK WriteDSK SAMdisk SugarConvDsk DiskUtil HxCFloppyEmulator software Disk Image Manager sector-cpc Set of tools about disk-images
- CPCTapeXP CDTMaster 2CDT CSW2CDT CDT2WAV SugarConvTape TapeUtil 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
- WinApe WinCPC JavaCPC Caprice Reloaded Emulators with an integrated Z80 Assembler
- Java Z80Assembler Pasmo UZ80 Rasm BASM SjASMPlus cpctools Tools for CPC cross-development in Z80 Assembler
- ccz80 SDCC SDCC vs PhrozenC SDCC vs z88dk Phactory CPCtelera 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 CpcAlive ugBASIC Cross-platform CPC development in BASIC
- 8BP CPC games made with 8BP Laser Basic Laser BASIC Compiler CPC game made with Laser Basic Sprites Alive CPC game made with Sprites Alive B-ASIC CPC+ game made with B-ASIC Useful CPC tools to beef up the BASIC language
- ConvImgCPC DaDither Martine Splitraster+ UniPixelViewer UniPixelViewer tutorial Image converters from PC to CPC
- GrafX2 Multipaint Retro Game Asset Studio Cross-platform CPC pixel art editors
- CHIPNSFX Arkos Tracker 2 WYZTracker Cross-platform CPC music creation suites
Emulator Detection
To detect Amstrad CPC emulators:
- Check if the memory is initialized with zeroes, as real machines have random memory values at boot
- Focus on the minute details in emulated Z80, CRTC, and PPI chips. They are most often wrong in emulators
- Examine 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 |
---|---|---|---|---|---|
CPCZVM | [152] | Jul 6, 2019 | Open source | Z-Machine | |
Pac-Man | [153] | 1.1 | Jun 5, 2014 | Open source | Pac-Man arcade |
Phoenix | [154] | Jan 6, 2019 | Freeware | Phoenix arcade | |
Space Invaders | [155] | 1.0 | Jun 11, 2016 | Freeware | Space Invaders arcade |
ZXM | [156] | 1993 | Freeware | ZX Spectrum | |
Zym | [157] | 0.9 | Feb 19, 2022 | Open source | Z-Machine |