Difference between revisions of "Emulators"
(→Desktop) |
(→Cross-Platform Art) |
||
Line 1: | Line 1: | ||
− | + | [https://www.cpcwiki.eu/forum/emulators/which-emulator-s-do-you-use/ Vote for your favorite emulator] Poll on CPCWiki forum | |
− | [ | + | [[Emulator evaluation tools]] Software list for evaluating CPC emulator accuracy |
+ | |||
+ | [[Emulator tooling]] UI screenshots of tooling in CPC emulators | ||
+ | |||
+ | <br> | ||
= Software Platforms (Full OS independance) = | = Software Platforms (Full OS independance) = | ||
− | == Java Platform == | + | === Java Platform === |
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
Line 41: | Line 45: | ||
| ❌ | | ❌ | ||
| ❌ | | ❌ | ||
− | | | + | | [[ZX Spectrum]], [[ZX80/81]], [[BBC Micro]], [[VZ-300]] |
| Open source | | Open source | ||
|- | |- | ||
Line 54: | Line 58: | ||
|} | |} | ||
− | == JS / Wasm / Web Platform == | + | Note: Java applets have been discontinued and removed in all major web browsers. So JEMU and WebCPC could belong to the "Discontinued OS" part of this article. |
+ | |||
+ | === JS / Wasm / Web Platform === | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
Line 68: | Line 74: | ||
|- | |- | ||
| [[CPCBox|CPCBox]] | | [[CPCBox|CPCBox]] | ||
− | | [https://web.archive.org/web/20190702084943/http://www.cpcbox.com/] [https://bzhgames.xyz/index.php BZH Games] | + | | [https://www.retroshowcase.gr/cpcbox-master/] [https://web.archive.org/web/20190702084943/http://www.cpcbox.com/] [https://bzhgames.xyz/index.php BZH Games] |
| beta | | beta | ||
| Dec 28, 2013 | | Dec 28, 2013 | ||
Line 77: | Line 83: | ||
|- | |- | ||
| [[CrocoDS|CrocoDS]] | | [[CrocoDS|CrocoDS]] | ||
− | | [ | + | | [https://crocods.org/web/] [https://github.com/redbug26/crocods Repo] |
| | | | ||
− | | | + | | Jun 9, 2020 |
| ⚠️ | | ⚠️ | ||
| ❌ | | ❌ | ||
| - | | - | ||
− | | | + | | Open source |
|- | |- | ||
| [[MAME|Emularity (MAME)]] | | [[MAME|Emularity (MAME)]] | ||
− | | [https://github.com/db48x/emularity] [http://jsmess.textfiles.com/ JSMESS] | + | | [https://github.com/db48x/emularity] [http://jsmess.textfiles.com/ JSMESS] [https://classicreload.com/platform/amstrad%20cpc Classic Reload] |
− | [https:// | + | [https://archive.org/details/softwarelibrary_cpc Internet Archive CPC Software Library] |
| | | | ||
− | | | + | | Jan 27, 2024 |
| ❌ | | ❌ | ||
| ✅ | | ✅ | ||
− | | | + | | Tons of vintage computers, game consoles and arcade systems |
| Open source | | Open source | ||
|- | |- | ||
| [[Roland javascript emulator|Roland]] | | [[Roland javascript emulator|Roland]] | ||
− | | [https://web.archive.org/web/20190308142014/http://roland.retrolandia.net/] | + | | [https://web.archive.org/web/20190308142014/http://roland.retrolandia.net/] [https://www.juegotk.com/emulador-online/2/amstrad-cpc464.html JuegoTk] |
| | | | ||
| Sep 24, 2011 | | Sep 24, 2011 | ||
Line 105: | Line 111: | ||
|- | |- | ||
| [[Ronald|Ronald]] | | [[Ronald|Ronald]] | ||
− | | [https://github.com/mdm/ronald] | + | | [https://ronald.int82.dev] [https://github.com/mdm/ronald Repo] |
| | | | ||
− | | | + | | Apr 1, 2024 |
| ⚠️ | | ⚠️ | ||
| ❌ | | ❌ | ||
Line 114: | Line 120: | ||
|- | |- | ||
| [[RVMplayer|RVMplayer]] | | [[RVMplayer|RVMplayer]] | ||
− | | [https://www.retrovirtualmachine.org/rvmplayer/] | + | | [https://www.retrovirtualmachine.org/rvmplayer/] [https://www.amstradcpc.es/doku.php?id=emus Amstrad ESP] |
| 0.1.1 | | 0.1.1 | ||
− | | | + | | May 6, 2023 |
| ❌ | | ❌ | ||
| ❌ | | ❌ | ||
Line 123: | Line 129: | ||
|- | |- | ||
| [[Tiny Emus]] | | [[Tiny Emus]] | ||
− | | [https://floooh.github.io/tiny8bit/] [https://floooh.github.io/tiny8bit/cpc-ui.html] [http://floooh.github.io/virtualkc/ yakc] | + | | [https://floooh.github.io/tiny8bit/] [https://floooh.github.io/tiny8bit/cpc-ui.html CPC UI] [http://floooh.github.io/virtualkc/ yakc] [http://cpc.novidee.com/ zpz] [https://acpc.me/emul/cpc-ui.php?type=cpc6128&file=blank.dsk&input=cat%0Apen%203:?%22You%20can%20drop%20a%20.dsk%20file%20here%22:pen%201%0A mini CPC] [https://online.oldgames.sk/play/cpc Online OldGames] |
− | [https://devilmarkus.de/ WebGL 3d 8-bit] [https://www. | + | [https://devilmarkus.de/ WebGL 3d 8-bit] [https://acpc.me/index.php?language=eng Arcade Room acpc.me] [https://arcade-des-monts.ca/run/store.php Retro Store] |
+ | |||
+ | [https://bzhgames.xyz/index.php BZH Games] [https://www.sean.co.uk/books/amstrad/index.shtm Sean's CPC Games] [https://www.amstradcpcgames.eu/ Amstrad CPC Games] | ||
| | | | ||
− | | | + | | Mar 22, 2024 |
| ✅ | | ✅ | ||
| ❌ | | ❌ | ||
Line 142: | Line 150: | ||
|} | |} | ||
− | == LibRetro (API for emulators) == | + | === LibRetro (API for emulators) === |
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
Line 155: | Line 163: | ||
! License | ! License | ||
|- | |- | ||
− | | [[libretro-cap32]] | + | | [[CaPriCe|libretro-cap32]] |
| Emulation core | | Emulation core | ||
| [https://github.com/libretro/libretro-cap32] | | [https://github.com/libretro/libretro-cap32] | ||
− | | 4.5. | + | | 4.5.4 |
− | | | + | | Dec 18, 2023 |
− | | | + | | - |
| ✅ | | ✅ | ||
| - | | - | ||
| Open source | | Open source | ||
|- | |- | ||
− | | [[libretro-crocods]] | + | | [[CrocoDS|libretro-crocods]] |
| Emulation core | | Emulation core | ||
| [https://github.com/libretro/libretro-crocods] | | [https://github.com/libretro/libretro-crocods] | ||
− | | | + | | |
− | | | + | | Oct 16, 2024 |
− | | | + | | - |
| ❌ | | ❌ | ||
| - | | - | ||
| Open source | | Open source | ||
|- | |- | ||
− | | [[MAME| | + | | [[MAME|LRMAME]] |
| Emulation core | | Emulation core | ||
− | | [https:// | + | | [https://github.com/libretro/mame] |
− | | 0. | + | | 0.272 |
− | | | + | | Dec 3, 2024 |
− | | | + | | - |
| ✅ | | ✅ | ||
− | | | + | | Tons of vintage computers, game consoles and arcade systems |
| Open source | | Open source | ||
|- | |- | ||
− | | [[SugarLibRetro]] | + | | [[SugarBox|SugarLibRetro]] |
| Emulation core | | Emulation core | ||
| [https://github.com/Tom1975/SugarLibRetro] (wraps independent lib [https://github.com/Tom1975/CPCCore CPCCore]) | | [https://github.com/Tom1975/SugarLibRetro] (wraps independent lib [https://github.com/Tom1975/CPCCore CPCCore]) | ||
| git | | git | ||
| Jan 10, 2020 | | Jan 10, 2020 | ||
− | | | + | | - |
| ✅ | | ✅ | ||
| - | | - | ||
Line 198: | Line 206: | ||
| Frontend | | Frontend | ||
| [https://www.emuvr.net/] | | [https://www.emuvr.net/] | ||
− | | | + | | 1.0.11 |
− | | Dec | + | | Dec 24, 2022 |
| ❌ | | ❌ | ||
| - | | - | ||
Line 211: | Line 219: | ||
| Mar 27, 2022 | | Mar 27, 2022 | ||
| ✅ | | ✅ | ||
+ | | - | ||
+ | | Depends on emulation cores | ||
+ | | Open source | ||
+ | |- | ||
+ | | [[Ludo]] | ||
+ | | Frontend | ||
+ | | [https://ludo.libretro.com/] [https://github.com/libretro/ludo/ Repo] | ||
+ | | 0.17.3 | ||
+ | | Dec 8, 2024 | ||
+ | | ❌ | ||
| - | | - | ||
| Depends on emulation cores | | Depends on emulation cores | ||
Line 217: | Line 235: | ||
| [[RetroArch]] | | [[RetroArch]] | ||
| Frontend | | Frontend | ||
− | | [https://www.retroarch.com/] | + | | [https://www.retroarch.com/] [https://www.retroarch.com/?page=achievements RetroAchievements] |
− | | 1. | + | | 1.19.1 |
− | | | + | | Jun 5, 2024 |
| ❌ | | ❌ | ||
| - | | - | ||
Line 226: | Line 244: | ||
|} | |} | ||
− | + | Several distributions also exist based on RetroArch or Ludo: [https://www.retrobat.org/ RetroBat], [https://www.lakka.tv/ Lakka], [https://retropie.org.uk/ RetroPie], [https://batocera.org/ Batocera], [https://www.recalbox.com/ Recalbox], [https://www.rgb-pi.com/ RGB-Pi OS], [https://ludo.libretro.com/#ludos LudOS] | |
− | == Desktop == | + | <br> |
+ | |||
+ | = Operating Systems = | ||
+ | |||
+ | === Desktop === | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
Line 243: | Line 265: | ||
! License | ! License | ||
|- | |- | ||
− | | [[ | + | | [[ACE_(Emulator)|ACE]] |
− | | [http:// | + | | [http://ace.cpcscene.net MorphOS and Haiku] [https://web.libera.chat/#cpc-fr IRC chan] [https://framagit.org/search?search=acepansion Repo] |
− | | | + | | ❌ |
− | | | + | | ❌ |
− | | | + | | ❌ |
− | | | + | | 1.26 |
− | | | + | | Jan 1, 2024 |
+ | | ✅ | ||
+ | | ✅ | ||
+ | | Dozens of CPC hardware expansions thru plugins | ||
+ | | Freeware (plugins are Open Source) | ||
+ | |- | ||
+ | | [[ACE-DL]] | ||
+ | | [http://www.roudoudou.com/ACE-DL] [https://discord.gg/rKxFPndHPw Discord] [http://ace.cpcscene.net Based on ACE] | ||
+ | | ✅ | ||
+ | | ✅ | ||
+ | | ❗ | ||
+ | | ODILE | ||
+ | | Dec 14, 2024 | ||
| ✅ | | ✅ | ||
| ✅ | | ✅ | ||
| - | | - | ||
− | | | + | | Freeware |
|- | |- | ||
| [[AMSpiriT|AMSpiriT]] | | [[AMSpiriT|AMSpiriT]] | ||
− | | [https://amspirit. | + | | [https://www.amspirit.fr/] [https://discord.com/invite/g37me8WMW6 Discord] [https://forum.system-cfg.com/viewtopic.php?f=24&t=11535 Forum] |
| ✅ | | ✅ | ||
| ❌ | | ❌ | ||
| ❌ | | ❌ | ||
− | | | + | | 1.01 rc |
− | | | + | | Apr 24, 2024 |
− | | ❌ | + | | ❌ |
| ❌ | | ❌ | ||
| - | | - | ||
Line 280: | Line 314: | ||
|- | |- | ||
| [[Arnold_(Emulator)|Arnold]] | | [[Arnold_(Emulator)|Arnold]] | ||
− | | [ | + | | [https://cpcrulez.fr/emulateurs_download-WIN-arnold.htm] [https://www.cpcwiki.eu/forum/emulators/another-version-of-arnold-emulator/ Aeliss fork] [http://www.yasara.org/cpc/ Arnold TNG] |
+ | [https://web.archive.org/web/20191023094109/https://www.bannister.org/software/arnold.htm macOS] [http://hirudov.com/amiga/Arnold.php AmigaOS PPC] | ||
| ✅ | | ✅ | ||
− | | | + | | ✅ |
− | | | + | | 🛠️ |
− | | | + | | |
| May 13, 2017 | | May 13, 2017 | ||
| ⚠️ | | ⚠️ | ||
Line 290: | Line 325: | ||
| [[KC Compact]], [[Aleste 520EX]] | | [[KC Compact]], [[Aleste 520EX]] | ||
| Open source | | Open source | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| [[Caprice Forever]] | | [[Caprice Forever]] | ||
Line 308: | Line 331: | ||
| ❌ | | ❌ | ||
| ❌ | | ❌ | ||
− | | | + | | 24.10 |
− | | | + | | Oct 1, 2024 |
| ✅ | | ✅ | ||
| ✅ | | ✅ | ||
| - | | - | ||
− | | Freeware | + | | Freeware & Outdated sources |
|- | |- | ||
− | | [[ | + | | [[CaPriCe|Caprice32]] |
− | | [https://code.google.com/archive/p/cpcsdk/] [https:// | + | | [https://github.com/ColinPitrat/caprice32/releases] [http://sourceforge.net/projects/caprice32/ Old repo] [https://snapcraft.io/caprice32 Linux] [https://code.google.com/archive/p/cpcsdk/ Reloaded] |
+ | [https://github.com/kletellier/cpc4rpi Cpc4Rpi] [https://github.com/KaosOverride/CapriceRPI CapriceRPI] [https://www.arananet.net/cpc-pi/ CPC-PI] | ||
+ | | ✅ | ||
| ✅ | | ✅ | ||
− | | | + | | ✅ |
+ | | 4.6.0 | ||
+ | | Oct 8, 2022 | ||
| ⚠️ | | ⚠️ | ||
− | |||
− | |||
| ✅ | | ✅ | ||
− | | | + | | [http://aleste520.narod.ru/caprice.html Aleste 520EX] |
− | + | | Donationware & Open source | |
− | | Open source | + | |
|- | |- | ||
| [[Clock Signal|Clock Signal]] | | [[Clock Signal|Clock Signal]] | ||
− | | [https://github.com/TomHarte/CLK/releases] [https://snapcraft.io/clock-signal] | + | | [https://github.com/TomHarte/CLK/releases] [https://snapcraft.io/clock-signal Linux] [https://snapcraft.io/install/clock-signal/raspbian Raspberry Pi] |
| ❌ | | ❌ | ||
| ✅ | | ✅ | ||
| ✅ | | ✅ | ||
| | | | ||
− | | | + | | Oct 19, 2024 |
| ❌ | | ❌ | ||
| ❌ | | ❌ | ||
− | | [[ZX Spectrum]], [[ | + | | [[ZX Spectrum]], [[ZX80/81]], [[Enterprise]], [[MSX|MSX 1&2]], [[Oric 1/Atmos|Oric]], [[ColecoVision]], [[Apple II]], [[VIC-20]], [[Atari 2600]], [[Atari ST]], [[Acorn Electron|Electron]], [[Archimedes]], [[Macintosh]], [[Master System]] |
| Donationware & Open source | | Donationware & Open source | ||
|- | |- | ||
Line 355: | Line 379: | ||
| ✅ | | ✅ | ||
| ✅ | | ✅ | ||
− | | | + | | ❗ |
| b700 | | b700 | ||
| May 31, 2015 | | May 31, 2015 | ||
Line 367: | Line 391: | ||
| ❌ | | ❌ | ||
| ❌ | | ❌ | ||
− | | | + | | 🛠️ |
| 0.26 | | 0.26 | ||
| Dec 11, 2004 | | Dec 11, 2004 | ||
Line 376: | Line 400: | ||
|- | |- | ||
| [[CPCEC|CPCEC]] | | [[CPCEC|CPCEC]] | ||
− | | [http://cngsoft.no-ip.org/cpcec.htm] [https://github.com/cpcitor/cpcec] [http://cngsoft.no-ip.org/ CPCE] [https://github.com/AmatCoder/CPCEG CPCEG] | + | | [http://cngsoft.no-ip.org/cpcec.htm] [https://github.com/cpcitor/cpcec Repo] [http://cngsoft.no-ip.org/ CPCE] [https://github.com/AmatCoder/CPCEG CPCEG] |
| ✅ | | ✅ | ||
− | | | + | | 🛠️ |
− | | | + | | 🛠️ |
| | | | ||
− | | | + | | Dec 16, 2024 |
| ⚠️ | | ⚠️ | ||
| ✅ | | ✅ | ||
− | | [[ZX Spectrum]], [[Commodore 64]], [ | + | | [[ZX Spectrum]], [[Commodore 64]], [[MSX|MSX 1&2]] |
| Open source | | Open source | ||
|- | |- | ||
Line 391: | Line 415: | ||
| ❌ | | ❌ | ||
| ❌ | | ❌ | ||
− | | | + | | 🛠️ |
| | | | ||
| Feb 4, 2023 | | Feb 4, 2023 | ||
Line 421: | Line 445: | ||
| ✅ | | ✅ | ||
| - | | - | ||
− | | | + | | Donationware |
|- | |- | ||
| [[CPCSharp|CPCSharp]] | | [[CPCSharp|CPCSharp]] | ||
Line 441: | Line 465: | ||
| ❌ | | ❌ | ||
| | | | ||
− | | | + | | Sep 30, 2022 |
| ❌ | | ❌ | ||
+ | | ❌ | ||
+ | | - | ||
+ | | Open source | ||
+ | |- | ||
+ | | [[CrocoDS|CrocoDS]] | ||
+ | | [https://crazypiri.eu/crocods/] [https://github.com/redbug26/crocods Repo] | ||
+ | | ✅ | ||
+ | | ✅ | ||
+ | | ❌ | ||
+ | | 4.0 beta3 | ||
+ | | Dec 10, 2023 | ||
+ | | ⚠️ | ||
| ❌ | | ❌ | ||
| - | | - | ||
Line 450: | Line 486: | ||
| [https://github.com/leniad/dsp-emulator/] | | [https://github.com/leniad/dsp-emulator/] | ||
| ✅ | | ✅ | ||
− | | | + | | ✅ |
− | | | + | | 🛠️ |
− | | 0. | + | | 0.23 |
− | | | + | | Oct 27, 2024 |
| ❌ | | ❌ | ||
| ❌ | | ❌ | ||
− | | [[ZX Spectrum]], [[Commodore 64]], [[ColecoVision]], [[Game Boy]], [[NES]], [[SG-1000]], [[Master System]], [[Game Gear]], [[Super Cassette Vision]], [[PV-1000]], [[PV-2000]], [[Arcade]] | + | | [[ZX Spectrum]], [[Commodore 64]], [[Oric 1/Atmos|Oric]], [[ColecoVision]], [[Game Boy]], [[NES]], [[SG-1000]], [[Master System]], [[Game Gear]], [[Super Cassette Vision]], [[PV-1000]], [[PV-2000]], [[Arcade]] |
| Open source | | Open source | ||
|- | |- | ||
Line 462: | Line 498: | ||
| [https://github.com/istvan-v/ep128emu] | | [https://github.com/istvan-v/ep128emu] | ||
| ✅ | | ✅ | ||
− | | | + | | 🛠️ |
− | | | + | | 🛠️ |
| 2.0.11.2 | | 2.0.11.2 | ||
| Apr 19, 2019 | | Apr 19, 2019 | ||
Line 471: | Line 507: | ||
| Donationware & Open source | | Donationware & Open source | ||
|- | |- | ||
− | | [[ | + | | [[Gemux|Gemux]] |
− | | [ | + | | [https://www.cpcwiki.eu/forum/emulators/gemux-cpc/] |
− | + | ||
| ✅ | | ✅ | ||
| ❌ | | ❌ | ||
− | | | + | | ❗ |
− | | | + | | |
− | | | + | | Nov 5, 2024 |
+ | | ❌ | ||
| ❌ | | ❌ | ||
| - | | - | ||
Line 484: | Line 520: | ||
|- | |- | ||
| [[MESS|MAME]] | | [[MESS|MAME]] | ||
− | | [http://mamedev.org | + | | [http://mamedev.org] [http://se.os4depot.net/index.php?function=showfile&file=emulation/computer/sdl_mess.lha AmigaOS PPC] [http://fabportnawak.free.fr/mame/ MorphOS] [https://depot.haiku-os.org/#!/pkg/mame Haiku] |
+ | [https://auamstrad.es/software/mame-emulador-de-amstrad-cpc/ Tutorial (ES)] | ||
| ✅ | | ✅ | ||
| ✅ | | ✅ | ||
| ✅ | | ✅ | ||
− | | 0. | + | | 0.272 |
− | | | + | | Nov 30, 2024 |
| ⚠️ | | ⚠️ | ||
| ✅ | | ✅ | ||
− | | | + | | Tons of vintage computers, game consoles and arcade systems |
| Open source | | Open source | ||
|- | |- | ||
Line 505: | Line 542: | ||
| ✅ | | ✅ | ||
| - | | - | ||
− | | | + | | Donationware |
|- | |- | ||
| [[PC-CPC|PC-CPC]] | | [[PC-CPC|PC-CPC]] | ||
− | | [http://cpcrulez.fr/emulateurs_download-WIN-PC-CPC.htm] [https://github.com/DemoniakLudo/PC-CPC] | + | | [http://cpcrulez.fr/emulateurs_download-WIN-PC-CPC.htm] [https://github.com/DemoniakLudo/PC-CPC Repo] |
| ✅ | | ✅ | ||
| ❌ | | ❌ | ||
Line 524: | Line 561: | ||
| ✅ | | ✅ | ||
| ✅ | | ✅ | ||
− | | 2.1. | + | | 2.1.19 |
− | | | + | | Dec 9, 2024 |
| ❌ Removed | | ❌ Removed | ||
| ✅ | | ✅ | ||
Line 532: | Line 569: | ||
|- | |- | ||
| [[Roland Emulator|Roland]] | | [[Roland Emulator|Roland]] | ||
− | | [https://www.rolandemu.de/en/downloads.html] | + | | [https://www.rolandemu.de/en/downloads.html] [https://github.com/raldus/roland Repo] |
| ✅ | | ✅ | ||
| ❌ | | ❌ | ||
− | | | + | | 🛠️ |
| 0.70 | | 0.70 | ||
| Apr 20, 2017 | | Apr 20, 2017 | ||
Line 547: | Line 584: | ||
| ❌ | | ❌ | ||
| ❌ | | ❌ | ||
− | | | + | | 🛠️ |
| | | | ||
− | | | + | | Apr 1, 2024 |
| ⚠️ | | ⚠️ | ||
| ❌ | | ❌ | ||
Line 556: | Line 593: | ||
|- | |- | ||
| [[SugarBox|SugarBox]] | | [[SugarBox|SugarBox]] | ||
− | | [http://sugarbox.free.fr/] [https://github.com/Tom1975/ | + | | [https://github.com/Tom1975/SugarboxV2] [http://sugarbox.free.fr/ Old site] [https://github.com/Tom1975/SugarPi SugarPi] |
| ✅ | | ✅ | ||
| ✅ | | ✅ | ||
| ✅ | | ✅ | ||
− | | 2.0. | + | | 2.0.4 |
− | | | + | | Nov 24, 2024 |
| ⚠️ | | ⚠️ | ||
| ✅ | | ✅ | ||
| - | | - | ||
− | | Open | + | | Open source |
|- | |- | ||
| [[VirtualCPC|Virtual CPC]] | | [[VirtualCPC|Virtual CPC]] | ||
− | | [https://web.archive.org/web/20200112094913/http://users.otenet.gr/~sulfonic/cpc/ | + | | [https://cpcrulez.fr/emulateurs_download-WIN-virtual_cpc.htm] [https://web.archive.org/web/20200112094913/http://users.otenet.gr/~sulfonic/cpc/ Archive] |
| ✅ | | ✅ | ||
| ❌ | | ❌ | ||
Line 591: | Line 628: | ||
| Donationware | | Donationware | ||
|- | |- | ||
− | | [[WinCPC|WinCPC]] | + | | [[WinCPC|WinCPC]] / [[MacCPC|MacCPC]] |
− | | [http://www.wincpc.ch/index.php?topic=projects | + | | [http://www.wincpc.ch/index.php?topic=projects] [https://web.archive.org/web/20050409133618/http://www.easypoint.ch/vbcpc/ vbCPC] |
+ | | ✅ | ||
| ✅ | | ✅ | ||
| ❌ | | ❌ | ||
− | + | | 0.9.2 | |
− | | 0.9. | + | | Jan 22, 2010 |
− | | | + | |
| ✅ | | ✅ | ||
| ❌ | | ❌ | ||
Line 604: | Line 641: | ||
|- | |- | ||
| [[XCPC|Xcpc]] | | [[XCPC|Xcpc]] | ||
− | | [https://www.xcpc-emulator.net/] | + | | [https://www.xcpc-emulator.net/] [https://github.com/ponceto/xcpc-emulator Repo] |
| ❌ | | ❌ | ||
| ❌ | | ❌ | ||
| ✅ | | ✅ | ||
− | | 0. | + | | 0.52.1 |
− | | | + | | Sep 8, 2024 |
| ❌ | | ❌ | ||
| ❌ | | ❌ | ||
Line 626: | Line 663: | ||
| - | | - | ||
| Open source | | Open source | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| [[ZEsarUX|ZEsarUX]] | | [[ZEsarUX|ZEsarUX]] | ||
− | | [https://github.com/chernandezba/zesarux] | + | | [https://github.com/chernandezba/zesarux] [https://depot.haiku-os.org/#!/pkg/zesarux Haiku] |
| ✅ | | ✅ | ||
| ✅ | | ✅ | ||
| ✅ | | ✅ | ||
− | | | + | | 11.0 |
− | | | + | | Jun 6, 2024 |
| ⚠️ | | ⚠️ | ||
| ❌ | | ❌ | ||
Line 652: | Line 677: | ||
|} | |} | ||
− | == | + | Legend: ❗= No Raspberry Pi / ARM build ; 🛠️ = Build it yourself ; ⚠️ = Incomplete tooling |
− | + | === Mobile === | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | = | + | You can use [https://www.retroarch.com/index.php?page=platforms RetroArch] for Amstrad CPC emulation on '''Android and iOS'''. Or you can use these stand-alone CPC emulators: |
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
Line 782: | Line 737: | ||
| - | | - | ||
| Commercial💲 | | Commercial💲 | ||
+ | |- | ||
+ | | Android | ||
+ | | [[MAME4droid 2024]] | ||
+ | | [http://play.google.com/store/apps/details?id=com.seleuco.mame4d2024] [https://github.com/seleuco/MAME4droid-2024 Repo] | ||
+ | | 1.19 (0.272) | ||
+ | | Dec 2, 2024 | ||
+ | | ✅ | ||
+ | | Tons of vintage computers, game consoles and arcade systems | ||
+ | | Open source | ||
|- | |- | ||
| iOS | | iOS | ||
Line 794: | Line 758: | ||
| iOS | | iOS | ||
| [[CrocoDS]] | | [[CrocoDS]] | ||
− | | [https://github.com/redbug26/crocods-ios] | + | | [https://crazypiri.eu/crocods/] [https://github.com/redbug26/crocods-ios Repo] |
| 2.1 | | 2.1 | ||
| Jun 21, 2013 | | Jun 21, 2013 | ||
| ❌ | | ❌ | ||
| - | | - | ||
+ | | Open source | ||
+ | |- | ||
+ | | iOS | ||
+ | | [[MAME4iOS]] | ||
+ | | [https://github.com/yoshisuga/MAME4iOS] | ||
+ | | 2022.5 | ||
+ | | Dec 12, 2022 | ||
+ | | ✅ | ||
+ | | Tons of vintage computers, game consoles and arcade systems | ||
| Open source | | Open source | ||
|} | |} | ||
− | = Discontinued | + | === Discontinued OS === |
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
Line 864: | Line 837: | ||
| 0.7 | | 0.7 | ||
| Sep 15, 1996 | | Sep 15, 1996 | ||
+ | | ❌ | ||
+ | | - | ||
+ | | Open source | ||
+ | |- | ||
+ | | AROS | ||
+ | | [[Arnold]] | ||
+ | | [http://archives.aros-exec.org/?function=showfile&file=emulation/computer/arnold-aros-i386.lha] | ||
+ | | | ||
+ | | Oct 24, 2010 | ||
+ | | ✅ | ||
+ | | - | ||
+ | | Open source | ||
+ | |- | ||
+ | | AROS | ||
+ | | [[Caprice32]] | ||
+ | | [http://archives.aros-exec.org/?function=showfile&file=emulation/computer/caprice-aros-i386.lha] | ||
+ | | 4.2.0 | ||
+ | | Oct 23, 2010 | ||
| ❌ | | ❌ | ||
| - | | - | ||
Line 892: | Line 883: | ||
| Sep 8, 2018 | | Sep 8, 2018 | ||
| ✅ | | ✅ | ||
− | | | + | | Tons of vintage computers and game consoles |
| Open source | | Open source | ||
|- | |- | ||
Line 1,029: | Line 1,020: | ||
| - | | - | ||
| Freeware | | Freeware | ||
+ | |- | ||
+ | | OS/2 | ||
+ | | [[SDLMAME|SDLMAME]] | ||
+ | | [https://ecsoft2.org/sdlmame] | ||
+ | | 0.170 | ||
+ | | Jan 30, 2016 | ||
+ | | ✅ | ||
+ | | Tons of vintage computers, game consoles and arcade systems | ||
+ | | Open source | ||
|- | |- | ||
| Palm OS | | Palm OS | ||
Line 1,094: | Line 1,094: | ||
|} | |} | ||
− | = Home Consoles = | + | <br> |
+ | |||
+ | = Other Platforms = | ||
+ | |||
+ | === Home Consoles === | ||
− | You can use [https://www.retroarch.com/index.php?page=platforms 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: | + | You can use [https://www.retroarch.com/index.php?page=platforms 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: |
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
Line 1,123: | Line 1,127: | ||
| Oct 18, 2012 | | Oct 18, 2012 | ||
| ❌ | | ❌ | ||
− | | | + | | Tons of vintage computers, game consoles and arcade systems |
| Freeware | | Freeware | ||
|- | |- | ||
Line 1,181: | Line 1,185: | ||
|} | |} | ||
− | = Handheld Consoles = | + | === Handheld Consoles === |
− | Note: Android | + | Note: For Android handheld consoles (Razer Edge, Ayn Odin Pro, Retroid Pocket Flip, GPD XP, ...), see the Mobile/Android section. |
− | You can use [https://www.retroarch.com/index.php?page=platforms RetroArch] for Amstrad CPC emulation on '''PSP, PS Vita, DS, 3DS, Switch, Steam Deck, RetroFW, Miyoo | + | You can use [https://www.retroarch.com/index.php?page=platforms RetroArch] for Amstrad CPC emulation on '''PSP, PS Vita, DS, 3DS, Switch, Steam Deck, RetroFW, Miyoo, OpenDingux and [https://github.com/christianhaitian/arkos/wiki ArkOS]'''. Or you can use these stand-alone CPC emulators: |
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
Line 1,196: | Line 1,200: | ||
! Also emulates | ! Also emulates | ||
! License | ! License | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| Dingoo A320 / A330 | | Dingoo A320 / A330 | ||
Line 1,298: | Line 1,293: | ||
| Nintendo DS | | Nintendo DS | ||
| [[CrocoDS|CrocoDS]] | | [[CrocoDS|CrocoDS]] | ||
− | | [http://www.kyuran.be/blog/2007/11/09/crocods-20-2/] | + | | [http://www.kyuran.be/blog/2007/11/09/crocods-20-2/] [https://github.com/redbug26/crocods-nds Repo] |
| 2.0 | | 2.0 | ||
| Nov 9, 2007 | | Nov 9, 2007 | ||
| ❌ | | ❌ | ||
| - | | - | ||
− | | | + | | Open source |
|- | |- | ||
| Nintendo GameBoy Advance | | Nintendo GameBoy Advance | ||
Line 1,319: | Line 1,314: | ||
| | | | ||
| Dec 3, 2020 | | Dec 3, 2020 | ||
+ | | ❌ | ||
+ | | - | ||
+ | | Open source | ||
+ | |- | ||
+ | | OpenDingux | ||
+ | | [[CrocoDS|CrocoDS]] | ||
+ | | [https://crazypiri.eu/crocods/] [https://github.com/redbug26/crocods Repo] | ||
+ | | | ||
+ | | Jan 15, 2020 | ||
| ❌ | | ❌ | ||
| - | | - | ||
Line 1,369: | Line 1,373: | ||
|} | |} | ||
− | = | + | === FPGA === |
− | [ | + | *[[CPC TREX|CPC TREX]] [[C-ONE|CPC-One]] TurboCPC core by TobiFlex running on different FPGA boards |
− | + | *[http://ralferoo.blogspot.fr/ CPC FPGA] CPC emulation by Ranulf (Ralferoo) Doswell, running on a custom made FPGA board | |
+ | *[[FPGAmstrad|FPGAmstrad]] [https://github.com/renaudhelias/CoreAmstrad CoreAmstrad] [https://github.com/mist-devel/mist-board/wiki/CoreDocAmstrad CoreDocAmstrad] Translation by Renaud (Freemac) Hélias of JavaCPC from Java into VHDL for MiST board | ||
+ | *[https://github.com/sorgelig/Amstrad_MiST CPC for MiST and MiSTer] Started by Alexey (Sorgelig) Melnikov as a port of CoreAmstrad, but every module has been either rewritten or replaced | ||
+ | *[https://web.archive.org/web/20230330082645/https://intelligenttoasters.blog/cpc2-project-index/ CPC2 Project] CPC emulation running on a Cyclone V FPGA board | ||
+ | *[https://github.com/ZXMicroJack/amstrad-cpc AmstradCPC core] Based on McLeod's core and running on a ZXTres FPGA board | ||
− | + | <br> | |
− | + | ||
− | + | = Hardware Replacements = | |
− | + | ||
− | + | *[https://youtu.be/DykFhtNbgGk Just CPC4ATX] [https://memoryfull.net/party.php?id=240 CPC-ITX triple CRTC] CPC clones made from NOS chips | |
− | + | *[https://github.com/Bread80/CPCModular CPC Modular] Modular Amstrad CPC compatible computer | |
− | + | *[https://makerworld.com/fr/models/821842#profileId-765034 Amstrad CPC464 mini] [https://github.com/Board-Folk/CPC464-2MINI CPC464-2mini] Miniaturised CPCs | |
− | + | *[https://hackaday.io/project/187051-the-amstrad-cpc-portable Amstrad CPC Portable] World's first battery-powered portable Amstrad CPC | |
− | + | *[https://www.tindie.com/search/?q=amstrad+replica+pcb CPC 464/6128 replica PCBs] To be used as a direct replacement to the original PCBs | |
− | + | *[https://github.com/EremusOne/CPCESP_alpha CPCESP] [https://github.com/rpsubc8/ESP32TinyCPC/ ESP32 TinyCPC] CPC emulators for ESP32 SoC board | |
− | + | *[https://www.symbos.org/symbosvm.htm SymbOSVM] SymbOS for modern 32/64bit hardware | |
− | + | ||
− | + | === Chips === | |
− | + | ||
− | + | *[https://github.com/MicroCoreLabs/Projects MCLZ8] [https://github.com/rejunity/z80-open-silicon z80-open-silicon] Z80 emulators to be used as drop-in replacement | |
− | + | *[https://github.com/nukeykt/Nuked-MD-FPGA/blob/main/z80.v Nuked-MD-FPGA] [https://github.com/gdevic/A-Z80 A-Z80] Verilog Z80 implementations reverse engineered from decapped chip [https://baltazarstudios.com/z80-ground/ Baltazar] [https://www.righto.com/2014/10/how-z80s-registers-are-implemented-down.html Ken Shirriff] [https://static.righto.com/files/z80-pla-table.html Instruction decode PLA table] Technical documentation | |
− | + | *[https://github.com/floooh/v6502r Visual Z80 Remix] [https://github.com/gdevic/Z80Explorer Z80 Explorer] Netlist-level ultra accurate Z80 simulators | |
− | + | *[https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/gate-array-decapped! Forum thread] Reverse engineered Gate Array by Gerald from decapped chips [https://pastebin.com/ZQyL68Hv Ash Evans] [https://github.com/MiSTer-devel/Amstrad_MiSTer/tree/master/rtl/GA40010 Gyorgy Szombathelyi] [https://github.com/codedchip/AMSGateArray AMSGateArray] Subsequent Verilog/VHDL implementations [https://bread80.com/2021/06/03/understanding-the-amstrad-cpc-video-ram-and-gate-array-subsystem/ Signals analysis by Bread80] | |
− | + | *[https://k3pi.chickenkiller.com/dzi/ ASIC and Pre-ASIC] [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/gate-array-decapped!/msg133264/#msg133264 Gate Array] [https://siliconpr0n.org/map/zilog/z0840008psc-z80cpu/ Z80 CPU] [https://www.seanriddle.com/6845/ HD6845SP CRTC] [http://seanriddledecap.blogspot.com/2023/12/blog-post_31.html AY-3-8912 PSG] [http://seanriddledecap.blogspot.com/2017/01/blog-post_42.html NEC D765 FDC] Die shots of decapped CPC chips. How to: [https://github.com/veniamin-ilmer/decoding_rom Optically decode the ROM of a decapped chip] [https://github.com/travisgoodspeed/gbrom-tutorial Automate ROM decoding] [https://c128.se/posts/silicon-adventures/ Decap, image and reverse engineer the C128 PLA chip] [https://oric.signal11.org.uk/html/ula-dieshot.htm Reverse engineered Oric ULA chip] | |
− | + | *[https://lotharek.pl/productdetail.php?id=408 AY_FPGA] AY-3-8912 FPGA replacement with few extra features | |
− | + | *[https://thecheshirec.at/2023/11/21/5-multi-crtcs-a-vendre/ Multi-CRTC Board] Host and select between multiple CRTC chip types in one CPC | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | = | + | === Floppy drives === |
− | |||
− | |||
− | |||
− | |||
− | |||
*[[SDiskEmul]] Floppy-drive emulator released in 2007. Abandoned now. Supports DSK, EDSK disk-images | *[[SDiskEmul]] Floppy-drive emulator released in 2007. Abandoned now. Supports DSK, EDSK disk-images | ||
− | *[https://hxc2001.com/floppy_drive_emulator/ HxC Floppy Emulator] Commercial floppy-drive emulator. Supports | + | *[https://hxc2001.com/floppy_drive_emulator/ 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 [https://hxc2001.com/docs/gotek-floppy-emulator-hxc-firmware/pages/emulation-from-images.html] |
− | *[https://github.com/keirf/flashfloppy/ FlashFloppy] Open source floppy-drive emulator for the ubiquitous Gotek hardware. Supports | + | *[https://github.com/keirf/flashfloppy/ FlashFloppy] Open source floppy-drive emulator for the ubiquitous Gotek hardware. Supports DSK, EDSK, HFE disk-images |
+ | *[https://github.com/keirf/greaseweazle GreaseWeazle] Open source USB floppy adapter Flux reader/writer | ||
+ | *[https://www.cbmstuff.com/index.php?route=product/product&product_id=52 SuperCard Pro] Claims to be the most advanced flux level copier/imager/converter system | ||
+ | *[https://kryoflux.com/ KryoFlux] Proprietary floppy adapter Flux reader/writer | ||
+ | *[https://cpcrulez.fr/forum/viewtopic.php?f=5&t=100&start=690#p55437 Pauline] FPGA-based floppy-drive dumper and emulator | ||
+ | *[https://cpcrulez.fr/hardware-lecteurs_externe-interface_ddi3_usb_floppy_emulator.htm DDI-3] USB floppy-drive emulator with an integrated FDC chip, floppy data separator and AMSDOS ROM for CPC464. Current evolution [https://cpcrulez.fr/hardware-lecteurs_externe-interface_ddi6_usb_floppy_emulator.htm DDI-6] has also integrated a RAM/ROM box | ||
+ | *[https://lotharek.pl/productdetail.php?id=376 DriveRDY] Emulates the Ready signal necessary for floppy drives on Amstrad machines | ||
+ | *[[M4 Board]] Supports DSK, EDSK images in a limited fashion. Protected disks are not supported | ||
+ | *[[USIFAC]] [[ULIfAC]] Supports DSK, EDSK images in a limited fashion. Protected disks are not supported | ||
− | = | + | === Tapes === |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | *[https://hobbyretro.com/en/retro/tzxduino TZXduino] [https://ultimatemister.com/product/ultimate-maxduino-pro/ MAXduino] [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/abatape-my-contribution-to-tape-lovers/ Abatape] Arduino-based tape deck emulator. Supports many formats of tape-images including CDT and TZX | |
− | * | + | *[https://youtu.be/j4__v6ojPt0 SVI-CAS] Digital Tape Drive for Playback & Recording. Supports many formats of tape-images including CDT and TZX |
− | * | + | *[https://retrowiki.es/viewtopic.php?t=200032717 TapeRider] TZX/CDT tape-images player for Android |
− | * | + | *[https://chrome.google.com/webstore/detail/tapdancer/fcibbcbgbeioacfcnfgjianglchlcokh tapDancer] [https://web.archive.org/web/20160110003844/http://tapdancer.info/] Chrome and Android app that plays back many formats of tape-images including CDT and TZX |
− | * | + | *[https://pelrun.github.io/PlayUEF/ PlayUEF] Web-browser based tape deck emulator, supporting CDT and TZX tape-images |
− | + | ||
− | = | + | === Cartridges === |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | *[https://github.com/f1ac0/CPC-plus-cartridge CPC-plus-cartridge] Different PCB designs and code to make a CPC-plus cartridge | |
+ | *[https://github.com/zeus074/Amstrad_Multicart Amstrad Multicart] 16-in-1 cartridge for the GX4000 or Amstrad Plus computer | ||
+ | *[https://cpcrulez.fr/hardware-interface_ROM-gx4000_homebrew_player.htm GX4000 Homebrew Player] [https://cpcrulez.fr/hardware-interface_ROM-gx4000_homebrew_player-32_in_one.htm CPC+ 32-in-one multigames] by Retroelectronik | ||
+ | *[[C4CPC]] Cartridge replacement for the Amstrad Plus range and the GX4000 | ||
+ | *[https://overange.weebly.com/amstrad-gx4000-cpc-464-6128-plus-reflashable-flash-cartridge.html Flash+ cartridge] Amstrad CPC+ GX4000 reflashable cartridge | ||
+ | *[https://store.backbit.io/product/backbit-pro/ BackBit Pro] [https://youtu.be/tI2wkelVzyw Tutorial] Universal instant loading cartridge | ||
+ | *[[M4 Board]] Supports CPR cartridges, among many other features | ||
− | + | === Printers === | |
− | + | *[https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/acpcpe-amstrad-cpc-printer-emulator-(diy)/ Amstrad CPC Printer Emulator] [https://github.com/lgv2018/ACPCPE] Arduino-based CPC printer emulator that can output text, markdown or HTML | |
− | + | *[https://www.retroprinter.com/ Retro-Printer] Plugin module for the Raspberry Pi that makes it possible to connect retro computers to modern USB or network printers | |
− | + | *[https://github.com/nzeemin/escparser ESCParser] Command-line utility, ESC/P printer emulator that can output PostScript, SVG or PDF | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | *[https:// | + | |
− | = | + | === Other === |
− | == | + | |
− | + | ||
− | + | ||
− | + | *[https://simonowen.com/spectrum/lenskey/ LensKey] LensLok copy-protection decoder for Windows | |
− | *[https:// | + | *[https://github.com/ArcherEG/CPCPS2Firmware CPCPS2 Keyboard Firmware] Emulates the keyboard matrix of Amstrad CPC using modern hardware |
− | + | *[https://sindenlightgun.com/ Sinden Lightgun] LCD-compatible lightgun | |
− | *[https:// | + | *[https://github.com/grzegorz-gr/vga4cpc vga4cpc] VGA output for Amstrad CPC based on Raspberry Pi Pico |
− | *[https:// | + | |
− | *[https:// | + | |
− | + | <br> | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | = | + | = Peripherals supported in emulators = |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | == | + | === Mass storage devices === |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | *[[Dobbertin Harddisc]] is emulated by MAME | |
− | *[ | + | *[[UIDE Universal IDE adapter cards for Z-80 computers|uIDE]] is emulated by Arnold |
− | *[ | + | *[[Symbiface II]] IDE/PATA interface or compatible ([[X-Mass]], [https://github.com/salafek/cyboard-for-cpc Cyboard]) is emulated by ACE, ACE-DL, Caprice Forever, MAME, WinAPE, WinCPC, Arnold, Virtual CPC |
− | *[ | + | *[[Albireo]] is partially emulated (no direct sector) by ACE, ACE-DL, Caprice Forever |
− | + | *[[M4 Board]] is emulated by CPCemu | |
− | *[ | + | *[[Vortex Winchester Drive]], [[IDE8255]], [[ULIfAC|USIfAC / ULIfAC]], [[Symbiface 3|Symbiface3 / RSF3]], [https://hxc2001.com/download/floppy_drive_emulator/SDCard_HxC_Floppy_Emulator_Direct_Access_mode.pdf Gotek direct access mode] are not supported |
− | *[[ | + | |
− | + | ||
− | == | + | === Network devices === |
− | + | ||
− | *[ | + | There is a plethora of serial communication devices (using [[RS232]], USB, SPI, Modem, Teletext, [[Virtual Net 96]], etc...) on Amstrad CPC: |
− | + | * [[Amstrad Serial Interface|Amstrad/Pace RS232 Serial Port]] is emulated by MAME | |
− | + | * Other devices are not supported | |
− | *[https:// | + | |
+ | Higher-level Ethernet or TCP/IP network devices are much less common: | ||
+ | * [[M4 Board]] Wifi or compatible ([[Symbiface 3]]) is emulated by CPCemu | ||
+ | * [[CPC-ENet]], [https://github.com/salafek/Net4CPC/ Net4CPC], [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/fujinet-for-the-cpc/ Fujinet] are not supported | ||
+ | |||
+ | === Audio devices === | ||
+ | |||
+ | *[[Amstrad SSA-1 Speech Synthesizer|SSA-1 speech synthesizer]] is emulated by ACE, ACE-DL, Caprice Forever, JavaCPC, MAME | ||
+ | *[[Dk'tronics Speech Synthesizer|Dk'Tronics speech synthesizer]] is emulated by ACE, ACE-DL, Caprice Forever, JavaCPC, MAME | ||
+ | *[[TMPI speech synthesizer|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|Willy OPL3]] is emulated by ACE, ACE-DL | ||
+ | *[[Willy|Willy MIDI]] is emulated by ACE (software synth emulation on Haiku, MIDI OUT support on MorphOS) | ||
+ | *[[Music Machine|Music Machine (Sampling/Playback/MIDI ports)]], [[EMR MIDI Interface]], [https://github.com/lambdamikel/BluePillCPC Ultimate MIDI Board], [https://github.com/lambdamikel/Speak-SID Speak&SID], [https://github.com/lambdamikel/LambdaSpeak3 LambdaSpeak], [https://youtu.be/kahDREIaOog Amsdap MoonSound], [https://youtu.be/3xEyNQA6Weg Amsdap MP3 Player], [https://youtu.be/vvlGBS3nNiY Amsdap SE-One (MP3/Radio)], [https://www.amibay.com/threads/cpcradio-fm-radio-receiver-module.2446509/ CPC Radio], [https://www.gitlab.com/doragasu/romba/ Romba], [[CPC Booster]] are not supported | ||
+ | Note: all [[RS232]] serial port devices ([[USIFAC]], [[Amstrad Serial Interface]], etc...) and USB port devices with direct control ([[Albireo]], etc...) can also be used as MIDI ports. | ||
+ | |||
+ | === Graphics devices === | ||
+ | CPC graphics display expansions ([https://thecheshirec.at/category/8bits/amstrad-cpc/crtc/crtc5/ CRTC Type 5], [https://youtu.be/plQf9_7zPSA Amsdap GFX9000]) are not supported. | ||
+ | |||
+ | CPC graphics acquisition devices ([[Dart Scanner for DMP-Printers|Dart Scanner]], [[VIDI digitizer]], [[ARA Video Digitizer|Digitaliseur Ara]]) are not supported. | ||
+ | |||
+ | CPC printers are poorly supported. 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, PC-CPC, Wiituka. | ||
+ | |||
+ | CPC mouse support is as follows: | ||
+ | *[[AMX Mouse|AMX mouse (1-bit axis, 3 buttons (CPC) / 2 buttons (CPC+))]] or compatible ([https://imperium.spinpoint.org/ Imperium Solo], [[Dk'tronics Mouse Interface|Dk'Tronics Genius adapter]], [https://cpcrulez.fr/hardware_montage_8x-geos-mouse_am_joystick-port.htm DIY GEOS adapter], [[Atari-ST mouse adapter]], [[PS2Mouse]], [[Marconi|Marconi Trackerball]]) is emulated by ACE, ACE-DL, Caprice Forever, WinAPE, Arnold, Virtual CPC, CPCemu, Retro Virtual Machine | ||
+ | *[[Kempston Mouse|Kempston mouse (8-bit axis, 2 buttons)]] is emulated by ACE, ACE-DL, Arnold | ||
+ | *[[CPC-Mousepack 2.0|Reisware mouse (8-bit axis, 2 buttons)]] is emulated by CPCemu | ||
+ | *[[Symbiface II|Symbiface II PS/2 mouse (6-bit axis, 5 buttons, scroll wheel)]] is emulated by ACE-DL, Caprice Forever, MAME, WinAPE, Arnold, CPCemu | ||
+ | *[[MultiPlay|MultiPlay mouse (4-bit axis, 3 buttons)]] or compatible ([[Symbiface 3|Symbiface3 / RSF3 mouse]]) is emulated by ACE, ACE-DL, Caprice Forever, JavaCPC, Arnold, Retro Virtual Machine | ||
+ | *[[Albireo|Albireo mouse (8-bit axis, 3 buttons)]], [https://youtu.be/4Rm1psdePbg Imperium Solo custom mode (6-bit axis, 3 buttons)] are not supported | ||
+ | |||
+ | Note: AMX and MultiPlay are the most widely supported mice in CPC programs. | ||
+ | |||
+ | === Hacking devices === | ||
+ | |||
+ | *[[Multiface II]] is emulated by ACE, ACE-DL, Caprice Forever, JavaCPC, MAME, WinAPE, Arnold | ||
+ | *[[Hackit|HackIt]] is emulated by ACE-DL, Arnold | ||
+ | *[[Mirage Imager]] is emulated by ACE | ||
+ | *[[Transtape]] is emulated by MAME | ||
+ | *[[PDS development system|Programmers Development System]] is emulated by MAME | ||
+ | *[[Demon Development Cartridge]], [[Action Replay AMX]], [[Disc Wizard]] are not supported | ||
+ | |||
+ | <br> | ||
+ | |||
+ | = Rewind feature = | ||
+ | |||
+ | The RetroArch CPC emulator has the most convenient rewind feature: [https://youtu.be/YwilYlSe5LQ Demonstration]. To reverse the game, the user press and hold the rewind button. And at any point, releasing the button makes time goes forward again. | ||
+ | |||
+ | ACE-DL also has a rewind feature, but it is not as good as it could be: [https://youtu.be/wIKGvpnJLUo Demonstration]. | ||
+ | |||
+ | One 128KB snapshot per frame allows 10 seconds of rewind with 64MB (128KB * 50 frames * 10 seconds) of memory for the rewind feature. A more efficient method saves only the previous RAM values that are changed between 2 frames, allowing much longer rewinds (even if the CPC is equipped with 4MB RAM expansion) while using less memory, as shown by the GBA emulator [https://youtu.be/Sfc_1NKbiKg SkyEmu]. | ||
+ | |||
+ | For step-back debugging, the emulator just needs 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. | ||
+ | |||
+ | <br> | ||
= File format specifications = | = File format specifications = | ||
− | *[https://www.cpcwiki.eu/index.php/Format:DSK_disk_image_file_format DSK / EDSK] [https://hxc2001.com/download/floppy_drive_emulator/SDCard_HxC_Floppy_Emulator_HFE_file_format.pdf HFE] File formats of disk-image | + | *[https://www.cpcwiki.eu/index.php/Format:DSK_disk_image_file_format DSK / EDSK] [https://hxc2001.com/download/floppy_drive_emulator/SDCard_HxC_Floppy_Emulator_HFE_file_format.pdf HFE] [http://info-coach.fr/atari/documents/_mydoc/IPF-Documentation.pdf IPF] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&num=386 CTRAW] [https://www.cbmstuff.com/downloads/scp/scp_image_specs.txt SCP] File formats of disk-image |
− | *[ | + | *[https://www.cpcwiki.eu/index.php/Format:CDT_tape_image_file_format CDT / TZX] [http://zxds.raxoft.cz/pzx.html PZX] [https://acorn.huininga.nl/pub/unsorted/software/pc/CSW/csw.html CSW] [https://xiph.org/flac/format.html FLAC] [http://soundfile.sapp.org/doc/WaveFormat/ WAV] [http://fileformats.archiveteam.org/wiki/MP3 MP3] File formats of tape-image |
− | *[https://www.cpcwiki.eu/index.php/Format:CPR_CPC_Plus_cartridge_file_format CPR cartridge] [https://www.cpcwiki.eu/index.php/Format:SNA_snapshot_file_format SNA snapshot] [https://www.cpcwiki.eu/forum/emulators/javacpc-desktop-available-as-beta!/100/ SNR session] | + | *[https://www.cpcwiki.eu/index.php/Format:CPR_CPC_Plus_cartridge_file_format CPR cartridge] [https://www.cpcwiki.eu/index.php/Format:SNA_snapshot_file_format SNA snapshot] Other file formats used in CPC emulators |
− | + | *[https://www.cpcwiki.eu/forum/emulators/javacpc-desktop-available-as-beta!/100/ Official SNR session spec] [https://www.cpcwiki.eu/forum/emulators/playback-format-for-scenes/ Discussion about SNR format] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&num=10 Archive of SNR sessions] | |
− | *[https:// | + | *[http://leonard.oxg.free.fr/ymformat.html YM] [https://www.cpcwiki.eu/index.php/AYC AYC] [https://www.cpcwiki.eu/index.php/MYM MYM] [https://vgmrips.net/wiki/VGM_Specification VGM] Soundchip logging file formats |
+ | *[https://shaker.logonsystem.eu/sslcsl CSL] Cpc Scripting Language, a macro/scripting system to automate emulators | ||
+ | *[https://github.com/redbug26/crocods-core/wiki/kcr KCR] Game launching configuration | ||
+ | |||
+ | <br> | ||
= Emulation Tools = | = Emulation Tools = | ||
− | *[http://www.cpcmania.com/news.htm CPCDiskXP] [https://github.com/jeromelesaux/dsk DSK] [https://github.com/cpcsdk/idsk iDSK] [ | + | *[http://www.cpcmania.com/news.htm CPCDiskXP] [https://web.archive.org/web/20230602152816/https://cpc-live.com/data/index.php?dir=-tools DiskUtil] [https://github.com/Tom1975/SugarConvDsk SugarConvDsk] [https://github.com/jeromelesaux/dsk DSK] [https://github.com/cpcsdk/idsk iDSK] [https://github.com/cpcitor/dsktools dsktools] [https://github.com/EdouardBERGE/edsktool edsktool] [[ManageDSK|ManageDSK]] [[WriteDSK|WriteDSK]] [https://simonowen.com/samdisk/ SAMdisk] [https://github.com/damieng/DiskImageManager Disk Image Manager] [https://github.com/neuro-sys/sector-cpc sector-cpc] [https://hxc2001.com/download/floppy_drive_emulator/ HxCFloppyEmulator software] [https://github.com/keirf/disk-utilities/ Disk Utilities] [https://github.com/ClaireCheshireCat/dsk-lua dsk-lua] [https://github.com/karmic64/upd765pro upd765pro] [https://github.com/muckypaws/AmstradDSKExplorer Amstrad DSK Explorer] [http://www.shlock.co.uk/Utils/OmniFlop/OmniFlop.htm OmniFlop] [https://github.com/tomas-nestorovic/RIDE RIDE] Set of tools about disk-images |
− | *[http://www.cpcmania.com/news.htm CPCTapeXP] [https://sourceforge.net/projects/cdtmaster/ CDTMaster] [https:// | + | *[http://www.cpcmania.com/news.htm CPCTapeXP] [https://web.archive.org/web/20230602152816/https://cpc-live.com/data/index.php?dir=-tools TapeUtil] [https://github.com/Tom1975/SugarConvTape SugarConvTape] [https://sourceforge.net/projects/cdtmaster/ CDTMaster] [https://cpcrulez.fr/emulateurs_UTIL-CDT-samp2cdt.htm 2CDT/Samp2CDT] [http://cngsoft.no-ip.org/csw2cdt.htm CSW2CDT] [https://cpcrulez.fr/emulateurs_UTIL-CDT-CDT2WAV.htm CDT2WAV] [https://github.com/stripwax/wav2tzx wav2tzx] [https://github.com/raxoft/pzxtools PZXtools] [https://monocrun.com/cpc-tape-to-cdt/ Online Tape to CDT] Set of tools about tape-images |
− | *[http://www.cpcmania.com/news.htm CPRTools] | + | *[http://www.cpcmania.com/news.htm CPRTools] [https://github.com/reidrac/cpr-tools cpr-tools] [https://github.com/renaudguerin/cpr2bin cpr2bin] [https://problemkaputt.de/no$cart.htm No$cart] [http://amsnet.chez.com/ UniDOS Cartridge Creator] Set of tools about CPR cartridge-images |
− | *[https://bochs.sourceforge.io/doc/docbook/user/winimage.html WinImage, DiskExplorer, | + | *[https://bochs.sourceforge.io/doc/docbook/user/winimage.html WinImage, DiskExplorer, Ultimate Imager] [https://github.com/ProgrammingHobby/CPM_Image-File_Explorer CP/M Image File Explorer] Access and edit hard-drive images |
− | + | *[https://colourclash.co.uk/cpc-analyser/ CPC Analyser] [https://imhex.werwolv.net/ ImHex] [https://github.com/cormacj/AmstradCPCRomHacks CPCRomHacks] [https://bitbucket.org/zzarko/runemu/src/main/ RunEmu] Other tools | |
− | *[https://colourclash.co.uk/cpc-analyser/ CPC Analyser] | + | |
− | + | ||
*[[WinApe|WinAPE]] [[WinCPC]] [[JavaCPC]] [https://code.google.com/archive/p/cpcsdk/ Caprice Reloaded] [http://www.cpc-power.com/cpcarchives/index.php?page=articles&num=73 Caprice Forever] Emulators with an integrated Z80 Assembler | *[[WinApe|WinAPE]] [[WinCPC]] [[JavaCPC]] [https://code.google.com/archive/p/cpcsdk/ Caprice Reloaded] [http://www.cpc-power.com/cpcarchives/index.php?page=articles&num=73 Caprice Forever] Emulators with an integrated Z80 Assembler | ||
− | *[https://cpcrulez.fr/coding-crossdev_coding-Java-Z80Assembler.htm Java Z80Assembler] [https://pasmo.speccy.org/ Pasmo] [http://cngsoft.no-ip.org/uz80.htm UZ80] [https://github.com/EdouardBERGE/rasm Rasm] [https://cpcsdk.github.io/rust.cpclib/basm/ BASM] [https://github.com/z00m128/sjasmplus SjASMPlus] [https://github.com/cpcsdk/cpctools cpctools] [http://julien-nevo.com/disark/ Disark] | + | |
− | + | === Cross-Platform Development === | |
− | *[https://lemonspawn.com/turbo-rascal-syntax-error-expected-but-begin/ Turbo Rascal Syntax Error] [https://www.youtube.com/watch?v=NTfnE4kXqt8 CPC demo made with TRSE] [https://www.youtube.com/watch?v=XjnqXiUHekY TRSE CPC tutorial] | + | |
− | *[https:// | + | *[https://cpcrulez.fr/coding-crossdev_coding-Java-Z80Assembler.htm Java Z80Assembler] [https://grauw.nl/projects/glass/ Glass] [https://pasmo.speccy.org/ Pasmo] [http://cngsoft.no-ip.org/uz80.htm UZ80] [https://github.com/EdouardBERGE/rasm Rasm] [https://cpcsdk.github.io/rust.cpclib/basm/ BASM] [https://github.com/fragarco/abasm/ ABASM] [https://k1.spdns.de/Develop/Projects/zasm/Distributions/ zasm] [http://www.compilers.de/vasm.html vasm] [https://github.com/z00m128/sjasmplus SjASMPlus] [https://github.com/cpcsdk/cpctools cpctools] [https://github.com/cpcsdk/rust.cpclib cpclib] [https://github.com/cpcsdk/rust.cpclib/tree/master/cpclib-bndbuild bndbuild] [http://julien-nevo.com/disark/ Disark] [https://github.com/santiontanon/mdlz80optimizer MDL] [https://marketplace.visualstudio.com/items?itemName=maziac.asm-code-lens ASM Code Lens] [https://marketplace.visualstudio.com/items?itemName=floooh.vscode-kcide KC IDE] Tools for CPC cross-development in Z80 Assembler |
− | *[https://github.com/ | + | *[https://sdcc.sourceforge.net SDCC] [https://www.cpcwiki.eu/forum/programming/phrozen-c/msg180715/#msg180715 SDCC vs PhrozenC] [http://www.cpcmania.com/Docs/Programming/SDCC_vs_z88dk_Comparing_size_and_speed.htm SDCC vs z88dk] [https://z88dk.org/site/ z88dk can be used with SDCC and provides a huge library] [https://ccz80.webcindario.com/ccz80en.html ccz80] [http://norecess.cpcscene.net/phactory.html Phactory] [https://github.com/cpcitor/cpc-dev-tool-chain cpc-dev-tool-chain] [https://lronaldo.github.io/cpctelera/ CPCtelera] [https://github.com/Arnaud6128/wincpctelera WinCPCtelera] Cross-platform CPC development in C |
− | *[http://ldeplanque.free.fr/ConvImgCpc/new/ ConvImgCPC] [https://www.dadither.com/ DaDither] [https://github.com/jeromelesaux/martine Martine] [https://www.cpcwiki.eu/forum/applications/splitraster-v3/ Splitraster+] [https://www.pouet.net/prod.php?which=88808 UniPixelViewer] [https://www.youtube.com/watch?v=KBcxPWGmr6Q UniPixelViewer tutorial] Image converters from PC to CPC | + | *[https://github.com/Bread80/Quiche Quiche] [https://lemonspawn.com/turbo-rascal-syntax-error-expected-but-begin/ Turbo Rascal Syntax Error] [https://www.youtube.com/watch?v=NTfnE4kXqt8 CPC demo made with TRSE] [https://www.youtube.com/watch?v=XjnqXiUHekY TRSE CPC tutorial] CPC cross-development in Pascal |
− | *[http://grafx2.chez.com/ GrafX2] [ | + | *[https://github.com/KarolS/millfork Millfork] [https://github.com/wiz-lang/wiz Wiz] [https://github.com/davidgiven/cowgol Cowgol] [https://www.mikekohn.net/micro/java_grinder.php Java Grinder] CPC cross-development with other programming languages |
− | *[http://cngsoft.no-ip.org/chipnsfx.htm CHIPNSFX] [https:// | + | *[https://jonathan-cauldwell.itch.io/multi-platform-arcade-game-designer Multi-Platform Arcade Game Designer] The most user-friendly Windows tool for creating CPC games |
+ | *[https://vitno.org/2023/09/17/punyinform-a-new-library-for-writing-text-adventures-for-old-computers/ PunyInform] [https://github.com/Utodev/DRC/ DAAD Reborn Compiler] for developing adventure games | ||
+ | *[https://github.com/danielgaskell/scc SymbOS C Compiler] [http://www.symbos.de/quigs.htm Quigs IDE] SymbOS application development | ||
+ | *[https://cpcbasic.webcindario.com/CPCBasicEn.html CPC Basic cross-compiler] [https://github.com/benchmarko/CPCBasic Online CPCBasic] [https://marketplace.visualstudio.com/items?itemName=cebe74.amstrad-basic-helper-vscode Amstrad Basic Helper] [https://github.com/destroyer-dcf/sdkcpc SDKCPC] [https://auamstrad.es/taller/herramientas/ide8bp-portable-para-windows/ IDE 8BP] [https://www.cpcalive.com/cpcalive_en.html CpcAlive] [https://ugbasic.iwashere.eu/ ugBASIC] [https://spotlessmind1975.itch.io/ugbasic-ide ugBASIC IDE] Cross-platform CPC development in BASIC | ||
+ | *[https://github.com/einar-saukas/ZX0 ZX0] [https://github.com/emmanuel-marty/salvador Salvador] [https://github.com/ClaireCheshireCat/amstrad-cpc-dzx0 ZX0 decompressor in BASIC] [https://www.cpcwiki.eu/forum/programming/new-cruncher-zx0/msg197727/ Comparative study] Compression tools | ||
+ | |||
+ | === Cross-Platform Art === | ||
+ | |||
+ | *[http://ldeplanque.free.fr/ConvImgCpc/new/ ConvImgCPC] [https://anto80.itch.io/image-to-amstrad-cpc-converter ImgToCpc] [https://github.com/AugustoRuiz/Img2CPC img2cpc] [https://github.com/cpcsdk/rust.cpclib/tree/master/cpclib-imgconverter cpclib-img2cpc] [https://github.com/bignaux/Magick2CPC Magick2CPC] [https://github.com/cpcsdk/gfx2crtc gfx2crtc] [https://www.dadither.com/ DaDither] [https://8bitworkshop.com/dithertron/#sys=cpc.mode0 Online Dithertron] [https://github.com/jeromelesaux/martine Martine] [https://www.cpcwiki.eu/forum/applications/splitraster-v3/ Splitraster+] [https://github.com/EdouardBERGE/convgeneric ConvGeneric] [https://www.pouet.net/prod.php?which=88808 UniPixelViewer] [https://www.youtube.com/watch?v=KBcxPWGmr6Q UniPixelViewer tutorial] Image converters from PC to CPC | ||
+ | *[http://multipaint.kameli.net/ Multipaint] [https://x.com/xavierMessner RePAINT!] [http://grafx2.chez.com/ GrafX2] [https://www.octoate.de/2010/09/06/cpcpaint/ CPCPaint] [https://cpcrulez.fr/coding-crossdev_coding-amstrad_cpc_tools_kit.htm Amstrad CPC Tools Kit] [[Retro Game Asset Studio]] [https://cpcrulez.fr/emulateurs_UTIL-GRA-akusprite_editor.htm AkuSprite Editor] [https://github.com/GameDevCodeur/z80Editor Z80Editor] [http://gcajdev.epizy.com/sprite_creator.php Online Sprite Creator] [https://www.aseprite.org/ Aseprite] [https://libresprite.github.io/ LibreSprite] [https://www.mapeditor.org/ Tiled] [https://github.com/Cwiiis/maped/ Maped] Cross-platform CPC pixel art editors | ||
+ | *[https://github.com/digital-sound-antiques/vgm-conv vgm-conv] [https://github.com/QuinnPainter/YMtoVGM YMtoVGM] [https://cpcrulez.fr/emulateurs_UTIL-MUSIC-YMCruncher.htm YMcruncher] [https://osdk.org/index.php?page=documentation&subpage=ym2mym Ym2Mym] [https://github.com/EdouardBERGE/wav2ay wav2ay] [https://kichiki.github.io/waon/ WaoN (wav2midi)] [https://cpcrulez.fr/coding-crossdev-music-ym_to_midi.htm YMtoMIDI] Music converters | ||
+ | *[http://cngsoft.no-ip.org/chipnsfx.htm CHIPNSFX] [https://grimware.org/doku.php/sources/pt3 Vortex Tracker II] [https://github.com/AugustoRuiz/WYZTracker WYZTracker] [https://julien-nevo.com/at3test/ Arkos Tracker] [https://tildearrow.org/furnace/ Furnace] Cross-platform CPC music creation suites | ||
+ | |||
+ | <br> | ||
= Emulator Detection = | = Emulator Detection = | ||
If you want to promote usage of real CPC computers, you can detect CPC emulators by: | If you want to promote usage of real CPC computers, you can detect CPC emulators by: | ||
− | *Checking if the memory is | + | *Checking if the memory is initialised with zeroes, as RAM in real machines is not initialised during boot. [https://www.cpcwiki.eu/forum/emulators/weird-thing-about-memory-dump-on-winapecaprice-vs-cpcemuace/msg243929/ Source] |
− | *Focusing on the minute details in | + | *Configuring the CRTC to stop refreshing part of the RAM. This behaviour has never been emulated. [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/memory-refresh-plus/ Source] |
− | *Examining the FDC chip. It is only replicated more or less superficially in all emulators because the internals of the chip are still unknown | + | The way to cause the RAM refresh to fail in both a Plus or normal CPC is simply to stop a few bits of the CRTC address changing (ie. never refresh the selected area). |
+ | Generally, only the Row address needs to be cycled, so stopping MA0 through MA7 from changing, and stopping the CPU from reading those rows, will cause data to be lost, quite quickly (generally around 4ms). | ||
+ | *Playing with the "floating" bus. Using Z80 read I/O commands to write to chip registers. Accessing ghost registers. Using undocumented I/O ports. Writing to multiple chips simultaneously. Changing PPI and PSG ports direction. | ||
+ | *Focusing on the minute details in [[Z80]], [[CRTC]], [[8255|PPI]] and [[PAL16L8|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 TRACK commands. | ||
Combining these methods will definitely get you a 100% success rate in detecting emulators, even the toughest ones. | Combining these methods will definitely get you a 100% success rate in detecting emulators, even the toughest ones. | ||
<gallery> | <gallery> | ||
− | Emulator undetected.png|Emulator undetected | + | Emulator undetected.png|Emulator undetected in Open Tower Defense |
− | Emulator detected.png|Emulator detected | + | Emulator detected.png|Emulator detected in Open Tower Defense |
</gallery> | </gallery> | ||
− | + | Additionally, an [[Emulator_IDs|Emulator IDs]] system is available for easier detection of CPC emulators. | |
+ | |||
+ | On ZX Spectrum, gamedevs are challenging emulators real hard with titles like [https://spectrumcomputing.co.uk/entry/31198/ZX-Spectrum/MEMPTR_Snake MEMPTR Snake], [https://github.com/redcode/Z80/wiki/Super-HALT-Invaders-Test Super HALT Invaders Test] and [https://spectrumcomputing.co.uk/entry/31261/ZX-Spectrum/Chromatrons_Attack Chromatrons Attack]. | ||
+ | |||
+ | <br> | ||
= Emulators running on the Amstrad CPC = | = Emulators running on the Amstrad CPC = | ||
Line 1,589: | Line 1,606: | ||
! Emulates | ! Emulates | ||
|- | |- | ||
− | | [[ | + | | [[Amstrad BBC BASIC]] |
+ | | [https://www.cpc-power.com/index.php?page=detail&num=9862] | ||
+ | | 2.30 | ||
+ | | Apr 2, 1986 | ||
+ | | Commercial💲 | ||
+ | | [[BBC BASIC]] | ||
+ | |- | ||
+ | | [[BASIC 1.1 Fuer CPC464]] | ||
+ | | [https://www.cpc-power.com/index.php?page=detail&num=4403] | ||
+ | | | ||
+ | | Oct 1986 | ||
+ | | Open source | ||
+ | | [[Locomotive BASIC 1.1]] | ||
+ | |- | ||
+ | | [[Chip8 CPC]] | ||
+ | | [https://www.cpcwiki.eu/forum/games/chip8-emulator-for-amstrad-cpc/] [https://github.com/ajcasado/Chip8_CPC Repo] | ||
+ | | | ||
+ | | Nov 12, 2024 | ||
+ | | Open source | ||
+ | | [[CHIP-8]] | ||
+ | |- | ||
+ | | [[CPCZVM]] | ||
| [https://www.cpcwiki.eu/index.php/Z-Machine] | | [https://www.cpcwiki.eu/index.php/Z-Machine] | ||
| | | | ||
Line 1,596: | Line 1,634: | ||
| [[Z-Machine]] | | [[Z-Machine]] | ||
|- | |- | ||
− | | [[ | + | | [[CPvM]] |
− | | [ | + | | [http://www.symbos.org/cpvm.htm] [https://github.com/danielgaskell/CPvM Repo] |
+ | | 1.0 | ||
+ | | Apr 17, 2024 | ||
+ | | Open source | ||
+ | | [[CP/M]] | ||
+ | |- | ||
+ | | [[Fuzix OS]] | ||
+ | | [https://www.cpcwiki.eu/forum/applications/port-of-fuzix-for-the-cpc6128/] [https://github.com/EtchedPixels/FUZIX Repo] | ||
+ | | | ||
+ | | Nov 12, 2024 | ||
+ | | Open source | ||
+ | | [[POSIX]] (UNIX) | ||
+ | |- | ||
+ | | [[Pac-Man]] | ||
+ | | [https://www.cpc-power.com/index.php?page=detail&num=7270] | ||
| 1.1 | | 1.1 | ||
| Jun 5, 2014 | | Jun 5, 2014 | ||
Line 1,603: | Line 1,655: | ||
| [[Pac-Man arcade|Pac-Man arcade]] | | [[Pac-Man arcade|Pac-Man arcade]] | ||
|- | |- | ||
− | | [[ | + | | [[Kersten PC Emulator|PC-Emulator]] |
+ | | [https://cpcrulez.fr/hardware-autres-PC_Emulator.htm] | ||
+ | | | ||
+ | | Sep 1986 | ||
+ | | Hardware💲 | ||
+ | | [[IBM PC]] | ||
+ | |- | ||
+ | | [[Phoenix]] | ||
| [https://norbertkehrer.github.io/phoenix_cpc.html] | | [https://norbertkehrer.github.io/phoenix_cpc.html] | ||
| | | | ||
Line 1,611: | Line 1,670: | ||
|- | |- | ||
| [[Space Invaders|Space Invaders]] | | [[Space Invaders|Space Invaders]] | ||
− | | [ | + | | [https://www.cpc-power.com/index.php?page=detail&num=13098] |
− | | 1. | + | | 1.02 |
− | | | + | | Mar 18, 2017 |
| Freeware | | Freeware | ||
| [[Space Invaders arcade|Space Invaders arcade]] | | [[Space Invaders arcade|Space Invaders arcade]] | ||
|- | |- | ||
− | | [[ | + | | [[Vezza]] |
− | | [https:// | + | | [https://sijnstra.itch.io/vezza] [https://gitlab.com/sijnstra1/vezza Repo] |
+ | | | ||
+ | | Jan 7, 2024 | ||
+ | | Open source | ||
+ | | [[Z-Machine]] | ||
+ | |- | ||
+ | | [[ZXM]] | ||
+ | | [https://www.cpc-power.com/index.php?page=detail&num=14208] | ||
| | | | ||
| 1993 | | 1993 | ||
Line 1,624: | Line 1,690: | ||
| [[ZX Spectrum|ZX Spectrum]] | | [[ZX Spectrum|ZX Spectrum]] | ||
|- | |- | ||
− | | [[ | + | | [[Zym]] |
| [http://www.symbos.org/appinfo.htm?00054] | | [http://www.symbos.org/appinfo.htm?00054] | ||
| 0.9 | | 0.9 | ||
Line 1,632: | Line 1,698: | ||
|} | |} | ||
− | [[Category:Emulator | + | [[Category:Emulator]] [[Category:CrossDev]] [[Category:Emulation Tools]] |
Latest revision as of 13:11, 23 December 2024
Vote for your favorite emulator Poll on CPCWiki forum
Emulator evaluation tools Software list for evaluating CPC emulator accuracy
Emulator tooling UI screenshots of tooling in CPC emulators
Contents
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 |
Note: Java applets have been discontinued and removed in all major web browsers. So JEMU and WebCPC could belong to the "Discontinued OS" part of this article.
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] JuegoTk | Sep 24, 2011 | ❌ | ❌ | - | Open source | |
Ronald | [10] Repo | Apr 1, 2024 | ⚠️ | ❌ | - | Open source | |
RVMplayer | [11] Amstrad ESP | 0.1.1 | May 6, 2023 | ❌ | ❌ | ZX Spectrum | Freeware |
Tiny Emus | [12] CPC UI yakc zpz mini CPC Online OldGames | 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] | Oct 16, 2024 | - | ❌ | - | Open source | |
LRMAME | Emulation core | [16] | 0.272 | Dec 3, 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 | |
Ludo | Frontend | [20] Repo | 0.17.3 | Dec 8, 2024 | ❌ | - | Depends on emulation cores | Open source |
RetroArch | Frontend | [21] RetroAchievements | 1.19.1 | Jun 5, 2024 | ❌ | - | Depends on emulation cores | Donationware & Open source |
Several distributions also exist based on RetroArch or Ludo: RetroBat, Lakka, RetroPie, Batocera, Recalbox, RGB-Pi OS, LudOS
Operating Systems
Desktop
Emulator name | External link | Windows | macOS | Linux | Current version | Latest release | Developer tools | Amstrad Plus | Also emulates | License |
---|---|---|---|---|---|---|---|---|---|---|
ACE | MorphOS and Haiku IRC chan Repo | ❌ | ❌ | ❌ | 1.26 | Jan 1, 2024 | ✅ | ✅ | Dozens of CPC hardware expansions thru plugins | Freeware (plugins are Open Source) |
ACE-DL | [22] Discord Based on ACE | ✅ | ✅ | ❗ | ODILE | Dec 14, 2024 | ✅ | ✅ | - | Freeware |
AMSpiriT | [23] Discord Forum | ✅ | ❌ | ❌ | 1.01 rc | Apr 24, 2024 | ❌ | ❌ | - | Freeware |
Arnimedes | [24] | ✅ | ❌ | ❌ | 1.02 | Jul 7, 2012 | ❌ | ❌ | - | Freeware |
Arnold | [25] Aeliss fork Arnold TNG | ✅ | ✅ | 🛠️ | May 13, 2017 | ⚠️ | ✅ | KC Compact, Aleste 520EX | Open source | |
Caprice Forever | [26] | ✅ | ❌ | ❌ | 24.10 | Oct 1, 2024 | ✅ | ✅ | - | Freeware & Outdated sources |
Caprice32 | [27] Old repo Linux Reloaded | ✅ | ✅ | ✅ | 4.6.0 | Oct 8, 2022 | ⚠️ | ✅ | Aleste 520EX | Donationware & Open source |
Clock Signal | [28] Linux Raspberry Pi | ❌ | ✅ | ✅ | Oct 19, 2024 | ❌ | ❌ | ZX Spectrum, ZX80/81, Enterprise, MSX 1&2, Oric, ColecoVision, Apple II, VIC-20, Atari 2600, Atari ST, Electron, Archimedes, Macintosh, Master System | 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 | ✅ | 🛠️ | 🛠️ | Dec 16, 2024 | ⚠️ | ✅ | ZX Spectrum, Commodore 64, MSX 1&2 | 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.23 | Oct 27, 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 | [40] | ✅ | 🛠️ | 🛠️ | 2.0.11.2 | Apr 19, 2019 | ⚠️ | ❌ | ZX Spectrum, Enterprise | Donationware & Open source |
Gemux | [41] | ✅ | ❌ | ❗ | Nov 5, 2024 | ❌ | ❌ | - | Freeware | |
MAME | [42] AmigaOS PPC MorphOS Haiku | ✅ | ✅ | ✅ | 0.272 | Nov 30, 2024 | ⚠️ | ✅ | Tons of vintage computers, game consoles and arcade systems | Open source |
NO$CPC | [43] | ✅ | ❌ | ❌ | 1.8 | Nov 2, 2000 | ⚠️ | ✅ | - | Donationware |
PC-CPC | [44] Repo | ✅ | ❌ | ❌ | 0.1at b29 | Nov 17, 2011 | ⚠️ | ❌ | - | Open source |
Retro Virtual Machine | [45] | ✅ | ✅ | ✅ | 2.1.19 | Dec 9, 2024 | ❌ Removed | ✅ | ZX Spectrum, MSX 1, ColecoVision, SG-1000, Master System | Donationware |
Roland | [46] Repo | ✅ | ❌ | 🛠️ | 0.70 | Apr 20, 2017 | ❌ | ❌ | - | Open source |
Ronald | [47] | ❌ | ❌ | 🛠️ | Apr 1, 2024 | ⚠️ | ❌ | - | Open source | |
SugarBox | [48] Old site SugarPi | ✅ | ✅ | ✅ | 2.0.4 | Nov 24, 2024 | ⚠️ | ✅ | - | Open source |
Virtual CPC | [49] Archive | ✅ | ❌ | ❌ | 1.1 | Aug 8, 2011 | ⚠️ | ❌ | - | Freeware |
WinAPE | [50] CPCwin | ✅ | ❌ | ❌ | 2.0b2 | Jan 5, 2016 | ✅ | ✅ | - | Donationware |
WinCPC / MacCPC | [51] vbCPC | ✅ | ✅ | ❌ | 0.9.2 | Jan 22, 2010 | ✅ | ❌ | - | Freeware |
Xcpc | [52] Repo | ❌ | ❌ | ✅ | 0.52.1 | Sep 8, 2024 | ❌ | ❌ | - | Open source |
XNACPC | [53] CPC3D | ✅ | ❌ | ❌ | 1.0 | Nov 11, 2011 | ❌ | ❌ | - | Open source |
ZEsarUX | [54] 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 |
Legend: ❗= No Raspberry Pi / ARM build ; 🛠️ = Build it yourself ; ⚠️ = Incomplete tooling
Mobile
You can use RetroArch for Amstrad CPC emulation on Android and iOS. Or you can use these stand-alone CPC emulators:
Host system | Emulator name | External link | Current version | Latest release | Amstrad Plus | Also emulates | License |
---|---|---|---|---|---|---|---|
Android | andcpc | [55] | 1.5.1 | Apr 4, 2011 | ❌ | - | Open source |
Android | Azimuth | [56] | 1.11 | Aug 22, 2023 | ❌ | - | Adware and in-app purchases💲 |
Android | CPCDroid | [57] | 1.5.1 | Mar 2, 2011 | ❌ | - | Open source |
Android | CPCemu | [58] | 2.5 | Aug 14, 2022 | ❌ | - | Freeware |
Android | Droid-CPC | [59] | 1.1.01 | Dec 15, 2016 | ❌ | - | Commercial💲 |
Android | MAME4droid 2024 | [60] Repo | 1.19 (0.272) | Dec 2, 2024 | ✅ | Tons of vintage computers, game consoles and arcade systems | Open source |
iOS | CPCemu | [61] | 2.5 | Aug 13, 2022 | ❌ | - | Software available on request |
iOS | CrocoDS | [62] Repo | 2.1 | Jun 21, 2013 | ❌ | - | Open source |
iOS | MAME4iOS | [63] | 2022.5 | Dec 12, 2022 | ✅ | Tons of vintage computers, game consoles and arcade systems | Open source |
Discontinued OS
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 |
AROS | Arnold | [71] | Oct 24, 2010 | ✅ | - | Open source | |
AROS | Caprice32 | [72] | 4.2.0 | Oct 23, 2010 | ❌ | - | Open source |
BlackBerry OS | BB-CPC | [73] (dead link) | 1.0.1.3 | Jul 15, 2013 | ❌ | - | Commercial💲 |
Classic Mac OS | CPC++ | [74] | 1.3.2 | Oct 6, 1997 | ❌ | - | Shareware💲 |
DOS | AdvanceMESS | [75] | 3.9 | Sep 8, 2018 | ✅ | Tons of vintage computers and game consoles | Open source |
DOS | Arnimedes | [76] | 0.8a | Apr 15, 2000 | ❌ | - | Freeware |
DOS | Caprice32 | [77] | 1.11 | Sep 20, 1999 | ❌ | - | Open source |
DOS | CPC | [78] | 0.55b | May 16, 1997 | ❌ | - | Freeware |
DOS | CPC-em | [79] | 0.4 | Jul 7, 2004 | ❌ | - | Open source |
DOS | CPCE | [80] | 1.94 | Jun 2, 2011 | ❌ | - | Freeware |
DOS | CPCemu | [81] | 1.5 | Jul 7, 1998 | ❌ | - | Freeware |
DOS | CPE | [82] | 5.2 | Apr 21, 1997 | ❌ | - | Open source |
DOS | NO$CPC | [83] | 1.8 | Nov 2, 2000 | ✅ | - | Freeware |
DOS | PC-CPC | [84] | Feb 3, 1998 | ❌ | - | Open source | |
DOS | RWCPC | [85] | Mar 23, 1995 | ❌ | - | Freeware | |
DOS | SIMCPC | [86] | Dec 10, 1989 | ❌ | - | Shareware💲 | |
DOS | YAGE | [87] | 0.91 | Oct 24, 1998 | ❌ | - | Freeware |
EXOS | Software CPC Emulator | [88] [89] | 1.3 | Jan 11, 2013 | ❌ | - | Open source |
Maemo | CPCm | [90] | 1.20-1 | Apr 27, 2010 | ❌ | - | Open source |
MSX-DOS | EMU6CPC | [91] | Dec 17, 2018 | ❌ | - | Freeware | |
OS/2 | SDLMAME | [92] | 0.170 | Jan 30, 2016 | ✅ | Tons of vintage computers, game consoles and arcade systems | Open source |
Palm OS | CaPriCe for Palm OS | [93] | 2.8 | Jun 28, 2011 | ❌ | - | Open source |
Palm OS | CoPaCabana | [94] | 0.75 | Dec 4, 2007 | ❌ | - | Freeware |
Pocket PC | PocketCaprice | [95] | 0.9 | Aug 19, 2007 | ❌ | - | Freeware |
SunOS | CPC++ | [96] | 1.3.0 | Feb 22, 1997 | ❌ | - | Shareware💲 |
Symbian | S60-CPC | [97] | 0.74 | Feb 21, 2006 | ❌ | - | Open source |
Windows 9x | CPC-em | [98] | 0.3 | Jan 22, 2004 | ❌ | - | Open source |
Windows 9x | MTMW | [99] | 1.30B | Jan 11, 2000 | ✅ | ZX Spectrum, ZX80/81, Enterprise, Jupiter ACE | Freeware |
Other Platforms
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 | [100] [101] | v5 | Apr 20, 2010 | ✅ | - | Freeware |
Microsoft XBOX | CoinOPS (RetroFE) | [102] | 5 | Oct 18, 2012 | ❌ | Tons of vintage computers, game consoles and arcade systems | Freeware |
Microsoft Xbox 360 | XNACPC | [103] | 1.0 | Nov 11, 2011 | ❌ | - | Open source |
Nintendo Wii | Wiituka | [104] | 0.98.8 | May 15, 2009 | ❌ | - | Open source |
Sega Dreamcast | CPCast | [105] | May 6, 2006 | ❌ | - | Freeware | |
Sega Dreamcast | DreamCPC | [106] | Alpha 3 | Oct 16, 2005 | ❌ | - | Freeware |
Sony PS2 | CPC-em | [107] | 0.4 | Dec 22, 2004 | ❌ | - | Freeware |
Sony PS3 | Caprice32 | [108] | 4.1.0 DBG | Apr 9, 2012 | ❌ | - | Open source |
Handheld Consoles
Note: For Android handheld consoles (Razer Edge, Ayn Odin Pro, Retroid Pocket Flip, GPD XP, ...), see the Mobile/Android section.
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 | [109] | 0.8pre | Aug 19, 2010 | ❌ | - | Open source |
Dingoo A320 / A330 | Dingux-CAP32 | [110] | 1.1.2 | Oct 17, 2009 | ❌ | - | Open source |
GamePark Caanoo | Caanoo-CAP32 | [111] | 1.1.3 | Apr 24, 2011 | ❌ | - | Open source |
GamePark GP2x | CapriceGP2x | [112] | 0.5 | Feb 22, 2006 | ❌ | - | Open source |
GamePark GP2x | GP2X-CAP32 | [113] | 1.5.1 | Aug 29, 2009 | ❌ | - | Open source |
GamePark GP32 | Pituka GP32 | [114] | 1d | May 15, 2010 | ❌ | - | Open source |
GamePark Wiz | Wiz-CAP32 | [115] | 1.1.0 | Aug 29, 2009 | ❌ | - | Open source |
GCW Zero | Dingux-CAP32 | [116] | 1.1.2 | May 25, 2014 | ❌ | - | Open source |
JXD S5110 / S601 & Yinlips G18 | JXD-CAP32 | [117] | 1.1.1 | Oct 27, 2012 | ❌ | - | Open source |
Nintendo DS | AmeDS | [118] | 4.0 | Apr 25, 2010 | ❌ | - | Freeware |
Nintendo DS | CrocoDS | [119] Repo | 2.0 | Nov 9, 2007 | ❌ | - | Open source |
Nintendo GameBoy Advance | Mini Amstrad Emulator | [120] | Dec 26, 2005 | ❌ | - | Open source | |
Odroid GO | CapriceESP32 | [121] | Dec 3, 2020 | ❌ | - | Open source | |
OpenDingux | CrocoDS | [122] Repo | Jan 15, 2020 | ❌ | - | Open source | |
Pandora | Pandora-CAP32 | [123] | 1.1.0 | Jun 27, 2010 | ❌ | - | Open source |
Sony PSP | Caprice32 PSP | [124] | 4.2.0.2 | Nov 28, 2007 | ❌ | - | Open source |
Sony PSP | CPCPSP | [125] | 0.1 | Dec 24, 2005 | ❌ | - | Freeware |
Sony PSP | PSPCAP32 | [126] | 1.5.1 | Aug 21, 2009 | ❌ | - | Open source |
Trimui Model S | Arnold Trimui | [127] | 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 Replacements
- Just CPC4ATX CPC-ITX triple CRTC CPC clones made from NOS chips
- CPC Modular Modular Amstrad CPC compatible computer
- Amstrad CPC464 mini CPC464-2mini Miniaturised CPCs
- Amstrad CPC Portable World's first battery-powered portable Amstrad CPC
- CPC 464/6128 replica PCBs To be used as a direct replacement to the original PCBs
- CPCESP ESP32 TinyCPC CPC emulators for ESP32 SoC board
- SymbOSVM SymbOS for modern 32/64bit hardware
Chips
- 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
- AY_FPGA AY-3-8912 FPGA replacement with few extra features
- Multi-CRTC Board Host and select between multiple CRTC chip types in one CPC
Floppy drives
- 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 [128]
- 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
- SuperCard Pro Claims to be the most advanced flux level copier/imager/converter system
- 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, floppy data separator and AMSDOS ROM for CPC464. Current evolution DDI-6 has also integrated a RAM/ROM box
- DriveRDY Emulates the Ready signal necessary for floppy drives on Amstrad machines
- M4 Board Supports DSK, EDSK images in a limited fashion. Protected disks are not supported
- USIFAC ULIfAC Supports DSK, EDSK images in a limited fashion. Protected disks are not supported
Tapes
- TZXduino MAXduino Abatape Arduino-based tape deck emulator. Supports many formats of tape-images including CDT and TZX
- SVI-CAS Digital Tape Drive for Playback & Recording. Supports many formats of tape-images including CDT and TZX
- TapeRider TZX/CDT tape-images player for Android
- tapDancer [129] 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
Cartridges
- 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
- GX4000 Homebrew Player CPC+ 32-in-one multigames by Retroelectronik
- C4CPC Cartridge replacement for the Amstrad Plus range and the GX4000
- Flash+ cartridge Amstrad CPC+ GX4000 reflashable cartridge
- BackBit Pro Tutorial Universal instant loading cartridge
- M4 Board Supports CPR cartridges, among many other features
Printers
- Amstrad CPC Printer Emulator [130] 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
Other
- LensKey LensLok copy-protection decoder for Windows
- CPCPS2 Keyboard Firmware Emulates the keyboard matrix of Amstrad CPC using modern hardware
- Sinden Lightgun LCD-compatible lightgun
- vga4cpc VGA output for Amstrad CPC based on Raspberry Pi Pico
Peripherals supported in emulators
Mass storage devices
- 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 partially emulated (no direct sector) by ACE, ACE-DL, Caprice Forever
- M4 Board is emulated by CPCemu
- Vortex Winchester Drive, IDE8255, USIfAC / ULIfAC, Symbiface3 / RSF3, Gotek direct access mode are not supported
Network devices
There is a plethora of serial communication devices (using RS232, USB, SPI, Modem, Teletext, Virtual Net 96, etc...) on Amstrad CPC:
- Amstrad/Pace RS232 Serial Port is emulated by MAME
- Other devices are not supported
Higher-level Ethernet or TCP/IP network devices are much less common:
- M4 Board Wifi or compatible (Symbiface 3) is emulated by CPCemu
- CPC-ENet, Net4CPC, Fujinet are not supported
Audio devices
- 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 ports), EMR MIDI Interface, Ultimate MIDI Board, Speak&SID, LambdaSpeak, Amsdap MoonSound, Amsdap MP3 Player, Amsdap SE-One (MP3/Radio), CPC Radio, Romba, CPC Booster are not supported
Note: all RS232 serial port devices (USIFAC, Amstrad Serial Interface, etc...) and USB port devices with direct control (Albireo, etc...) can also be used as MIDI ports.
Graphics devices
CPC graphics display expansions (CRTC Type 5, Amsdap GFX9000) are not supported.
CPC graphics acquisition devices (Dart Scanner, VIDI digitizer, Digitaliseur Ara) are not supported.
CPC printers are poorly supported. 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, PC-CPC, Wiituka.
CPC mouse support is as follows:
- AMX mouse (1-bit axis, 3 buttons (CPC) / 2 buttons (CPC+)) 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
Note: AMX and MultiPlay are the most widely supported mice in CPC programs.
Hacking devices
- 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
Rewind feature
The RetroArch CPC emulator has the most convenient rewind feature: Demonstration. To reverse the game, the user press and hold the rewind button. And at any point, releasing the button makes time goes forward again.
ACE-DL also has a rewind feature, but it is not as good as it could be: Demonstration.
One 128KB snapshot per frame allows 10 seconds of rewind with 64MB (128KB * 50 frames * 10 seconds) of memory for the rewind feature. A more efficient method saves only the previous RAM values that are changed between 2 frames, allowing much longer rewinds (even if the CPC is equipped with 4MB RAM expansion) while using less memory, as shown by the GBA emulator SkyEmu.
For step-back debugging, the emulator just needs 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.
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 MYM VGM Soundchip logging file formats
- CSL Cpc Scripting Language, a macro/scripting system to automate emulators
- KCR Game launching configuration
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 OmniFlop RIDE Set of tools about disk-images
- CPCTapeXP TapeUtil SugarConvTape CDTMaster 2CDT/Samp2CDT CSW2CDT CDT2WAV wav2tzx PZXtools Online Tape to CDT Set of tools about tape-images
- CPRTools cpr-tools cpr2bin No$cart UniDOS Cartridge Creator Set of tools about CPR cartridge-images
- WinImage, DiskExplorer, Ultimate Imager CP/M Image File Explorer Access and edit hard-drive images
- CPC Analyser ImHex CPCRomHacks RunEmu Other tools
- WinAPE WinCPC JavaCPC Caprice Reloaded Caprice Forever Emulators with an integrated Z80 Assembler
Cross-Platform Development
- Java Z80Assembler Glass Pasmo UZ80 Rasm BASM ABASM zasm vasm SjASMPlus cpctools cpclib bndbuild 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 ccz80 Phactory cpc-dev-tool-chain CPCtelera WinCPCtelera Cross-platform CPC development in C
- Quiche Turbo Rascal Syntax Error CPC demo made with TRSE TRSE CPC tutorial CPC cross-development in Pascal
- Millfork Wiz Cowgol Java Grinder CPC cross-development with other programming languages
- Multi-Platform Arcade Game Designer The most user-friendly Windows tool for creating CPC games
- PunyInform DAAD Reborn Compiler for developing adventure games
- SymbOS C Compiler Quigs IDE SymbOS application development
- CPC Basic cross-compiler Online CPCBasic Amstrad Basic Helper SDKCPC IDE 8BP CpcAlive ugBASIC ugBASIC IDE Cross-platform CPC development in BASIC
- ZX0 Salvador ZX0 decompressor in BASIC Comparative study Compression tools
Cross-Platform Art
- ConvImgCPC ImgToCpc img2cpc cpclib-img2cpc Magick2CPC gfx2crtc DaDither Online Dithertron Martine Splitraster+ ConvGeneric UniPixelViewer UniPixelViewer tutorial Image converters from PC to CPC
- Multipaint RePAINT! GrafX2 CPCPaint Amstrad CPC Tools Kit Retro Game Asset Studio AkuSprite Editor Z80Editor Online Sprite Creator Aseprite LibreSprite Tiled Maped Cross-platform CPC pixel art editors
- vgm-conv YMtoVGM YMcruncher Ym2Mym wav2ay WaoN (wav2midi) YMtoMIDI Music converters
- CHIPNSFX Vortex Tracker II WYZTracker Arkos Tracker 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 initialised with zeroes, as RAM in real machines is not initialised during boot. Source
- Configuring the CRTC to stop refreshing part of the RAM. This behaviour has never been emulated. Source
The way to cause the RAM refresh to fail in both a Plus or normal CPC is simply to stop a few bits of the CRTC address changing (ie. never refresh the selected area). Generally, only the Row address needs to be cycled, so stopping MA0 through MA7 from changing, and stopping the CPU from reading those rows, will cause data to be lost, quite quickly (generally around 4ms).
- Playing with the "floating" bus. Using Z80 read I/O commands to write to chip registers. Accessing ghost registers. Using undocumented I/O ports. Writing to multiple chips simultaneously. Changing PPI and PSG ports direction.
- 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 TRACK commands.
Combining these methods will definitely get you a 100% success rate in detecting emulators, even the toughest ones.
Additionally, an Emulator IDs system is available for easier detection of CPC emulators.
On ZX Spectrum, gamedevs are challenging emulators real hard with titles like MEMPTR Snake, Super HALT Invaders Test and Chromatrons Attack.
Emulators running on the Amstrad CPC
Emulator name | External link | Current version | Latest release | License | Emulates |
---|---|---|---|---|---|
Amstrad BBC BASIC | [131] | 2.30 | Apr 2, 1986 | Commercial💲 | BBC BASIC |
BASIC 1.1 Fuer CPC464 | [132] | Oct 1986 | Open source | Locomotive BASIC 1.1 | |
Chip8 CPC | [133] Repo | Nov 12, 2024 | Open source | CHIP-8 | |
CPCZVM | [134] | Jul 6, 2019 | Open source | Z-Machine | |
CPvM | [135] Repo | 1.0 | Apr 17, 2024 | Open source | CP/M |
Fuzix OS | [136] Repo | Nov 12, 2024 | Open source | POSIX (UNIX) | |
Pac-Man | [137] | 1.1 | Jun 5, 2014 | Open source | Pac-Man arcade |
PC-Emulator | [138] | Sep 1986 | Hardware💲 | IBM PC | |
Phoenix | [139] | Jan 6, 2019 | Freeware | Phoenix arcade | |
Space Invaders | [140] | 1.02 | Mar 18, 2017 | Freeware | Space Invaders arcade |
Vezza | [141] Repo | Jan 7, 2024 | Open source | Z-Machine | |
ZXM | [142] | 1993 | Freeware | ZX Spectrum | |
Zym | [143] | 0.9 | Feb 19, 2022 | Open source | Z-Machine |