Difference between revisions of "Emulators"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
(Hardware and Parts)
(JS / Wasm / Web Platform)
 
(29 intermediate revisions by the same user not shown)
Line 1: Line 1:
= Vote for your favorite emulator =
+
[https://www.cpcwiki.eu/forum/emulators/which-emulator-s-do-you-use/ Vote for your favorite emulator] Poll on CPCWiki forum
 
+
[https://www.cpcwiki.eu/forum/emulators/which-emulator-s-do-you-use/ There is a poll on CPCWiki forum]
+
  
 
<br>
 
<br>
Line 7: Line 5:
 
= Software Platforms (Full OS independance) =
 
= Software Platforms (Full OS independance) =
  
== Java Platform  ==
+
=== Java Platform  ===
  
 
{| class="wikitable sortable"
 
{| class="wikitable sortable"
Line 56: Line 54:
 
|}
 
|}
  
== 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 125: Line 125:
 
|-
 
|-
 
| [[Tiny Emus]]
 
| [[Tiny Emus]]
| [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://bzhgames.xyz/index.php BZH Games]
+
| [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://arcade-des-monts.ca/run/store.php Retro Store] [https://www.sean.co.uk/books/amstrad/index.shtm Sean's CPC Games] [https://www.amstradcpcgames.eu/ Amstrad CPC Games]
+
[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
 
| Mar 22, 2024
Line 144: Line 146:
 
|}
 
|}
  
== LibRetro (API for emulators) ==
+
=== LibRetro (API for emulators) ===
  
 
{| class="wikitable sortable"
 
{| class="wikitable sortable"
Line 234: Line 236:
 
= Operating Systems =
 
= Operating Systems =
  
== Desktop ==
+
=== Desktop ===
  
 
{| class="wikitable sortable"
 
{| class="wikitable sortable"
Line 492: Line 494:
 
|-
 
|-
 
| [[MESS|MAME]]
 
| [[MESS|MAME]]
| [http://mamedev.org/release.html] [http://sdlmame.lngn.net/ macOS] [http://wiki.mamedev.org/index.php/SDL_Supported_Platforms Other ports]
+
| [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]
[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]
+
 
| ✅
 
| ✅
 
| ✅
 
| ✅
 
| ✅
 
| ✅
| 0.269
+
| 0.270
| Aug 29, 2024
+
| Sep 26, 2024
 
| ⚠️
 
| ⚠️
 
| ✅
 
| ✅
Line 655: Line 656:
 
⚠️ = Incomplete tooling
 
⚠️ = Incomplete tooling
  
== Mobile ==
+
=== Mobile ===
  
 
{| class="wikitable sortable"
 
{| class="wikitable sortable"
Line 749: Line 750:
 
|}
 
|}
  
<br>
+
=== Discontinued OS ===
 
+
== Discontinued OS ==
+
  
 
{| class="wikitable sortable"
 
{| class="wikitable sortable"
Line 1,072: Line 1,071:
 
<br>
 
<br>
  
= Home Consoles =
+
= 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, 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:
 
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:
Line 1,159: Line 1,160:
 
|}
 
|}
  
<br>
+
=== Handheld Consoles ===
 
+
= 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.
 
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.
Line 1,349: Line 1,348:
 
|}
 
|}
  
<br>
+
=== FPGA ===
 
+
= FPGA =
+
  
 
*[[CPC TREX|CPC TREX]] [[C-ONE|CPC-One]] TurboCPC core by TobiFlex running on different FPGA boards
 
*[[CPC TREX|CPC TREX]] [[C-ONE|CPC-One]] TurboCPC core by TobiFlex running on different FPGA boards
Line 1,362: Line 1,359:
 
<br>
 
<br>
  
= Hardware and Parts =
+
= Hardware Replacements =
  
 
*[https://youtu.be/DykFhtNbgGk Just CPC4ATX] CPC clone made from NOS chips
 
*[https://youtu.be/DykFhtNbgGk Just CPC4ATX] CPC clone made from NOS chips
Line 1,372: Line 1,369:
 
*[https://github.com/EremusOne/CPCESP_alpha CPCESP] ESP32 based Amstrad CPC emulator
 
*[https://github.com/EremusOne/CPCESP_alpha CPCESP] ESP32 based Amstrad CPC emulator
 
*[https://www.symbos.org/symbosvm.htm SymbOSVM] SymbOS for modern 32/64bit hardware
 
*[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/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/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
Line 1,378: Line 1,378:
 
*[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://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://thecheshirec.at/2023/11/21/5-multi-crtcs-a-vendre/ Multi-CRTC Board] Host and select between multiple CRTC chip types in one CPC
 
*[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 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://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 DSK, EDSK, HFE disk-images
 
*[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://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://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/forum/viewtopic.php?f=5&t=100&start=690#p55437 Pauline] FPGA-based floppy-drive dumper and emulator
*[http://www.shlock.co.uk/Utils/OmniFlop/OmniFlop.htm OmniFlop] Universal floppy disk reader, writer, and tester for Windows. Supports over 280 floppy disk formats  
+
*[http://www.shlock.co.uk/Utils/OmniFlop/OmniFlop.htm OmniFlop] Universal floppy disk reader, writer, and tester for Windows. Supports over 280 floppy disk formats
*[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
+
*[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
 
*[https://lotharek.pl/productdetail.php?id=376 DriveRDY] Emulates the Ready signal necessary for floppy drives on Amstrad machines
*[https://hobbyretro.com/en/retro/tzxduino TZXduino] Arduino-based tape deck emulator. Supports many formats of tape-images including CDT and TZX
+
 
 +
=== Tapes ===
 +
 
 +
*[https://hobbyretro.com/en/retro/tzxduino TZXduino] [https://ultimatemister.com/product/ultimate-maxduino-pro/ MAXduino] Arduino-based tape deck emulator. Supports many formats of tape-images including CDT and TZX
 
*[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://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
 
*[https://pelrun.github.io/PlayUEF/ PlayUEF] Web-browser based tape deck emulator, supporting CDT and TZX tape-images
*[https://github.com/dasta400/ACPCPE Amstrad CPC Printer Emulator] 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
+
=== Cartridges ===
*[https://github.com/nzeemin/escparser ESCParser] Command-line utility, ESC/P printer emulator that can output PostScript, SVG or PDF
+
 
 
*[https://github.com/f1ac0/CPC-plus-cartridge CPC-plus-cartridge] Different PCB designs and code to make a CPC-plus cartridge
 
*[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://github.com/zeus074/Amstrad_Multicart Amstrad Multicart] 16-in-1 cartridge for the GX4000 or Amstrad Plus computer
 
*[[C4CPC]] Cartridge replacement for the Amstrad Plus range and the GX4000
 
*[[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://overange.weebly.com/amstrad-gx4000-cpc-464-6128-plus-reflashable-flash-cartridge.html Flash+ cartridge] Amstrad CPC+ GX4000 reflashable cartridge
 +
 +
=== Printers ===
 +
 +
*[https://github.com/dasta400/ACPCPE Amstrad CPC Printer Emulator] 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
 +
 +
=== Other ===
 +
 
*[https://simonowen.com/spectrum/lenskey/ LensKey] LensLok copy-protection decoder for Windows
 
*[https://simonowen.com/spectrum/lenskey/ LensKey] LensLok copy-protection decoder for Windows
 
*[https://github.com/grzegorz-gr/vga4cpc vga4cpc] VGA output for Amstrad CPC based on Raspberry Pi Pico
 
*[https://github.com/grzegorz-gr/vga4cpc vga4cpc] VGA output for Amstrad CPC based on Raspberry Pi Pico
Line 1,403: Line 1,419:
 
<br>
 
<br>
  
= Peripherals support =
+
= Peripherals supported in emulators =
 +
 
 +
=== Mass storage devices ===
  
== Mass storage devices ==
 
Emulator support is as follows:
 
 
*[[Dobbertin Harddisc]] is emulated by MAME
 
*[[Dobbertin Harddisc]] is emulated by MAME
 
*[[UIDE Universal IDE adapter cards for Z-80 computers|uIDE]] is emulated by Arnold
 
*[[UIDE Universal IDE adapter cards for Z-80 computers|uIDE]] is emulated by Arnold
Line 1,412: Line 1,428:
 
*[[Albireo]] is emulated by ACE, ACE-DL, Caprice Forever
 
*[[Albireo]] is emulated by ACE, ACE-DL, Caprice Forever
 
*[[M4 Board]] is emulated by CPCemu
 
*[[M4 Board]] is emulated by CPCemu
*[[Vortex Winchester Drive]], [[IDE8255]], [[ULIfAC|USIfAC / ULIfAC]], [[Symbiface 3|Symbiface3 / RSF3]] are not supported by emulators
+
*[[Vortex Winchester Drive]], [[IDE8255]], [[ULIfAC|USIfAC / ULIfAC]], [[Symbiface 3|Symbiface3 / RSF3]] are not supported
 +
 
 +
=== Audio devices ===
  
== Audio devices ==
 
Emulator support is as follows:
 
 
*[[Amstrad SSA-1 Speech Synthesizer|SSA-1 speech synthesizer]] is emulated by ACE, ACE-DL, Caprice Forever, JavaCPC, MAME
 
*[[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
 
*[[Dk'tronics Speech Synthesizer|Dk'Tronics speech synthesizer]] is emulated by ACE, ACE-DL, Caprice Forever, JavaCPC, MAME
Line 1,425: Line 1,441:
 
*[[Willy|Willy OPL3]] is emulated 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)
 
*[[Willy|Willy MIDI]] is emulated by ACE (software synth emulation on Haiku, MIDI OUT support on MorphOS)
*[[Music Machine|Music Machine (Sampling/Playback/MIDI)]], [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://www.amibay.com/threads/cpcradio-fm-radio-receiver-module.2446509/ CPC Radio] are not supported by emulators
+
*[[Music Machine|Music Machine (Sampling/Playback/MIDI)]], [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://www.amibay.com/threads/cpcradio-fm-radio-receiver-module.2446509/ CPC Radio] are not supported
  
== Graphics devices ==
+
=== 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 by emulators.
+
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 by emulators.
+
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 by emulators. The only emulators that at least do some print rendering emulation are JavaCPC and Caprice Forever.
+
CPC printers are poorly supported. The only emulators that at least do some print rendering emulation are JavaCPC and Caprice Forever.
  
== Input devices ==
+
=== Input devices ===
  
 
Some lightguns / lightpens are emulated by ACE, ACE-DL, Caprice Forever, JavaCPC, CPCEC, CPCEPower, Virtual CPC, PC-CPC, Wiituka.
 
Some lightguns / lightpens are emulated by ACE, ACE-DL, Caprice Forever, JavaCPC, CPCEC, CPCEPower, Virtual CPC, PC-CPC, Wiituka.
Line 1,444: Line 1,460:
 
*[[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
 
*[[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
 
*[[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 by emulators
+
*[[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
 
Note: AMX and MultiPlay are the most widely supported mice in CPC programs
  
== Hacking devices ==
+
=== Hacking devices ===
Emulator support is as follows:
+
 
 
*[[Multiface II]] is emulated by ACE, ACE-DL, Caprice Forever, JavaCPC, MAME, WinAPE, Arnold
 
*[[Multiface II]] is emulated by ACE, ACE-DL, Caprice Forever, JavaCPC, MAME, WinAPE, Arnold
 
*[[Hackit|HackIt]] is emulated by ACE-DL, Arnold
 
*[[Hackit|HackIt]] is emulated by ACE-DL, Arnold
Line 1,455: Line 1,471:
 
*[[Transtape]] is emulated by MAME
 
*[[Transtape]] is emulated by MAME
 
*[[PDS development system|Programmers Development System]] 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 by emulators
+
*[[Demon Development Cartridge]], [[Action Replay AMX]], [[Disc Wizard]] are not supported
  
 
<br>
 
<br>
  
= Rewind feature =
+
= Emulator accuracy checking tools =
ACE-DL has a rewind feature, but it is not as good as it could be: [https://youtu.be/wIKGvpnJLUo Demonstration of rewind in ACE-DL]
+
  
Only the RetroArch CPC emulator has a proper rewind feature: [https://youtu.be/YwilYlSe5LQ Demonstration of rewind in RetroArch]. To reverse the game, the user press and hold the rewind button. And at any point, releasing the button makes time goes forward again.
+
=== Quick evaluation ===
 
+
A very simple approach would be to make a SNA for each frame and limit the RAM snapshot to 128KB, which is ok for 99% of CPC software. For a 10-seconds long rewind functionality, only 64MB RAM is needed (128KB * 50 frames * 10 seconds).
+
 
+
A more efficient approach is to store only the values that are changed in RAM between two frames, so that RAM can be restored when rewinding. This allows for long rewinds, even of a CPC equipped with a 4MB RAM expansion. Proof of it is the GBA emulator [https://youtu.be/Sfc_1NKbiKg SkyEmu demonstrating super long rewind] while needing very few RAM.
+
 
+
For debugging, going back to the previous instruction is easily implemented. The emulator has to store the time when the previous instruction was executed so that he can go back to that instruction. In the same way, emulators can provide access to the previous HBL, IRQ, VBL, etc.
+
 
+
<br>
+
 
+
= Emulator accuracy checking tools =
+
== Quick evaluation==
+
 
*[https://www.cpc-power.com/index.php?page=detail&num=7529 From Scratch demo] with reference images (CRTC 1): [[Media:From Scratch logo.png]] [[Media:From Scratch tetris.png]] [[Media:From Scratch ovl.png]]
 
*[https://www.cpc-power.com/index.php?page=detail&num=7529 From Scratch demo] with reference images (CRTC 1): [[Media:From Scratch logo.png]] [[Media:From Scratch tetris.png]] [[Media:From Scratch ovl.png]]
 
*[https://www.cpc-power.com/index.php?page=detail&num=19308 DSC4 v2 demo] with reference images (CRTC 1): [[Media:DSC4 reference1.png]] [[Media:DSC4 reference2.png]] [https://blog.logonsystem.eu/vomitiks-5-sink-mode/ Technical explanation]
 
*[https://www.cpc-power.com/index.php?page=detail&num=19308 DSC4 v2 demo] with reference images (CRTC 1): [[Media:DSC4 reference1.png]] [[Media:DSC4 reference2.png]] [https://blog.logonsystem.eu/vomitiks-5-sink-mode/ Technical explanation]
Line 1,479: Line 1,483:
 
*[https://www.cpc-power.com/index.php?page=detail&num=9029 BSC7 Interlace demo] with reference image (CRTC 0/2/3/4): [[Media:BSC7 reference.png]]
 
*[https://www.cpc-power.com/index.php?page=detail&num=9029 BSC7 Interlace demo] with reference image (CRTC 0/2/3/4): [[Media:BSC7 reference.png]]
  
== Z80 CPU ==
+
=== Z80 CPU ===
 
*🔥[https://www.cpc-power.com/index.php?page=database&lemot=raxoft Raxoft tests] (CPC port of [https://github.com/raxoft/z80test z80test]) [https://github.com/redcode/Z80/wiki/Tests Redcode Z80 tests list with expected results] [https://www.cpc-power.com/index.php?page=detail&num=6346 ZEX] Z80 CPU instruction set exercisers
 
*🔥[https://www.cpc-power.com/index.php?page=database&lemot=raxoft Raxoft tests] (CPC port of [https://github.com/raxoft/z80test z80test]) [https://github.com/redcode/Z80/wiki/Tests Redcode Z80 tests list with expected results] [https://www.cpc-power.com/index.php?page=detail&num=6346 ZEX] Z80 CPU instruction set exercisers
 
*[https://www.cpc-power.com/index.php?page=detail&num=298 Arkanoid] [https://www.cpc-power.com/index.php?page=detail&num=460 Boulder Dash] [https://www.cpc-power.com/index.php?page=detail&num=1006 The Great Escape] Using Z80 Interrupt Mode 2
 
*[https://www.cpc-power.com/index.php?page=detail&num=298 Arkanoid] [https://www.cpc-power.com/index.php?page=detail&num=460 Boulder Dash] [https://www.cpc-power.com/index.php?page=detail&num=1006 The Great Escape] Using Z80 Interrupt Mode 2
Line 1,485: Line 1,489:
 
*[https://zxe.io/software/Z80/documentation/latest/Thanks.html Weird Z80 behaviour] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&num=48 I/O port allocation] [https://www.grimware.org/doku.php/documentations/devices/gatearray RAM/ROM mapping] Technical documentation
 
*[https://zxe.io/software/Z80/documentation/latest/Thanks.html Weird Z80 behaviour] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&num=48 I/O port allocation] [https://www.grimware.org/doku.php/documentations/devices/gatearray RAM/ROM mapping] Technical documentation
  
== Diagnostics ==
+
=== Diagnostics ===
 
*[https://www.cpc-power.com/index.php?page=detail&num=5113 Amstest] [https://www.cpc-power.com/index.php?page=detail&num=17932 Amstrad Diagnostics] [https://www.cpc-power.com/index.php?page=detail&num=6545 STS SysInfo] [https://www.cpc-power.com/index.php?page=database&r1=1&lemot=test%20crtc%20v Test CRTC type] [http://quasar.cpcscene.net/doku.php?id=coding:test_crtc] [http://cpc.sylvestre.org/technique/technique_identifier_crtc.html Identifying CRTC visually] [https://www.cpc-power.com/index.php?page=detail&num=11446 Basic Program Status Window] [https://www.cpc-power.com/index.php?page=detail&num=12584 Version du Firmware Basic]
 
*[https://www.cpc-power.com/index.php?page=detail&num=5113 Amstest] [https://www.cpc-power.com/index.php?page=detail&num=17932 Amstrad Diagnostics] [https://www.cpc-power.com/index.php?page=detail&num=6545 STS SysInfo] [https://www.cpc-power.com/index.php?page=database&r1=1&lemot=test%20crtc%20v Test CRTC type] [http://quasar.cpcscene.net/doku.php?id=coding:test_crtc] [http://cpc.sylvestre.org/technique/technique_identifier_crtc.html Identifying CRTC visually] [https://www.cpc-power.com/index.php?page=detail&num=11446 Basic Program Status Window] [https://www.cpc-power.com/index.php?page=detail&num=12584 Version du Firmware Basic]
 
*[https://symbos.org SymbOS] [https://www.cpc-power.com/index.php?page=detail&num=6987 RAM Expansion Test] [https://www.cpc-power.com/index.php?page=detail&num=14833 MemTest] [https://www.cpc-power.com/index.php?page=detail&num=14834 RAM Test CRTC4] [https://www.cpcwiki.eu/forum/technical-support/test-ram-de-mcleod-ideafix/ Test RAM de McLeod Ideafix] [https://www.cpc-power.com/index.php?page=detail&num=15739 RAM Check] [https://www.cpc-power.com/index.php?page=detail&num=13386 Testprogram For All ERAM] [https://www.cpc-power.com/index.php?page=detail&num=16010 Test RAM Basic] [https://www.cpc-power.com/index.php?page=detail&num=19185 Xenon 2] [https://www.cpc-power.com/index.php?page=detail&num=12188 Take On Me] [https://www.cpc-power.com/index.php?page=detail&num=14339 Trololo Experiments] [https://www.cpc-power.com/index.php?page=detail&num=19406 Still The One] [https://www.cpc-power.com/index.php?page=detail&num=16084 Post Scriptum] [https://www.cpc-power.com/index.php?page=detail&num=18658 Onescreen Colonies #2 256K] [https://cpcrulez.fr/info-chany-enhanced_edition.htm Chany 512K cracks] [https://www.cpc-power.com/index.php?page=detail&num=14814 Anti-Multiface] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&num=151 Expanded RAM software list] RAM exercisers
 
*[https://symbos.org SymbOS] [https://www.cpc-power.com/index.php?page=detail&num=6987 RAM Expansion Test] [https://www.cpc-power.com/index.php?page=detail&num=14833 MemTest] [https://www.cpc-power.com/index.php?page=detail&num=14834 RAM Test CRTC4] [https://www.cpcwiki.eu/forum/technical-support/test-ram-de-mcleod-ideafix/ Test RAM de McLeod Ideafix] [https://www.cpc-power.com/index.php?page=detail&num=15739 RAM Check] [https://www.cpc-power.com/index.php?page=detail&num=13386 Testprogram For All ERAM] [https://www.cpc-power.com/index.php?page=detail&num=16010 Test RAM Basic] [https://www.cpc-power.com/index.php?page=detail&num=19185 Xenon 2] [https://www.cpc-power.com/index.php?page=detail&num=12188 Take On Me] [https://www.cpc-power.com/index.php?page=detail&num=14339 Trololo Experiments] [https://www.cpc-power.com/index.php?page=detail&num=19406 Still The One] [https://www.cpc-power.com/index.php?page=detail&num=16084 Post Scriptum] [https://www.cpc-power.com/index.php?page=detail&num=18658 Onescreen Colonies #2 256K] [https://cpcrulez.fr/info-chany-enhanced_edition.htm Chany 512K cracks] [https://www.cpc-power.com/index.php?page=detail&num=14814 Anti-Multiface] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&num=151 Expanded RAM software list] RAM exercisers
Line 1,492: Line 1,496:
 
*🔥[http://www.winape.net/downloads.jsp Richard Wilson's Plus Test suite] [https://www.cpc-power.com/index.php?page=detail&num=15242] CPC and CPC+ Emulator test suite (including Instruction and Interrupt timing tests)
 
*🔥[http://www.winape.net/downloads.jsp Richard Wilson's Plus Test suite] [https://www.cpc-power.com/index.php?page=detail&num=15242] CPC and CPC+ Emulator test suite (including Instruction and Interrupt timing tests)
  
== Amstrad Plus ==
+
=== Amstrad Plus ===
 
*[https://www.cpc-power.com/index.php?page=detail&num=9627 Arnold 5 Diagnostic] [https://www.cpc-power.com/index.php?page=detail&num=8838 Cartridge Software Demonstrator] [https://www.cpc-power.com/index.php?page=detail&num=8308 4096 Colors Preview] [https://www.cpc-power.com/index.php?page=detail&num=18998 4096K tester] [[File:Roudoudou CPR tests.zip]] [https://www.cpcwiki.eu/forum/emulators/amstrad-cpc-'acid'-test/75/] [https://www.cpc-power.com/index.php?page=detail&num=3575 No Exit (uninitialised stack pointer)] [https://www.cpc-power.com/index.php?page=detail&num=3576 Tennis Cup 2 (analogue joystick)] Plus testing tools
 
*[https://www.cpc-power.com/index.php?page=detail&num=9627 Arnold 5 Diagnostic] [https://www.cpc-power.com/index.php?page=detail&num=8838 Cartridge Software Demonstrator] [https://www.cpc-power.com/index.php?page=detail&num=8308 4096 Colors Preview] [https://www.cpc-power.com/index.php?page=detail&num=18998 4096K tester] [[File:Roudoudou CPR tests.zip]] [https://www.cpcwiki.eu/forum/emulators/amstrad-cpc-'acid'-test/75/] [https://www.cpc-power.com/index.php?page=detail&num=3575 No Exit (uninitialised stack pointer)] [https://www.cpc-power.com/index.php?page=detail&num=3576 Tennis Cup 2 (analogue joystick)] Plus testing tools
 
*[https://www.cpc-power.com/index.php?page=detail&num=8874 6128 Plus DMA] [https://cpcrulez.fr/demostestDO_fairy-breakpoint_2010.htm Fairy] [https://soundtrackerdma.cpcscene.net/doku.php?id=en:download Soundtracker DMA] To test DMA sound
 
*[https://www.cpc-power.com/index.php?page=detail&num=8874 6128 Plus DMA] [https://cpcrulez.fr/demostestDO_fairy-breakpoint_2010.htm Fairy] [https://soundtrackerdma.cpcscene.net/doku.php?id=en:download Soundtracker DMA] To test DMA sound
Line 1,500: Line 1,504:
 
*[https://www.cpc-power.com/index.php?page=database&cpcplus=1&cats=100 Plus Games] [https://www.cpc-power.com/index.php?page=database&lemot=Demo%20for%20Plus%20only&r1=0&r2=1&r3=0&r4=1 Demos for Plus only] Search filters to verify the entire Plus software library
 
*[https://www.cpc-power.com/index.php?page=database&cpcplus=1&cats=100 Plus Games] [https://www.cpc-power.com/index.php?page=database&lemot=Demo%20for%20Plus%20only&r1=0&r2=1&r3=0&r4=1 Demos for Plus only] Search filters to verify the entire Plus software library
  
== Colorimetry ==
+
=== Colorimetry ===
 
*[https://www.cpc-power.com/index.php?page=detail&num=18093 CPC DiAG] [https://www.cpc-power.com/index.php?page=detail&num=11826 Raster] [https://www.cpc-power.com/index.php?page=detail&num=12282 Toutes les couleurs du CPC] [https://www.cpc-power.com/index.php?page=detail&num=4793 Couleurs] [https://www.cpc-power.com/index.php?page=detail&num=15519 Les split-rasters] [https://www.cpc-power.com/index.php?page=detail&num=16722 Mir'Color] [https://www.cpc-power.com/index.php?page=detail&num=14259 Test Interlace Color] [https://www.cpc-power.com/index.php?page=detail&num=10757 Infinite Colours] [https://www.cpc-power.com/index.php?page=detail&num=11500 Mode 1 Tramage et Choix des Couleurs] [https://www.cpc-power.com/index.php?page=detail&num=12534 FED] Colour calibration
 
*[https://www.cpc-power.com/index.php?page=detail&num=18093 CPC DiAG] [https://www.cpc-power.com/index.php?page=detail&num=11826 Raster] [https://www.cpc-power.com/index.php?page=detail&num=12282 Toutes les couleurs du CPC] [https://www.cpc-power.com/index.php?page=detail&num=4793 Couleurs] [https://www.cpc-power.com/index.php?page=detail&num=15519 Les split-rasters] [https://www.cpc-power.com/index.php?page=detail&num=16722 Mir'Color] [https://www.cpc-power.com/index.php?page=detail&num=14259 Test Interlace Color] [https://www.cpc-power.com/index.php?page=detail&num=10757 Infinite Colours] [https://www.cpc-power.com/index.php?page=detail&num=11500 Mode 1 Tramage et Choix des Couleurs] [https://www.cpc-power.com/index.php?page=detail&num=12534 FED] Colour calibration
 
*[https://www.grimware.org/doku.php/documentations/devices/gatearray Minor difference in colorimetry between CPC and Plus] On CPC (not Plus!), green half-intensity is significantly higher than red and blue half-intensities
 
*[https://www.grimware.org/doku.php/documentations/devices/gatearray Minor difference in colorimetry between CPC and Plus] On CPC (not Plus!), green half-intensity is significantly higher than red and blue half-intensities
Line 1,519: Line 1,523:
 
* Colours are less saturated and black is not as profound on CRT monitors than they are on modern displays.
 
* Colours are less saturated and black is not as profound on CRT monitors than they are on modern displays.
  
== Graphics ==
+
=== Graphics ===
 
*🔥[https://shaker.logonsystem.eu/ Shakerland] Ultra accurate CRTC documentation and its associated CPC testing tool
 
*🔥[https://shaker.logonsystem.eu/ Shakerland] Ultra accurate CRTC documentation and its associated CPC testing tool
 
*[https://www.cpc-power.com/index.php?page=detail&num=7562 5KB 2 (tweakable demo)] [https://www.cpc-power.com/index.php?page=detail&num=12906 HSYNC test] [https://www.cpc-power.com/index.php?page=database&lemot=crtc%20programmierung CRTC Programmierung] [https://www.cpc-power.com/index.php?page=database&lemot=cote%gamers Côté Gamers] [https://www.cpc-power.com/index.php?page=detail&num=13656 Screen Effect] [https://www.cpc-power.com/index.php?page=detail&num=9154 Blitter] [[File:CheshireCat - Scroll hard en Basic.dsk]] [https://youtu.be/6fB36wbGQdY] [https://www.cpc-power.com/index.php?page=detail&num=16025 Out-Screen II] [https://www.planetemu.net/rom/amstrad-cpc-applications-dsk/crtc-editor-v5-1-1994-brain-of-chaos CRTC editor] [https://www.cpc-power.com/index.php?page=detail&num=10221 Control del CRT] CRTC testing tools
 
*[https://www.cpc-power.com/index.php?page=detail&num=7562 5KB 2 (tweakable demo)] [https://www.cpc-power.com/index.php?page=detail&num=12906 HSYNC test] [https://www.cpc-power.com/index.php?page=database&lemot=crtc%20programmierung CRTC Programmierung] [https://www.cpc-power.com/index.php?page=database&lemot=cote%gamers Côté Gamers] [https://www.cpc-power.com/index.php?page=detail&num=13656 Screen Effect] [https://www.cpc-power.com/index.php?page=detail&num=9154 Blitter] [[File:CheshireCat - Scroll hard en Basic.dsk]] [https://youtu.be/6fB36wbGQdY] [https://www.cpc-power.com/index.php?page=detail&num=16025 Out-Screen II] [https://www.planetemu.net/rom/amstrad-cpc-applications-dsk/crtc-editor-v5-1-1994-brain-of-chaos CRTC editor] [https://www.cpc-power.com/index.php?page=detail&num=10221 Control del CRT] CRTC testing tools
Line 1,533: Line 1,537:
 
*[https://www.cpc-power.com/index.php?page=detail&num=8615 Welcom-X 2 (crtc0)] [https://www.cpc-power.com/index.php?page=detail&num=7479 Madness (crtc1)] [https://www.cpc-power.com/index.php?page=detail&num=7561 5KB 1 (crtc1)] [https://www.cpc-power.com/index.php?page=detail&num=9102 Scrolling Hard Vertical (crtc2)] Some programs that only run correctly on one type of CRTC
 
*[https://www.cpc-power.com/index.php?page=detail&num=8615 Welcom-X 2 (crtc0)] [https://www.cpc-power.com/index.php?page=detail&num=7479 Madness (crtc1)] [https://www.cpc-power.com/index.php?page=detail&num=7561 5KB 1 (crtc1)] [https://www.cpc-power.com/index.php?page=detail&num=9102 Scrolling Hard Vertical (crtc2)] Some programs that only run correctly on one type of CRTC
  
== Audio ==
+
=== Audio ===
 
*[https://www.cpc-power.com/index.php?page=detail&num=41 Trantor] [https://www.cpc-power.com/index.php?page=detail&num=204 3D Starfighter] [https://www.cpc-power.com/index.php?page=detail&num=726 Treasure Island Dizzy] [https://www.cpc-power.com/index.php?page=detail&num=971 Ghost Hunters] [https://www.cpc-power.com/index.php?page=detail&num=2132 Super Robin Hood] [https://www.cpc-power.com/index.php?page=detail&num=237 Advanced Pinball Simulator] [https://www.cpc-power.com/index.php?page=detail&num=1200 Jet Bike Simulator] [https://www.cpc-power.com/index.php?page=detail&num=1002 Grand Prix Simulator] [https://www.cpc-power.com/index.php?page=detail&num=183 Darts 180] [https://www.cpc-power.com/index.php?page=detail&num=1243 Killapede] [https://www.cpc-power.com/index.php?page=detail&num=7210 Startest] [https://www.cpc-power.com/index.php?page=detail&num=1194 Jail Break] [https://www.cpc-power.com/index.php?page=detail&num=1815 Robocop] [https://www.cpc-power.com/index.php?page=detail&num=100 Chase HQ] [https://www.cpc-power.com/index.php?page=detail&num=1926 Shinobi] [https://www.cpc-power.com/index.php?page=detail&num=895 Fly Spy] [https://www.cpc-power.com/index.php?page=detail&num=1388 Meltdown] [https://www.cpc-power.com/index.php?page=detail&num=17788 Throne Legacy] [https://www.cpc-power.com/index.php?page=detail&num=17587 Just Get 9] [https://www.cpc-power.com/index.php?page=detail&num=8892 4-Bit Digi Try] [https://www.cpc-power.com/index.php?page=detail&num=8580 OctoBear] [https://www.cpc-power.com/index.php?page=detail&num=4372 Speech] Software English vocal sounds
 
*[https://www.cpc-power.com/index.php?page=detail&num=41 Trantor] [https://www.cpc-power.com/index.php?page=detail&num=204 3D Starfighter] [https://www.cpc-power.com/index.php?page=detail&num=726 Treasure Island Dizzy] [https://www.cpc-power.com/index.php?page=detail&num=971 Ghost Hunters] [https://www.cpc-power.com/index.php?page=detail&num=2132 Super Robin Hood] [https://www.cpc-power.com/index.php?page=detail&num=237 Advanced Pinball Simulator] [https://www.cpc-power.com/index.php?page=detail&num=1200 Jet Bike Simulator] [https://www.cpc-power.com/index.php?page=detail&num=1002 Grand Prix Simulator] [https://www.cpc-power.com/index.php?page=detail&num=183 Darts 180] [https://www.cpc-power.com/index.php?page=detail&num=1243 Killapede] [https://www.cpc-power.com/index.php?page=detail&num=7210 Startest] [https://www.cpc-power.com/index.php?page=detail&num=1194 Jail Break] [https://www.cpc-power.com/index.php?page=detail&num=1815 Robocop] [https://www.cpc-power.com/index.php?page=detail&num=100 Chase HQ] [https://www.cpc-power.com/index.php?page=detail&num=1926 Shinobi] [https://www.cpc-power.com/index.php?page=detail&num=895 Fly Spy] [https://www.cpc-power.com/index.php?page=detail&num=1388 Meltdown] [https://www.cpc-power.com/index.php?page=detail&num=17788 Throne Legacy] [https://www.cpc-power.com/index.php?page=detail&num=17587 Just Get 9] [https://www.cpc-power.com/index.php?page=detail&num=8892 4-Bit Digi Try] [https://www.cpc-power.com/index.php?page=detail&num=8580 OctoBear] [https://www.cpc-power.com/index.php?page=detail&num=4372 Speech] Software English vocal sounds
 
*[https://www.cpc-power.com/index.php?page=detail&num=814 El Enigma de Aceps] [https://www.cpc-power.com/index.php?page=detail&num=1349 Le Manoir de Mortvielle] [https://www.cpc-power.com/index.php?page=detail&num=286 Etrange Castel] [https://www.cpc-power.com/index.php?page=detail&num=910 Forteresse] [https://www.cpc-power.com/index.php?page=detail&num=511 Canadair] [https://www.cpc-power.com/index.php?page=detail&num=1140 L'île] [https://www.cpc-power.com/index.php?page=detail&num=1199 Jaws] [https://www.cpc-power.com/index.php?page=detail&num=1102 Holocauste] [https://www.cpc-power.com/index.php?page=detail&num=284 Apocalypse] [https://www.cpc-power.com/index.php?page=detail&num=1722 Punk Star] [https://www.cpc-power.com/index.php?page=detail&num=132 Afteroids] [https://www.cpc-power.com/index.php?page=detail&num=274 Amstroids] [https://www.cpc-power.com/index.php?page=detail&num=1098 Hold-Up] [https://www.cpc-power.com/index.php?page=detail&num=879 Fire & Forget] [https://www.cpc-power.com/index.php?page=detail&num=1433 Xyphoes Fantasy] [https://www.cpc-power.com/index.php?page=detail&num=5088 Spectra] [https://www.cpc-power.com/index.php?page=detail&num=17000 Space Race] [https://www.cpc-power.com/index.php?page=detail&num=7456 Yao demo] [https://www.cpc-power.com/index.php?page=detail&num=8311 Terrific] [https://www.cpc-power.com/index.php?page=detail&num=7548 Face Hugger Ultimate] [https://www.cpc-power.com/index.php?page=detail&num=7415 Smallest Scroll] [https://www.cpc-power.com/index.php?page=detail&num=17542 Musik100] [https://www.cpc-power.com/index.php?page=detail&num=15311 Digital Synthesizer] [https://www.cpc-power.com/index.php?page=detail&num=5031 Echosoft] [https://www.cpc-power.com/index.php?page=detail&num=4735 Mega Sound] [https://www.cpc-power.com/index.php?page=database&lemot=digitracker&compagnie=906 Digitracker NGS] Other software sound effects [https://www.cpc-power.com/index.php?page=database&audiotape=1 Audio-tape included software list]
 
*[https://www.cpc-power.com/index.php?page=detail&num=814 El Enigma de Aceps] [https://www.cpc-power.com/index.php?page=detail&num=1349 Le Manoir de Mortvielle] [https://www.cpc-power.com/index.php?page=detail&num=286 Etrange Castel] [https://www.cpc-power.com/index.php?page=detail&num=910 Forteresse] [https://www.cpc-power.com/index.php?page=detail&num=511 Canadair] [https://www.cpc-power.com/index.php?page=detail&num=1140 L'île] [https://www.cpc-power.com/index.php?page=detail&num=1199 Jaws] [https://www.cpc-power.com/index.php?page=detail&num=1102 Holocauste] [https://www.cpc-power.com/index.php?page=detail&num=284 Apocalypse] [https://www.cpc-power.com/index.php?page=detail&num=1722 Punk Star] [https://www.cpc-power.com/index.php?page=detail&num=132 Afteroids] [https://www.cpc-power.com/index.php?page=detail&num=274 Amstroids] [https://www.cpc-power.com/index.php?page=detail&num=1098 Hold-Up] [https://www.cpc-power.com/index.php?page=detail&num=879 Fire & Forget] [https://www.cpc-power.com/index.php?page=detail&num=1433 Xyphoes Fantasy] [https://www.cpc-power.com/index.php?page=detail&num=5088 Spectra] [https://www.cpc-power.com/index.php?page=detail&num=17000 Space Race] [https://www.cpc-power.com/index.php?page=detail&num=7456 Yao demo] [https://www.cpc-power.com/index.php?page=detail&num=8311 Terrific] [https://www.cpc-power.com/index.php?page=detail&num=7548 Face Hugger Ultimate] [https://www.cpc-power.com/index.php?page=detail&num=7415 Smallest Scroll] [https://www.cpc-power.com/index.php?page=detail&num=17542 Musik100] [https://www.cpc-power.com/index.php?page=detail&num=15311 Digital Synthesizer] [https://www.cpc-power.com/index.php?page=detail&num=5031 Echosoft] [https://www.cpc-power.com/index.php?page=detail&num=4735 Mega Sound] [https://www.cpc-power.com/index.php?page=database&lemot=digitracker&compagnie=906 Digitracker NGS] Other software sound effects [https://www.cpc-power.com/index.php?page=database&audiotape=1 Audio-tape included software list]
 
*[https://www.cpc-power.com/index.php?page=detail&num=9179 Now that's what I call Chip Tunes] [https://www.cpc-power.com/index.php?page=detail&num=18904 Amstream music-disk] [https://www.cpc-power.com/index.php?page=detail&num=10467 We Are All Old] [https://www.cpc-power.com/index.php?page=detail&num=7700 Anthology] [https://www.cpc-power.com/index.php?page=database&lemot=ayc%20sound AYC Sound] [https://www.cpc-power.com/index.php?page=database&lemot=shap%20audio Shap Audio] [https://www.cpc-power.com/index.php?page=detail&num=18997 Amstrad CPC Mix] [https://www.youtube.com/@hermol2903/playlists YM!Rulez (real hardware recordings)] [https://www.cpc-power.com/index.php?page=detail&num=9734 Soundtrakker 128k] [https://www.cpc-power.com/index.php?page=detail&num=11771 ST128 Song Modules by BSC] [https://www.cpc-power.com/index.php?page=detail&num=17447 Starkos] [https://www.cpc-power.com/index.php?page=detail&num=11770 Starkos Song Modules] [https://www.cpc-power.com/index.php?page=detail&num=6266 Ams'Orgue] [https://www.cpc-power.com/index.php?page=detail&num=18265 Sintetizador de Sonidos] To test the PSG emulation
 
*[https://www.cpc-power.com/index.php?page=detail&num=9179 Now that's what I call Chip Tunes] [https://www.cpc-power.com/index.php?page=detail&num=18904 Amstream music-disk] [https://www.cpc-power.com/index.php?page=detail&num=10467 We Are All Old] [https://www.cpc-power.com/index.php?page=detail&num=7700 Anthology] [https://www.cpc-power.com/index.php?page=database&lemot=ayc%20sound AYC Sound] [https://www.cpc-power.com/index.php?page=database&lemot=shap%20audio Shap Audio] [https://www.cpc-power.com/index.php?page=detail&num=18997 Amstrad CPC Mix] [https://www.youtube.com/@hermol2903/playlists YM!Rulez (real hardware recordings)] [https://www.cpc-power.com/index.php?page=detail&num=9734 Soundtrakker 128k] [https://www.cpc-power.com/index.php?page=detail&num=11771 ST128 Song Modules by BSC] [https://www.cpc-power.com/index.php?page=detail&num=17447 Starkos] [https://www.cpc-power.com/index.php?page=detail&num=11770 Starkos Song Modules] [https://www.cpc-power.com/index.php?page=detail&num=6266 Ams'Orgue] [https://www.cpc-power.com/index.php?page=detail&num=18265 Sintetizador de Sonidos] To test the PSG emulation
  
== Peripherals ==
+
=== Peripherals ===
 
*[https://www.cpc-power.com/index.php?page=database&lemot=SSA-1 SSA-1 software list] [https://www.cpc-power.com/index.php?page=database&lemot=DK%27Tronics%20Speech%20Synthesizer Dk'Tronics software list] [https://www.cpc-power.com/index.php?page=database&lemot=TMPI%20speech%20synthesizer TMPI software list] To test speech synthesizers emulation
 
*[https://www.cpc-power.com/index.php?page=database&lemot=SSA-1 SSA-1 software list] [https://www.cpc-power.com/index.php?page=database&lemot=DK%27Tronics%20Speech%20Synthesizer Dk'Tronics software list] [https://www.cpc-power.com/index.php?page=database&lemot=TMPI%20speech%20synthesizer TMPI software list] To test speech synthesizers emulation
 
*[https://www.cpc-power.com/index.php?page=detail&num=16011 Cocoon Player] [https://www.cpc-power.com/index.php?page=detail&num=7655 Bordelik 4] [https://www.cpc-power.com/index.php?page=detail&num=7535 Digital Orgasm] [https://www.cpc-power.com/index.php?page=detail&num=19225 Bloood] [https://www.cpc-power.com/index.php?page=database&lemot=Digitracker%20v&r1=1 Digitracker Symbiosis] [https://www.cpc-power.com/index.php?page=database&lemot=Prodatron%20MDL Prodatron MDL packs] [[File:DigiTracker Amdrum.zip]] [https://www.cpcwiki.eu/forum/applications/prodatrons-digitrackker-1-4-now-vor-lambdaspeak-amdrum-in-8-bit-mode!/] [https://www.cpc-power.com/index.php?page=database&lemot=Amdrum Amdrum] [https://framagit.org/shinra/vgmplay VGMplay] [http://www.roudoudou.com/ACE-DL/ OPL3 VGM pack] [https://github.com/lambdamikel/BluePillCPC/tree/main/cpc/s2p BluePillCPC] To test [[Digiblaster]], [[Amdrum]], [[Willy|Willy OPL3]] and [[Willy|Willy MIDI]] soundcards emulation
 
*[https://www.cpc-power.com/index.php?page=detail&num=16011 Cocoon Player] [https://www.cpc-power.com/index.php?page=detail&num=7655 Bordelik 4] [https://www.cpc-power.com/index.php?page=detail&num=7535 Digital Orgasm] [https://www.cpc-power.com/index.php?page=detail&num=19225 Bloood] [https://www.cpc-power.com/index.php?page=database&lemot=Digitracker%20v&r1=1 Digitracker Symbiosis] [https://www.cpc-power.com/index.php?page=database&lemot=Prodatron%20MDL Prodatron MDL packs] [[File:DigiTracker Amdrum.zip]] [https://www.cpcwiki.eu/forum/applications/prodatrons-digitrackker-1-4-now-vor-lambdaspeak-amdrum-in-8-bit-mode!/] [https://www.cpc-power.com/index.php?page=database&lemot=Amdrum Amdrum] [https://framagit.org/shinra/vgmplay VGMplay] [http://www.roudoudou.com/ACE-DL/ OPL3 VGM pack] [https://github.com/lambdamikel/BluePillCPC/tree/main/cpc/s2p BluePillCPC] To test [[Digiblaster]], [[Amdrum]], [[Willy|Willy OPL3]] and [[Willy|Willy MIDI]] soundcards emulation
Line 1,552: Line 1,556:
 
*Everything else is a nice bonus
 
*Everything else is a nice bonus
  
== Copy-protection ==
+
=== Copy-protection ===
 
*[http://www.cpctech.org.uk/download/fdctest.zip FDC test suite] [http://www.cpctech.org.uk/download/drivetest.zip Disk drive tests] [http://www.cpctech.org.uk/download/cdttst.zip CDT/TZX test suite] Set of tests by arnoldemu
 
*[http://www.cpctech.org.uk/download/fdctest.zip FDC test suite] [http://www.cpctech.org.uk/download/drivetest.zip Disk drive tests] [http://www.cpctech.org.uk/download/cdttst.zip CDT/TZX test suite] Set of tests by arnoldemu
 
*[https://www.cpc-power.com/index.php?page=detail&num=6091 Azimut Locator] [https://www.cpc-power.com/index.php?page=detail&num=13564 Tape Speed Checker] [https://www.cpc-power.com/index.php?page=detail&num=10919 Motor Control] [https://www.cpc-power.com/index.php?page=detail&num=8881 Odd Border] [https://www.cpc-power.com/index.php?page=detail&num=4194 Ultra Son] [https://www.cpc-power.com/index.php?page=detail&num=16963 Catalogueur de Cassettes] [https://www.cpc-power.com/index.php?page=detail&num=5998 Tape Utility] [https://www.cpc-power.com/index.php?page=detail&num=10475 Soft-Lok] [https://www.cpc-power.com/index.php?page=detail&num=5299 Soft-Arc] [https://www.cpc-power.com/index.php?page=detail&num=6057 Deconnect] [https://www.cpc-power.com/index.php?page=protection&lenom=NoAMSDOS NoAMSDOS software list] [https://www.cpc-power.com/index.php?page=detail&num=3871 Computer Hits] [https://www.cpc-power.com/index.php?page=detail&num=1359 Marmelade] [https://www.cpc-power.com/index.php?page=detail&num=1412 Mickey Mouse] [https://www.cpc-power.com/index.php?page=detail&num=365 Basil] [https://www.cpc-power.com/index.php?page=detail&num=1364 Mask] [https://www.cpc-power.com/index.php?page=detail&num=2035 Split Personalities] [https://www.cpc-power.com/index.php?page=detail&num=911 Frank Bruno's Boxing] [https://www.cpc-power.com/index.php?page=database&lemot=baudload Baudload software list] [https://www.cpc-power.com/index.php?page=protection&lenom=Keytone Keytone software list] [https://www.cpc-power.com/index.php?page=protection&lenom=COMPTEUR%20CASSETTE Tape Counter software list] [https://www.cpc-power.com/index.php?page=detail&num=17502 Loading Screens slideshow] To test Tape emulation
 
*[https://www.cpc-power.com/index.php?page=detail&num=6091 Azimut Locator] [https://www.cpc-power.com/index.php?page=detail&num=13564 Tape Speed Checker] [https://www.cpc-power.com/index.php?page=detail&num=10919 Motor Control] [https://www.cpc-power.com/index.php?page=detail&num=8881 Odd Border] [https://www.cpc-power.com/index.php?page=detail&num=4194 Ultra Son] [https://www.cpc-power.com/index.php?page=detail&num=16963 Catalogueur de Cassettes] [https://www.cpc-power.com/index.php?page=detail&num=5998 Tape Utility] [https://www.cpc-power.com/index.php?page=detail&num=10475 Soft-Lok] [https://www.cpc-power.com/index.php?page=detail&num=5299 Soft-Arc] [https://www.cpc-power.com/index.php?page=detail&num=6057 Deconnect] [https://www.cpc-power.com/index.php?page=protection&lenom=NoAMSDOS NoAMSDOS software list] [https://www.cpc-power.com/index.php?page=detail&num=3871 Computer Hits] [https://www.cpc-power.com/index.php?page=detail&num=1359 Marmelade] [https://www.cpc-power.com/index.php?page=detail&num=1412 Mickey Mouse] [https://www.cpc-power.com/index.php?page=detail&num=365 Basil] [https://www.cpc-power.com/index.php?page=detail&num=1364 Mask] [https://www.cpc-power.com/index.php?page=detail&num=2035 Split Personalities] [https://www.cpc-power.com/index.php?page=detail&num=911 Frank Bruno's Boxing] [https://www.cpc-power.com/index.php?page=database&lemot=baudload Baudload software list] [https://www.cpc-power.com/index.php?page=protection&lenom=Keytone Keytone software list] [https://www.cpc-power.com/index.php?page=protection&lenom=COMPTEUR%20CASSETTE Tape Counter software list] [https://www.cpc-power.com/index.php?page=detail&num=17502 Loading Screens slideshow] To test Tape emulation
Line 1,563: Line 1,567:
 
*[https://www.cpc-power.com/cpcarchives/index.php?page=articles&cat=12 Protection schemes documented] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&num=207 Gaps] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&num=384 Latis] [https://web.archive.org/web/20190308042601/http://birdsanctuary.co.uk/lenslok/ LensLok] [https://simonowen.com/samdisk/sys_cpc/ Copy-protection in EDSK images] [https://forum.system-cfg.com/viewtopic.php?p=195705#p195705 Implementation in SugarBox emulator] [https://64nops.wordpress.com/2021/07/04/a-la-decouverte-du-fdc/ FDC blog articles] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&num=38 Autoboot] [https://www.seasip.info/Cpm/amsform.html Amsdos disk format] [https://muckypaws.com/2024/02/21/amstrad-and-zx-spectrum-dsk-tool/ Disk structure] [https://muckypaws.com/2024/02/03/discsys-xor/ DiscSys] [https://muckypaws.com/2024/01/29/speedlock-1987/ Speedlock K7 1987] [https://www.cpcwiki.eu/forum/programming/speedlock-d7-1989-completely-documented/ Speedlock D7 1989] Technical explanations
 
*[https://www.cpc-power.com/cpcarchives/index.php?page=articles&cat=12 Protection schemes documented] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&num=207 Gaps] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&num=384 Latis] [https://web.archive.org/web/20190308042601/http://birdsanctuary.co.uk/lenslok/ LensLok] [https://simonowen.com/samdisk/sys_cpc/ Copy-protection in EDSK images] [https://forum.system-cfg.com/viewtopic.php?p=195705#p195705 Implementation in SugarBox emulator] [https://64nops.wordpress.com/2021/07/04/a-la-decouverte-du-fdc/ FDC blog articles] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&num=38 Autoboot] [https://www.seasip.info/Cpm/amsform.html Amsdos disk format] [https://muckypaws.com/2024/02/21/amstrad-and-zx-spectrum-dsk-tool/ Disk structure] [https://muckypaws.com/2024/02/03/discsys-xor/ DiscSys] [https://muckypaws.com/2024/01/29/speedlock-1987/ Speedlock K7 1987] [https://www.cpcwiki.eu/forum/programming/speedlock-d7-1989-completely-documented/ Speedlock D7 1989] Technical explanations
  
== Other ==
+
=== Other ===
 
*[https://www.cpc-power.com/index.php?page=detail&num=1173 Into the Eagle's Nest] [http://www.cpctech.org.uk/docs/cpcplus.html Technical explanation] Floating bus making the bottom border appear black on CPC, purple on 464+ and green on 6128+
 
*[https://www.cpc-power.com/index.php?page=detail&num=1173 Into the Eagle's Nest] [http://www.cpctech.org.uk/docs/cpcplus.html Technical explanation] Floating bus making the bottom border appear black on CPC, purple on 464+ and green on 6128+
 
*[https://www.cpc-power.com/index.php?page=detail&num=17793 The Abduction of Oscar Z] [https://www.cpcwiki.eu/forum/games/background-oscar-z/ Technical explanation] Neat unintended colour gradient effect on non-CTM monitors
 
*[https://www.cpc-power.com/index.php?page=detail&num=17793 The Abduction of Oscar Z] [https://www.cpcwiki.eu/forum/games/background-oscar-z/ Technical explanation] Neat unintended colour gradient effect on non-CTM monitors
Line 1,572: Line 1,576:
 
*[https://www.cpc-power.com/index.php?page=detail&num=2266 The Untouchables] [https://www.cpc-power.com/index.php?page=detail&num=135 Batman The Movie] [https://www.cpc-power.com/index.php?page=detail&num=2318 Turrican] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&num=80 Technical explanation] CPC keyboard clash [https://www.cpc-power.com/index.php?page=detail&num=2224 Thunder Blade (6 keys)] [https://www.cpc-power.com/index.php?page=detail&num=244 Agent X II (7 keys)] [https://www.cpc-power.com/index.php?page=detail&num=11846 Wishing-Well (8 keys)] [https://www.cpc-power.com/index.php?page=detail&num=1886 Score 3020 (9 keys)] Simultaneous keypresses for cheat mode
 
*[https://www.cpc-power.com/index.php?page=detail&num=2266 The Untouchables] [https://www.cpc-power.com/index.php?page=detail&num=135 Batman The Movie] [https://www.cpc-power.com/index.php?page=detail&num=2318 Turrican] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&num=80 Technical explanation] CPC keyboard clash [https://www.cpc-power.com/index.php?page=detail&num=2224 Thunder Blade (6 keys)] [https://www.cpc-power.com/index.php?page=detail&num=244 Agent X II (7 keys)] [https://www.cpc-power.com/index.php?page=detail&num=11846 Wishing-Well (8 keys)] [https://www.cpc-power.com/index.php?page=detail&num=1886 Score 3020 (9 keys)] Simultaneous keypresses for cheat mode
 
*[https://www.cpc-power.com/index.php?page=detail&num=19283 Raytracing in BASIC] [https://www.cpc-power.com/index.php?page=detail&num=6680 Reliefs Mathématiques] [https://www.cpc-power.com/index.php?page=detail&num=19273 Cherry Blossom] [https://www.cpc-power.com/index.php?page=detail&num=15685 Deuligne Julia Fractal] [https://www.github.com/litwr2/rosetta-mandelbrot Rosetta Mandelbrot] [https://www.github.com/litwr2/rosetta-pi-spigot Rosetta Pi Spigot] [https://www.cpc-power.com/index.php?page=detail&num=15734 Life] [https://www.cpc-power.com/index.php?page=detail&num=7460 Highway To Hell] [https://www.cpc-power.com/index.php?page=detail&num=8188 Chain] [https://www.cpc-power.com/index.php?page=detail&num=9281 Montre] To benchmark emulators using their fullspeed mode
 
*[https://www.cpc-power.com/index.php?page=detail&num=19283 Raytracing in BASIC] [https://www.cpc-power.com/index.php?page=detail&num=6680 Reliefs Mathématiques] [https://www.cpc-power.com/index.php?page=detail&num=19273 Cherry Blossom] [https://www.cpc-power.com/index.php?page=detail&num=15685 Deuligne Julia Fractal] [https://www.github.com/litwr2/rosetta-mandelbrot Rosetta Mandelbrot] [https://www.github.com/litwr2/rosetta-pi-spigot Rosetta Pi Spigot] [https://www.cpc-power.com/index.php?page=detail&num=15734 Life] [https://www.cpc-power.com/index.php?page=detail&num=7460 Highway To Hell] [https://www.cpc-power.com/index.php?page=detail&num=8188 Chain] [https://www.cpc-power.com/index.php?page=detail&num=9281 Montre] To benchmark emulators using their fullspeed mode
 +
 +
<br>
 +
 +
= Rewind feature =
 +
ACE-DL has a rewind feature, but it is not as good as it could be: [https://youtu.be/wIKGvpnJLUo Demonstration of rewind in ACE-DL]
 +
 +
Only the RetroArch CPC emulator has a proper rewind feature: [https://youtu.be/YwilYlSe5LQ Demonstration of rewind in RetroArch]. To reverse the game, the user press and hold the rewind button. And at any point, releasing the button makes time goes forward again.
 +
 +
A very simple approach would be to make a SNA for each frame and limit the RAM snapshot to 128KB, which is ok for 99% of CPC software. For a 10-seconds long rewind functionality, only 64MB RAM is needed (128KB * 50 frames * 10 seconds).
 +
 +
A more efficient approach is to store only the values that are changed in RAM between two frames, so that RAM can be restored when rewinding. This allows for long rewinds, even of a CPC equipped with a 4MB RAM expansion. Proof of it is the GBA emulator [https://youtu.be/Sfc_1NKbiKg SkyEmu demonstrating super long rewind] while needing very few RAM.
 +
 +
For debugging, going back to the previous instruction is easily implemented. The emulator has to store the time when the previous instruction was executed so that he can go back to that instruction. In the same way, emulators can provide access to the previous HBL, IRQ, VBL, etc.
  
 
<br>
 
<br>
Line 1,597: Line 1,614:
 
*[[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
  
<br>
+
=== Cross-Platform Development ===
 
+
= Cross-Platform Development =
+
  
 
*[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://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://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://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
Line 1,610: Line 1,625:
 
*[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
 
*[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
  
<br>
+
=== Cross-Platform Art ===
 
+
= 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 Dithertron] [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
 
*[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 Dithertron] [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

Latest revision as of 07:24, 27 September 2024

Vote for your favorite emulator Poll on CPCWiki forum


Software Platforms (Full OS independance)

Java Platform

Emulator name External link Current version Latest release Developer tools Amstrad Plus Also emulates License
Arnold Jnr [1] Aug 27, 2001 - Open source
JavaCPC Desktop [2] JavaGX4000 CPCInAJar 3.0.2 Apr 8, 2022 KC Compact Donationware & Open source
JEMU [3] Feb 19, 2007 ZX Spectrum, ZX80/81, BBC Micro, VZ-300 Open source
WebCPC [4] JavaCPC Applet r15 Dec 31, 2010 - Open source

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

CPC Games CPC Demos on Internet Archive

Jan 27, 2024 Tons of vintage computers, game consoles and arcade systems Open source
Roland [9] Sep 24, 2011 - Open source
Ronald [10] Repo Apr 1, 2024 ⚠️ - Open source
RVMplayer [11] 0.1.1 May 6, 2023 ZX Spectrum Freeware
Tiny Emus [12] CPC UI yakc zpz mini CPC Online OldGames

WebGL 3d 8-bit Arcade Room acpc.me Retro Store

BZH Games Sean's CPC Games Amstrad CPC Games

Mar 22, 2024 KC Compact, ZX Spectrum, VIC-20, Commodore 64, Acorn Atom, KC 85, KC 87, Z9001, Z1013, LC80 Open source
Xiragon [13] Nov 28, 2012 - Open source

LibRetro (API for emulators)

Emulator name Type External link Current version Latest release Developer tools Amstrad Plus Also emulates License
libretro-cap32 Emulation core [14] 4.5.4 Dec 18, 2023 - - Open source
libretro-crocods Emulation core [15] 0.1 Jul 26, 2022 - - Open source
LRMAME Emulation core [16] 0.269 Aug 29, 2024 - Tons of vintage computers, game consoles and arcade systems Open source
SugarLibRetro Emulation core [17] (wraps independent lib CPCCore) git Jan 10, 2020 - - Open source
EmuVR Frontend [18] 1.0.11 Dec 24, 2022 - Depends on emulation cores Donationware
Hackable Console Frontend [19] Mar 27, 2022 - Depends on emulation cores Open source
RetroArch Frontend [20] RetroAchievements 1.19.1 Jun 5, 2024 - Depends on emulation cores Donationware & Open source

Several distributions also exist based on RetroArch: RetroBat, Lakka, RetroPie, Batocera, Recalbox, RGB-Pi OS


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 [21] Discord Based on ACE Summer Fixes Aug 17, 2024 - Freeware
AMSpiriT [22] Discord Forum 1.01 rc Apr 24, 2024 - Freeware
Arnimedes [23] 1.02 Jul 7, 2012 - Freeware
Arnold [24] Aeliss fork Arnold TNG

macOS AmigaOS PPC

🛠️ May 13, 2017 ⚠️ KC Compact, Aleste 520EX Open source
Caprice Forever [25] 24.6 Jun 14, 2024 - Freeware & Outdated sources
Caprice32 [26] Old repo Linux Reloaded

Cpc4Rpi CapriceRPI CPC-PI

4.6.0 Oct 8, 2022 ⚠️ Aleste 520EX Donationware & Open source
Clock Signal [27] Linux Raspberry Pi Sep 8, 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 [28] 0.74 Apr 12, 2006 ⚠️ - Donationware
CPC++ [29] b700 May 31, 2015 - Freeware
cpc4x [30] 🛠️ 0.26 Dec 11, 2004 - Open source
CPCEC [31] Repo CPCE CPCEG 🛠️ 🛠️ Sep 9, 2024 ⚠️ ZX Spectrum, Commodore 64, MSX 1&2 Open source
cpcec-gtk [32] 🛠️ Feb 4, 2023 - Open source
CPCemu [33] 2.5 Aug 13, 2022 ⚠️ - Freeware
CPCEPower [34] 2105 Jun 4, 2021 - Donationware
CPCSharp [35] 1.0.0-beta1 Apr 7, 2021 ⚠️ - Open source
CPvC [36] Sep 30, 2022 - Open source
CrocoDS [37] Repo 4.0 beta3 Dec 10, 2023 ⚠️ - Open source
DSP [38] 🛠️ 0.23 wip3 Sep 1, 2024 ZX Spectrum, Commodore 64, Oric, ColecoVision, Game Boy, NES, SG-1000, Master System, Game Gear, Super Cassette Vision, PV-1000, PV-2000, Arcade Open source
ep128emu [39] 🛠️ 🛠️ 2.0.11.2 Apr 19, 2019 ⚠️ ZX Spectrum, Enterprise Donationware & Open source
MAME [40] AmigaOS PPC MorphOS Haiku 0.270 Sep 26, 2024 ⚠️ Tons of vintage computers, game consoles and arcade systems Open source
NO$CPC [41] 1.8 Nov 2, 2000 ⚠️ - Donationware
PC-CPC [42] Repo 0.1at b29 Nov 17, 2011 ⚠️ - Open source
Retro Virtual Machine [43] 2.1.17 Sep 3, 2024 ❌ Removed ZX Spectrum, MSX 1, ColecoVision, SG-1000, Master System Donationware
Roland [44] Repo 🛠️ 0.70 Apr 20, 2017 - Open source
Ronald [45] 🛠️ Apr 1, 2024 ⚠️ - Open source
SugarBox [46] Old site SugarPi 2.0.2 Nov 29, 2023 ⚠️ - Open source
Virtual CPC [47] Archive 1.1 Aug 8, 2011 ⚠️ - Freeware
WinAPE [48] CPCwin 2.0b2 Jan 5, 2016 - Donationware
WinCPC / MacCPC [49] vbCPC 0.9.2 Jan 22, 2010 - Freeware
Xcpc [50] Repo 0.52.1 Sep 8, 2024 - Open source
XNACPC [51] CPC3D 1.0 Nov 11, 2011 - Open source
ZEsarUX [52] Haiku 11.0 Jun 6, 2024 ⚠️ PCW, ZX Spectrum, ZX80/81, MSX 1, ColecoVision, Spectravideo, Jupiter ACE, Sam Coupe, SG-1000, Master System, Sinclair QL, MK14, Z88 Donationware & Open source

❗= No Raspberry Pi / ARM build

🛠️ = Build it yourself

⚠️ = Incomplete tooling

Mobile

Host system Emulator name External link Current version Latest release Amstrad Plus Also emulates License
Android andcpc [53] 1.5.1 Apr 4, 2011 - Open source
Android Azimuth [54] 1.11 Aug 22, 2023 - Adware and in-app purchases💲
Android CPCDroid [55] 1.5.1 Mar 2, 2011 - Open source
Android CPCemu [56] 2.5 Aug 14, 2022 - Freeware
Android Droid-CPC [57] 1.1.01 Dec 15, 2016 - Commercial💲
Android MAME4droid 2024 [58] Repo 1.16 (0.269) Sep 9, 2024 Tons of vintage computers, game consoles and arcade systems Open source
iOS CPCemu [59] 2.5 Aug 13, 2022 - Software available on request
iOS CrocoDS [60] Repo 2.1 Jun 21, 2013 - Open source
iOS MAME4iOS [61] 2022.5 Dec 12, 2022 Tons of vintage computers, game consoles and arcade systems Open source

Discontinued OS

Host system Emulator name External link Current version Latest release Amstrad Plus Also emulates License
Acorn RISC OS !CPC [62] [63] Jul 28, 1996 - Open source
Acorn RISC OS !CPCemu [64] 1.21 Mar 22, 2016 - Open source
AmigaOS m68k A-CPC [65] 2.0 Mar 30, 2002 - Open source
AmigaOS m68k Ami-cpc [66] Ami-cpc2 0.46 Jan 21, 1998 - Open source
AmigaOS m68k CPE [67] Feb 24, 1995 - Open source
AmigaOS m68k EmuCPC [68] 0.7 Sep 15, 1996 - Open source
AROS Arnold [69] Oct 24, 2010 - Open source
AROS Caprice32 [70] 4.2.0 Oct 23, 2010 - Open source
BlackBerry OS BB-CPC [71] (dead link) 1.0.1.3 Jul 15, 2013 - Commercial💲
Classic Mac OS CPC++ [72] 1.3.2 Oct 6, 1997 - Shareware💲
DOS AdvanceMESS [73] 3.9 Sep 8, 2018 Tons of vintage computers and game consoles Open source
DOS Arnimedes [74] 0.8a Apr 15, 2000 - Freeware
DOS Caprice32 [75] 1.11 Sep 20, 1999 - Open source
DOS CPC [76] 0.55b May 16, 1997 - Freeware
DOS CPC-em [77] 0.4 Jul 7, 2004 - Open source
DOS CPCE [78] 1.94 Jun 2, 2011 - Freeware
DOS CPCemu [79] 1.5 Jul 7, 1998 - Freeware
DOS CPE [80] 5.2 Apr 21, 1997 - Open source
DOS NO$CPC [81] 1.8 Nov 2, 2000 - Freeware
DOS PC-CPC [82] Feb 3, 1998 - Open source
DOS RWCPC [83] Mar 23, 1995 - Freeware
DOS SIMCPC [84] Dec 10, 1989 - Shareware💲
DOS YAGE [85] 0.91 Oct 24, 1998 - Freeware
EXOS Software CPC Emulator [86] [87] 1.3 Jan 11, 2013 - Open source
Maemo CPCm [88] 1.20-1 Apr 27, 2010 - Open source
MSX-DOS EMU6CPC [89] Dec 17, 2018 - Freeware
OS/2 SDLMAME [90] 0.170 Jan 30, 2016 Tons of vintage computers, game consoles and arcade systems Open source
Palm OS CaPriCe for Palm OS [91] 2.8 Jun 28, 2011 - Open source
Palm OS CoPaCabana [92] 0.75 Dec 4, 2007 - Freeware
Pocket PC PocketCaprice [93] 0.9 Aug 19, 2007 - Freeware
SunOS CPC++ [94] 1.3.0 Feb 22, 1997 - Shareware💲
Symbian S60-CPC [95] 0.74 Feb 21, 2006 - Open source
Windows 9x CPC-em [96] 0.3 Jan 22, 2004 - Open source
Windows 9x MTMW [97] 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 [98] [99] v5 Apr 20, 2010 - Freeware
Microsoft XBOX CoinOPS (RetroFE) [100] 5 Oct 18, 2012 Tons of vintage computers, game consoles and arcade systems Freeware
Microsoft Xbox 360 XNACPC [101] 1.0 Nov 11, 2011 - Open source
Nintendo Wii Wiituka [102] 0.98.8 May 15, 2009 - Open source
Sega Dreamcast CPCast [103] May 6, 2006 - Freeware
Sega Dreamcast DreamCPC [104] Alpha 3 Oct 16, 2005 - Freeware
Sony PS2 CPC-em [105] 0.4 Dec 22, 2004 - Freeware
Sony PS3 Caprice32 [106] 4.1.0 DBG Apr 9, 2012 - Open source

Handheld Consoles

Note: Android-based handheld consoles (Razer Edge, Ayn Odin Pro, Retroid Pocket Flip, GPD XP, ...) will work with stand-alone Android CPC emulators or with RetroArch, same as an Android phone.

You can use RetroArch for Amstrad CPC emulation on PSP, PS Vita, DS, 3DS, Switch, Steam Deck, RetroFW, Miyoo, OpenDingux and ArkOS. Or you can use these stand-alone CPC emulators:

Host system Emulator name External link Current version Latest release Amstrad Plus Also emulates License
Dingoo A320 / A330 Pituka Dingux [107] 0.8pre Aug 19, 2010 - Open source
Dingoo A320 / A330 Dingux-CAP32 [108] 1.1.2 Oct 17, 2009 - Open source
GamePark Caanoo Caanoo-CAP32 [109] 1.1.3 Apr 24, 2011 - Open source
GamePark GP2x CapriceGP2x [110] 0.5 Feb 22, 2006 - Open source
GamePark GP2x GP2X-CAP32 [111] 1.5.1 Aug 29, 2009 - Open source
GamePark GP32 Pituka GP32 [112] 1d May 15, 2010 - Open source
GamePark Wiz Wiz-CAP32 [113] 1.1.0 Aug 29, 2009 - Open source
GCW Zero Dingux-CAP32 [114] 1.1.2 May 25, 2014 - Open source
JXD S5110 / S601 & Yinlips G18 JXD-CAP32 [115] 1.1.1 Oct 27, 2012 - Open source
Nintendo DS AmeDS [116] 4.0 Apr 25, 2010 - Freeware
Nintendo DS CrocoDS [117] Repo 2.0 Nov 9, 2007 - Open source
Nintendo GameBoy Advance Mini Amstrad Emulator [118] Dec 26, 2005 - Open source
Odroid GO CapriceESP32 [119] Dec 3, 2020 - Open source
OpenDingux CrocoDS [120] Repo Jan 15, 2020 - Open source
Pandora Pandora-CAP32 [121] 1.1.0 Jun 27, 2010 - Open source
Sony PSP Caprice32 PSP [122] 4.2.0.2 Nov 28, 2007 - Open source
Sony PSP CPCPSP [123] 0.1 Dec 24, 2005 - Freeware
Sony PSP PSPCAP32 [124] 1.5.1 Aug 21, 2009 - Open source
Trimui Model S Arnold Trimui [125] 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

Chips

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 [126]
  • 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
  • OmniFlop Universal floppy disk reader, writer, and tester for Windows. Supports over 280 floppy disk formats
  • 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

Tapes

  • TZXduino MAXduino Arduino-based tape deck emulator. Supports many formats of tape-images including CDT and TZX
  • tapDancer [127] 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
  • C4CPC Cartridge replacement for the Amstrad Plus range and the GX4000
  • Flash+ cartridge Amstrad CPC+ GX4000 reflashable cartridge

Printers

  • Amstrad CPC Printer Emulator Arduino-based CPC printer emulator that can output text, markdown or HTML
  • Retro-Printer Plugin module for the Raspberry Pi that makes it possible to connect retro computers to modern USB or network printers
  • ESCParser Command-line utility, ESC/P printer emulator that can output PostScript, SVG or PDF

Other

  • LensKey LensLok copy-protection decoder for Windows
  • vga4cpc VGA output for Amstrad CPC based on Raspberry Pi Pico
  • Sinden Lightgun LCD-compatible lightgun


Peripherals supported in emulators

Mass storage devices

Audio devices

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:

Note: AMX and MultiPlay are the most widely supported mice in CPC programs

Hacking devices


Emulator accuracy checking tools

Quick evaluation

Z80 CPU

Diagnostics

Amstrad Plus

Colorimetry

  • CPC DiAG also shows that the primary colours themselves are a bit different. Blue is more vivid and Green is less fluorescent on Amstrad displays.
  • Colours are less saturated and black is not as profound on CRT monitors than they are on modern displays.

Graphics

Audio

Peripherals

Copy-protection

Other


Rewind feature

ACE-DL has a rewind feature, but it is not as good as it could be: Demonstration of rewind in ACE-DL

Only the RetroArch CPC emulator has a proper rewind feature: Demonstration of rewind in RetroArch. To reverse the game, the user press and hold the rewind button. And at any point, releasing the button makes time goes forward again.

A very simple approach would be to make a SNA for each frame and limit the RAM snapshot to 128KB, which is ok for 99% of CPC software. For a 10-seconds long rewind functionality, only 64MB RAM is needed (128KB * 50 frames * 10 seconds).

A more efficient approach is to store only the values that are changed in RAM between two frames, so that RAM can be restored when rewinding. This allows for long rewinds, even of a CPC equipped with a 4MB RAM expansion. Proof of it is the GBA emulator SkyEmu demonstrating super long rewind while needing very few RAM.

For debugging, going back to the previous instruction is easily implemented. The emulator has to store the time when the previous instruction was executed so that he can go back to that instruction. In the same way, emulators can provide access to the previous HBL, IRQ, VBL, etc.


File format specifications


Emulation Tools

Cross-Platform Development

Cross-Platform Art


Emulator Detection

If you want to promote usage of real CPC computers, you can detect CPC emulators by:

  • Checking if the memory is initialized with zeroes, as real machines have random memory values at boot
  • Playing with the "floating" bus. Using Z80 read I/O commands to write to chip registers. Using undocumented I/O ports. Writing to multiple chips simultaneously
  • 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 [136] 2.30 Apr 2, 1986 Commercial💲 BBC BASIC
BASIC 1.1 Fuer CPC464 [137] Oct 1986 Open source Locomotive BASIC 1.1
CPCZVM [138] Jul 6, 2019 Open source Z-Machine
CPvM [139] Repo 1.0 Apr 17, 2024 Open source CP/M
Pac-Man [140] 1.1 Jun 5, 2014 Open source Pac-Man arcade
PC-Emulator [141] Sep 1986 Hardware💲 IBM PC
Phoenix [142] Jan 6, 2019 Freeware Phoenix arcade
Space Invaders [143] 1.02 Mar 18, 2017 Freeware Space Invaders arcade
Vezza [144] Repo Jan 7, 2024 Open source Z-Machine
ZXM [145] 1993 Freeware ZX Spectrum
Zym [146] 0.9 Feb 19, 2022 Open source Z-Machine