<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://oldwiki.cpcwiki.eu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=OffseT</id>
		<title>CPCWiki - THE Amstrad CPC encyclopedia! - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://oldwiki.cpcwiki.eu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=OffseT"/>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php/Special:Contributions/OffseT"/>
		<updated>2026-08-28T12:57:39Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.25.1</generator>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Main_Page&amp;diff=119935</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Main_Page&amp;diff=119935"/>
				<updated>2024-11-10T10:33:46Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ &lt;br /&gt;
&amp;lt;center&amp;gt;This site is an encyclopaedia on all things [[Amstrad|Amstrad]] [[CPC|CPC]] related. There are now '''[[Special:Allpages|{{NUMBEROFARTICLES}} articles]]''' about the CPC available.&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:forum.png|300px|link=http://www.cpcwiki.eu/forum]]      [[Image:Vs.png|300px|link=http://www.cpcwiki.eu/index.php/Speccy_Port]]&amp;lt;/center&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid rgb(255, 201, 201); margin: 0px 0px 5px; padding: 0.5em 1em; background-color: rgb(255, 243, 243);&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Amstrad Addict Magazine ad.jpg|190px|thumb|left]]&lt;br /&gt;
'''AMSTRAD ADDICT MAGAZINE ANNOUNCED&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A new 60-page Amstrad magazine - '''Amstrad Addict''' - edited by '''David Crookes''' (Retro Gamer, PC Pro, GamesTM, Wireframe, Amstrad Action, WACCI) is taking pre-orders!&amp;lt;br&amp;gt;&amp;lt;br&amp;gt; It includes an interview with '''Lord Sugar''' and in-depth articles by Roland Perry, Auntie John, Adam Peters, Nich Campbell, Xyphoe, Rob Scott, Themistocles &amp;quot;gryzor&amp;quot; Papassilekas, Neil Reive, Stuart &amp;quot;Balrog&amp;quot; Whyte, Steve &amp;quot;WACCI&amp;quot; Williams and Andy Price. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;There's an amazing type-in by Sean McManus, interviews with Richard Fairhurst and behind the scenes looks at Toki... and Vespertino. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;And more. Like interviews with the people behind Protext and OCP Advanced Art Studio&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preorder PDF or printed magazine '''[https://www.pixel.addict.media/shop/amstrad-addict-magazine here]''' or follow the discussion '''[https://www.cpcwiki.eu/forum/news-events/amstrad-addict-magazine here]'''!&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid rgb(255, 201, 201); margin: 0px 0px 5px; padding: 0.5em 1em; background-color: rgb(255, 243, 243);&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt; '''CPC Related News''' &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- 8 last news only, see http://www.cpcwiki.eu/index.php/OldNews --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;overflow:auto; border: 0px solid #FFC9C9&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Dez80_intro.png|thumb|256px|[http://www.cpcwiki.eu/index.php/DEZ80 Mastering Z80 Assembler Course]]]&lt;br /&gt;
&lt;br /&gt;
*10/11/24: '''[http://amsnet.chez.com UniLoad]''' game launcher official release.&lt;br /&gt;
*31/10/24: [[Future View V]] the Halloween issue of the disc mag&lt;br /&gt;
*27/10/24: '''[[FutureOS]]''' Update 2024 [http://www.FutureOS.de released].&lt;br /&gt;
*09/09/24: '''The Key''', a new adventure by Pakete Soft [https://www.paketesoft.com/es/the-key-eng-version has been released].&lt;br /&gt;
*04/09/24: '''[[UniDOS]]''' 1.51 [https://unidos.cpcscene.net released].&lt;br /&gt;
*12/07/24: Comprehensive update of text editor [[FutureTex]] to 0.5.2. Text / Block management up to 3,5 MB&lt;br /&gt;
*07/06/24: [[On File]] database management system as well as [[No One Like You Demo]] have been released by [[KSL]].&lt;br /&gt;
*05/06/24: [https://snauts.itch.io/pulzar Pulzar] by Snauts, double feature: ZX &amp;amp; CPC release.&lt;br /&gt;
*17/05/24: '''[https://www.usebox.net/jjm/heart-of-salamanderland/ The Heart of Salamanderland]''', a new action platformer, has been released.&lt;br /&gt;
*21/09/23: '''[https://amsnews.fr AMSnews.fr]''', a new french information site about the Amstrad. '''''Be the first to know'''''.&lt;br /&gt;
*07/06/23: '''Gates to Heaven''', a new platformer by [[ESP Soft]] [https://amstrad-esp.itch.io/gates-to-heaven-amstrad-cpc has been released], and their previous game, '''CPC Jewels''', can now be [https://amstrad-esp.itch.io/cpc-jewels-amstrad-cpc downloaded for free].&lt;br /&gt;
*27/02/23: '''SOH Tactics GX''', a new GX4000/plus strategy game [http://www.sohde.co.uk/SOHTacticsGX.html released].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=right&amp;gt;...[[OldNews|Older News]]...&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- WEIRD TABLE START --&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; class=&amp;quot;FCK__ShowTableBorders&amp;quot; &lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| &amp;lt;div style=&amp;quot;border: 1px solid rgb(176, 176, 176); margin: 0px 0px 5px; padding: 0.5em 1em; background-color: rgb(238, 238, 238);&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== CPCWiki related ===&lt;br /&gt;
*[[CPCWiki updates]]&lt;br /&gt;
*[[Donors]]&lt;br /&gt;
&lt;br /&gt;
'''Become an Author!'''&lt;br /&gt;
&amp;lt;createbox&amp;gt; &lt;br /&gt;
default=Enter name of article to create &lt;br /&gt;
buttonlabel=Create article! &lt;br /&gt;
width=40 &lt;br /&gt;
&amp;lt;/createbox&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid rgb(176, 176, 176); margin: 0px 0px 5px; padding: 0.5em 1em; background-color: rgb(238, 238, 238);&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right;&amp;quot;&amp;gt;&amp;lt;small&amp;gt;'''All [[Special:Wantedpages|wanted articles]]''' &amp;amp;#124; [[:Category:Stub|Extendable Stubs]] | '''[[Special:ContributionScores|List of most active contributors]]'''&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; style=&amp;quot;vertical-align: top;&amp;quot; | &amp;lt;div style=&amp;quot;border: 1px solid rgb(228, 222, 222); margin: 0px 0px 5px; padding: 0.5em 1em; background-color: rgb(249, 249, 249);&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Did you know?  ===&lt;br /&gt;
&lt;br /&gt;
*When the CPC 664 was being developed, Sugar was already looking (and hinting publicly!) at the CPC 6128.&lt;br /&gt;
*The [[472|CPC 472]] was a 464 + 8 KB unwired RAM, released in Spain to circumvent a tax charging 64 KB computers.&lt;br /&gt;
*With a total of '''768×288''' pixels, the [[CPC|CPC]] was the 8-bit with the highest displayable resolution on a CRT screen.&lt;br /&gt;
*'''OpenOffice''' is the descendant of [[Star-Division|StarWriter]] for CPC. &lt;br /&gt;
*'''Excel''' is the direct descendant of  [[Multiplan]] for CP/M. &lt;br /&gt;
*[[SymbOS|SymbOS]] supports '''50x''' bigger hard drives than Win95A. &lt;br /&gt;
*[[FutureOS|FutureOS]] can load a 178 KB floppy disc in '''9 seconds'''.&lt;br /&gt;
*[[FutureOS|FutureOS]] can manage up to '''4 MB''' of extended RAM and '''32 GB''' of mass storage.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Main_Page&amp;diff=119934</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Main_Page&amp;diff=119934"/>
				<updated>2024-11-10T10:32:40Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ &lt;br /&gt;
&amp;lt;center&amp;gt;This site is an encyclopaedia on all things [[Amstrad|Amstrad]] [[CPC|CPC]] related. There are now '''[[Special:Allpages|{{NUMBEROFARTICLES}} articles]]''' about the CPC available.&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:forum.png|300px|link=http://www.cpcwiki.eu/forum]]      [[Image:Vs.png|300px|link=http://www.cpcwiki.eu/index.php/Speccy_Port]]&amp;lt;/center&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid rgb(255, 201, 201); margin: 0px 0px 5px; padding: 0.5em 1em; background-color: rgb(255, 243, 243);&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Amstrad Addict Magazine ad.jpg|190px|thumb|left]]&lt;br /&gt;
'''AMSTRAD ADDICT MAGAZINE ANNOUNCED&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A new 60-page Amstrad magazine - '''Amstrad Addict''' - edited by '''David Crookes''' (Retro Gamer, PC Pro, GamesTM, Wireframe, Amstrad Action, WACCI) is taking pre-orders!&amp;lt;br&amp;gt;&amp;lt;br&amp;gt; It includes an interview with '''Lord Sugar''' and in-depth articles by Roland Perry, Auntie John, Adam Peters, Nich Campbell, Xyphoe, Rob Scott, Themistocles &amp;quot;gryzor&amp;quot; Papassilekas, Neil Reive, Stuart &amp;quot;Balrog&amp;quot; Whyte, Steve &amp;quot;WACCI&amp;quot; Williams and Andy Price. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;There's an amazing type-in by Sean McManus, interviews with Richard Fairhurst and behind the scenes looks at Toki... and Vespertino. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;And more. Like interviews with the people behind Protext and OCP Advanced Art Studio&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preorder PDF or printed magazine '''[https://www.pixel.addict.media/shop/amstrad-addict-magazine here]''' or follow the discussion '''[https://www.cpcwiki.eu/forum/news-events/amstrad-addict-magazine here]'''!&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid rgb(255, 201, 201); margin: 0px 0px 5px; padding: 0.5em 1em; background-color: rgb(255, 243, 243);&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt; '''CPC Related News''' &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- 8 last news only, see http://www.cpcwiki.eu/index.php/OldNews --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;overflow:auto; border: 0px solid #FFC9C9&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Dez80_intro.png|thumb|256px|[http://www.cpcwiki.eu/index.php/DEZ80 Mastering Z80 Assembler Course]]]&lt;br /&gt;
&lt;br /&gt;
*10/11/24: '''[http://amsnet.chez.com UniLoad]''' game launcher official release.&lt;br /&gt;
*31/10/24: [[Future View V]] the Halloween issue of the disc mag&lt;br /&gt;
*27/10/24: '''[[FutureOS]]''' Update 2024 [http://www.FutureOS.de released].&lt;br /&gt;
*09/09/24: '''The Key''', a new adventure by Pakete Soft [https://www.paketesoft.com/es/the-key-eng-version has been released].&lt;br /&gt;
*04/09/24: '''[[UniDOS]]''' 1.51 released [https://unidos.cpcscene.net].&lt;br /&gt;
*12/07/24: Comprehensive update of text editor [[FutureTex]] to 0.5.2. Text / Block management up to 3,5 MB&lt;br /&gt;
*07/06/24: [[On File]] database management system as well as [[No One Like You Demo]] have been released by [[KSL]].&lt;br /&gt;
*05/06/24: [https://snauts.itch.io/pulzar Pulzar] by Snauts, double feature: ZX &amp;amp; CPC release.&lt;br /&gt;
*17/05/24: '''[https://www.usebox.net/jjm/heart-of-salamanderland/ The Heart of Salamanderland]''', a new action platformer, has been released.&lt;br /&gt;
*21/09/23: '''[https://amsnews.fr AMSnews.fr]''', a new french information site about the Amstrad. '''''Be the first to know'''''.&lt;br /&gt;
*07/06/23: '''Gates to Heaven''', a new platformer by [[ESP Soft]] [https://amstrad-esp.itch.io/gates-to-heaven-amstrad-cpc has been released], and their previous game, '''CPC Jewels''', can now be [https://amstrad-esp.itch.io/cpc-jewels-amstrad-cpc downloaded for free].&lt;br /&gt;
*27/02/23: '''SOH Tactics GX''', a new GX4000/plus strategy game [http://www.sohde.co.uk/SOHTacticsGX.html released].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=right&amp;gt;...[[OldNews|Older News]]...&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- WEIRD TABLE START --&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; class=&amp;quot;FCK__ShowTableBorders&amp;quot; &lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| &amp;lt;div style=&amp;quot;border: 1px solid rgb(176, 176, 176); margin: 0px 0px 5px; padding: 0.5em 1em; background-color: rgb(238, 238, 238);&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== CPCWiki related ===&lt;br /&gt;
*[[CPCWiki updates]]&lt;br /&gt;
*[[Donors]]&lt;br /&gt;
&lt;br /&gt;
'''Become an Author!'''&lt;br /&gt;
&amp;lt;createbox&amp;gt; &lt;br /&gt;
default=Enter name of article to create &lt;br /&gt;
buttonlabel=Create article! &lt;br /&gt;
width=40 &lt;br /&gt;
&amp;lt;/createbox&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid rgb(176, 176, 176); margin: 0px 0px 5px; padding: 0.5em 1em; background-color: rgb(238, 238, 238);&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right;&amp;quot;&amp;gt;&amp;lt;small&amp;gt;'''All [[Special:Wantedpages|wanted articles]]''' &amp;amp;#124; [[:Category:Stub|Extendable Stubs]] | '''[[Special:ContributionScores|List of most active contributors]]'''&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; style=&amp;quot;vertical-align: top;&amp;quot; | &amp;lt;div style=&amp;quot;border: 1px solid rgb(228, 222, 222); margin: 0px 0px 5px; padding: 0.5em 1em; background-color: rgb(249, 249, 249);&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Did you know?  ===&lt;br /&gt;
&lt;br /&gt;
*When the CPC 664 was being developed, Sugar was already looking (and hinting publicly!) at the CPC 6128.&lt;br /&gt;
*The [[472|CPC 472]] was a 464 + 8 KB unwired RAM, released in Spain to circumvent a tax charging 64 KB computers.&lt;br /&gt;
*With a total of '''768×288''' pixels, the [[CPC|CPC]] was the 8-bit with the highest displayable resolution on a CRT screen.&lt;br /&gt;
*'''OpenOffice''' is the descendant of [[Star-Division|StarWriter]] for CPC. &lt;br /&gt;
*'''Excel''' is the direct descendant of  [[Multiplan]] for CP/M. &lt;br /&gt;
*[[SymbOS|SymbOS]] supports '''50x''' bigger hard drives than Win95A. &lt;br /&gt;
*[[FutureOS|FutureOS]] can load a 178 KB floppy disc in '''9 seconds'''.&lt;br /&gt;
*[[FutureOS|FutureOS]] can manage up to '''4 MB''' of extended RAM and '''32 GB''' of mass storage.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=UniDOS&amp;diff=119933</id>
		<title>UniDOS</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=UniDOS&amp;diff=119933"/>
				<updated>2024-11-10T10:17:03Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: /* Web links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;AMSDOS compatible DOS from [[Futurs']] which provides support for additional hardware/software drives through plugins ROMs called DOS nodes.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
When using UniDOS, you can access all your drives connected to various built-in or expansion interfaces, simultaneously and in a compatible and consistent manner.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
UniDOS includes support for AMSDOS/[[ParaDOS]] floppy discs and tape.&lt;br /&gt;
&lt;br /&gt;
Additional DOS nodes exist to add support for:&lt;br /&gt;
* [[Albireo]] (USB, MicroSD),&lt;br /&gt;
* [[M4 Board]] (MicroSD, WIFI),&lt;br /&gt;
* [[X-Mass]] (IDE interface),&lt;br /&gt;
* [[Symbiface II]] (IDE interface),&lt;br /&gt;
* [[Nova]] (non-volatile memory) &lt;br /&gt;
* and more...&lt;br /&gt;
&lt;br /&gt;
== Web links  ==&lt;br /&gt;
&lt;br /&gt;
*[https://unidos.cpcscene.net Official web site]&lt;br /&gt;
*[http://amsnet.chez.com Secondary tools &amp;amp; resources (UniLoad, VGM player…)]&lt;br /&gt;
*[https://web.libera.chat/#cpc-fr IRC channel]&lt;br /&gt;
&lt;br /&gt;
[[category:Disc Operating System]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=UniDOS&amp;diff=119932</id>
		<title>UniDOS</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=UniDOS&amp;diff=119932"/>
				<updated>2024-11-10T10:16:05Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: /* Web links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;AMSDOS compatible DOS from [[Futurs']] which provides support for additional hardware/software drives through plugins ROMs called DOS nodes.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
When using UniDOS, you can access all your drives connected to various built-in or expansion interfaces, simultaneously and in a compatible and consistent manner.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
UniDOS includes support for AMSDOS/[[ParaDOS]] floppy discs and tape.&lt;br /&gt;
&lt;br /&gt;
Additional DOS nodes exist to add support for:&lt;br /&gt;
* [[Albireo]] (USB, MicroSD),&lt;br /&gt;
* [[M4 Board]] (MicroSD, WIFI),&lt;br /&gt;
* [[X-Mass]] (IDE interface),&lt;br /&gt;
* [[Symbiface II]] (IDE interface),&lt;br /&gt;
* [[Nova]] (non-volatile memory) &lt;br /&gt;
* and more...&lt;br /&gt;
&lt;br /&gt;
== Web links  ==&lt;br /&gt;
&lt;br /&gt;
*[https://unidos.cpcscene.net Official web site]&lt;br /&gt;
*[http://amsnet.chez.com Secondary tools &amp;amp; resources for UniDOS (UniLoad, VGM player…)]&lt;br /&gt;
*[https://web.libera.chat/#cpc-fr IRC channel]&lt;br /&gt;
&lt;br /&gt;
[[category:Disc Operating System]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=System_software&amp;diff=115229</id>
		<title>System software</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=System_software&amp;diff=115229"/>
				<updated>2024-04-08T17:37:01Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: /* IDE operating systems */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Operating System| ]][[Category:Programming software]][[Category:Software]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== System BIOS ==&lt;br /&gt;
&lt;br /&gt;
* [[BIOS Functions]]&lt;br /&gt;
&lt;br /&gt;
== Disc operating systems ==&lt;br /&gt;
&lt;br /&gt;
* [[400K/S]] ([[SD Microsystems]])&lt;br /&gt;
* [[AMSDOS]] ([[Amstrad]])&lt;br /&gt;
* [[AMSDOS#BASDOS|BASDOS]]&lt;br /&gt;
* [[BonnyDOS]]&lt;br /&gt;
* [[MagicDOS]] ([[Logon System]])&lt;br /&gt;
* [[MS800]] ([[Microstyle]])&lt;br /&gt;
* [[NIGDOS]]&lt;br /&gt;
* [[ParaDOS]] ([[Quantum Computing]])&lt;br /&gt;
* [[RODOS]] ([[Romantic Robot]])&lt;br /&gt;
* [[ROMDOS]] and [[RAMDOS]] ([[KDS]]/[[Siren Software]])&lt;br /&gt;
* [[S-DOS]] ([[STS]])&lt;br /&gt;
* [[SymDOS]] ([[Flynn]])&lt;br /&gt;
* [[UniDOS]] ([[Futurs']])&lt;br /&gt;
* [[VDOS]] ([[Vortex Computersysteme|Vortex]])&lt;br /&gt;
* [[X-DDOS]]&lt;br /&gt;
&lt;br /&gt;
== IDE operating systems ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.cpcwiki.eu/forum/applications/cubeios-fat16fat32-rom-for-the-cpc's-with-xmass CubeIOS (FAT16+FAT32-IDE-OS ROM for the Amstrad CPC's with XMASS)]&lt;br /&gt;
* [[UniDOS]] ([[Futurs']])&lt;br /&gt;
&lt;br /&gt;
== Graphical user interfaces / Shells ==&lt;br /&gt;
&lt;br /&gt;
* [[CBM]] ([[TFM]]) (2014)&lt;br /&gt;
* [[CEUS Desktop 2.0]] ([[Prodatron]]) (1990)&lt;br /&gt;
* [[Desk-Royal]] ([[Crusader Software]]) (1989)&lt;br /&gt;
* [[Desktop]] (David Wild [[DW Software]])&lt;br /&gt;
* [[Desktop Environment System|DES]] (Desktop Environment System) ([[Campursoft]]) (1994)&lt;br /&gt;
* [[GENO]] ([[GHE]])&lt;br /&gt;
* [[Max desktop]] ([[Excel Software]] and [[Advanced Memory Systems]]) (1987)&lt;br /&gt;
* [[Mouse Operating System (M.O.S.)]] ([[Star-Division]]) (1987)&lt;br /&gt;
* [[SI-BOF]] ([[Bad Error]]) (1992)&lt;br /&gt;
* [[Stream2]] ([[Advanced Software Project]]) (1994)&lt;br /&gt;
* [[WOPS]] ([[Camel]]) (1988)&lt;br /&gt;
* [[Worktop]] ([[Robot PD]]) (1991)&lt;br /&gt;
&lt;br /&gt;
== Operating Systems ==&lt;br /&gt;
&lt;br /&gt;
* [[Contiki]]&lt;br /&gt;
* [[CPC OS]]&lt;br /&gt;
* [[CP/M 2.2]]&lt;br /&gt;
* [[CP/M 3.0]] CP/M Plus&lt;br /&gt;
* [[FutureOS]] ([[TFM]] / [[FutureSoft]])&lt;br /&gt;
* [[MicroDOS]]&lt;br /&gt;
* [[SymbOS]] ([[Prodatron]] / [[SymbiosiS]])&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=System_software&amp;diff=115228</id>
		<title>System software</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=System_software&amp;diff=115228"/>
				<updated>2024-04-08T17:34:48Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: /* Disc operating systems */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Operating System| ]][[Category:Programming software]][[Category:Software]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== System BIOS ==&lt;br /&gt;
&lt;br /&gt;
* [[BIOS Functions]]&lt;br /&gt;
&lt;br /&gt;
== Disc operating systems ==&lt;br /&gt;
&lt;br /&gt;
* [[400K/S]] ([[SD Microsystems]])&lt;br /&gt;
* [[AMSDOS]] ([[Amstrad]])&lt;br /&gt;
* [[AMSDOS#BASDOS|BASDOS]]&lt;br /&gt;
* [[BonnyDOS]]&lt;br /&gt;
* [[MagicDOS]] ([[Logon System]])&lt;br /&gt;
* [[MS800]] ([[Microstyle]])&lt;br /&gt;
* [[NIGDOS]]&lt;br /&gt;
* [[ParaDOS]] ([[Quantum Computing]])&lt;br /&gt;
* [[RODOS]] ([[Romantic Robot]])&lt;br /&gt;
* [[ROMDOS]] and [[RAMDOS]] ([[KDS]]/[[Siren Software]])&lt;br /&gt;
* [[S-DOS]] ([[STS]])&lt;br /&gt;
* [[SymDOS]] ([[Flynn]])&lt;br /&gt;
* [[UniDOS]] ([[Futurs']])&lt;br /&gt;
* [[VDOS]] ([[Vortex Computersysteme|Vortex]])&lt;br /&gt;
* [[X-DDOS]]&lt;br /&gt;
&lt;br /&gt;
== IDE operating systems ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.cpcwiki.eu/forum/applications/cubeios-fat16fat32-rom-for-the-cpc's-with-xmass CubeIOS (FAT16+FAT32-IDE-OS ROM for the Amstrad CPC's with XMASS)]&lt;br /&gt;
&lt;br /&gt;
== Graphical user interfaces / Shells ==&lt;br /&gt;
&lt;br /&gt;
* [[CBM]] ([[TFM]]) (2014)&lt;br /&gt;
* [[CEUS Desktop 2.0]] ([[Prodatron]]) (1990)&lt;br /&gt;
* [[Desk-Royal]] ([[Crusader Software]]) (1989)&lt;br /&gt;
* [[Desktop]] (David Wild [[DW Software]])&lt;br /&gt;
* [[Desktop Environment System|DES]] (Desktop Environment System) ([[Campursoft]]) (1994)&lt;br /&gt;
* [[GENO]] ([[GHE]])&lt;br /&gt;
* [[Max desktop]] ([[Excel Software]] and [[Advanced Memory Systems]]) (1987)&lt;br /&gt;
* [[Mouse Operating System (M.O.S.)]] ([[Star-Division]]) (1987)&lt;br /&gt;
* [[SI-BOF]] ([[Bad Error]]) (1992)&lt;br /&gt;
* [[Stream2]] ([[Advanced Software Project]]) (1994)&lt;br /&gt;
* [[WOPS]] ([[Camel]]) (1988)&lt;br /&gt;
* [[Worktop]] ([[Robot PD]]) (1991)&lt;br /&gt;
&lt;br /&gt;
== Operating Systems ==&lt;br /&gt;
&lt;br /&gt;
* [[Contiki]]&lt;br /&gt;
* [[CPC OS]]&lt;br /&gt;
* [[CP/M 2.2]]&lt;br /&gt;
* [[CP/M 3.0]] CP/M Plus&lt;br /&gt;
* [[FutureOS]] ([[TFM]] / [[FutureSoft]])&lt;br /&gt;
* [[MicroDOS]]&lt;br /&gt;
* [[SymbOS]] ([[Prodatron]] / [[SymbiosiS]])&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=UniDOS&amp;diff=115225</id>
		<title>UniDOS</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=UniDOS&amp;diff=115225"/>
				<updated>2024-04-08T15:13:35Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: /* Web links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;AMSDOS compatible DOS from [[Futurs']] which provides support for additional hardware/software drives through plugins ROMs called DOS nodes.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
When using UniDOS, you can access all your drives connected to various built-in or expansion interfaces, simultaneously and in a compatible and consistent manner.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
UniDOS includes support for AMSDOS/[[ParaDOS]] floppy discs and tape.&lt;br /&gt;
&lt;br /&gt;
Additional DOS nodes exist to add support for:&lt;br /&gt;
* [[Albireo]] (USB, MicroSD),&lt;br /&gt;
* [[M4 Board]] (MicroSD, WIFI),&lt;br /&gt;
* [[X-Mass]] (IDE interface),&lt;br /&gt;
* [[Symbiface II]] (IDE interface),&lt;br /&gt;
* [[Nova]] (non-volatile memory) &lt;br /&gt;
* and more...&lt;br /&gt;
&lt;br /&gt;
== Web links  ==&lt;br /&gt;
&lt;br /&gt;
*[https://unidos.cpcscene.net Official web site]&lt;br /&gt;
*[https://web.libera.chat/#cpc-fr IRC channel]&lt;br /&gt;
&lt;br /&gt;
[[category:Disc Operating System]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=ACE_(Emulator)&amp;diff=115224</id>
		<title>ACE (Emulator)</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=ACE_(Emulator)&amp;diff=115224"/>
				<updated>2024-04-08T15:12:49Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: /* Web links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:ACE.png|thumb|German GUI - Main window]]'''ACE''' is a high quality [[Amstrad]] CPC/CPC+ emulator written by Philippe &amp;quot;[[OffseT|OffseT]]&amp;quot; Rimauro.&lt;br /&gt;
&lt;br /&gt;
It is developed exclusively for [http://www.morphos.de/ MorphOS] as a user-friendly and fully OS-compliant application.&amp;lt;br /&amp;gt;&lt;br /&gt;
Also, PulkoMandy is maintaining a port for [https://www.haiku-os.org/ Haiku] which tries to match the features of the original version as much as possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACE was coded from scratch, using a real CPC as a reference in order to provide one of the best Amstrad CPC emulator ever. Most of the games and demos for both CPC and CPC+ are working perfectly; the quality of the emulation is often superior to what the existing CPC emulators on PC/Windows can produce.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In addition to the high quality emulation, ACE features full screen and overlay display (including 50Hz display), editor and analyzer windows for all emulated CPU and chipsets, advanced breakpoints management, a very powerful set of AREXX commands for cross-development, a plugin interface, scripting capabilities, and much more...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Moreover, ACE is fully translated in French, Spanish, German and English and is still under active development. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Also worth mentioning is [[ACE-DL]], an emulator available for Windows, macOS and Linux, which uses the same emulation engine as ACE but with a minimalist GUI (SDL-based), no localization, no scripting capabilities, and no support for external plugins.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Emulator capabilities ==&lt;br /&gt;
&lt;br /&gt;
ACE emulates most CPC hardwares and their variants.&lt;br /&gt;
&lt;br /&gt;
=== System ===&lt;br /&gt;
* Handling of the entire CPC and CPC+ range.&lt;br /&gt;
* Full Z80 emulation.&lt;br /&gt;
* Up to 256 expansion ROMs.&lt;br /&gt;
* Up to 4 MiB of extended memory.&lt;br /&gt;
&lt;br /&gt;
=== Video ===&lt;br /&gt;
* Accurate CRTC emulation of the various CRTC types.&lt;br /&gt;
* Gate Array full emulation of all variants (perfect split rasters management).&lt;br /&gt;
* CPC+ ASIC full emulation (unique quarter-cycle precision).&lt;br /&gt;
* CTM644, GT65 and MM12 monitors emulation (including dynamic analog behaviors).&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* Full and very accurate PSG emulation (AY-3-8912).&lt;br /&gt;
* Extremely accurate audio DMA emulation on CPC+.&lt;br /&gt;
&lt;br /&gt;
=== Devices ===&lt;br /&gt;
* Accurate but incomplete FDC emulation (Format and Scan instructions are missing).&lt;br /&gt;
* Accurate emulation of both floppy disc drives (real rotation speed computation, manual drive &amp;amp; side switches support).&lt;br /&gt;
* CPC+ Cartridge port emulation (including upcoming extended cartridges).&lt;br /&gt;
* Emulation of the tape interface through audio files (read only).&lt;br /&gt;
* Accurate emulation of the keyboard (including ghost keys when pressing more than three keys at once).&lt;br /&gt;
* Automatic keyboard remapping can be activated if your are using ACE with a keyboard layout unknown by the original CPC firmwares.&lt;br /&gt;
* Plugins interface to support virtually any external device.&lt;br /&gt;
&lt;br /&gt;
== Graphical interface ==&lt;br /&gt;
&lt;br /&gt;
ACE MUI graphical interface is designed to be versatile and very easy to use, and everything is always updated in real time to match the actual emulator state.&lt;br /&gt;
&lt;br /&gt;
* Simple and modular configuration of the CPC profiles to emulate using tool types (from Ambient) or arguments (from CLI).&lt;br /&gt;
* Ability to change the CRTC type or the screen monitor model on-the-fly without having to reset the running program.&lt;br /&gt;
* SNA and DSK files management (all of them!) with automatic on-the-fly detection and fix of the corrupted DSK.&lt;br /&gt;
* CPR files management for CPC+ cartridges (including support of extended cartridges up to several hundreds on megabytes).&lt;br /&gt;
* Overlay support with real pixel aspect ratio.&lt;br /&gt;
* Full screen support with the ability to choose the graphic mode to use in order to get back the 50Hz smoothness if your screen monitor can do this.&lt;br /&gt;
* Maskable interface in both windowed &amp;amp; full screen modes.&lt;br /&gt;
* Floppy disc drives LED activity OSD when the interface is not displayed.&lt;br /&gt;
* Rich breakpoints management on predefined conditions (HBL, VBL, interrupt...), on graphical coordinates, on execution addresses, on memory accesses and on I/O ports accesses (with the ability to use complex conditions, masks on the break address and/or the break value) with the option to execute scripts.&lt;br /&gt;
* Video beam cursor to see the cathode's ray position while on pause or in step by step mode.&lt;br /&gt;
* Memory editor (management of all RAM and ROM switching, automatic detection of the character code page depending on the installed firmware ROM).&lt;br /&gt;
* Z80 disassembler with highlight on opcodes and fast jump buttons on branch instructions.&lt;br /&gt;
* CRTC editor (full real time read/write access to the registers).&lt;br /&gt;
* Z80 editor (full real time read/write access to the registers).&lt;br /&gt;
* Gate Array analyzer (palette display, graphic mode, interrupt internal counter).&lt;br /&gt;
* PSG analyzer (played notes, tuning, and a bunch of rich information from the current PSG settings).&lt;br /&gt;
* Hard sprites analyzer (palette and content).&lt;br /&gt;
* DMA analyzer (full real time state and instructions being executed).&lt;br /&gt;
* Video information window (frequencies, beam ray position...).&lt;br /&gt;
* Virtual keyboard and joysticks.&lt;br /&gt;
* Ability to map joystick to keyboard when in case real joystick is available.&lt;br /&gt;
* Internal keyboard matrix state observer.&lt;br /&gt;
* Screen monitor settings window (type, brightness, vertical hold).&lt;br /&gt;
* Sound volume control.&lt;br /&gt;
* Online help and MUI's bubbles help available everywhere to help the beginners.&lt;br /&gt;
&lt;br /&gt;
== Programmable interface ==&lt;br /&gt;
&lt;br /&gt;
ACE is designed to be expandable and controllable. You are not limited to the core emulation and can you easily integrate it in any cross-development tool chain.&lt;br /&gt;
&lt;br /&gt;
=== Plugins ===&lt;br /&gt;
&lt;br /&gt;
ACE support plugins that allow anybody with some C language knowledges to add support for expansions connected to joystick, printer or expansion CPC port.&lt;br /&gt;
&lt;br /&gt;
==== Default ====&lt;br /&gt;
* Both [[joystick]]s (up to three fire buttons, also including an unique combined mode) using real devices plugged on the host machine (using USB or whatever).&lt;br /&gt;
* [[Printer]] (redirected to a file).&lt;br /&gt;
* [[Multiface_II|Multiface Two]] (well known hardware debugger and snapshot handler).&lt;br /&gt;
* [[Digiblaster|Digiblaster/Soundplayer]] (8-bit mono sound card).&lt;br /&gt;
* [[Kempston Mouse]].&lt;br /&gt;
* [[AMX Mouse]].&lt;br /&gt;
* [[Gunstick]] (light gun).&lt;br /&gt;
* [[Amstrad Magnum Phaser]] (light gun).&lt;br /&gt;
* [[Trojan Light Phazer]] (light gun).&lt;br /&gt;
* [[West Phaser]] (light gun).&lt;br /&gt;
&lt;br /&gt;
==== Additional ====&lt;br /&gt;
* [[Albireo]] (MicroSD, USB, and more).&lt;br /&gt;
* [[X-Mass]] (IDE interface).&lt;br /&gt;
* [[Dandanator]] (programmable game cartridge module)&lt;br /&gt;
* [[Play2CPC]] (Amstrad Plus compatible game cartridge module, with embedded additional 3 voices PSG sound card)&lt;br /&gt;
* [[Nova]] (NV-RAM and RTC).&lt;br /&gt;
* [[MultiPlay]] (additional mice and joysticks ports).&lt;br /&gt;
* [[Willy]] (18 channels FM synthetizer and MIDI sound cards).&lt;br /&gt;
* [[PlayCity]] (6 voices PSG sound card).&lt;br /&gt;
* [[Amdrum]] (8-bit mono sound card).&lt;br /&gt;
* [[Amstrad_SSA-1_Speech_Synthesizer|SSA-1]] (English speaking speech synthesizer).&lt;br /&gt;
* [[Dk%27tronics_Speech_Synthesizer|DK'Tronics Speech]] (English speaking speech synthesizer).&lt;br /&gt;
* [[TMPI speech synthesizer|Techni-Musique Speech]] (multilingual speaking speech synthesizer).&lt;br /&gt;
* [[Mirage Imager]] (hardware freeze and snapshot handling).&lt;br /&gt;
* Cycle counter (developer helper).&lt;br /&gt;
&lt;br /&gt;
=== Scripting ===&lt;br /&gt;
&lt;br /&gt;
Any scripting language (such as Python, Lua or of course AREXX) can be used to control ACE through its AREXX interface. It gives you full control on the emulator in order to automate things (and much more), or even to use ACE as a powerful cross-development station (including integration into an IDE).&lt;br /&gt;
&lt;br /&gt;
== Web links ==&lt;br /&gt;
* [http://ace.cpcscene.net ACE CPC Emulator]&lt;br /&gt;
* [https://web.libera.chat/#cpc-fr IRC channel]&lt;br /&gt;
&lt;br /&gt;
[[Category:4 MB RAM Software Support]]&lt;br /&gt;
[[Category:Emulator]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Emulators&amp;diff=115223</id>
		<title>Emulators</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Emulators&amp;diff=115223"/>
				<updated>2024-04-08T15:08:29Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: /* Alternative OS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Vote for your favorite emulator =&lt;br /&gt;
&lt;br /&gt;
[https://www.cpcwiki.eu/forum/emulators/which-emulator-s-do-you-use/ There is a poll on CPCWiki forum]&lt;br /&gt;
&lt;br /&gt;
= Software Platforms (Full OS independance) =&lt;br /&gt;
&lt;br /&gt;
== Java Platform  ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnold Jnr|Arnold Jnr]]&lt;br /&gt;
| [https://web.archive.org/web/20160727011826/http://www.arnoldemu.freeserve.co.uk/]&lt;br /&gt;
| &lt;br /&gt;
| Aug 27, 2001&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[JavaCPC|JavaCPC Desktop]]&lt;br /&gt;
| [https://sourceforge.net/projects/javacpc/] [http://sourceforge.net/projects/javagx4000/ JavaGX4000] [http://sourceforge.net/projects/cpcinajar/ CPCInAJar]&lt;br /&gt;
| 3.0.2&lt;br /&gt;
| Apr 8, 2022&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[JEMU|JEMU]]&lt;br /&gt;
| [http://jemu.winape.net/]&lt;br /&gt;
| &lt;br /&gt;
| Feb 19, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]], [[ZX80/81]], [[BBC Micro]], [[VZ-300]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[WebCPC|WebCPC]]&lt;br /&gt;
| [http://sourceforge.net/projects/webcpc/] [https://web.archive.org/web/20110903132520/http://java.cpc-live.com/ JavaCPC Applet]&lt;br /&gt;
| r15&lt;br /&gt;
| Dec 31, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== JS / Wasm / Web Platform ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCBox|CPCBox]] &lt;br /&gt;
| [https://www.retroshowcase.gr/cpcbox-master/] [https://web.archive.org/web/20190702084943/http://www.cpcbox.com/] [https://bzhgames.xyz/index.php BZH Games]&lt;br /&gt;
| beta &lt;br /&gt;
| Dec 28, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[CrocoDS|CrocoDS]] &lt;br /&gt;
| [https://crocods.org/web/] [https://github.com/redbug26/crocods Repo]&lt;br /&gt;
| &lt;br /&gt;
| Jun 9, 2020&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[MAME|Emularity (MAME)]] &lt;br /&gt;
| [https://github.com/db48x/emularity] [http://jsmess.textfiles.com/ JSMESS] [https://classicreload.com/platform/amstrad%20cpc Classic Reload]&lt;br /&gt;
[https://archive.org/details/softwarelibrary_cpc_games CPC Games] [https://archive.org/details/softwarelibrary_cpc_demos CPC Demos] on Internet Archive&lt;br /&gt;
| &lt;br /&gt;
| Jan 27, 2024&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| Tons of vintage computers, game consoles and arcade systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Roland javascript emulator|Roland]] &lt;br /&gt;
| [https://web.archive.org/web/20190308142014/http://roland.retrolandia.net/]&lt;br /&gt;
| &lt;br /&gt;
| Sep 24, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Ronald|Ronald]] &lt;br /&gt;
| [https://ronald.migge.io] [https://github.com/mdm/ronald Repo]&lt;br /&gt;
| &lt;br /&gt;
| Apr 1, 2024&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[RVMplayer|RVMplayer]] &lt;br /&gt;
| [https://www.retrovirtualmachine.org/rvmplayer/]&lt;br /&gt;
| 0.1.1&lt;br /&gt;
| May 6, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]]&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[Tiny Emus]]&lt;br /&gt;
| [https://floooh.github.io/tiny8bit/] [https://floooh.github.io/tiny8bit/cpc-ui.html CPC UI] [http://floooh.github.io/virtualkc/ yakc] [https://online.oldgames.sk/play/cpc Online Old Games] [https://bzhgames.xyz/index.php BZH Games]&lt;br /&gt;
[https://devilmarkus.de/ WebGL 3d 8-bit] [https://arcade-des-monts.ca/run/store.php Retro Store] [https://www.amstradcpcgames.eu/ Amstrad CPC Games] [http://cpc.novidee.com/ zpz]&lt;br /&gt;
| &lt;br /&gt;
| Mar 2, 2024&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| [[KC Compact]], [[ZX Spectrum]], [[VIC-20]], [[Commodore 64]], [[Acorn Atom]], [[KC 85]], [[KC 87]], [[Z9001]], [[Z1013]], [[LC80]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Griffin CPC emulator|Xiragon]]&lt;br /&gt;
| [https://web.archive.org/web/20191027200008/http://xiragon.com/]&lt;br /&gt;
| &lt;br /&gt;
| Nov 28, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== LibRetro (API for emulators) ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! Type&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[libretro-cap32]]&lt;br /&gt;
| Emulation core&lt;br /&gt;
| [https://github.com/libretro/libretro-cap32]&lt;br /&gt;
| 4.5.3&lt;br /&gt;
| Feb 4, 2024&lt;br /&gt;
| -&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[libretro-crocods]]&lt;br /&gt;
| Emulation core&lt;br /&gt;
| [https://github.com/libretro/libretro-crocods]&lt;br /&gt;
| 0.1&lt;br /&gt;
| Jul 26, 2022&lt;br /&gt;
| -&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[MAME|LRMAME]]&lt;br /&gt;
| Emulation core&lt;br /&gt;
| [https://github.com/libretro/mame]&lt;br /&gt;
| 0.264&lt;br /&gt;
| Apr 1, 2024&lt;br /&gt;
| -&lt;br /&gt;
| ✅&lt;br /&gt;
| Tons of vintage computers, game consoles and arcade systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[SugarLibRetro]]&lt;br /&gt;
| Emulation core&lt;br /&gt;
| [https://github.com/Tom1975/SugarLibRetro] (wraps independent lib [https://github.com/Tom1975/CPCCore CPCCore])&lt;br /&gt;
| git&lt;br /&gt;
| Jan 10, 2020&lt;br /&gt;
| -&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[EmuVR]]&lt;br /&gt;
| Frontend&lt;br /&gt;
| [https://www.emuvr.net/]&lt;br /&gt;
| 1.0.11&lt;br /&gt;
| Dec 24, 2022&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Depends on emulation cores&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[Hackable Console]]&lt;br /&gt;
| Frontend&lt;br /&gt;
| [https://github.com/leiradel/hackable-console]&lt;br /&gt;
| &lt;br /&gt;
| Mar 27, 2022&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Depends on emulation cores&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[RetroArch]]&lt;br /&gt;
| Frontend&lt;br /&gt;
| [https://www.retroarch.com/] [https://www.retroarch.com/?page=achievements RetroAchievements]&lt;br /&gt;
| 1.17.0&lt;br /&gt;
| Feb 3, 2024&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Depends on emulation cores&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Current Operating Systems =&lt;br /&gt;
&lt;br /&gt;
== Desktop ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Windows&lt;br /&gt;
! macOS&lt;br /&gt;
! Linux&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[ACE-DL]]&lt;br /&gt;
| [http://www.roudoudou.com/ACE-DL] [https://discord.gg/rKxFPndHPw Discord] [http://ace.cpcscene.net Based on ACE]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| &lt;br /&gt;
| Apr 2, 2024&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[AMSpiriT|AMSpiriT]]&lt;br /&gt;
| [https://www.amspirit.fr/] [https://discord.com/invite/g37me8WMW6 Discord] [https://forum.system-cfg.com/viewtopic.php?f=24&amp;amp;t=11535 Forum]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.0 rc1&lt;br /&gt;
| Apr 2, 2024&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnimedes|Arnimedes]] &lt;br /&gt;
| [http://www.arnimedes.de/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.02&lt;br /&gt;
| Jul 7, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnold_(Emulator)|Arnold]] &lt;br /&gt;
| [http://www.cpcwiki.eu/forum/emulators/arnold-wip/msg144749/#msg144749] [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]&lt;br /&gt;
| ✅&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ⚠️&lt;br /&gt;
| [http://www.cpcwiki.eu/imgs/d/dd/Arnoldwip_src.tar.bz2 WIP]&lt;br /&gt;
| May 13, 2017&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Caprice Forever]] &lt;br /&gt;
| [http://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 24.2&lt;br /&gt;
| Feb 10, 2024&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware &amp;amp; Outdated sources&lt;br /&gt;
|-&lt;br /&gt;
| [[CaPriCe|Caprice32]] &lt;br /&gt;
| [https://github.com/ColinPitrat/caprice32/releases] [http://sourceforge.net/projects/caprice32/ Old repo] [https://snapcraft.io/caprice32 Linux] [http://aleste520.narod.ru/caprice.html Aleste] [https://code.google.com/archive/p/cpcsdk/ Reloaded]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 4.6.0&lt;br /&gt;
| Oct 8, 2022&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Clock Signal|Clock Signal]] &lt;br /&gt;
| [https://github.com/TomHarte/CLK/releases] [https://snapcraft.io/clock-signal Linux]&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| &lt;br /&gt;
| Jan 22, 2024&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]], [[ZX80/81]], [[Enterprise]], [[MSX]], [[Oric 1/Atmos|Oric]], [[ColecoVision]], [[Acorn Electron]], [[Apple II]], [[VIC-20]], [[Atari 2600]], [[Atari ST]], [[Macintosh]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CoPaCabana|CoPaCabana]]&lt;br /&gt;
| [http://copacabana.emuunlim.com/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 0.74&lt;br /&gt;
| Apr 12, 2006&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[CPC++|CPC++]] &lt;br /&gt;
| [http://bricerive.free.fr/cpc/cpcpp.html]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ⚠️&lt;br /&gt;
| b700&lt;br /&gt;
| May 31, 2015&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[cpc4x|cpc4x]] &lt;br /&gt;
| [http://www.ulrich-cordes.de/cpc/english/cpcemu.htm]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| 0.26&lt;br /&gt;
| Dec 11, 2004&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEC|CPCEC]] &lt;br /&gt;
| [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]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| &lt;br /&gt;
| Mar 28, 2024&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[ZX Spectrum]], [[Commodore 64]], [[MSX]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEC|cpcec-gtk]] &lt;br /&gt;
| [https://bitbucket.org/norecess464/cpcec-gtk/]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| &lt;br /&gt;
| Feb 4, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCemu|CPCemu]] &lt;br /&gt;
| [http://www.cpc-emu.org/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 2.5&lt;br /&gt;
| Aug 13, 2022&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEPower|CPCEPower]] &lt;br /&gt;
| [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 2105&lt;br /&gt;
| Jun 4, 2021&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCSharp|CPCSharp]] &lt;br /&gt;
| [https://github.com/dolbz/CPCSharp/releases/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.0.0-beta1&lt;br /&gt;
| Apr 7, 2021&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPvC|CPvC]]&lt;br /&gt;
| [https://github.com/alybaek2/cpvc]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| &lt;br /&gt;
| Sep 30, 2022&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CrocoDS|CrocoDS]]&lt;br /&gt;
| [https://crazypiri.eu/crocods/] [https://github.com/redbug26/crocods Repo]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| 4.0 beta3&lt;br /&gt;
| Dec 10, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[DSP|DSP]]&lt;br /&gt;
| [https://github.com/leniad/dsp-emulator/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ⚠️&lt;br /&gt;
| 0.23 wip1&lt;br /&gt;
| Mar 25, 2024&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| [[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]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[ep128emu|ep128emu]]&lt;br /&gt;
| [https://github.com/istvan-v/ep128emu]&lt;br /&gt;
| ✅&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ⚠️&lt;br /&gt;
| 2.0.11.2&lt;br /&gt;
| Apr 19, 2019&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]], [[Enterprise]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[MESS|MAME]]&lt;br /&gt;
| [http://mamedev.org/release.html] [http://sdlmame.lngn.net/ macOS] [http://wiki.mamedev.org/index.php/SDL_Supported_Platforms Other ports] &lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 0.264&lt;br /&gt;
| Mar 27, 2024&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| Tons of vintage computers, game consoles and arcade systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[NO$CPC|NO$CPC]]&lt;br /&gt;
| [http://problemkaputt.de/cpc.htm]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.8&lt;br /&gt;
| Nov 2, 2000&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[PC-CPC|PC-CPC]] &lt;br /&gt;
| [http://cpcrulez.fr/emulateurs_download-WIN-PC-CPC.htm] [https://github.com/DemoniakLudo/PC-CPC Repo]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 0.1at b29&lt;br /&gt;
| Nov 17, 2011&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Retro Virtual Machine|Retro Virtual Machine]]&lt;br /&gt;
| [https://www.retrovirtualmachine.org]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 2.1.11&lt;br /&gt;
| Nov 13, 2023&lt;br /&gt;
| ❌ Removed&lt;br /&gt;
| ✅&lt;br /&gt;
| [[ZX Spectrum]], [[MSX|MSX 1]], [[ColecoVision]], [[SG-1000]], [[Master System]]&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[Roland Emulator|Roland]] &lt;br /&gt;
| [https://www.rolandemu.de/en/downloads.html] [https://github.com/raldus/roland Repo]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| 0.70&lt;br /&gt;
| Apr 20, 2017&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Ronald|Ronald]] &lt;br /&gt;
| [https://github.com/mdm/ronald]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| &lt;br /&gt;
| Apr 1, 2024&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[SugarBox|SugarBox]]&lt;br /&gt;
| [https://github.com/Tom1975/SugarboxV2] [http://sugarbox.free.fr/ Old site]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 2.0.2&lt;br /&gt;
| Nov 29, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[VirtualCPC|Virtual CPC]] &lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-WIN-virtual_cpc.htm] [https://web.archive.org/web/20200112094913/http://users.otenet.gr/~sulfonic/cpc/ Archive] &lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.1&lt;br /&gt;
| Aug 8, 2011&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[WinApe|WinAPE]] &lt;br /&gt;
| [http://www.winape.net/] [https://www-ftp.lip6.fr/pub/amstrad/emulator/CPCWIN10.ZIP CPCwin]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 2.0b2&lt;br /&gt;
| Jan 5, 2016&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[WinCPC|WinCPC]] / [[MacCPC|MacCPC]]&lt;br /&gt;
| [http://www.wincpc.ch/index.php?topic=projects] [https://web.archive.org/web/20050409133618/http://www.easypoint.ch/vbcpc/ vbCPC]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| 0.9.2&lt;br /&gt;
| Jan 22, 2010&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[XCPC|Xcpc]]&lt;br /&gt;
| [https://www.xcpc-emulator.net/]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| 0.38.1&lt;br /&gt;
| Apr 8, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[XNACPC|XNACPC]]&lt;br /&gt;
| [http://www.gavpugh.com/2011/11/11/xnacpc-xbox-360-amstrad-cpc-emulator-released/] [https://www.gavpugh.com/old-code/ CPC3D]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.0&lt;br /&gt;
| Nov 11, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[ZEsarUX|ZEsarUX]]&lt;br /&gt;
| [https://github.com/chernandezba/zesarux]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| X&lt;br /&gt;
| Sep 8, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| [[PCW]], [[ZX Spectrum]], [[ZX80/81]], [[MSX|MSX 1]], [[ColecoVision]], [[Spectravideo]], [[Jupiter ACE]], [[Sam Coupe]], [[SG-1000]], [[Master System]], [[Sinclair QL]], [[MK14]], [[Z88]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Alternative OS ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! AmigaOS PPC&lt;br /&gt;
! AROS&lt;br /&gt;
! MorphOS&lt;br /&gt;
! Haiku&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[ACE_(Emulator)|ACE]]&lt;br /&gt;
| [http://ace.cpcscene.net Web site] [https://web.libera.chat/#cpc-fr IRC channel] [https://framagit.org/search?search=acepansion Plugins' repo]&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ⚠️&lt;br /&gt;
| v1.26 - Jan 1, 2024&lt;br /&gt;
| v1.26.0 - Mar 2, 2024&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| Dozens of CPC hardware expansions thru plugins&lt;br /&gt;
| Freeware (plugins are Open Source)&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnold]]&lt;br /&gt;
| [http://hirudov.com/amiga/Arnold.php AmigaOS] [http://archives.aros-exec.org/?function=showfile&amp;amp;file=emulation/computer/arnold-aros-i386.lha AROS]&lt;br /&gt;
| v1.15 - Dec 17, 2012&lt;br /&gt;
| Oct 24, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Caprice32]]&lt;br /&gt;
| [http://archives.aros-exec.org/?function=showfile&amp;amp;file=emulation/computer/caprice-aros-i386.lha]&lt;br /&gt;
| ❌&lt;br /&gt;
| v4.2.0 - Oct 23, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[MAME]]&lt;br /&gt;
| [http://se.os4depot.net/index.php?function=showfile&amp;amp;file=emulation/computer/sdl_mess.lha AmigaOS] [http://fabportnawak.free.fr/mame/ MorphOS] [https://depot.haiku-os.org/#!/pkg/mame Haiku]&lt;br /&gt;
| MESS v0.146u4 - Aug 19, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| MESS v0.113 - Nov 1, 2007&lt;br /&gt;
| v0.264-2 - Apr 3, 2024&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| Tons of vintage computers, game consoles and arcade systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[ZEsarUX|ZEsarUX]]&lt;br /&gt;
| [https://depot.haiku-os.org/#!/pkg/zesarux]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| v10.10-1 - Oct 28, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| [[PCW]], [[ZX Spectrum]], [[ZX80/81]], [[MSX|MSX 1]], [[ColecoVision]], [[Spectravideo]], [[Jupiter ACE]], [[Sam Coupe]], [[SG-1000]], [[Master System]], [[Sinclair QL]], [[MK14]], [[Z88]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Mobile ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[andcpc]]&lt;br /&gt;
| [http://code.google.com/p/andcpc/]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Apr 4, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[Azimuth]]&lt;br /&gt;
| [https://play.google.com/store/apps/details?id=johnidis.azimuth]&lt;br /&gt;
| 1.11&lt;br /&gt;
| Aug 22, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Adware and in-app purchases💲&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[CPCDroid]]&lt;br /&gt;
| [https://fmsdevel.wisecoding.es/cpcdroid-amstrad-cpc-on-android-phone-2/]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Mar 2, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[CPCemu|CPCemu]] &lt;br /&gt;
| [https://play.google.com/store/apps/details?id=com.loritznet.softwarecreations.cpcemu]&lt;br /&gt;
| 2.5&lt;br /&gt;
| Aug 14, 2022&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[Droid-CPC]]&lt;br /&gt;
| [http://play.google.com/store/apps/details?id=com.kokak.droidcpc]&lt;br /&gt;
| 1.1.01&lt;br /&gt;
| Dec 15, 2016&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Commercial💲&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[MAME4droid 2024]]&lt;br /&gt;
| [http://play.google.com/store/apps/details?id=com.seleuco.mame4d2024] [https://github.com/seleuco/MAME4droid-2024 Repo]&lt;br /&gt;
| 1.11.1 (0.264)&lt;br /&gt;
| Mar 29, 2024&lt;br /&gt;
| ✅&lt;br /&gt;
| Tons of vintage computers, game consoles and arcade systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| iOS&lt;br /&gt;
| [[CPCemu|CPCemu]]&lt;br /&gt;
| [http://www.cpc-emu.org/]&lt;br /&gt;
| 2.5&lt;br /&gt;
| Aug 13, 2022&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Software available on request&lt;br /&gt;
|-&lt;br /&gt;
| iOS&lt;br /&gt;
| [[CrocoDS]]&lt;br /&gt;
| [https://crazypiri.eu/crocods/] [https://github.com/redbug26/crocods-ios Repo]&lt;br /&gt;
| 2.1&lt;br /&gt;
| Jun 21, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Discontinued Operating Systems =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| Acorn RISC OS&lt;br /&gt;
| [[!CPC|!CPC]]&lt;br /&gt;
| [https://www-ftp.lip6.fr/pub/amstrad/emulator/CPC0728.ZIP] [http://ftp2.fr.openbsd.org/ftp/pub/amstrad/emulator/CPCS1124.ZIP]&lt;br /&gt;
| &lt;br /&gt;
| Jul 28, 1996&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Acorn RISC OS&lt;br /&gt;
| [[!CPCemu|!CPCemu]]&lt;br /&gt;
| [http://huggers-world.de/mops.html]&lt;br /&gt;
| 1.21&lt;br /&gt;
| Mar 22, 2016&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS m68k&lt;br /&gt;
| [[A-CPC|A-CPC]]&lt;br /&gt;
| [https://cpctech.cpcwiki.de/download/a-cpc.lha]&lt;br /&gt;
| 2.0&lt;br /&gt;
| Mar 30, 2002&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS m68k&lt;br /&gt;
| [[Ami-cpc|Ami-cpc]]&lt;br /&gt;
| [http://deplanque.chez.com/] [http://deplanque.chez.com/download_fr.html Ami-cpc2]&lt;br /&gt;
| 0.46&lt;br /&gt;
| Jan 21, 1998&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS m68k&lt;br /&gt;
| [[CPE|CPE]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-AMIGA-CPE.htm]&lt;br /&gt;
| &lt;br /&gt;
| Feb 24, 1995&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS m68k&lt;br /&gt;
| [[Emu-CPC|EmuCPC]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-AMIGA-emucpc.htm]&lt;br /&gt;
| 0.7&lt;br /&gt;
| Sep 15, 1996&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| BlackBerry OS&lt;br /&gt;
| [[BB-CPC|BB-CPC]]&lt;br /&gt;
| [http://appworld.blackberry.com/webstore/content/30963891/] (dead link)&lt;br /&gt;
| 1.0.1.3&lt;br /&gt;
| Jul 15, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Commercial💲&lt;br /&gt;
|-&lt;br /&gt;
| Classic Mac OS&lt;br /&gt;
| [[CPCplusplus|CPC++]]&lt;br /&gt;
| [http://bricerive.free.fr/cpc/cpcpp.html]&lt;br /&gt;
| 1.3.2&lt;br /&gt;
| Oct 6, 1997&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Shareware💲&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[AdvanceMESS|AdvanceMESS]]&lt;br /&gt;
| [https://www.advancemame.it/readme]&lt;br /&gt;
| 3.9&lt;br /&gt;
| Sep 8, 2018&lt;br /&gt;
| ✅&lt;br /&gt;
| Tons of vintage computers and game consoles&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[Arnimedes|Arnimedes]]&lt;br /&gt;
| [http://www.arnimedes.de/]&lt;br /&gt;
| 0.8a&lt;br /&gt;
| Apr 15, 2000&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[Caprice32]] &lt;br /&gt;
| [https://ftp.nvg.ntnu.no/pub/cpc/emulator/msdos/capriced.zip]&lt;br /&gt;
| 1.11&lt;br /&gt;
| Sep 20, 1999&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPC]] &lt;br /&gt;
| [https://www-ftp.lip6.fr/pub/amstrad/emulator/CPC055B.ZIP]&lt;br /&gt;
| 0.55b&lt;br /&gt;
| May 16, 1997&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPC-em|CPC-em]] &lt;br /&gt;
| [http://cpc-em.emuunlim.com/]&lt;br /&gt;
| 0.4&lt;br /&gt;
| Jul 7, 2004&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPCE|CPCE]]&lt;br /&gt;
| [http://cngsoft.no-ip.org/cpce/]&lt;br /&gt;
| 1.94&lt;br /&gt;
| Jun 2, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPCemu|CPCemu]]&lt;br /&gt;
| [http://www.cpc-emu.org/]&lt;br /&gt;
| 1.5&lt;br /&gt;
| Jul 7, 1998&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPE|CPE]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-DOS-CPE.htm]&lt;br /&gt;
| 5.2&lt;br /&gt;
| Apr 21, 1997&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[NO$CPC|NO$CPC]]&lt;br /&gt;
| [http://problemkaputt.de/cpc.htm]&lt;br /&gt;
| 1.8&lt;br /&gt;
| Nov 2, 2000&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[PC-CPC|PC-CPC]] &lt;br /&gt;
| [http://deplanque.chez.com/download_fr.html]&lt;br /&gt;
| &lt;br /&gt;
| Feb 3, 1998&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPCEMU (RWCPC)|RWCPC]]&lt;br /&gt;
| [https://www-ftp.lip6.fr/pub/amstrad/emulator/RWCPC.ZIP]&lt;br /&gt;
| &lt;br /&gt;
| Mar 23, 1995&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[SIMCPC|SIMCPC]]&lt;br /&gt;
| [https://www-ftp.lip6.fr/pub/amstrad/emulator/SIMCPC.ZIP]&lt;br /&gt;
| &lt;br /&gt;
| Dec 10, 1989&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Shareware💲&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[YAGE|YAGE]]&lt;br /&gt;
| [https://www.zophar.net/cpc/yage.html]&lt;br /&gt;
| 0.91&lt;br /&gt;
| Oct 24, 1998&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| EXOS&lt;br /&gt;
| [[Software CPC Emulator|Software CPC Emulator]]&lt;br /&gt;
| [http://www.ep128.hu/Ep_Util/Prg/Amstrad_CPC_Emulator_13.rar] [http://www.ep128.hu/Ep_Util/Amstrad_CPC_emu.htm]&lt;br /&gt;
| 1.3&lt;br /&gt;
| Jan 11, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Maemo&lt;br /&gt;
| [[CPCm]]&lt;br /&gt;
| [http://maemo.org/downloads/product/Maemo5/cpcm/]&lt;br /&gt;
| 1.20-1&lt;br /&gt;
| Apr 27, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| MSX-DOS&lt;br /&gt;
| [[EMU6CPC|EMU6CPC]]&lt;br /&gt;
| [http://romu6.blogspot.com/2018/12/emu6cpc-emulador-de-amstrad-cpc-6128.html]&lt;br /&gt;
| &lt;br /&gt;
| Dec 17, 2018&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Palm OS&lt;br /&gt;
| [[CaPriCe for Palm OS|CaPriCe for Palm OS]]&lt;br /&gt;
| [https://web.archive.org/web/20230127143354/https://coste.frederic.free.fr/cpc/cpc_en.htm]&lt;br /&gt;
| 2.8&lt;br /&gt;
| Jun 28, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Palm OS&lt;br /&gt;
| [[CoPaCabana|CoPaCabana]]&lt;br /&gt;
| [http://copacabana.emuunlim.com/]&lt;br /&gt;
| 0.75&lt;br /&gt;
| Dec 4, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Pocket PC&lt;br /&gt;
| [[CaPriCe|PocketCaprice]]&lt;br /&gt;
| [https://web.archive.org/web/20160506010209/http://www.clubic.com/telecharger-fiche44888-pocketcaprice.html]&lt;br /&gt;
| 0.9&lt;br /&gt;
| Aug 19, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| SunOS&lt;br /&gt;
| [[CPCplusplus|CPC++]]&lt;br /&gt;
| [http://bricerive.free.fr/cpc/cpcpp.html]&lt;br /&gt;
| 1.3.0&lt;br /&gt;
| Feb 22, 1997&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Shareware💲&lt;br /&gt;
|-&lt;br /&gt;
| Symbian&lt;br /&gt;
| [[S60-CPC|S60-CPC]]&lt;br /&gt;
| [http://kokak.free.fr/s60cpc.htm]&lt;br /&gt;
| 0.74&lt;br /&gt;
| Feb 21, 2006&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Windows 9x&lt;br /&gt;
| [[CPC-em|CPC-em]] &lt;br /&gt;
| [http://cpc-em.emuunlim.com/]&lt;br /&gt;
| 0.3&lt;br /&gt;
| Jan 22, 2004&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Windows 9x&lt;br /&gt;
| [[MTMW|MTMW]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-WIN-MTMW.htm]&lt;br /&gt;
| 1.30B&lt;br /&gt;
| Jan 11, 2000&lt;br /&gt;
| ✅&lt;br /&gt;
| [[ZX Spectrum]], [[ZX80/81]], [[Enterprise]], [[Jupiter ACE]]&lt;br /&gt;
| Freeware&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Home Consoles =&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| Microsoft XBOX&lt;br /&gt;
| [[Arnold|ArnoldX]]&lt;br /&gt;
| [https://web.archive.org/web/20120705163939/http://forums.xbox-scene.com/index.php?showtopic=711667] [https://cpcrulez.fr/emulateurs_download-XBOX-ARNOLDX.htm]&lt;br /&gt;
| v5&lt;br /&gt;
| Apr 20, 2010&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Microsoft XBOX&lt;br /&gt;
| [[CoinOPS|CoinOPS (RetroFE)]]&lt;br /&gt;
| [https://web.archive.org/web/20160518183115/https://coinopsproject.freeforums.org/viewtopic.php?f=0&amp;amp;t=1213]&lt;br /&gt;
| 5&lt;br /&gt;
| Oct 18, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| Tons of vintage computers, game consoles and arcade systems&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Microsoft Xbox 360&lt;br /&gt;
| [[XNACPC|XNACPC]]&lt;br /&gt;
| [http://www.gavpugh.com/2011/11/11/xnacpc-xbox-360-amstrad-cpc-emulator-released/]&lt;br /&gt;
| 1.0&lt;br /&gt;
| Nov 11, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo Wii&lt;br /&gt;
| [[Wiituka|Wiituka]]&lt;br /&gt;
| [http://wiituka.dantoine.org/]&lt;br /&gt;
| 0.98.8&lt;br /&gt;
| May 15, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Sega Dreamcast&lt;br /&gt;
| [[CPCast|CPCast]]&lt;br /&gt;
| [http://www.dcemu.co.uk/vbulletin/showthread.php?t=24100]&lt;br /&gt;
| &lt;br /&gt;
| May 6, 2006&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Sega Dreamcast&lt;br /&gt;
| [[DreamCPC|DreamCPC]]&lt;br /&gt;
| [https://www.jm1200.fr/index.php?r=2]&lt;br /&gt;
| Alpha 3&lt;br /&gt;
| Oct 16, 2005&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Sony PS2&lt;br /&gt;
| [[CPC-em|CPC-em]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-ps2-CPC-EM.htm]&lt;br /&gt;
| 0.4&lt;br /&gt;
| Dec 22, 2004&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Sony PS3&lt;br /&gt;
| [[Caprice32|Caprice32]]&lt;br /&gt;
| [https://web.archive.org/web/20171003153204/http://psx-scene.com/forums/content/caprice32-4-1-0-dbg-emulator-ps3-2119/]&lt;br /&gt;
| 4.1.0 DBG&lt;br /&gt;
| Apr 9, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Handheld Consoles =&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| Dingoo A320 / A330&lt;br /&gt;
| [[Pituka|Pituka Dingux]]&lt;br /&gt;
| [http://david.dantoine.org/proyecto/4/]&lt;br /&gt;
| 0.8pre&lt;br /&gt;
| Aug 19, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Dingoo A320 / A330&lt;br /&gt;
| [[Caprice|Dingux-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/105-Amstrad/]&lt;br /&gt;
| 1.1.2&lt;br /&gt;
| Oct 17, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark Caanoo&lt;br /&gt;
| [[Caprice|Caanoo-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/165-Amstrad/]&lt;br /&gt;
| 1.1.3&lt;br /&gt;
| Apr 24, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark GP2x&lt;br /&gt;
| [[Caprice|CapriceGP2x]]&lt;br /&gt;
| [https://web.archive.org/web/20130315195529/http://wiki.gp2x.org/wiki/CapriceGP2x]&lt;br /&gt;
| 0.5&lt;br /&gt;
| Feb 22, 2006&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark GP2x&lt;br /&gt;
| [[Caprice|GP2X-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/42-Amstrad/]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Aug 29, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark GP32&lt;br /&gt;
| [[Pituka|Pituka GP32]]&lt;br /&gt;
| [http://david.dantoine.org/proyecto/4/]&lt;br /&gt;
| 1d&lt;br /&gt;
| May 15, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark Wiz&lt;br /&gt;
| [[Caprice|Wiz-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/89-Amstrad/]&lt;br /&gt;
| 1.1.0&lt;br /&gt;
| Aug 29, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GCW Zero&lt;br /&gt;
| [[Caprice|Dingux-CAP32]]&lt;br /&gt;
| [https://github.com/kerheol/dingux-cap32]&lt;br /&gt;
| 1.1.2&lt;br /&gt;
| May 25, 2014&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| JXD S5110 / S601 &amp;amp; Yinlips G18&lt;br /&gt;
| [[Caprice|JXD-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/206-Amstrad/]&lt;br /&gt;
| 1.1.1&lt;br /&gt;
| Oct 27, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo DS&lt;br /&gt;
| [[AmeDS|AmeDS]] &lt;br /&gt;
| [https://web.archive.org/web/20131021073302/http://www.portabledev.com/pages/ds/jeuxdev.-perso/ameds.php]&lt;br /&gt;
| 4.0&lt;br /&gt;
| Apr 25, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo DS&lt;br /&gt;
| [[CrocoDS|CrocoDS]]&lt;br /&gt;
| [http://www.kyuran.be/blog/2007/11/09/crocods-20-2/] [https://github.com/redbug26/crocods-nds Repo]&lt;br /&gt;
| 2.0&lt;br /&gt;
| Nov 9, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo GameBoy Advance&lt;br /&gt;
| [[Mini Amstrad Emulator|Mini Amstrad Emulator]] &lt;br /&gt;
| [https://playeradvance.org/forum/showthread.php?t=765]&lt;br /&gt;
| &lt;br /&gt;
| Dec 26, 2005&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Odroid GO&lt;br /&gt;
| [[CapriceESP32|CapriceESP32]] &lt;br /&gt;
| [https://github.com/grantrismo/CapriceESP32]&lt;br /&gt;
| &lt;br /&gt;
| Dec 3, 2020&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| OpenDingux&lt;br /&gt;
| [[CrocoDS|CrocoDS]]&lt;br /&gt;
| [https://crazypiri.eu/crocods/] [https://github.com/redbug26/crocods Repo]&lt;br /&gt;
| &lt;br /&gt;
| Jan 15, 2020&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Pandora&lt;br /&gt;
| [[Caprice|Pandora-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/131-Amstrad/]&lt;br /&gt;
| 1.1.0&lt;br /&gt;
| Jun 27, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Sony PSP&lt;br /&gt;
| [[Caprice32 PSP]]&lt;br /&gt;
| [http://psp.akop.org/caprice32]&lt;br /&gt;
| 4.2.0.2&lt;br /&gt;
| Nov 28, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Sony PSP&lt;br /&gt;
| [[CPCPSP|CPCPSP]]&lt;br /&gt;
| [https://web.archive.org/web/20130325143915/http://dl.qj.net/psp/emulators/cpcpsp-v01.html]&lt;br /&gt;
| 0.1&lt;br /&gt;
| Dec 24, 2005&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Sony PSP&lt;br /&gt;
| [[PSPCAP32|PSPCAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/3-Amstrad/]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Aug 21, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Trimui Model S&lt;br /&gt;
| [[Arnold|Arnold Trimui]]&lt;br /&gt;
| [https://github.com/liartes/arnold_gcw0]&lt;br /&gt;
| &lt;br /&gt;
| Oct 19, 2021&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Single-Board Computers / Raspberry Pi =&lt;br /&gt;
&lt;br /&gt;
[https://www.libretro.com/index.php/powered-by-libretro/ LibRetro / RetroArch] is used as the foundation of [https://www.lakka.tv/ Lakka], [https://wiki.recalbox.com/en/advanced-usage/retroarch Recalbox], [https://batocera.org/ Batocera] and [https://retropie.org.uk/ RetroPie] alternative OSes for the Raspberry Pi and other SBC.&lt;br /&gt;
But you can also use [https://www.retroarch.com/index.php?page=platforms RetroArch] for Amstrad CPC emulation on a stock Raspberry Pi OS. Or you can use these stand-alone CPC emulators:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[CPC4Rpi|#CPC4Rpi]]&lt;br /&gt;
| [https://web.archive.org/web/20150321200308/http://store.raspberrypi.com/projects/cpc4rpi]&lt;br /&gt;
| 1.1&lt;br /&gt;
| Dec 19, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Commercial💲&lt;br /&gt;
|-&lt;br /&gt;
| [[CapriceRPI|CapriceRPI]]&lt;br /&gt;
| [https://github.com/KaosOverride/CapriceRPI]&lt;br /&gt;
| 1.3d&lt;br /&gt;
| Feb 28, 2016&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Clock Signal|Clock Signal]] &lt;br /&gt;
| [https://snapcraft.io/install/clock-signal/raspbian]&lt;br /&gt;
| &lt;br /&gt;
| Dec 28, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]], [[ZX80/81]], [[Enterprise]], [[MSX]], [[Oric 1/Atmos|Oric]], [[ColecoVision]], [[Acorn Electron]], [[Apple II]], [[VIC-20]], [[Atari 2600]], [[Atari ST]], [[Macintosh]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPC-PI|CPC-PI]]&lt;br /&gt;
| [https://www.arananet.net/cpc-pi/]&lt;br /&gt;
| 0.1&lt;br /&gt;
| Feb 5, 2017&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEPower|CPCEPower]] &lt;br /&gt;
| [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73]&lt;br /&gt;
| 2105&lt;br /&gt;
| Jun 4, 2021&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[MESS|MAME]]&lt;br /&gt;
| [https://stickfreaks.com/mame/]&lt;br /&gt;
| 0.264&lt;br /&gt;
| Mar 26, 2024&lt;br /&gt;
| ✅&lt;br /&gt;
| Tons of vintage computers, game consoles and arcade systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[SugarPi|SugarPi]]&lt;br /&gt;
| [https://github.com/Tom1975/SugarPi]&lt;br /&gt;
| 1.2.0&lt;br /&gt;
| Feb 3, 2021&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[ZEsarUX|ZEsarUX]]&lt;br /&gt;
| [https://github.com/chernandezba/zesarux]&lt;br /&gt;
| X&lt;br /&gt;
| Sep 8, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| [[PCW]], [[ZX Spectrum]], [[ZX80/81]], [[MSX|MSX 1]], [[ColecoVision]], [[Spectravideo]], [[Jupiter ACE]], [[Sam Coupe]], [[SG-1000]], [[Master System]], [[Sinclair QL]], [[MK14]], [[Z88]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Hardware =&lt;br /&gt;
&lt;br /&gt;
*[https://youtu.be/DykFhtNbgGk Just CPC4ATX] CPC clone made from NOS chips&lt;br /&gt;
*[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&lt;br /&gt;
*[[CPC TREX|CPC TREX]] [[C-ONE|CPC-One]] TurboCPC core by TobiFlex running on different FPGA boards&lt;br /&gt;
*[http://ralferoo.blogspot.fr/ CPC FPGA] CPC emulation by Ranulf (Ralferoo) Doswell, running on a custom made FPGA board&lt;br /&gt;
*[[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&lt;br /&gt;
*[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&lt;br /&gt;
*[https://web.archive.org/web/20230330082645/https://intelligenttoasters.blog/cpc2-project-index/ CPC2 Project] CPC emulation running on a Cyclone V FPGA board&lt;br /&gt;
*[https://github.com/rpsubc8/ESP32TinyCPC/ ESP32 TinyCPC] Port from CPC-em emulator to TTGO VGA32 v1.x board with ESP32&lt;br /&gt;
*[https://github.com/MicroCoreLabs/Projects  MCLZ8] Z80 emulator which runs on a Teensy 4.1 ARM board and can be used as a drop-in replacement&lt;br /&gt;
*[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&lt;br /&gt;
*[https://github.com/floooh/v6502r Visual Z80 Remix] [https://github.com/gdevic/Z80Explorer Z80 Explorer] Netlist-level ultra accurate Z80 simulators&lt;br /&gt;
*[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]&lt;br /&gt;
*[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]&lt;br /&gt;
*[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&lt;br /&gt;
*[[SDiskEmul]] Floppy-drive emulator released in 2007. Abandoned now. Supports DSK, EDSK disk-images&lt;br /&gt;
*[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]&lt;br /&gt;
*[https://github.com/keirf/flashfloppy/ FlashFloppy] Open source floppy-drive emulator for the ubiquitous Gotek hardware. Supports DSK, EDSK, HFE disk-images&lt;br /&gt;
*[https://github.com/keirf/greaseweazle GreaseWeazle] Open source USB floppy adapter Flux reader writer&lt;br /&gt;
*[https://cpcrulez.fr/forum/viewtopic.php?f=5&amp;amp;t=100&amp;amp;start=690#p55437 Pauline] FPGA-based floppy-drive dumper and emulator&lt;br /&gt;
*[https://cpcrulez.fr/hardware-lecteurs_externe-interface_ddi3_usb_floppy_emulator.htm DDI-3] USB floppy-drive emulator with an integrated FDC chip for CPC464&lt;br /&gt;
*[https://hobbyretro.com/en/retro/tzxduino TZXduino] Arduino-based tape deck emulator. Supports many formats of tape-images including CDT and TZX&lt;br /&gt;
*[https://pelrun.github.io/PlayUEF/ PlayUEF] Web-browser based tape deck emulator, supporting CDT and TZX tape-images&lt;br /&gt;
*[https://github.com/dasta400/ACPCPE Amstrad CPC Printer Emulator] Arduino-based CPC printer emulator that can output text, markdown or HTML&lt;br /&gt;
*[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&lt;br /&gt;
*[https://github.com/nzeemin/escparser ESCParser] Command-line utility, ESC/P printer emulator that can output PostScript, SVG or PDF&lt;br /&gt;
*[https://github.com/f1ac0/CPC-plus-cartridge CPC-plus-cartridge] Different PCB designs and code to make a CPC-plus cartridge&lt;br /&gt;
*[https://github.com/zeus074/Amstrad_Multicart Amstrad Multicart] 16-in-1 cartridge for the GX4000 or Amstrad Plus computer&lt;br /&gt;
*[[C4CPC]] Cartridge replacement for the Amstrad Plus range and the GX4000&lt;br /&gt;
*[https://overange.weebly.com/amstrad-gx4000-cpc-464-6128-plus-reflashable-flash-cartridge.html Flash+ cartridge] Amstrad CPC+ GX4000 reflashable cartridge&lt;br /&gt;
&lt;br /&gt;
= Mass storage devices =&lt;br /&gt;
Emulator support is as follows:&lt;br /&gt;
*[[Dobbertin Harddisc]] is emulated by MAME&lt;br /&gt;
*[[UIDE Universal IDE adapter cards for Z-80 computers|uIDE]] is emulated by Arnold&lt;br /&gt;
*[[Symbiface II]] IDE/PATA interface or compatible ([[X-Mass]], [https://github.com/salafek/cyboard-for-cpc Cyboard]) is emulated by ACE, Caprice Forever, MAME, WinAPE, WinCPC, Arnold, Virtual CPC&lt;br /&gt;
*[[Albireo]] is emulated by ACE, Caprice Forever&lt;br /&gt;
*[[M4 Board]] is emulated by CPCemu&lt;br /&gt;
*[[Vortex Winchester Drive]], [[ULIfAC|USIfAC / ULIfAC]] and [[Symbiface 3|Symbiface3 / RSF3]] are not supported by emulators&lt;br /&gt;
&lt;br /&gt;
= Audio devices =&lt;br /&gt;
Emulator support is as follows:&lt;br /&gt;
*[[Amstrad SSA-1 Speech Synthesizer|SSA-1 speech synthesizer]] is emulated by ACE, Caprice Forever, JavaCPC, MAME&lt;br /&gt;
*[[Dk'tronics Speech Synthesizer|Dk'Tronics speech synthesizer]] is emulated by ACE, Caprice Forever, JavaCPC, MAME&lt;br /&gt;
*[[TMPI speech synthesizer|Techni-Musique speech synthesizer]] is emulated by ACE, Caprice Forever&lt;br /&gt;
*[[Amdrum]] is emulated by ACE, JavaCPC, MAME, WinAPE&lt;br /&gt;
*[[Digiblaster]] is emulated by ACE, Caprice Forever, JavaCPC, MAME, WinAPE, CPCEC, CPCEPower, WinCPC, Virtual CPC&lt;br /&gt;
*[[PlayCity]] is fully emulated by ACE, MAME, Arnold, SugarBox. It is partially emulated by Caprice Forever, JavaCPC, CPCEC&lt;br /&gt;
*[[Play2CPC]] is emulated by ACE&lt;br /&gt;
*[[Willy|Willy OPL3]] is emulated by ACE&lt;br /&gt;
*[[Willy|Willy MIDI]] is emulated by ACE (software synth emulation on Haiku, full MIDI support on MorphOS)&lt;br /&gt;
*[[Music Machine]], [https://github.com/lambdamikel/Speak-SID Speak&amp;amp;SID], [https://github.com/lambdamikel/LambdaSpeak3 LambdaSpeak], [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/amsdap-amstrad-msx-adapter-connecting-any-msx-io-hardware-to-the-cpc/ Amsdap (SE-One, Moonsound, etc...)] are not supported by emulators&lt;br /&gt;
&lt;br /&gt;
= Printers =&lt;br /&gt;
Support for CPC printers is abysmal in all emulators.&lt;br /&gt;
The only emulators that at least do some print rendering emulation are JavaCPC and Caprice Forever.&lt;br /&gt;
&lt;br /&gt;
= Rewind feature =&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= Emulator accuracy checking tools =&lt;br /&gt;
== Quick evaluation==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;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]]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19308 DSC #4 demo] with reference images (CRTC 1): [[Media:DSC4 reference1.png]] [[Media:DSC4 reference2.png]]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7737 Camembert 4 demo] with reference images (CRTC 0/1/3/4): [[Media:Camembert-real.jpg]] [[Media:Camembert 4 Pixel Precise.jpg]]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9029 BSC7 Interlace demo] with reference image (CRTC 0/2/3/4): [[Media:BSC7 reference.png]]&lt;br /&gt;
&lt;br /&gt;
== Z80 CPU ==&lt;br /&gt;
*🔥[https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=raxoft Raxoft tests] CPC port of [https://github.com/raxoft/z80test z80test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6346 ZEX] Z80 CPU instruction set exercisers&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=298 Arkanoid (using Z80 Interrupt Mode 2)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=427 L'anneau de Zengara (using Z80 register R)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1299 Light Corridor (Z80 useless instruction prefixes)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=735 Dogsbody (accessing non-standard I/O ports)]&lt;br /&gt;
*[https://wikiti.brandonw.net/?title=Z80_Instruction_Set Z80 instruction set] [https://zx-pk.ru/attachment.php?attachmentid=2989&amp;amp;d=1143656567 Z80 MEMPTR (aka WZ) internal register] [https://github.com/hoglet67/Z80Decoder/wiki/Undocumented-Flags Even weirder Z80 behaviour] [https://zxe.io/software/Z80/documentation/latest/Thanks.html To get to the bottom of it] [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/z80-cpu-nmos-or-cmos/ Z80 is always NMOS on CPC and Plus] How the Z80 behaves&lt;br /&gt;
*[https://floooh.github.io/2021/12/06/z80-instruction-timing.html Z80 T-state timings] [https://baltazarstudios.com/zilog-z80-undocumented-behavior/ Other source about T-state timings] Ultra accurate timing behaviour [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=48 I/O port allocation] [https://www.grimware.org/doku.php/documentations/devices/gatearray RAM/ROM mapping] Technical documentation&lt;br /&gt;
&lt;br /&gt;
== Diagnostics ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5113 Amstest] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17932 Amstrad Diagnostics] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6545 STS SysInfo] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=test%20crtc%20v Tests 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&amp;amp;num=11446 Basic Program Status Window] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12584 Version du Firmware Basic]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6987 RAM Expansion Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14833 MemTest] [https://www.cpc-power.com/index.php?page=detail&amp;amp;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&amp;amp;num=15739 RAM Check] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13386 Testprogram For All ERAM] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16010 Test RAM Basic] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19185 Xenon 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12188 Take On Me] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14339 Trololo Experiments] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19406 Still The One] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16084 Post Scriptum] [https://www.cpc-power.com/index.php?page=detail&amp;amp;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&amp;amp;num=14814 Anti-Multiface] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=151 Expanded RAM software list] RAM exercisers&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15975 FutureOS] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4174 CP/M Plus] [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/464-and-ram-extension/ Behaviour of RAM mode &amp;amp;C3] [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/upgrading-a-cpc-464-in-2022/ More on the issue] RAM expansion hardware bug on CPC464/664&lt;br /&gt;
*🔥[http://www.cpctech.org.uk/test.zip Kevin Thacker's &amp;quot;Acid tests&amp;quot; suite] [https://cpctech.cpcwiki.de/download/test.zip Older version] [https://www.cpcwiki.eu/forum/emulators/amstrad-cpc-'acid'-test/ Forum thread] [http://ace.cpcscene.net/tests:arnold_test_suite Tests results in ACE] Collection of tests which are used to verify emulators operation against real CPC, Plus and expansions&lt;br /&gt;
*🔥[http://www.winape.net/downloads.jsp Richard Wilson's Plus Test suite] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15242] CPC and CPC+ Emulator test suite (including Instruction and Interrupt timing tests)&lt;br /&gt;
&lt;br /&gt;
== Amstrad Plus ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9627 Official Plus diagnostics cartridge] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8308 4096 Colors Preview] [https://www.cpc-power.com/index.php?page=detail&amp;amp;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&amp;amp;num=3575 No Exit] Plus testing tools&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;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&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7530 Delirium Tremens] [https://www.youtube.com/watch?v=yJcBsQwMzuw Delirium Tremens running on real hardware] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18016 Bulles] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9169 Funerapolis] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7532 X-mas 2008] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19239 USS Cygnus 192] To test hardware sprites&lt;br /&gt;
*[https://cpctech.cpcwiki.de/docs/cpcplus.html Arnoldemu] [http://tj.gpa.free.fr/html/coding/cpcplus.htm T&amp;amp;J] [http://cpc.sylvestre.org/articles/articles_amstrad_plus.html Sylvestre] [http://quasar.cpcscene.net/doku.php?id=dossier:plus Offset] [http://quasar.cpcscene.net/doku.php?id=assem:asic] [[Plus Vectored Interrupt Bug]] Plus hardware bugs documented&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=database&amp;amp;cpcplus=1&amp;amp;cats=100 Plus Games] [https://www.cpc-power.com/index.php?page=database&amp;amp;cpcplus=1&amp;amp;cats=401 Plus Demos] Search filters to verify the entire Plus software library&lt;br /&gt;
&lt;br /&gt;
== Colorimetry ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=11826 Raster] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15519 Les split-rasters] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16722 Mir'Color] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14259 Test Interlace Color] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=11500 Mode 1 Tramage et Choix des Couleurs] Colour calibration&lt;br /&gt;
*[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&lt;br /&gt;
*Major difference in colorimetry between the real Amstrad CTM display and emulators display:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Border 8 - real CPC display.png|Border 8 on real CPC&lt;br /&gt;
Border 8 - real Plus display.png|Border 8 on real Plus&lt;br /&gt;
Border 8 - emulator display.png|Border 8 on emulators&lt;br /&gt;
Palette - real CPC.png|Palette on real CPC&lt;br /&gt;
Palette - real Plus.png|Palette on real Plus&lt;br /&gt;
Palette - emulator.png|Palette on emulators&lt;br /&gt;
True CTM colorimetry.png|Colorimetry on real CPC&lt;br /&gt;
CTM Emulator Shader colorimetry.png|Colorimetry on emulators&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Graphics ==&lt;br /&gt;
*🔥[https://shaker.logonsystem.eu/ Shakerland] Ultra accurate CRTC documentation and its associated CPC testing tool&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8524 Equalizor] [https://forum.system-cfg.com/viewtopic.php?p=229698#p229698 Revolog] [https://forum.system-cfg.com/viewtopic.php?f=24&amp;amp;t=11535&amp;amp;start=285 Technical explanation] Unpredictable behaviour of the real CRTC type 1 chip. We can classify these behaviours as CRTC types 1a and 1b&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12906 HSYNC test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16466 Split-Rasters Test CRTC1] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=crtc%20programmierung CRTC Programmierung] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=cote%gamers Côté Gamers] [https://www.cpc-power.com/index.php?page=detail&amp;amp;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&amp;amp;num=15280 CRTC software] CRTC testing tools&lt;br /&gt;
*[http://logon.system.free.fr/down/shaker_addon.dsk Pixel 1 Horizontal Hard Scroll for all CRTCs] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9102 Vertical Hard Scroll 100%] [https://cpcrulez.fr/coding_src-demo-smooth_crtc_register_3_scrolling_test.htm Smooth CRTC Register 3 scrolling test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1949 Skate Wars] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1211 Jinks] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=68 Out of this World] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=159 Killer Cobra] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10465 Edge Grinder] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10072 Relentless] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1982 Warhawk] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=99 Mission Genocide] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1028 Axys] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15809 Red Sunset] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=974 Ghosts'n Goblins] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1290 Legend of Kage] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1698 Profanation] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2119 Super Cauldron] Smooth CRTC R3/R5 hardware scrolling&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7514 BSC 91] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8772 Voyage 1993] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7751 OVL '96] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7662 Byte 98] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7560 Ze Meeting 2003] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8625 Divine] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7910 Paradise] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8621 Power System] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8875 Prodatron] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7744 Longshot] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7668 Amazing] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7714 KKB First] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8259 Chany Dream End] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8615 Welcom-X 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7591 S&amp;amp;Koh] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8041 Other World 3] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8064 Overflow Previews] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7648 Big'O Full'O Dem'O] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7765 Not Dead] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7504 Plasma] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8519 Wobbler] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7459 Mad Rast] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7543 Odyssey] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7736 Croco Chanel] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7828 Tire Au Flan] Early demos, so they were developed without CPC emulator bias&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9970 Still Rising] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9175 Still the Bests] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15298 Still Scrolling] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9097 River Scroll] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15209 Scroll Factory] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2799 Battro] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7464 Arôme Tomate] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15102 PhX] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9181 Bloc Us] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9248 Wake Up] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19313 Stand Up] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14230 Wunderbar] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18790 Foursome] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9589 Yet Another Plasma] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19004 Checkmate] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16068 Octopus Pocus] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15100 Isometrikum] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14225 Logon's Run] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=onescreen%20colonies Onescreen Colonies] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18760 Debris] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7729 DTC] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12683 Points Barres] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8552 Synergy 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19024 The One] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7728 DemoIzArt] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9502 Sugarlumps] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19453 Ghost Nop] CRTC effects&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=76 Les Mondes Parallèles] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=66 Paranoia] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=78 Molecularr 2] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=megablasters Megablasters] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12649 Quadraster] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2369 Groops] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3963 Sudoku Master] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10009 Overkoban] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17786 Prince Dastan Sokoban Within] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17610 Deva Drifter] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17197 Hexavirus v0] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15985 A tribute to the sisters] True overscan games&lt;br /&gt;
*[https://www.cpcwiki.eu/forum/programming/mode-3/ Mode 3 Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12905 &amp;quot;Mode 5&amp;quot; Viewer] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=931 Fugitif] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9089 Final Exams] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18626 Flush Wishes You a Happy New Year] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18680 Pixel Free] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13136 Interlace viewer] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7701 Climax] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19347 Flipraster] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13139 Perfect Pix Paint] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17706 Tetris] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13359 Imperial Mahjong] Special graphics modes&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16027 Mire] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7826 Climax-G] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7937 Fatal Beauties] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8307 4 Sins] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7897 Twinblast] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8081 MCS 6] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7593 Schadel] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13528 Wavy] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2224 Thunder Blade] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2318 Turrican] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=454 Bonanza Bros] To test the VDU&lt;br /&gt;
&lt;br /&gt;
== Audio ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=41 Trantor] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=204 3D Starfighter] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=726 Treasure Island Dizzy] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=971 Ghost Hunters] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2132 Super Robin Hood] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=237 Advanced Pinball Simulator] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1200 Jet Bike Simulator] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1002 Grand Prix Simulator] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=183 Darts 180] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1243 Killapede] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1194 Jail Break] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1815 Robocop] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=100 Chase HQ] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1926 Shinobi] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=895 Fly Spy] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8892 4-Bit Digi Try] Software English vocal digits&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=814 El Enigma de Aceps] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1349 Le Manoir de Mortvielle] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1098 Hold-Up] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=910 Forteresse] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=511 Canadair] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1140 L'île] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1199 Jaws] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1102 Holocauste] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=132 Afteroids] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=879 Fire &amp;amp; Forget] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1433 Xyphoes Fantasy] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17000 Space Race] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18500 Josh] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7456 Yao demo] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7548 Face Hugger Ultimate] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7415 Smallest Scroll] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8848 AC/DC DragonBreed] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17542 Musik100] Other software sound effects [https://www.cpc-power.com/index.php?page=database&amp;amp;audiotape=1 Audio-tape included software list]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9179 Now that's what I call Chip Tunes] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18904 Amstream music-disk] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10467 We Are All Old] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=ayc%20sound AYC Sound]  [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=shap%20audio Shap Audio] [https://www.cpc-power.com/index.php?page=detail&amp;amp;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&amp;amp;num=6266 Ams'Orgue] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18265 Sintetizador de Sonidos] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4735 Mega Sound] To test the PSG emulation&lt;br /&gt;
&lt;br /&gt;
== Peripherals ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=SSA-1 SSA-1 software list] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=DK%27Tronics%20Speech%20Synthesizer Dk'Tronics software list] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=TMPI%20speech%20synthesizer TMPI software list] To test speech synthesizers emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7535 Digital Orgasm] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=Digitracker Digitracker] [[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&amp;amp;lemot=Amdrum Amdrum] To test [[Digiblaster]] and [[Amdrum]] soundcards emulation&lt;br /&gt;
*[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 [[Willy]] OPL3 and MIDI emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=hardware_magnum Magnum Light Phaser] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3583 SkeetShoot] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3584 The Enforcer] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3992 Dk'Tronics Light Pen] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4955 Light Pen Mark II] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5853 Dart Light Pen] To test lightguns and lightpens connected to expansion port&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=hardware_phaser_loriciels West Phaser] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=hardware_gunstick Gunstick] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4303 Trojan LP-1] To test lightguns and lightpens connected to joystick port&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4286 AMX Art] [http://www.symbos.de/ SymbOS] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4012 Advanced OCP Art Studio] To test [[AMX Mouse|AMX]] and [[Kempston Mouse|Kempston mouse]] emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4026 Tasword] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4028 Tasprint] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12589 ProText] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9583 ProType] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4668 ProPrint] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12745 Miraprint] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4666 Qualitas Plus] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4516 BrunWord] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4104 MicroDesign] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15528 Page Printer] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4172 AMX Pagemaker] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6127 Speedtrans screen dump] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17613 Kdump] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5551 Impr'Image] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5157 Scrypte] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5712 Impression] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5576 RSX Imprimante] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6287 Machine à écrire] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5883 DemoImp] To test printer emulation&lt;br /&gt;
&lt;br /&gt;
*[[HDCPM]] [http://www.roudoudou.com/ACE-DL/ SymbOS] [[UniDOS]] [http://www.roudoudou.com/ACE-DL/ UniLoad] [https://shacpc.itch.io/lilicpc LiliCPC] [https://cpcrulez.fr/applications_disc-m4_front-end.htm M4FE] To test RTC and mass-storage emulation&lt;br /&gt;
*[https://cpcrulez.fr/applications_util-rulez-change-m4wifi.htm RulezCharge] [https://www.cpcwiki.eu/forum/news-events/amsteam-wip-game-streaming-service-for-the-amstrad-cpc/ Amsteam] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16746 CPChessNet] [https://github.com/fergusleen/m4ewenterm Ewen] [http://www.symbos.de/ SymbOS] [[UniDOS]] To test the network emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12972 X-MEM FW] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19236 CatRun] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18901 CowSay] [http://impdraw.wikidot.com iMPsuite] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=11578 GOS+] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6129 Nirvana] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6353 Utopia] [https://cpcrulez.fr/applications_util-cpm_plus_on_rom.htm CP/M Plus on ROM] [http://www.symbos.de/ SymbOS] [[UniDOS]] To test ROMboard emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17567 Alcon 2020] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18843 Hyperdrive] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18503 Puzzle Bobble] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18888 Revenge of Trasmoz] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19111 Crazy Piri Chronicle] [[Converted GX4000 Software]] [http://www.symbos.de/ SymbOS] [http://amsnet.chez.com/ UniDOS] To test CPC cartridge slot expansion&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14498 Multiface Protector] [https://www.cpc-power.com/index.php?page=protection&amp;amp;lenom=Multiface%202%20Protection Anti-Multiface II software list] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1855 RX 220] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1980 War in Middle Earth] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1322 Zap't'Balls advanced] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5266 The Insider] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5271 MF2RR] [https://grimware.org/doku.php/documentations/expansions/mf2/start Technical documentation] To test [[Multiface II]] emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4709 Dart Scanner] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4207 Vidi Digitizer] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=9 LensLok] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=hardware_dandanator Dandanator] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=MultiPlay&amp;amp;r1=0&amp;amp;r2=1&amp;amp;r3=0&amp;amp;r4=1 MultiPlay] [[KDS 8-Bit Printer Port]] Exotic pieces of hardware&lt;br /&gt;
&lt;br /&gt;
== Copy-protection ==&lt;br /&gt;
*[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&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6091 Azimut Locator] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13564 Tape Speed Checker] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16963 Catalogueur de Cassettes] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4194 Ultra Son] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10475 Soft-Lok] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4718 Bonzo Super Meddler] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5059 SpeedTrans] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5803 Transformateur] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6057 Deconnect] [https://www.cpc-power.com/index.php?page=protection&amp;amp;lenom=NoAMSDOS NoAMSDOS software list] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3871 Computer Hits] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1359 Marmelade] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1412 Mickey Mouse] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2035 Split Personalities] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=911 Frank Bruno's Boxing] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=baudload Baudload software list] [https://www.cpc-power.com/index.php?page=protection&amp;amp;lenom=Keytone Keytone software list] To test Tape emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8548 Musical Loader] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19368 FatMag 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9211 Backtro] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8623 Unique] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8746 The Demo] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13108 CPC 30th Anniversary] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7542 Midline Process] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17902 Can Robots Take Control] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10030 Phortem] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9156 Batman Forever] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16736 Pinball Dreams] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7174 R-Type 128K] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6661 Nheredia] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13426 Doomsday Lost Echoes] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4025 Orion Prime] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9090 JavaCPC Overscan] Musical loader, Multi-drives, 3.5 inch (dual-head and 80 tracks) floppy drives support&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10029 RPM] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15518 DskTest] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6268 Discover] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14201 Crazy] [https://cpcrulez.fr/applications_disc-dlfrsilver_dump_tool_test_suite.htm Dlfrsilver Dump Tool Test Suite] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4812 Format II] [[ParaDOS]] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4933 Xexor] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6118 Discology] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4179 Hercule II] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16060 UltraDisc] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4284 Disc+Ultra] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5244 Disc'o'Magic] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9297 Multi Mark] To test FDC emulation&lt;br /&gt;
*[https://cpcrulez.fr/demostestDM_fatmag_01.htm FatMag (HFE version)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17853 Open Tower Defense] Rigorous FDC tests by Roudoudou [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=AutoDetect%20Disk%20Change Disk Swapping Autodetect software list] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10000 Superpix] Disk swapping detection [https://www.cpc-power.com/index.php?page=detail&amp;amp;onglet=dumps&amp;amp;num=8623 Unique Diskmaker] Generate discs in noiseload format [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12051 Demonstration of KBI protection] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5586 Protector]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=protection&amp;amp;stafftype=1&amp;amp;lenom=Weak%20Sectors Weak Sectors] [https://www.cpc-power.com/index.php?page=protection&amp;amp;stafftype=1&amp;amp;lenom=Gaps Custom Gaps] [https://www.cpc-power.com/index.php?page=protection&amp;amp;stafftype=0&amp;amp;lenom=Gap2 Custom Gap2] [https://www.cpc-power.com/index.php?page=protection&amp;amp;stafftype=1&amp;amp;lenom=SectorSizeX Sector SizeX] [https://www.cpc-power.com/index.php?page=protection&amp;amp;stafftype=1&amp;amp;lenom=SectorSize8 Sector Size8] [https://www.cpc-power.com/index.php?page=protection&amp;amp;stafftype=1&amp;amp;lenom=SectorSize7 Sector Size7] [https://www.cpc-power.com/index.php?page=protection&amp;amp;stafftype=1&amp;amp;lenom=SectorSize6 Sector Size6] [https://www.cpc-power.com/index.php?page=protection&amp;amp;stafftype=1&amp;amp;lenom=SectorErased Sector Erased] [https://www.cpc-power.com/index.php?page=protection&amp;amp;stafftype=1&amp;amp;lenom=64sectors 64 Sectors] [https://www.cpc-power.com/index.php?page=protection&amp;amp;stafftype=1&amp;amp;lenom=Custom Custom] [https://www.cpc-power.com/index.php?page=protection&amp;amp;lenom=HERBULOT Rémi Herbulot] [https://www.cpc-power.com/index.php?page=protection&amp;amp;lenom=Brice%20Rive Brice Rive] [https://www.cpc-power.com/index.php?page=protection&amp;amp;lenom=Rubi Rubi] [https://www.cpc-power.com/index.php?page=protection&amp;amp;lenom=MBC%20D7 MBC] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=logiciel%2044 Logiciel 44] Protected software lists&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1681 Prehistorik] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1699 Profession Détective] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=291 Emlyn Hugues Arcade Quiz] Other copy-protection schemes [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=674 Dark Sceptre] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1269 Krypton Factor] Works only on older floppy drives&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=180 1001 BC] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1887 Scott Winder Reporter] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1102 Holocauste] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=196 Speedlock AAAA] Destructive copy-protection [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1944 Sir Lancelot] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1897 Secret Defense] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1390 M'enfin] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=111 Turbo Cup] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=825 Erebus] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1607 Le Passager du Temps] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=435 Anti-copy bug software list] Exotic copy-protection&lt;br /&gt;
*[https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;cat=12 Protection schemes documented] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=207 Gaps] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=384 Latis] [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&amp;amp;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] Technical explanations&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3905 The Eternal Light] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19341 Paulina's Potions] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18813 Druid &amp;amp; Droid] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5197 Claudia BMP Converter] Software that only run on flawed emulators but not on real machines&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1546 Octoplex (crtc1)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=781 Dynamic Duo (crtc1)] [https://blog.logonsystem.eu/compendium/ 007 The Living Daylights (crtc1)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7479 Madness (crtc0)] [https://forum.system-cfg.com/viewtopic.php?p=234421#p234421 FMR (crtc1)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7455 Not Dead (crtc2)] Some known CRTC problems on real hardware&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2266 The Untouchables] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=135 Batman The Movie] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2318 Turrican] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=80 Technical explanation] CPC keyboard clash&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19283 Raytracing in BASIC] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15685 Julia Fractal] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7405 5KB 3 (Cray II emulator part)] To benchmark emulators using their fullspeed mode&lt;br /&gt;
&lt;br /&gt;
= File format specifications =&lt;br /&gt;
&lt;br /&gt;
*[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&amp;amp;num=386 CTRAW] [https://www.cbmstuff.com/downloads/scp/scp_image_specs.txt SCP] File formats of disk-image&lt;br /&gt;
*[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/ FLAC] [http://soundfile.sapp.org/doc/WaveFormat/ WAV] [https://www.datavoyage.com/mpgscript/mpeghdr.htm MP3] File formats of tape-image&lt;br /&gt;
*[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&lt;br /&gt;
*[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&amp;amp;num=10 Archive of SNR sessions]&lt;br /&gt;
*[http://leonard.oxg.free.fr/ymformat.html YM] [https://www.cpcwiki.eu/index.php/AYC AYC] [https://vgmrips.net/wiki/VGM_Specification VGM] Soundchip logging file formats&lt;br /&gt;
*[https://shaker.logonsystem.eu/sslcsl CSL] Cpc Scripting Language, a macro/scripting system to automate emulators&lt;br /&gt;
&lt;br /&gt;
= Emulation Tools  =&lt;br /&gt;
&lt;br /&gt;
*[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] [[Dsktools|Dsktools]] [[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/muckypaws/AmstradDSKExplorer Amstrad DSK Explorer] Set of tools about disk-images&lt;br /&gt;
*[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://cpctech.cpcwiki.de/download/2cdt.zip 2CDT] [http://cngsoft.no-ip.org/csw2cdt.htm CSW2CDT] [https://cpcrulez.fr/emulateurs_UTIL-CDT-CDT2WAV.htm CDT2WAV] [https://github.com/shred/tzxtools tzxtools] Set of tools about tape-images&lt;br /&gt;
*[http://www.cpcmania.com/news.htm CPRTools] [http://amsnet.chez.com/ UniDOS Cartridge Creator] Edit Amstrad Plus CPR cartridge-images&lt;br /&gt;
*[https://bochs.sourceforge.io/doc/docbook/user/winimage.html WinImage, DiskExplorer, Mtools] [https://www.fysnet.net/ultimate/index.htm Ultimate Imager] [https://github.com/ProgrammingHobby/CPM_Image-File_Explorer CP/M Image File Explorer] Access and edit hard-drive images&lt;br /&gt;
*[https://colourclash.co.uk/cpc-analyser/ CPC Analyser] [https://imhex.werwolv.net/ ImHex] Other tools&lt;br /&gt;
*[[Emulator tooling]] UI screenshots of tooling in CPC emulators&lt;br /&gt;
*[[WinApe|WinAPE]] [[WinCPC]] [[JavaCPC]] [https://code.google.com/archive/p/cpcsdk/ Caprice Reloaded] [http://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73 Caprice Forever] Emulators with an integrated Z80 Assembler&lt;br /&gt;
*[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] [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&lt;br /&gt;
*[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] [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&lt;br /&gt;
*[https://github.com/KarolS/millfork Millfork] [https://ccz80.webcindario.com/ccz80en.html ccz80] [https://www.mikekohn.net/micro/java_grinder.php Java Grinder] CPC cross-development with C-like or Java-like programming languages&lt;br /&gt;
*[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] A complete suite (IDE, compiler, resource editor) for developing CPC games/demos in Pascal&lt;br /&gt;
*[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&lt;br /&gt;
*[http://www.symbos.de/quigs.htm Quigs IDE] Suite of PC-based tools and editors for SymbOS application development&lt;br /&gt;
*[https://cpcbasic.webcindario.com/CPCBasicEn.html CPC Basic cross-compiler] [https://github.com/benchmarko/CPCBasic CPCBasic Unchained] [https://marketplace.visualstudio.com/items?itemName=cebe74.amstrad-basic-helper-vscode Amstrad Basic Helper] [https://www.cpcalive.com/cpcalive_en.html CpcAlive] [https://ugbasic.iwashere.eu/ ugBASIC] Cross-platform CPC development in BASIC&lt;br /&gt;
*[https://github.com/einar-saukas/ZX0 ZX0] [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&lt;br /&gt;
*[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/gfx2crtc gfx2crtc] [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&lt;br /&gt;
*[http://multipaint.kameli.net/ Multipaint] [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] [http://gcajdev.epizy.com/sprite_creator.php Sprite Creator] [https://www.aseprite.org/ Aseprite] [https://github.com/Cwiiis/maped/ Maped] Cross-platform CPC pixel art editors&lt;br /&gt;
*[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://www.julien-nevo.com/arkostracker/ Arkos Tracker 2] [https://tildearrow.org/furnace/ Furnace] [https://bintracker.org/ Bintracker] Cross-platform CPC music creation suites&lt;br /&gt;
&lt;br /&gt;
= Emulator Detection =&lt;br /&gt;
&lt;br /&gt;
If you want to promote usage of real CPC computers, you can detect CPC emulators by:&lt;br /&gt;
*Checking if the memory is initialized with zeroes, as real machines have random memory values at boot&lt;br /&gt;
*Focusing on the minute details in Z80, CRTC and PPI chips. They are most often wrong in emulators&lt;br /&gt;
*Examining the FDC chip. It is only replicated more or less superficially in all emulators because the internals of the chip are still unknown&lt;br /&gt;
&lt;br /&gt;
Combining these methods will definitely get you a 100% success rate in detecting emulators, even the toughest ones.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Emulator undetected.png|Emulator undetected&lt;br /&gt;
Emulator detected.png|Emulator detected&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is also this initiative for emulators who willingly want to be detected: [[Emulator_IDs|Emulator IDs]]&lt;br /&gt;
&lt;br /&gt;
= Emulators running on the Amstrad CPC =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! License&lt;br /&gt;
! Emulates&lt;br /&gt;
|-&lt;br /&gt;
| [[Amstrad BBC BASIC]]&lt;br /&gt;
| [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9862]&lt;br /&gt;
| 2.30&lt;br /&gt;
| Apr 2, 1986&lt;br /&gt;
| Commercial💲&lt;br /&gt;
| [[BBC BASIC]]&lt;br /&gt;
|-&lt;br /&gt;
| [[BASIC 1.1 Fuer CPC464]]&lt;br /&gt;
| [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4403]&lt;br /&gt;
| &lt;br /&gt;
| Oct 1986&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Locomotive BASIC 1.1]]&lt;br /&gt;
|-&lt;br /&gt;
| [[CP\/M]]&lt;br /&gt;
| [https://www.cpcwiki.eu/forum/applications/symbos-cpm-run-cpm-programs-in-a-virtual-machine/]&lt;br /&gt;
| &lt;br /&gt;
| Mar 21, 2024&lt;br /&gt;
| Freeware&lt;br /&gt;
| [[CP/M]]&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCZVM]]&lt;br /&gt;
| [https://www.cpcwiki.eu/index.php/Z-Machine]&lt;br /&gt;
| &lt;br /&gt;
| Jul 6, 2019&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Z-Machine]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Pac-Man]]&lt;br /&gt;
| [http://www.cpcwiki.eu/forum/games/speed-up-patch-for-pac-man-emulator-for-cpc-by-syx-toto/msg81222/#msg81222]&lt;br /&gt;
| 1.1&lt;br /&gt;
| Jun 5, 2014&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Pac-Man arcade|Pac-Man arcade]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Phoenix]]&lt;br /&gt;
| [https://norbertkehrer.github.io/phoenix_cpc.html]&lt;br /&gt;
| &lt;br /&gt;
| Jan 6, 2019&lt;br /&gt;
| Freeware&lt;br /&gt;
| [[Phoenix arcade|Phoenix arcade]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Space Invaders|Space Invaders]]&lt;br /&gt;
| [http://www.cpcwiki.eu/forum/games/space-invaders-arcade-emulator-for-amstrad-cpc/]&lt;br /&gt;
| 1.0&lt;br /&gt;
| Jun 11, 2016&lt;br /&gt;
| Freeware&lt;br /&gt;
| [[Space Invaders arcade|Space Invaders arcade]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Vezza]]&lt;br /&gt;
| [https://gitlab.com/sijnstra1/vezza]&lt;br /&gt;
| &lt;br /&gt;
| Oct 7, 2023&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Z-Machine]]&lt;br /&gt;
|-&lt;br /&gt;
| [[ZXM]]&lt;br /&gt;
| [https://cpcrulez.fr/applications_util-ZXm.htm]&lt;br /&gt;
| &lt;br /&gt;
| 1993&lt;br /&gt;
| Freeware&lt;br /&gt;
| [[ZX Spectrum|ZX Spectrum]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Zym]]&lt;br /&gt;
| [http://www.symbos.org/appinfo.htm?00054]&lt;br /&gt;
| 0.9&lt;br /&gt;
| Feb 19, 2022&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Z-Machine]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Emulator| ]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Emulators&amp;diff=115222</id>
		<title>Emulators</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Emulators&amp;diff=115222"/>
				<updated>2024-04-08T15:05:17Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: /* Alternative OS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Vote for your favorite emulator =&lt;br /&gt;
&lt;br /&gt;
[https://www.cpcwiki.eu/forum/emulators/which-emulator-s-do-you-use/ There is a poll on CPCWiki forum]&lt;br /&gt;
&lt;br /&gt;
= Software Platforms (Full OS independance) =&lt;br /&gt;
&lt;br /&gt;
== Java Platform  ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnold Jnr|Arnold Jnr]]&lt;br /&gt;
| [https://web.archive.org/web/20160727011826/http://www.arnoldemu.freeserve.co.uk/]&lt;br /&gt;
| &lt;br /&gt;
| Aug 27, 2001&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[JavaCPC|JavaCPC Desktop]]&lt;br /&gt;
| [https://sourceforge.net/projects/javacpc/] [http://sourceforge.net/projects/javagx4000/ JavaGX4000] [http://sourceforge.net/projects/cpcinajar/ CPCInAJar]&lt;br /&gt;
| 3.0.2&lt;br /&gt;
| Apr 8, 2022&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[JEMU|JEMU]]&lt;br /&gt;
| [http://jemu.winape.net/]&lt;br /&gt;
| &lt;br /&gt;
| Feb 19, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]], [[ZX80/81]], [[BBC Micro]], [[VZ-300]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[WebCPC|WebCPC]]&lt;br /&gt;
| [http://sourceforge.net/projects/webcpc/] [https://web.archive.org/web/20110903132520/http://java.cpc-live.com/ JavaCPC Applet]&lt;br /&gt;
| r15&lt;br /&gt;
| Dec 31, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== JS / Wasm / Web Platform ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCBox|CPCBox]] &lt;br /&gt;
| [https://www.retroshowcase.gr/cpcbox-master/] [https://web.archive.org/web/20190702084943/http://www.cpcbox.com/] [https://bzhgames.xyz/index.php BZH Games]&lt;br /&gt;
| beta &lt;br /&gt;
| Dec 28, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[CrocoDS|CrocoDS]] &lt;br /&gt;
| [https://crocods.org/web/] [https://github.com/redbug26/crocods Repo]&lt;br /&gt;
| &lt;br /&gt;
| Jun 9, 2020&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[MAME|Emularity (MAME)]] &lt;br /&gt;
| [https://github.com/db48x/emularity] [http://jsmess.textfiles.com/ JSMESS] [https://classicreload.com/platform/amstrad%20cpc Classic Reload]&lt;br /&gt;
[https://archive.org/details/softwarelibrary_cpc_games CPC Games] [https://archive.org/details/softwarelibrary_cpc_demos CPC Demos] on Internet Archive&lt;br /&gt;
| &lt;br /&gt;
| Jan 27, 2024&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| Tons of vintage computers, game consoles and arcade systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Roland javascript emulator|Roland]] &lt;br /&gt;
| [https://web.archive.org/web/20190308142014/http://roland.retrolandia.net/]&lt;br /&gt;
| &lt;br /&gt;
| Sep 24, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Ronald|Ronald]] &lt;br /&gt;
| [https://ronald.migge.io] [https://github.com/mdm/ronald Repo]&lt;br /&gt;
| &lt;br /&gt;
| Apr 1, 2024&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[RVMplayer|RVMplayer]] &lt;br /&gt;
| [https://www.retrovirtualmachine.org/rvmplayer/]&lt;br /&gt;
| 0.1.1&lt;br /&gt;
| May 6, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]]&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[Tiny Emus]]&lt;br /&gt;
| [https://floooh.github.io/tiny8bit/] [https://floooh.github.io/tiny8bit/cpc-ui.html CPC UI] [http://floooh.github.io/virtualkc/ yakc] [https://online.oldgames.sk/play/cpc Online Old Games] [https://bzhgames.xyz/index.php BZH Games]&lt;br /&gt;
[https://devilmarkus.de/ WebGL 3d 8-bit] [https://arcade-des-monts.ca/run/store.php Retro Store] [https://www.amstradcpcgames.eu/ Amstrad CPC Games] [http://cpc.novidee.com/ zpz]&lt;br /&gt;
| &lt;br /&gt;
| Mar 2, 2024&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| [[KC Compact]], [[ZX Spectrum]], [[VIC-20]], [[Commodore 64]], [[Acorn Atom]], [[KC 85]], [[KC 87]], [[Z9001]], [[Z1013]], [[LC80]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Griffin CPC emulator|Xiragon]]&lt;br /&gt;
| [https://web.archive.org/web/20191027200008/http://xiragon.com/]&lt;br /&gt;
| &lt;br /&gt;
| Nov 28, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== LibRetro (API for emulators) ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! Type&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[libretro-cap32]]&lt;br /&gt;
| Emulation core&lt;br /&gt;
| [https://github.com/libretro/libretro-cap32]&lt;br /&gt;
| 4.5.3&lt;br /&gt;
| Feb 4, 2024&lt;br /&gt;
| -&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[libretro-crocods]]&lt;br /&gt;
| Emulation core&lt;br /&gt;
| [https://github.com/libretro/libretro-crocods]&lt;br /&gt;
| 0.1&lt;br /&gt;
| Jul 26, 2022&lt;br /&gt;
| -&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[MAME|LRMAME]]&lt;br /&gt;
| Emulation core&lt;br /&gt;
| [https://github.com/libretro/mame]&lt;br /&gt;
| 0.264&lt;br /&gt;
| Apr 1, 2024&lt;br /&gt;
| -&lt;br /&gt;
| ✅&lt;br /&gt;
| Tons of vintage computers, game consoles and arcade systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[SugarLibRetro]]&lt;br /&gt;
| Emulation core&lt;br /&gt;
| [https://github.com/Tom1975/SugarLibRetro] (wraps independent lib [https://github.com/Tom1975/CPCCore CPCCore])&lt;br /&gt;
| git&lt;br /&gt;
| Jan 10, 2020&lt;br /&gt;
| -&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[EmuVR]]&lt;br /&gt;
| Frontend&lt;br /&gt;
| [https://www.emuvr.net/]&lt;br /&gt;
| 1.0.11&lt;br /&gt;
| Dec 24, 2022&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Depends on emulation cores&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[Hackable Console]]&lt;br /&gt;
| Frontend&lt;br /&gt;
| [https://github.com/leiradel/hackable-console]&lt;br /&gt;
| &lt;br /&gt;
| Mar 27, 2022&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Depends on emulation cores&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[RetroArch]]&lt;br /&gt;
| Frontend&lt;br /&gt;
| [https://www.retroarch.com/] [https://www.retroarch.com/?page=achievements RetroAchievements]&lt;br /&gt;
| 1.17.0&lt;br /&gt;
| Feb 3, 2024&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Depends on emulation cores&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Current Operating Systems =&lt;br /&gt;
&lt;br /&gt;
== Desktop ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Windows&lt;br /&gt;
! macOS&lt;br /&gt;
! Linux&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[ACE-DL]]&lt;br /&gt;
| [http://www.roudoudou.com/ACE-DL] [https://discord.gg/rKxFPndHPw Discord] [http://ace.cpcscene.net Based on ACE]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| &lt;br /&gt;
| Apr 2, 2024&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[AMSpiriT|AMSpiriT]]&lt;br /&gt;
| [https://www.amspirit.fr/] [https://discord.com/invite/g37me8WMW6 Discord] [https://forum.system-cfg.com/viewtopic.php?f=24&amp;amp;t=11535 Forum]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.0 rc1&lt;br /&gt;
| Apr 2, 2024&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnimedes|Arnimedes]] &lt;br /&gt;
| [http://www.arnimedes.de/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.02&lt;br /&gt;
| Jul 7, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnold_(Emulator)|Arnold]] &lt;br /&gt;
| [http://www.cpcwiki.eu/forum/emulators/arnold-wip/msg144749/#msg144749] [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]&lt;br /&gt;
| ✅&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ⚠️&lt;br /&gt;
| [http://www.cpcwiki.eu/imgs/d/dd/Arnoldwip_src.tar.bz2 WIP]&lt;br /&gt;
| May 13, 2017&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Caprice Forever]] &lt;br /&gt;
| [http://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 24.2&lt;br /&gt;
| Feb 10, 2024&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware &amp;amp; Outdated sources&lt;br /&gt;
|-&lt;br /&gt;
| [[CaPriCe|Caprice32]] &lt;br /&gt;
| [https://github.com/ColinPitrat/caprice32/releases] [http://sourceforge.net/projects/caprice32/ Old repo] [https://snapcraft.io/caprice32 Linux] [http://aleste520.narod.ru/caprice.html Aleste] [https://code.google.com/archive/p/cpcsdk/ Reloaded]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 4.6.0&lt;br /&gt;
| Oct 8, 2022&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Clock Signal|Clock Signal]] &lt;br /&gt;
| [https://github.com/TomHarte/CLK/releases] [https://snapcraft.io/clock-signal Linux]&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| &lt;br /&gt;
| Jan 22, 2024&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]], [[ZX80/81]], [[Enterprise]], [[MSX]], [[Oric 1/Atmos|Oric]], [[ColecoVision]], [[Acorn Electron]], [[Apple II]], [[VIC-20]], [[Atari 2600]], [[Atari ST]], [[Macintosh]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CoPaCabana|CoPaCabana]]&lt;br /&gt;
| [http://copacabana.emuunlim.com/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 0.74&lt;br /&gt;
| Apr 12, 2006&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[CPC++|CPC++]] &lt;br /&gt;
| [http://bricerive.free.fr/cpc/cpcpp.html]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ⚠️&lt;br /&gt;
| b700&lt;br /&gt;
| May 31, 2015&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[cpc4x|cpc4x]] &lt;br /&gt;
| [http://www.ulrich-cordes.de/cpc/english/cpcemu.htm]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| 0.26&lt;br /&gt;
| Dec 11, 2004&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEC|CPCEC]] &lt;br /&gt;
| [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]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| &lt;br /&gt;
| Mar 28, 2024&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[ZX Spectrum]], [[Commodore 64]], [[MSX]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEC|cpcec-gtk]] &lt;br /&gt;
| [https://bitbucket.org/norecess464/cpcec-gtk/]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| &lt;br /&gt;
| Feb 4, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCemu|CPCemu]] &lt;br /&gt;
| [http://www.cpc-emu.org/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 2.5&lt;br /&gt;
| Aug 13, 2022&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEPower|CPCEPower]] &lt;br /&gt;
| [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 2105&lt;br /&gt;
| Jun 4, 2021&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCSharp|CPCSharp]] &lt;br /&gt;
| [https://github.com/dolbz/CPCSharp/releases/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.0.0-beta1&lt;br /&gt;
| Apr 7, 2021&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPvC|CPvC]]&lt;br /&gt;
| [https://github.com/alybaek2/cpvc]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| &lt;br /&gt;
| Sep 30, 2022&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CrocoDS|CrocoDS]]&lt;br /&gt;
| [https://crazypiri.eu/crocods/] [https://github.com/redbug26/crocods Repo]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| 4.0 beta3&lt;br /&gt;
| Dec 10, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[DSP|DSP]]&lt;br /&gt;
| [https://github.com/leniad/dsp-emulator/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ⚠️&lt;br /&gt;
| 0.23 wip1&lt;br /&gt;
| Mar 25, 2024&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| [[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]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[ep128emu|ep128emu]]&lt;br /&gt;
| [https://github.com/istvan-v/ep128emu]&lt;br /&gt;
| ✅&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ⚠️&lt;br /&gt;
| 2.0.11.2&lt;br /&gt;
| Apr 19, 2019&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]], [[Enterprise]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[MESS|MAME]]&lt;br /&gt;
| [http://mamedev.org/release.html] [http://sdlmame.lngn.net/ macOS] [http://wiki.mamedev.org/index.php/SDL_Supported_Platforms Other ports] &lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 0.264&lt;br /&gt;
| Mar 27, 2024&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| Tons of vintage computers, game consoles and arcade systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[NO$CPC|NO$CPC]]&lt;br /&gt;
| [http://problemkaputt.de/cpc.htm]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.8&lt;br /&gt;
| Nov 2, 2000&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[PC-CPC|PC-CPC]] &lt;br /&gt;
| [http://cpcrulez.fr/emulateurs_download-WIN-PC-CPC.htm] [https://github.com/DemoniakLudo/PC-CPC Repo]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 0.1at b29&lt;br /&gt;
| Nov 17, 2011&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Retro Virtual Machine|Retro Virtual Machine]]&lt;br /&gt;
| [https://www.retrovirtualmachine.org]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 2.1.11&lt;br /&gt;
| Nov 13, 2023&lt;br /&gt;
| ❌ Removed&lt;br /&gt;
| ✅&lt;br /&gt;
| [[ZX Spectrum]], [[MSX|MSX 1]], [[ColecoVision]], [[SG-1000]], [[Master System]]&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[Roland Emulator|Roland]] &lt;br /&gt;
| [https://www.rolandemu.de/en/downloads.html] [https://github.com/raldus/roland Repo]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| 0.70&lt;br /&gt;
| Apr 20, 2017&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Ronald|Ronald]] &lt;br /&gt;
| [https://github.com/mdm/ronald]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| &lt;br /&gt;
| Apr 1, 2024&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[SugarBox|SugarBox]]&lt;br /&gt;
| [https://github.com/Tom1975/SugarboxV2] [http://sugarbox.free.fr/ Old site]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 2.0.2&lt;br /&gt;
| Nov 29, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[VirtualCPC|Virtual CPC]] &lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-WIN-virtual_cpc.htm] [https://web.archive.org/web/20200112094913/http://users.otenet.gr/~sulfonic/cpc/ Archive] &lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.1&lt;br /&gt;
| Aug 8, 2011&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[WinApe|WinAPE]] &lt;br /&gt;
| [http://www.winape.net/] [https://www-ftp.lip6.fr/pub/amstrad/emulator/CPCWIN10.ZIP CPCwin]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 2.0b2&lt;br /&gt;
| Jan 5, 2016&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[WinCPC|WinCPC]] / [[MacCPC|MacCPC]]&lt;br /&gt;
| [http://www.wincpc.ch/index.php?topic=projects] [https://web.archive.org/web/20050409133618/http://www.easypoint.ch/vbcpc/ vbCPC]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| 0.9.2&lt;br /&gt;
| Jan 22, 2010&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[XCPC|Xcpc]]&lt;br /&gt;
| [https://www.xcpc-emulator.net/]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| 0.38.1&lt;br /&gt;
| Apr 8, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[XNACPC|XNACPC]]&lt;br /&gt;
| [http://www.gavpugh.com/2011/11/11/xnacpc-xbox-360-amstrad-cpc-emulator-released/] [https://www.gavpugh.com/old-code/ CPC3D]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.0&lt;br /&gt;
| Nov 11, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[ZEsarUX|ZEsarUX]]&lt;br /&gt;
| [https://github.com/chernandezba/zesarux]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| X&lt;br /&gt;
| Sep 8, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| [[PCW]], [[ZX Spectrum]], [[ZX80/81]], [[MSX|MSX 1]], [[ColecoVision]], [[Spectravideo]], [[Jupiter ACE]], [[Sam Coupe]], [[SG-1000]], [[Master System]], [[Sinclair QL]], [[MK14]], [[Z88]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Alternative OS ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! AmigaOS PPC&lt;br /&gt;
! AROS&lt;br /&gt;
! MorphOS&lt;br /&gt;
! Haiku&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[ACE_(Emulator)|ACE]]&lt;br /&gt;
| [http://ace.cpcscene.net Web site] [https://web.libera.chat/#cpc-fr IRC channel] [https://framagit.org/search?search=acepansion Plugins' repo]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| v1.26 - Jan 1, 2024&lt;br /&gt;
| v1.26.0 - Mar 2, 2024&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| Dozens of CPC hardware expansions thru plugins&lt;br /&gt;
| Freeware (plugins are Open Source)&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnold]]&lt;br /&gt;
| [http://hirudov.com/amiga/Arnold.php AmigaOS] [http://archives.aros-exec.org/?function=showfile&amp;amp;file=emulation/computer/arnold-aros-i386.lha AROS]&lt;br /&gt;
| v1.15 - Dec 17, 2012&lt;br /&gt;
| Oct 24, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Caprice32]]&lt;br /&gt;
| [http://archives.aros-exec.org/?function=showfile&amp;amp;file=emulation/computer/caprice-aros-i386.lha]&lt;br /&gt;
| ❌&lt;br /&gt;
| v4.2.0 - Oct 23, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[MAME]]&lt;br /&gt;
| [http://se.os4depot.net/index.php?function=showfile&amp;amp;file=emulation/computer/sdl_mess.lha AmigaOS] [http://fabportnawak.free.fr/mame/ MorphOS] [https://depot.haiku-os.org/#!/pkg/mame Haiku]&lt;br /&gt;
| MESS v0.146u4 - Aug 19, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| MESS v0.113 - Nov 1, 2007&lt;br /&gt;
| v0.264-2 - Apr 3, 2024&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| Tons of vintage computers, game consoles and arcade systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[ZEsarUX|ZEsarUX]]&lt;br /&gt;
| [https://depot.haiku-os.org/#!/pkg/zesarux]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| v10.10-1 - Oct 28, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| [[PCW]], [[ZX Spectrum]], [[ZX80/81]], [[MSX|MSX 1]], [[ColecoVision]], [[Spectravideo]], [[Jupiter ACE]], [[Sam Coupe]], [[SG-1000]], [[Master System]], [[Sinclair QL]], [[MK14]], [[Z88]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Mobile ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[andcpc]]&lt;br /&gt;
| [http://code.google.com/p/andcpc/]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Apr 4, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[Azimuth]]&lt;br /&gt;
| [https://play.google.com/store/apps/details?id=johnidis.azimuth]&lt;br /&gt;
| 1.11&lt;br /&gt;
| Aug 22, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Adware and in-app purchases💲&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[CPCDroid]]&lt;br /&gt;
| [https://fmsdevel.wisecoding.es/cpcdroid-amstrad-cpc-on-android-phone-2/]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Mar 2, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[CPCemu|CPCemu]] &lt;br /&gt;
| [https://play.google.com/store/apps/details?id=com.loritznet.softwarecreations.cpcemu]&lt;br /&gt;
| 2.5&lt;br /&gt;
| Aug 14, 2022&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[Droid-CPC]]&lt;br /&gt;
| [http://play.google.com/store/apps/details?id=com.kokak.droidcpc]&lt;br /&gt;
| 1.1.01&lt;br /&gt;
| Dec 15, 2016&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Commercial💲&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[MAME4droid 2024]]&lt;br /&gt;
| [http://play.google.com/store/apps/details?id=com.seleuco.mame4d2024] [https://github.com/seleuco/MAME4droid-2024 Repo]&lt;br /&gt;
| 1.11.1 (0.264)&lt;br /&gt;
| Mar 29, 2024&lt;br /&gt;
| ✅&lt;br /&gt;
| Tons of vintage computers, game consoles and arcade systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| iOS&lt;br /&gt;
| [[CPCemu|CPCemu]]&lt;br /&gt;
| [http://www.cpc-emu.org/]&lt;br /&gt;
| 2.5&lt;br /&gt;
| Aug 13, 2022&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Software available on request&lt;br /&gt;
|-&lt;br /&gt;
| iOS&lt;br /&gt;
| [[CrocoDS]]&lt;br /&gt;
| [https://crazypiri.eu/crocods/] [https://github.com/redbug26/crocods-ios Repo]&lt;br /&gt;
| 2.1&lt;br /&gt;
| Jun 21, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Discontinued Operating Systems =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| Acorn RISC OS&lt;br /&gt;
| [[!CPC|!CPC]]&lt;br /&gt;
| [https://www-ftp.lip6.fr/pub/amstrad/emulator/CPC0728.ZIP] [http://ftp2.fr.openbsd.org/ftp/pub/amstrad/emulator/CPCS1124.ZIP]&lt;br /&gt;
| &lt;br /&gt;
| Jul 28, 1996&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Acorn RISC OS&lt;br /&gt;
| [[!CPCemu|!CPCemu]]&lt;br /&gt;
| [http://huggers-world.de/mops.html]&lt;br /&gt;
| 1.21&lt;br /&gt;
| Mar 22, 2016&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS m68k&lt;br /&gt;
| [[A-CPC|A-CPC]]&lt;br /&gt;
| [https://cpctech.cpcwiki.de/download/a-cpc.lha]&lt;br /&gt;
| 2.0&lt;br /&gt;
| Mar 30, 2002&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS m68k&lt;br /&gt;
| [[Ami-cpc|Ami-cpc]]&lt;br /&gt;
| [http://deplanque.chez.com/] [http://deplanque.chez.com/download_fr.html Ami-cpc2]&lt;br /&gt;
| 0.46&lt;br /&gt;
| Jan 21, 1998&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS m68k&lt;br /&gt;
| [[CPE|CPE]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-AMIGA-CPE.htm]&lt;br /&gt;
| &lt;br /&gt;
| Feb 24, 1995&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS m68k&lt;br /&gt;
| [[Emu-CPC|EmuCPC]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-AMIGA-emucpc.htm]&lt;br /&gt;
| 0.7&lt;br /&gt;
| Sep 15, 1996&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| BlackBerry OS&lt;br /&gt;
| [[BB-CPC|BB-CPC]]&lt;br /&gt;
| [http://appworld.blackberry.com/webstore/content/30963891/] (dead link)&lt;br /&gt;
| 1.0.1.3&lt;br /&gt;
| Jul 15, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Commercial💲&lt;br /&gt;
|-&lt;br /&gt;
| Classic Mac OS&lt;br /&gt;
| [[CPCplusplus|CPC++]]&lt;br /&gt;
| [http://bricerive.free.fr/cpc/cpcpp.html]&lt;br /&gt;
| 1.3.2&lt;br /&gt;
| Oct 6, 1997&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Shareware💲&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[AdvanceMESS|AdvanceMESS]]&lt;br /&gt;
| [https://www.advancemame.it/readme]&lt;br /&gt;
| 3.9&lt;br /&gt;
| Sep 8, 2018&lt;br /&gt;
| ✅&lt;br /&gt;
| Tons of vintage computers and game consoles&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[Arnimedes|Arnimedes]]&lt;br /&gt;
| [http://www.arnimedes.de/]&lt;br /&gt;
| 0.8a&lt;br /&gt;
| Apr 15, 2000&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[Caprice32]] &lt;br /&gt;
| [https://ftp.nvg.ntnu.no/pub/cpc/emulator/msdos/capriced.zip]&lt;br /&gt;
| 1.11&lt;br /&gt;
| Sep 20, 1999&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPC]] &lt;br /&gt;
| [https://www-ftp.lip6.fr/pub/amstrad/emulator/CPC055B.ZIP]&lt;br /&gt;
| 0.55b&lt;br /&gt;
| May 16, 1997&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPC-em|CPC-em]] &lt;br /&gt;
| [http://cpc-em.emuunlim.com/]&lt;br /&gt;
| 0.4&lt;br /&gt;
| Jul 7, 2004&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPCE|CPCE]]&lt;br /&gt;
| [http://cngsoft.no-ip.org/cpce/]&lt;br /&gt;
| 1.94&lt;br /&gt;
| Jun 2, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPCemu|CPCemu]]&lt;br /&gt;
| [http://www.cpc-emu.org/]&lt;br /&gt;
| 1.5&lt;br /&gt;
| Jul 7, 1998&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPE|CPE]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-DOS-CPE.htm]&lt;br /&gt;
| 5.2&lt;br /&gt;
| Apr 21, 1997&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[NO$CPC|NO$CPC]]&lt;br /&gt;
| [http://problemkaputt.de/cpc.htm]&lt;br /&gt;
| 1.8&lt;br /&gt;
| Nov 2, 2000&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[PC-CPC|PC-CPC]] &lt;br /&gt;
| [http://deplanque.chez.com/download_fr.html]&lt;br /&gt;
| &lt;br /&gt;
| Feb 3, 1998&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPCEMU (RWCPC)|RWCPC]]&lt;br /&gt;
| [https://www-ftp.lip6.fr/pub/amstrad/emulator/RWCPC.ZIP]&lt;br /&gt;
| &lt;br /&gt;
| Mar 23, 1995&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[SIMCPC|SIMCPC]]&lt;br /&gt;
| [https://www-ftp.lip6.fr/pub/amstrad/emulator/SIMCPC.ZIP]&lt;br /&gt;
| &lt;br /&gt;
| Dec 10, 1989&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Shareware💲&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[YAGE|YAGE]]&lt;br /&gt;
| [https://www.zophar.net/cpc/yage.html]&lt;br /&gt;
| 0.91&lt;br /&gt;
| Oct 24, 1998&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| EXOS&lt;br /&gt;
| [[Software CPC Emulator|Software CPC Emulator]]&lt;br /&gt;
| [http://www.ep128.hu/Ep_Util/Prg/Amstrad_CPC_Emulator_13.rar] [http://www.ep128.hu/Ep_Util/Amstrad_CPC_emu.htm]&lt;br /&gt;
| 1.3&lt;br /&gt;
| Jan 11, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Maemo&lt;br /&gt;
| [[CPCm]]&lt;br /&gt;
| [http://maemo.org/downloads/product/Maemo5/cpcm/]&lt;br /&gt;
| 1.20-1&lt;br /&gt;
| Apr 27, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| MSX-DOS&lt;br /&gt;
| [[EMU6CPC|EMU6CPC]]&lt;br /&gt;
| [http://romu6.blogspot.com/2018/12/emu6cpc-emulador-de-amstrad-cpc-6128.html]&lt;br /&gt;
| &lt;br /&gt;
| Dec 17, 2018&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Palm OS&lt;br /&gt;
| [[CaPriCe for Palm OS|CaPriCe for Palm OS]]&lt;br /&gt;
| [https://web.archive.org/web/20230127143354/https://coste.frederic.free.fr/cpc/cpc_en.htm]&lt;br /&gt;
| 2.8&lt;br /&gt;
| Jun 28, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Palm OS&lt;br /&gt;
| [[CoPaCabana|CoPaCabana]]&lt;br /&gt;
| [http://copacabana.emuunlim.com/]&lt;br /&gt;
| 0.75&lt;br /&gt;
| Dec 4, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Pocket PC&lt;br /&gt;
| [[CaPriCe|PocketCaprice]]&lt;br /&gt;
| [https://web.archive.org/web/20160506010209/http://www.clubic.com/telecharger-fiche44888-pocketcaprice.html]&lt;br /&gt;
| 0.9&lt;br /&gt;
| Aug 19, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| SunOS&lt;br /&gt;
| [[CPCplusplus|CPC++]]&lt;br /&gt;
| [http://bricerive.free.fr/cpc/cpcpp.html]&lt;br /&gt;
| 1.3.0&lt;br /&gt;
| Feb 22, 1997&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Shareware💲&lt;br /&gt;
|-&lt;br /&gt;
| Symbian&lt;br /&gt;
| [[S60-CPC|S60-CPC]]&lt;br /&gt;
| [http://kokak.free.fr/s60cpc.htm]&lt;br /&gt;
| 0.74&lt;br /&gt;
| Feb 21, 2006&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Windows 9x&lt;br /&gt;
| [[CPC-em|CPC-em]] &lt;br /&gt;
| [http://cpc-em.emuunlim.com/]&lt;br /&gt;
| 0.3&lt;br /&gt;
| Jan 22, 2004&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Windows 9x&lt;br /&gt;
| [[MTMW|MTMW]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-WIN-MTMW.htm]&lt;br /&gt;
| 1.30B&lt;br /&gt;
| Jan 11, 2000&lt;br /&gt;
| ✅&lt;br /&gt;
| [[ZX Spectrum]], [[ZX80/81]], [[Enterprise]], [[Jupiter ACE]]&lt;br /&gt;
| Freeware&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Home Consoles =&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| Microsoft XBOX&lt;br /&gt;
| [[Arnold|ArnoldX]]&lt;br /&gt;
| [https://web.archive.org/web/20120705163939/http://forums.xbox-scene.com/index.php?showtopic=711667] [https://cpcrulez.fr/emulateurs_download-XBOX-ARNOLDX.htm]&lt;br /&gt;
| v5&lt;br /&gt;
| Apr 20, 2010&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Microsoft XBOX&lt;br /&gt;
| [[CoinOPS|CoinOPS (RetroFE)]]&lt;br /&gt;
| [https://web.archive.org/web/20160518183115/https://coinopsproject.freeforums.org/viewtopic.php?f=0&amp;amp;t=1213]&lt;br /&gt;
| 5&lt;br /&gt;
| Oct 18, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| Tons of vintage computers, game consoles and arcade systems&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Microsoft Xbox 360&lt;br /&gt;
| [[XNACPC|XNACPC]]&lt;br /&gt;
| [http://www.gavpugh.com/2011/11/11/xnacpc-xbox-360-amstrad-cpc-emulator-released/]&lt;br /&gt;
| 1.0&lt;br /&gt;
| Nov 11, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo Wii&lt;br /&gt;
| [[Wiituka|Wiituka]]&lt;br /&gt;
| [http://wiituka.dantoine.org/]&lt;br /&gt;
| 0.98.8&lt;br /&gt;
| May 15, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Sega Dreamcast&lt;br /&gt;
| [[CPCast|CPCast]]&lt;br /&gt;
| [http://www.dcemu.co.uk/vbulletin/showthread.php?t=24100]&lt;br /&gt;
| &lt;br /&gt;
| May 6, 2006&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Sega Dreamcast&lt;br /&gt;
| [[DreamCPC|DreamCPC]]&lt;br /&gt;
| [https://www.jm1200.fr/index.php?r=2]&lt;br /&gt;
| Alpha 3&lt;br /&gt;
| Oct 16, 2005&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Sony PS2&lt;br /&gt;
| [[CPC-em|CPC-em]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-ps2-CPC-EM.htm]&lt;br /&gt;
| 0.4&lt;br /&gt;
| Dec 22, 2004&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Sony PS3&lt;br /&gt;
| [[Caprice32|Caprice32]]&lt;br /&gt;
| [https://web.archive.org/web/20171003153204/http://psx-scene.com/forums/content/caprice32-4-1-0-dbg-emulator-ps3-2119/]&lt;br /&gt;
| 4.1.0 DBG&lt;br /&gt;
| Apr 9, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Handheld Consoles =&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| Dingoo A320 / A330&lt;br /&gt;
| [[Pituka|Pituka Dingux]]&lt;br /&gt;
| [http://david.dantoine.org/proyecto/4/]&lt;br /&gt;
| 0.8pre&lt;br /&gt;
| Aug 19, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Dingoo A320 / A330&lt;br /&gt;
| [[Caprice|Dingux-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/105-Amstrad/]&lt;br /&gt;
| 1.1.2&lt;br /&gt;
| Oct 17, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark Caanoo&lt;br /&gt;
| [[Caprice|Caanoo-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/165-Amstrad/]&lt;br /&gt;
| 1.1.3&lt;br /&gt;
| Apr 24, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark GP2x&lt;br /&gt;
| [[Caprice|CapriceGP2x]]&lt;br /&gt;
| [https://web.archive.org/web/20130315195529/http://wiki.gp2x.org/wiki/CapriceGP2x]&lt;br /&gt;
| 0.5&lt;br /&gt;
| Feb 22, 2006&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark GP2x&lt;br /&gt;
| [[Caprice|GP2X-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/42-Amstrad/]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Aug 29, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark GP32&lt;br /&gt;
| [[Pituka|Pituka GP32]]&lt;br /&gt;
| [http://david.dantoine.org/proyecto/4/]&lt;br /&gt;
| 1d&lt;br /&gt;
| May 15, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark Wiz&lt;br /&gt;
| [[Caprice|Wiz-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/89-Amstrad/]&lt;br /&gt;
| 1.1.0&lt;br /&gt;
| Aug 29, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GCW Zero&lt;br /&gt;
| [[Caprice|Dingux-CAP32]]&lt;br /&gt;
| [https://github.com/kerheol/dingux-cap32]&lt;br /&gt;
| 1.1.2&lt;br /&gt;
| May 25, 2014&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| JXD S5110 / S601 &amp;amp; Yinlips G18&lt;br /&gt;
| [[Caprice|JXD-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/206-Amstrad/]&lt;br /&gt;
| 1.1.1&lt;br /&gt;
| Oct 27, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo DS&lt;br /&gt;
| [[AmeDS|AmeDS]] &lt;br /&gt;
| [https://web.archive.org/web/20131021073302/http://www.portabledev.com/pages/ds/jeuxdev.-perso/ameds.php]&lt;br /&gt;
| 4.0&lt;br /&gt;
| Apr 25, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo DS&lt;br /&gt;
| [[CrocoDS|CrocoDS]]&lt;br /&gt;
| [http://www.kyuran.be/blog/2007/11/09/crocods-20-2/] [https://github.com/redbug26/crocods-nds Repo]&lt;br /&gt;
| 2.0&lt;br /&gt;
| Nov 9, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo GameBoy Advance&lt;br /&gt;
| [[Mini Amstrad Emulator|Mini Amstrad Emulator]] &lt;br /&gt;
| [https://playeradvance.org/forum/showthread.php?t=765]&lt;br /&gt;
| &lt;br /&gt;
| Dec 26, 2005&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Odroid GO&lt;br /&gt;
| [[CapriceESP32|CapriceESP32]] &lt;br /&gt;
| [https://github.com/grantrismo/CapriceESP32]&lt;br /&gt;
| &lt;br /&gt;
| Dec 3, 2020&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| OpenDingux&lt;br /&gt;
| [[CrocoDS|CrocoDS]]&lt;br /&gt;
| [https://crazypiri.eu/crocods/] [https://github.com/redbug26/crocods Repo]&lt;br /&gt;
| &lt;br /&gt;
| Jan 15, 2020&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Pandora&lt;br /&gt;
| [[Caprice|Pandora-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/131-Amstrad/]&lt;br /&gt;
| 1.1.0&lt;br /&gt;
| Jun 27, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Sony PSP&lt;br /&gt;
| [[Caprice32 PSP]]&lt;br /&gt;
| [http://psp.akop.org/caprice32]&lt;br /&gt;
| 4.2.0.2&lt;br /&gt;
| Nov 28, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Sony PSP&lt;br /&gt;
| [[CPCPSP|CPCPSP]]&lt;br /&gt;
| [https://web.archive.org/web/20130325143915/http://dl.qj.net/psp/emulators/cpcpsp-v01.html]&lt;br /&gt;
| 0.1&lt;br /&gt;
| Dec 24, 2005&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Sony PSP&lt;br /&gt;
| [[PSPCAP32|PSPCAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/3-Amstrad/]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Aug 21, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Trimui Model S&lt;br /&gt;
| [[Arnold|Arnold Trimui]]&lt;br /&gt;
| [https://github.com/liartes/arnold_gcw0]&lt;br /&gt;
| &lt;br /&gt;
| Oct 19, 2021&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Single-Board Computers / Raspberry Pi =&lt;br /&gt;
&lt;br /&gt;
[https://www.libretro.com/index.php/powered-by-libretro/ LibRetro / RetroArch] is used as the foundation of [https://www.lakka.tv/ Lakka], [https://wiki.recalbox.com/en/advanced-usage/retroarch Recalbox], [https://batocera.org/ Batocera] and [https://retropie.org.uk/ RetroPie] alternative OSes for the Raspberry Pi and other SBC.&lt;br /&gt;
But you can also use [https://www.retroarch.com/index.php?page=platforms RetroArch] for Amstrad CPC emulation on a stock Raspberry Pi OS. Or you can use these stand-alone CPC emulators:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[CPC4Rpi|#CPC4Rpi]]&lt;br /&gt;
| [https://web.archive.org/web/20150321200308/http://store.raspberrypi.com/projects/cpc4rpi]&lt;br /&gt;
| 1.1&lt;br /&gt;
| Dec 19, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Commercial💲&lt;br /&gt;
|-&lt;br /&gt;
| [[CapriceRPI|CapriceRPI]]&lt;br /&gt;
| [https://github.com/KaosOverride/CapriceRPI]&lt;br /&gt;
| 1.3d&lt;br /&gt;
| Feb 28, 2016&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Clock Signal|Clock Signal]] &lt;br /&gt;
| [https://snapcraft.io/install/clock-signal/raspbian]&lt;br /&gt;
| &lt;br /&gt;
| Dec 28, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]], [[ZX80/81]], [[Enterprise]], [[MSX]], [[Oric 1/Atmos|Oric]], [[ColecoVision]], [[Acorn Electron]], [[Apple II]], [[VIC-20]], [[Atari 2600]], [[Atari ST]], [[Macintosh]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPC-PI|CPC-PI]]&lt;br /&gt;
| [https://www.arananet.net/cpc-pi/]&lt;br /&gt;
| 0.1&lt;br /&gt;
| Feb 5, 2017&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEPower|CPCEPower]] &lt;br /&gt;
| [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73]&lt;br /&gt;
| 2105&lt;br /&gt;
| Jun 4, 2021&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[MESS|MAME]]&lt;br /&gt;
| [https://stickfreaks.com/mame/]&lt;br /&gt;
| 0.264&lt;br /&gt;
| Mar 26, 2024&lt;br /&gt;
| ✅&lt;br /&gt;
| Tons of vintage computers, game consoles and arcade systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[SugarPi|SugarPi]]&lt;br /&gt;
| [https://github.com/Tom1975/SugarPi]&lt;br /&gt;
| 1.2.0&lt;br /&gt;
| Feb 3, 2021&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[ZEsarUX|ZEsarUX]]&lt;br /&gt;
| [https://github.com/chernandezba/zesarux]&lt;br /&gt;
| X&lt;br /&gt;
| Sep 8, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| [[PCW]], [[ZX Spectrum]], [[ZX80/81]], [[MSX|MSX 1]], [[ColecoVision]], [[Spectravideo]], [[Jupiter ACE]], [[Sam Coupe]], [[SG-1000]], [[Master System]], [[Sinclair QL]], [[MK14]], [[Z88]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Hardware =&lt;br /&gt;
&lt;br /&gt;
*[https://youtu.be/DykFhtNbgGk Just CPC4ATX] CPC clone made from NOS chips&lt;br /&gt;
*[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&lt;br /&gt;
*[[CPC TREX|CPC TREX]] [[C-ONE|CPC-One]] TurboCPC core by TobiFlex running on different FPGA boards&lt;br /&gt;
*[http://ralferoo.blogspot.fr/ CPC FPGA] CPC emulation by Ranulf (Ralferoo) Doswell, running on a custom made FPGA board&lt;br /&gt;
*[[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&lt;br /&gt;
*[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&lt;br /&gt;
*[https://web.archive.org/web/20230330082645/https://intelligenttoasters.blog/cpc2-project-index/ CPC2 Project] CPC emulation running on a Cyclone V FPGA board&lt;br /&gt;
*[https://github.com/rpsubc8/ESP32TinyCPC/ ESP32 TinyCPC] Port from CPC-em emulator to TTGO VGA32 v1.x board with ESP32&lt;br /&gt;
*[https://github.com/MicroCoreLabs/Projects  MCLZ8] Z80 emulator which runs on a Teensy 4.1 ARM board and can be used as a drop-in replacement&lt;br /&gt;
*[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&lt;br /&gt;
*[https://github.com/floooh/v6502r Visual Z80 Remix] [https://github.com/gdevic/Z80Explorer Z80 Explorer] Netlist-level ultra accurate Z80 simulators&lt;br /&gt;
*[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]&lt;br /&gt;
*[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]&lt;br /&gt;
*[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&lt;br /&gt;
*[[SDiskEmul]] Floppy-drive emulator released in 2007. Abandoned now. Supports DSK, EDSK disk-images&lt;br /&gt;
*[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]&lt;br /&gt;
*[https://github.com/keirf/flashfloppy/ FlashFloppy] Open source floppy-drive emulator for the ubiquitous Gotek hardware. Supports DSK, EDSK, HFE disk-images&lt;br /&gt;
*[https://github.com/keirf/greaseweazle GreaseWeazle] Open source USB floppy adapter Flux reader writer&lt;br /&gt;
*[https://cpcrulez.fr/forum/viewtopic.php?f=5&amp;amp;t=100&amp;amp;start=690#p55437 Pauline] FPGA-based floppy-drive dumper and emulator&lt;br /&gt;
*[https://cpcrulez.fr/hardware-lecteurs_externe-interface_ddi3_usb_floppy_emulator.htm DDI-3] USB floppy-drive emulator with an integrated FDC chip for CPC464&lt;br /&gt;
*[https://hobbyretro.com/en/retro/tzxduino TZXduino] Arduino-based tape deck emulator. Supports many formats of tape-images including CDT and TZX&lt;br /&gt;
*[https://pelrun.github.io/PlayUEF/ PlayUEF] Web-browser based tape deck emulator, supporting CDT and TZX tape-images&lt;br /&gt;
*[https://github.com/dasta400/ACPCPE Amstrad CPC Printer Emulator] Arduino-based CPC printer emulator that can output text, markdown or HTML&lt;br /&gt;
*[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&lt;br /&gt;
*[https://github.com/nzeemin/escparser ESCParser] Command-line utility, ESC/P printer emulator that can output PostScript, SVG or PDF&lt;br /&gt;
*[https://github.com/f1ac0/CPC-plus-cartridge CPC-plus-cartridge] Different PCB designs and code to make a CPC-plus cartridge&lt;br /&gt;
*[https://github.com/zeus074/Amstrad_Multicart Amstrad Multicart] 16-in-1 cartridge for the GX4000 or Amstrad Plus computer&lt;br /&gt;
*[[C4CPC]] Cartridge replacement for the Amstrad Plus range and the GX4000&lt;br /&gt;
*[https://overange.weebly.com/amstrad-gx4000-cpc-464-6128-plus-reflashable-flash-cartridge.html Flash+ cartridge] Amstrad CPC+ GX4000 reflashable cartridge&lt;br /&gt;
&lt;br /&gt;
= Mass storage devices =&lt;br /&gt;
Emulator support is as follows:&lt;br /&gt;
*[[Dobbertin Harddisc]] is emulated by MAME&lt;br /&gt;
*[[UIDE Universal IDE adapter cards for Z-80 computers|uIDE]] is emulated by Arnold&lt;br /&gt;
*[[Symbiface II]] IDE/PATA interface or compatible ([[X-Mass]], [https://github.com/salafek/cyboard-for-cpc Cyboard]) is emulated by ACE, Caprice Forever, MAME, WinAPE, WinCPC, Arnold, Virtual CPC&lt;br /&gt;
*[[Albireo]] is emulated by ACE, Caprice Forever&lt;br /&gt;
*[[M4 Board]] is emulated by CPCemu&lt;br /&gt;
*[[Vortex Winchester Drive]], [[ULIfAC|USIfAC / ULIfAC]] and [[Symbiface 3|Symbiface3 / RSF3]] are not supported by emulators&lt;br /&gt;
&lt;br /&gt;
= Audio devices =&lt;br /&gt;
Emulator support is as follows:&lt;br /&gt;
*[[Amstrad SSA-1 Speech Synthesizer|SSA-1 speech synthesizer]] is emulated by ACE, Caprice Forever, JavaCPC, MAME&lt;br /&gt;
*[[Dk'tronics Speech Synthesizer|Dk'Tronics speech synthesizer]] is emulated by ACE, Caprice Forever, JavaCPC, MAME&lt;br /&gt;
*[[TMPI speech synthesizer|Techni-Musique speech synthesizer]] is emulated by ACE, Caprice Forever&lt;br /&gt;
*[[Amdrum]] is emulated by ACE, JavaCPC, MAME, WinAPE&lt;br /&gt;
*[[Digiblaster]] is emulated by ACE, Caprice Forever, JavaCPC, MAME, WinAPE, CPCEC, CPCEPower, WinCPC, Virtual CPC&lt;br /&gt;
*[[PlayCity]] is fully emulated by ACE, MAME, Arnold, SugarBox. It is partially emulated by Caprice Forever, JavaCPC, CPCEC&lt;br /&gt;
*[[Play2CPC]] is emulated by ACE&lt;br /&gt;
*[[Willy|Willy OPL3]] is emulated by ACE&lt;br /&gt;
*[[Willy|Willy MIDI]] is emulated by ACE (software synth emulation on Haiku, full MIDI support on MorphOS)&lt;br /&gt;
*[[Music Machine]], [https://github.com/lambdamikel/Speak-SID Speak&amp;amp;SID], [https://github.com/lambdamikel/LambdaSpeak3 LambdaSpeak], [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/amsdap-amstrad-msx-adapter-connecting-any-msx-io-hardware-to-the-cpc/ Amsdap (SE-One, Moonsound, etc...)] are not supported by emulators&lt;br /&gt;
&lt;br /&gt;
= Printers =&lt;br /&gt;
Support for CPC printers is abysmal in all emulators.&lt;br /&gt;
The only emulators that at least do some print rendering emulation are JavaCPC and Caprice Forever.&lt;br /&gt;
&lt;br /&gt;
= Rewind feature =&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= Emulator accuracy checking tools =&lt;br /&gt;
== Quick evaluation==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;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]]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19308 DSC #4 demo] with reference images (CRTC 1): [[Media:DSC4 reference1.png]] [[Media:DSC4 reference2.png]]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7737 Camembert 4 demo] with reference images (CRTC 0/1/3/4): [[Media:Camembert-real.jpg]] [[Media:Camembert 4 Pixel Precise.jpg]]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9029 BSC7 Interlace demo] with reference image (CRTC 0/2/3/4): [[Media:BSC7 reference.png]]&lt;br /&gt;
&lt;br /&gt;
== Z80 CPU ==&lt;br /&gt;
*🔥[https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=raxoft Raxoft tests] CPC port of [https://github.com/raxoft/z80test z80test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6346 ZEX] Z80 CPU instruction set exercisers&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=298 Arkanoid (using Z80 Interrupt Mode 2)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=427 L'anneau de Zengara (using Z80 register R)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1299 Light Corridor (Z80 useless instruction prefixes)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=735 Dogsbody (accessing non-standard I/O ports)]&lt;br /&gt;
*[https://wikiti.brandonw.net/?title=Z80_Instruction_Set Z80 instruction set] [https://zx-pk.ru/attachment.php?attachmentid=2989&amp;amp;d=1143656567 Z80 MEMPTR (aka WZ) internal register] [https://github.com/hoglet67/Z80Decoder/wiki/Undocumented-Flags Even weirder Z80 behaviour] [https://zxe.io/software/Z80/documentation/latest/Thanks.html To get to the bottom of it] [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/z80-cpu-nmos-or-cmos/ Z80 is always NMOS on CPC and Plus] How the Z80 behaves&lt;br /&gt;
*[https://floooh.github.io/2021/12/06/z80-instruction-timing.html Z80 T-state timings] [https://baltazarstudios.com/zilog-z80-undocumented-behavior/ Other source about T-state timings] Ultra accurate timing behaviour [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=48 I/O port allocation] [https://www.grimware.org/doku.php/documentations/devices/gatearray RAM/ROM mapping] Technical documentation&lt;br /&gt;
&lt;br /&gt;
== Diagnostics ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5113 Amstest] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17932 Amstrad Diagnostics] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6545 STS SysInfo] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=test%20crtc%20v Tests 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&amp;amp;num=11446 Basic Program Status Window] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12584 Version du Firmware Basic]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6987 RAM Expansion Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14833 MemTest] [https://www.cpc-power.com/index.php?page=detail&amp;amp;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&amp;amp;num=15739 RAM Check] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13386 Testprogram For All ERAM] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16010 Test RAM Basic] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19185 Xenon 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12188 Take On Me] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14339 Trololo Experiments] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19406 Still The One] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16084 Post Scriptum] [https://www.cpc-power.com/index.php?page=detail&amp;amp;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&amp;amp;num=14814 Anti-Multiface] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=151 Expanded RAM software list] RAM exercisers&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15975 FutureOS] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4174 CP/M Plus] [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/464-and-ram-extension/ Behaviour of RAM mode &amp;amp;C3] [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/upgrading-a-cpc-464-in-2022/ More on the issue] RAM expansion hardware bug on CPC464/664&lt;br /&gt;
*🔥[http://www.cpctech.org.uk/test.zip Kevin Thacker's &amp;quot;Acid tests&amp;quot; suite] [https://cpctech.cpcwiki.de/download/test.zip Older version] [https://www.cpcwiki.eu/forum/emulators/amstrad-cpc-'acid'-test/ Forum thread] [http://ace.cpcscene.net/tests:arnold_test_suite Tests results in ACE] Collection of tests which are used to verify emulators operation against real CPC, Plus and expansions&lt;br /&gt;
*🔥[http://www.winape.net/downloads.jsp Richard Wilson's Plus Test suite] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15242] CPC and CPC+ Emulator test suite (including Instruction and Interrupt timing tests)&lt;br /&gt;
&lt;br /&gt;
== Amstrad Plus ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9627 Official Plus diagnostics cartridge] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8308 4096 Colors Preview] [https://www.cpc-power.com/index.php?page=detail&amp;amp;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&amp;amp;num=3575 No Exit] Plus testing tools&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;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&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7530 Delirium Tremens] [https://www.youtube.com/watch?v=yJcBsQwMzuw Delirium Tremens running on real hardware] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18016 Bulles] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9169 Funerapolis] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7532 X-mas 2008] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19239 USS Cygnus 192] To test hardware sprites&lt;br /&gt;
*[https://cpctech.cpcwiki.de/docs/cpcplus.html Arnoldemu] [http://tj.gpa.free.fr/html/coding/cpcplus.htm T&amp;amp;J] [http://cpc.sylvestre.org/articles/articles_amstrad_plus.html Sylvestre] [http://quasar.cpcscene.net/doku.php?id=dossier:plus Offset] [http://quasar.cpcscene.net/doku.php?id=assem:asic] [[Plus Vectored Interrupt Bug]] Plus hardware bugs documented&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=database&amp;amp;cpcplus=1&amp;amp;cats=100 Plus Games] [https://www.cpc-power.com/index.php?page=database&amp;amp;cpcplus=1&amp;amp;cats=401 Plus Demos] Search filters to verify the entire Plus software library&lt;br /&gt;
&lt;br /&gt;
== Colorimetry ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=11826 Raster] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15519 Les split-rasters] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16722 Mir'Color] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14259 Test Interlace Color] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=11500 Mode 1 Tramage et Choix des Couleurs] Colour calibration&lt;br /&gt;
*[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&lt;br /&gt;
*Major difference in colorimetry between the real Amstrad CTM display and emulators display:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Border 8 - real CPC display.png|Border 8 on real CPC&lt;br /&gt;
Border 8 - real Plus display.png|Border 8 on real Plus&lt;br /&gt;
Border 8 - emulator display.png|Border 8 on emulators&lt;br /&gt;
Palette - real CPC.png|Palette on real CPC&lt;br /&gt;
Palette - real Plus.png|Palette on real Plus&lt;br /&gt;
Palette - emulator.png|Palette on emulators&lt;br /&gt;
True CTM colorimetry.png|Colorimetry on real CPC&lt;br /&gt;
CTM Emulator Shader colorimetry.png|Colorimetry on emulators&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Graphics ==&lt;br /&gt;
*🔥[https://shaker.logonsystem.eu/ Shakerland] Ultra accurate CRTC documentation and its associated CPC testing tool&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8524 Equalizor] [https://forum.system-cfg.com/viewtopic.php?p=229698#p229698 Revolog] [https://forum.system-cfg.com/viewtopic.php?f=24&amp;amp;t=11535&amp;amp;start=285 Technical explanation] Unpredictable behaviour of the real CRTC type 1 chip. We can classify these behaviours as CRTC types 1a and 1b&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12906 HSYNC test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16466 Split-Rasters Test CRTC1] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=crtc%20programmierung CRTC Programmierung] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=cote%gamers Côté Gamers] [https://www.cpc-power.com/index.php?page=detail&amp;amp;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&amp;amp;num=15280 CRTC software] CRTC testing tools&lt;br /&gt;
*[http://logon.system.free.fr/down/shaker_addon.dsk Pixel 1 Horizontal Hard Scroll for all CRTCs] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9102 Vertical Hard Scroll 100%] [https://cpcrulez.fr/coding_src-demo-smooth_crtc_register_3_scrolling_test.htm Smooth CRTC Register 3 scrolling test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1949 Skate Wars] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1211 Jinks] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=68 Out of this World] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=159 Killer Cobra] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10465 Edge Grinder] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10072 Relentless] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1982 Warhawk] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=99 Mission Genocide] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1028 Axys] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15809 Red Sunset] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=974 Ghosts'n Goblins] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1290 Legend of Kage] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1698 Profanation] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2119 Super Cauldron] Smooth CRTC R3/R5 hardware scrolling&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7514 BSC 91] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8772 Voyage 1993] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7751 OVL '96] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7662 Byte 98] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7560 Ze Meeting 2003] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8625 Divine] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7910 Paradise] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8621 Power System] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8875 Prodatron] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7744 Longshot] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7668 Amazing] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7714 KKB First] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8259 Chany Dream End] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8615 Welcom-X 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7591 S&amp;amp;Koh] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8041 Other World 3] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8064 Overflow Previews] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7648 Big'O Full'O Dem'O] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7765 Not Dead] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7504 Plasma] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8519 Wobbler] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7459 Mad Rast] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7543 Odyssey] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7736 Croco Chanel] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7828 Tire Au Flan] Early demos, so they were developed without CPC emulator bias&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9970 Still Rising] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9175 Still the Bests] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15298 Still Scrolling] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9097 River Scroll] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15209 Scroll Factory] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2799 Battro] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7464 Arôme Tomate] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15102 PhX] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9181 Bloc Us] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9248 Wake Up] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19313 Stand Up] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14230 Wunderbar] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18790 Foursome] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9589 Yet Another Plasma] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19004 Checkmate] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16068 Octopus Pocus] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15100 Isometrikum] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14225 Logon's Run] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=onescreen%20colonies Onescreen Colonies] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18760 Debris] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7729 DTC] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12683 Points Barres] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8552 Synergy 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19024 The One] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7728 DemoIzArt] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9502 Sugarlumps] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19453 Ghost Nop] CRTC effects&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=76 Les Mondes Parallèles] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=66 Paranoia] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=78 Molecularr 2] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=megablasters Megablasters] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12649 Quadraster] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2369 Groops] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3963 Sudoku Master] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10009 Overkoban] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17786 Prince Dastan Sokoban Within] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17610 Deva Drifter] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17197 Hexavirus v0] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15985 A tribute to the sisters] True overscan games&lt;br /&gt;
*[https://www.cpcwiki.eu/forum/programming/mode-3/ Mode 3 Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12905 &amp;quot;Mode 5&amp;quot; Viewer] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=931 Fugitif] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9089 Final Exams] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18626 Flush Wishes You a Happy New Year] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18680 Pixel Free] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13136 Interlace viewer] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7701 Climax] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19347 Flipraster] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13139 Perfect Pix Paint] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17706 Tetris] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13359 Imperial Mahjong] Special graphics modes&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16027 Mire] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7826 Climax-G] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7937 Fatal Beauties] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8307 4 Sins] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7897 Twinblast] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8081 MCS 6] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7593 Schadel] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13528 Wavy] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2224 Thunder Blade] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2318 Turrican] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=454 Bonanza Bros] To test the VDU&lt;br /&gt;
&lt;br /&gt;
== Audio ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=41 Trantor] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=204 3D Starfighter] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=726 Treasure Island Dizzy] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=971 Ghost Hunters] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2132 Super Robin Hood] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=237 Advanced Pinball Simulator] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1200 Jet Bike Simulator] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1002 Grand Prix Simulator] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=183 Darts 180] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1243 Killapede] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1194 Jail Break] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1815 Robocop] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=100 Chase HQ] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1926 Shinobi] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=895 Fly Spy] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8892 4-Bit Digi Try] Software English vocal digits&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=814 El Enigma de Aceps] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1349 Le Manoir de Mortvielle] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1098 Hold-Up] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=910 Forteresse] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=511 Canadair] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1140 L'île] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1199 Jaws] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1102 Holocauste] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=132 Afteroids] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=879 Fire &amp;amp; Forget] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1433 Xyphoes Fantasy] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17000 Space Race] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18500 Josh] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7456 Yao demo] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7548 Face Hugger Ultimate] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7415 Smallest Scroll] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8848 AC/DC DragonBreed] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17542 Musik100] Other software sound effects [https://www.cpc-power.com/index.php?page=database&amp;amp;audiotape=1 Audio-tape included software list]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9179 Now that's what I call Chip Tunes] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18904 Amstream music-disk] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10467 We Are All Old] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=ayc%20sound AYC Sound]  [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=shap%20audio Shap Audio] [https://www.cpc-power.com/index.php?page=detail&amp;amp;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&amp;amp;num=6266 Ams'Orgue] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18265 Sintetizador de Sonidos] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4735 Mega Sound] To test the PSG emulation&lt;br /&gt;
&lt;br /&gt;
== Peripherals ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=SSA-1 SSA-1 software list] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=DK%27Tronics%20Speech%20Synthesizer Dk'Tronics software list] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=TMPI%20speech%20synthesizer TMPI software list] To test speech synthesizers emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7535 Digital Orgasm] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=Digitracker Digitracker] [[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&amp;amp;lemot=Amdrum Amdrum] To test [[Digiblaster]] and [[Amdrum]] soundcards emulation&lt;br /&gt;
*[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 [[Willy]] OPL3 and MIDI emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=hardware_magnum Magnum Light Phaser] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3583 SkeetShoot] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3584 The Enforcer] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3992 Dk'Tronics Light Pen] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4955 Light Pen Mark II] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5853 Dart Light Pen] To test lightguns and lightpens connected to expansion port&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=hardware_phaser_loriciels West Phaser] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=hardware_gunstick Gunstick] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4303 Trojan LP-1] To test lightguns and lightpens connected to joystick port&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4286 AMX Art] [http://www.symbos.de/ SymbOS] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4012 Advanced OCP Art Studio] To test [[AMX Mouse|AMX]] and [[Kempston Mouse|Kempston mouse]] emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4026 Tasword] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4028 Tasprint] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12589 ProText] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9583 ProType] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4668 ProPrint] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12745 Miraprint] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4666 Qualitas Plus] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4516 BrunWord] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4104 MicroDesign] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15528 Page Printer] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4172 AMX Pagemaker] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6127 Speedtrans screen dump] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17613 Kdump] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5551 Impr'Image] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5157 Scrypte] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5712 Impression] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5576 RSX Imprimante] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6287 Machine à écrire] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5883 DemoImp] To test printer emulation&lt;br /&gt;
&lt;br /&gt;
*[[HDCPM]] [http://www.roudoudou.com/ACE-DL/ SymbOS] [[UniDOS]] [http://www.roudoudou.com/ACE-DL/ UniLoad] [https://shacpc.itch.io/lilicpc LiliCPC] [https://cpcrulez.fr/applications_disc-m4_front-end.htm M4FE] To test RTC and mass-storage emulation&lt;br /&gt;
*[https://cpcrulez.fr/applications_util-rulez-change-m4wifi.htm RulezCharge] [https://www.cpcwiki.eu/forum/news-events/amsteam-wip-game-streaming-service-for-the-amstrad-cpc/ Amsteam] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16746 CPChessNet] [https://github.com/fergusleen/m4ewenterm Ewen] [http://www.symbos.de/ SymbOS] [[UniDOS]] To test the network emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12972 X-MEM FW] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19236 CatRun] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18901 CowSay] [http://impdraw.wikidot.com iMPsuite] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=11578 GOS+] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6129 Nirvana] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6353 Utopia] [https://cpcrulez.fr/applications_util-cpm_plus_on_rom.htm CP/M Plus on ROM] [http://www.symbos.de/ SymbOS] [[UniDOS]] To test ROMboard emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17567 Alcon 2020] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18843 Hyperdrive] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18503 Puzzle Bobble] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18888 Revenge of Trasmoz] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19111 Crazy Piri Chronicle] [[Converted GX4000 Software]] [http://www.symbos.de/ SymbOS] [http://amsnet.chez.com/ UniDOS] To test CPC cartridge slot expansion&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14498 Multiface Protector] [https://www.cpc-power.com/index.php?page=protection&amp;amp;lenom=Multiface%202%20Protection Anti-Multiface II software list] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1855 RX 220] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1980 War in Middle Earth] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1322 Zap't'Balls advanced] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5266 The Insider] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5271 MF2RR] [https://grimware.org/doku.php/documentations/expansions/mf2/start Technical documentation] To test [[Multiface II]] emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4709 Dart Scanner] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4207 Vidi Digitizer] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=9 LensLok] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=hardware_dandanator Dandanator] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=MultiPlay&amp;amp;r1=0&amp;amp;r2=1&amp;amp;r3=0&amp;amp;r4=1 MultiPlay] [[KDS 8-Bit Printer Port]] Exotic pieces of hardware&lt;br /&gt;
&lt;br /&gt;
== Copy-protection ==&lt;br /&gt;
*[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&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6091 Azimut Locator] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13564 Tape Speed Checker] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16963 Catalogueur de Cassettes] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4194 Ultra Son] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10475 Soft-Lok] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4718 Bonzo Super Meddler] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5059 SpeedTrans] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5803 Transformateur] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6057 Deconnect] [https://www.cpc-power.com/index.php?page=protection&amp;amp;lenom=NoAMSDOS NoAMSDOS software list] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3871 Computer Hits] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1359 Marmelade] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1412 Mickey Mouse] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2035 Split Personalities] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=911 Frank Bruno's Boxing] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=baudload Baudload software list] [https://www.cpc-power.com/index.php?page=protection&amp;amp;lenom=Keytone Keytone software list] To test Tape emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8548 Musical Loader] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19368 FatMag 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9211 Backtro] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8623 Unique] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8746 The Demo] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13108 CPC 30th Anniversary] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7542 Midline Process] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17902 Can Robots Take Control] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10030 Phortem] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9156 Batman Forever] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16736 Pinball Dreams] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7174 R-Type 128K] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6661 Nheredia] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13426 Doomsday Lost Echoes] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4025 Orion Prime] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9090 JavaCPC Overscan] Musical loader, Multi-drives, 3.5 inch (dual-head and 80 tracks) floppy drives support&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10029 RPM] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15518 DskTest] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6268 Discover] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14201 Crazy] [https://cpcrulez.fr/applications_disc-dlfrsilver_dump_tool_test_suite.htm Dlfrsilver Dump Tool Test Suite] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4812 Format II] [[ParaDOS]] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4933 Xexor] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6118 Discology] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4179 Hercule II] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16060 UltraDisc] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4284 Disc+Ultra] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5244 Disc'o'Magic] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9297 Multi Mark] To test FDC emulation&lt;br /&gt;
*[https://cpcrulez.fr/demostestDM_fatmag_01.htm FatMag (HFE version)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17853 Open Tower Defense] Rigorous FDC tests by Roudoudou [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=AutoDetect%20Disk%20Change Disk Swapping Autodetect software list] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10000 Superpix] Disk swapping detection [https://www.cpc-power.com/index.php?page=detail&amp;amp;onglet=dumps&amp;amp;num=8623 Unique Diskmaker] Generate discs in noiseload format [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12051 Demonstration of KBI protection] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5586 Protector]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=protection&amp;amp;stafftype=1&amp;amp;lenom=Weak%20Sectors Weak Sectors] [https://www.cpc-power.com/index.php?page=protection&amp;amp;stafftype=1&amp;amp;lenom=Gaps Custom Gaps] [https://www.cpc-power.com/index.php?page=protection&amp;amp;stafftype=0&amp;amp;lenom=Gap2 Custom Gap2] [https://www.cpc-power.com/index.php?page=protection&amp;amp;stafftype=1&amp;amp;lenom=SectorSizeX Sector SizeX] [https://www.cpc-power.com/index.php?page=protection&amp;amp;stafftype=1&amp;amp;lenom=SectorSize8 Sector Size8] [https://www.cpc-power.com/index.php?page=protection&amp;amp;stafftype=1&amp;amp;lenom=SectorSize7 Sector Size7] [https://www.cpc-power.com/index.php?page=protection&amp;amp;stafftype=1&amp;amp;lenom=SectorSize6 Sector Size6] [https://www.cpc-power.com/index.php?page=protection&amp;amp;stafftype=1&amp;amp;lenom=SectorErased Sector Erased] [https://www.cpc-power.com/index.php?page=protection&amp;amp;stafftype=1&amp;amp;lenom=64sectors 64 Sectors] [https://www.cpc-power.com/index.php?page=protection&amp;amp;stafftype=1&amp;amp;lenom=Custom Custom] [https://www.cpc-power.com/index.php?page=protection&amp;amp;lenom=HERBULOT Rémi Herbulot] [https://www.cpc-power.com/index.php?page=protection&amp;amp;lenom=Brice%20Rive Brice Rive] [https://www.cpc-power.com/index.php?page=protection&amp;amp;lenom=Rubi Rubi] [https://www.cpc-power.com/index.php?page=protection&amp;amp;lenom=MBC%20D7 MBC] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=logiciel%2044 Logiciel 44] Protected software lists&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1681 Prehistorik] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1699 Profession Détective] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=291 Emlyn Hugues Arcade Quiz] Other copy-protection schemes [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=674 Dark Sceptre] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1269 Krypton Factor] Works only on older floppy drives&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=180 1001 BC] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1887 Scott Winder Reporter] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1102 Holocauste] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=196 Speedlock AAAA] Destructive copy-protection [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1944 Sir Lancelot] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1897 Secret Defense] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1390 M'enfin] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=111 Turbo Cup] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=825 Erebus] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1607 Le Passager du Temps] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=435 Anti-copy bug software list] Exotic copy-protection&lt;br /&gt;
*[https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;cat=12 Protection schemes documented] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=207 Gaps] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=384 Latis] [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&amp;amp;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] Technical explanations&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3905 The Eternal Light] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19341 Paulina's Potions] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18813 Druid &amp;amp; Droid] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5197 Claudia BMP Converter] Software that only run on flawed emulators but not on real machines&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1546 Octoplex (crtc1)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=781 Dynamic Duo (crtc1)] [https://blog.logonsystem.eu/compendium/ 007 The Living Daylights (crtc1)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7479 Madness (crtc0)] [https://forum.system-cfg.com/viewtopic.php?p=234421#p234421 FMR (crtc1)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7455 Not Dead (crtc2)] Some known CRTC problems on real hardware&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2266 The Untouchables] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=135 Batman The Movie] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2318 Turrican] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=80 Technical explanation] CPC keyboard clash&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19283 Raytracing in BASIC] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15685 Julia Fractal] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7405 5KB 3 (Cray II emulator part)] To benchmark emulators using their fullspeed mode&lt;br /&gt;
&lt;br /&gt;
= File format specifications =&lt;br /&gt;
&lt;br /&gt;
*[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&amp;amp;num=386 CTRAW] [https://www.cbmstuff.com/downloads/scp/scp_image_specs.txt SCP] File formats of disk-image&lt;br /&gt;
*[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/ FLAC] [http://soundfile.sapp.org/doc/WaveFormat/ WAV] [https://www.datavoyage.com/mpgscript/mpeghdr.htm MP3] File formats of tape-image&lt;br /&gt;
*[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&lt;br /&gt;
*[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&amp;amp;num=10 Archive of SNR sessions]&lt;br /&gt;
*[http://leonard.oxg.free.fr/ymformat.html YM] [https://www.cpcwiki.eu/index.php/AYC AYC] [https://vgmrips.net/wiki/VGM_Specification VGM] Soundchip logging file formats&lt;br /&gt;
*[https://shaker.logonsystem.eu/sslcsl CSL] Cpc Scripting Language, a macro/scripting system to automate emulators&lt;br /&gt;
&lt;br /&gt;
= Emulation Tools  =&lt;br /&gt;
&lt;br /&gt;
*[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] [[Dsktools|Dsktools]] [[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/muckypaws/AmstradDSKExplorer Amstrad DSK Explorer] Set of tools about disk-images&lt;br /&gt;
*[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://cpctech.cpcwiki.de/download/2cdt.zip 2CDT] [http://cngsoft.no-ip.org/csw2cdt.htm CSW2CDT] [https://cpcrulez.fr/emulateurs_UTIL-CDT-CDT2WAV.htm CDT2WAV] [https://github.com/shred/tzxtools tzxtools] Set of tools about tape-images&lt;br /&gt;
*[http://www.cpcmania.com/news.htm CPRTools] [http://amsnet.chez.com/ UniDOS Cartridge Creator] Edit Amstrad Plus CPR cartridge-images&lt;br /&gt;
*[https://bochs.sourceforge.io/doc/docbook/user/winimage.html WinImage, DiskExplorer, Mtools] [https://www.fysnet.net/ultimate/index.htm Ultimate Imager] [https://github.com/ProgrammingHobby/CPM_Image-File_Explorer CP/M Image File Explorer] Access and edit hard-drive images&lt;br /&gt;
*[https://colourclash.co.uk/cpc-analyser/ CPC Analyser] [https://imhex.werwolv.net/ ImHex] Other tools&lt;br /&gt;
*[[Emulator tooling]] UI screenshots of tooling in CPC emulators&lt;br /&gt;
*[[WinApe|WinAPE]] [[WinCPC]] [[JavaCPC]] [https://code.google.com/archive/p/cpcsdk/ Caprice Reloaded] [http://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73 Caprice Forever] Emulators with an integrated Z80 Assembler&lt;br /&gt;
*[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] [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&lt;br /&gt;
*[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] [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&lt;br /&gt;
*[https://github.com/KarolS/millfork Millfork] [https://ccz80.webcindario.com/ccz80en.html ccz80] [https://www.mikekohn.net/micro/java_grinder.php Java Grinder] CPC cross-development with C-like or Java-like programming languages&lt;br /&gt;
*[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] A complete suite (IDE, compiler, resource editor) for developing CPC games/demos in Pascal&lt;br /&gt;
*[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&lt;br /&gt;
*[http://www.symbos.de/quigs.htm Quigs IDE] Suite of PC-based tools and editors for SymbOS application development&lt;br /&gt;
*[https://cpcbasic.webcindario.com/CPCBasicEn.html CPC Basic cross-compiler] [https://github.com/benchmarko/CPCBasic CPCBasic Unchained] [https://marketplace.visualstudio.com/items?itemName=cebe74.amstrad-basic-helper-vscode Amstrad Basic Helper] [https://www.cpcalive.com/cpcalive_en.html CpcAlive] [https://ugbasic.iwashere.eu/ ugBASIC] Cross-platform CPC development in BASIC&lt;br /&gt;
*[https://github.com/einar-saukas/ZX0 ZX0] [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&lt;br /&gt;
*[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/gfx2crtc gfx2crtc] [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&lt;br /&gt;
*[http://multipaint.kameli.net/ Multipaint] [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] [http://gcajdev.epizy.com/sprite_creator.php Sprite Creator] [https://www.aseprite.org/ Aseprite] [https://github.com/Cwiiis/maped/ Maped] Cross-platform CPC pixel art editors&lt;br /&gt;
*[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://www.julien-nevo.com/arkostracker/ Arkos Tracker 2] [https://tildearrow.org/furnace/ Furnace] [https://bintracker.org/ Bintracker] Cross-platform CPC music creation suites&lt;br /&gt;
&lt;br /&gt;
= Emulator Detection =&lt;br /&gt;
&lt;br /&gt;
If you want to promote usage of real CPC computers, you can detect CPC emulators by:&lt;br /&gt;
*Checking if the memory is initialized with zeroes, as real machines have random memory values at boot&lt;br /&gt;
*Focusing on the minute details in Z80, CRTC and PPI chips. They are most often wrong in emulators&lt;br /&gt;
*Examining the FDC chip. It is only replicated more or less superficially in all emulators because the internals of the chip are still unknown&lt;br /&gt;
&lt;br /&gt;
Combining these methods will definitely get you a 100% success rate in detecting emulators, even the toughest ones.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Emulator undetected.png|Emulator undetected&lt;br /&gt;
Emulator detected.png|Emulator detected&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is also this initiative for emulators who willingly want to be detected: [[Emulator_IDs|Emulator IDs]]&lt;br /&gt;
&lt;br /&gt;
= Emulators running on the Amstrad CPC =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! License&lt;br /&gt;
! Emulates&lt;br /&gt;
|-&lt;br /&gt;
| [[Amstrad BBC BASIC]]&lt;br /&gt;
| [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9862]&lt;br /&gt;
| 2.30&lt;br /&gt;
| Apr 2, 1986&lt;br /&gt;
| Commercial💲&lt;br /&gt;
| [[BBC BASIC]]&lt;br /&gt;
|-&lt;br /&gt;
| [[BASIC 1.1 Fuer CPC464]]&lt;br /&gt;
| [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4403]&lt;br /&gt;
| &lt;br /&gt;
| Oct 1986&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Locomotive BASIC 1.1]]&lt;br /&gt;
|-&lt;br /&gt;
| [[CP\/M]]&lt;br /&gt;
| [https://www.cpcwiki.eu/forum/applications/symbos-cpm-run-cpm-programs-in-a-virtual-machine/]&lt;br /&gt;
| &lt;br /&gt;
| Mar 21, 2024&lt;br /&gt;
| Freeware&lt;br /&gt;
| [[CP/M]]&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCZVM]]&lt;br /&gt;
| [https://www.cpcwiki.eu/index.php/Z-Machine]&lt;br /&gt;
| &lt;br /&gt;
| Jul 6, 2019&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Z-Machine]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Pac-Man]]&lt;br /&gt;
| [http://www.cpcwiki.eu/forum/games/speed-up-patch-for-pac-man-emulator-for-cpc-by-syx-toto/msg81222/#msg81222]&lt;br /&gt;
| 1.1&lt;br /&gt;
| Jun 5, 2014&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Pac-Man arcade|Pac-Man arcade]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Phoenix]]&lt;br /&gt;
| [https://norbertkehrer.github.io/phoenix_cpc.html]&lt;br /&gt;
| &lt;br /&gt;
| Jan 6, 2019&lt;br /&gt;
| Freeware&lt;br /&gt;
| [[Phoenix arcade|Phoenix arcade]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Space Invaders|Space Invaders]]&lt;br /&gt;
| [http://www.cpcwiki.eu/forum/games/space-invaders-arcade-emulator-for-amstrad-cpc/]&lt;br /&gt;
| 1.0&lt;br /&gt;
| Jun 11, 2016&lt;br /&gt;
| Freeware&lt;br /&gt;
| [[Space Invaders arcade|Space Invaders arcade]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Vezza]]&lt;br /&gt;
| [https://gitlab.com/sijnstra1/vezza]&lt;br /&gt;
| &lt;br /&gt;
| Oct 7, 2023&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Z-Machine]]&lt;br /&gt;
|-&lt;br /&gt;
| [[ZXM]]&lt;br /&gt;
| [https://cpcrulez.fr/applications_util-ZXm.htm]&lt;br /&gt;
| &lt;br /&gt;
| 1993&lt;br /&gt;
| Freeware&lt;br /&gt;
| [[ZX Spectrum|ZX Spectrum]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Zym]]&lt;br /&gt;
| [http://www.symbos.org/appinfo.htm?00054]&lt;br /&gt;
| 0.9&lt;br /&gt;
| Feb 19, 2022&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Z-Machine]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Emulator| ]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=ACE_(Emulator)&amp;diff=115203</id>
		<title>ACE (Emulator)</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=ACE_(Emulator)&amp;diff=115203"/>
				<updated>2024-04-07T18:34:47Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:ACE.png|thumb|German GUI - Main window]]'''ACE''' is a high quality [[Amstrad]] CPC/CPC+ emulator written by Philippe &amp;quot;[[OffseT|OffseT]]&amp;quot; Rimauro.&lt;br /&gt;
&lt;br /&gt;
It is developed exclusively for [http://www.morphos.de/ MorphOS].&amp;lt;br /&amp;gt;[[PulkoMandy]] is maintaining the port for [https://www.haiku-os.org/ Haiku].&lt;br /&gt;
&lt;br /&gt;
Also worth mentioning is [[ACE-DL]], a derivative version of ACE with its unique strengths and available for Windows, macOS and Linux (implementing an old school minimalist SDL GUI only, also with no scripting or external plugins support).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACE was coded from scratch, using a real CPC as a reference in order to provide one of the best Amstrad CPC emulator ever.&lt;br /&gt;
&lt;br /&gt;
Most of the games and demos for both CPC and CPC+ are working perfectly; the quality of the emulation is often superior to what the existing CPC emulators on PC/Windows can produce.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In addition to the high quality emulation, ACE features full screen and overlay display (including 50Hz display), editor and analyzer windows for all emulated CPU and chipsets, advanced breakpoints management, a very powerful set of AREXX commands for cross-development, a plugin interface, and much more...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Moreover, ACE is fully translated in French, Spanish, German and English and is still under active development. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Emulator capabilities ==&lt;br /&gt;
&lt;br /&gt;
ACE emulates most CPC hardwares and their variants.&lt;br /&gt;
&lt;br /&gt;
=== System ===&lt;br /&gt;
* Handling of the entire CPC and CPC+ range.&lt;br /&gt;
* Full Z80 emulation.&lt;br /&gt;
* Up to 256 expansion ROMs.&lt;br /&gt;
* Up to 4 MiB of extended memory.&lt;br /&gt;
&lt;br /&gt;
=== Video ===&lt;br /&gt;
* Accurate CRTC emulation of the various CRTC types.&lt;br /&gt;
* Gate Array full emulation of all variants (perfect split rasters management).&lt;br /&gt;
* CPC+ ASIC full emulation (unique quarter-cycle precision).&lt;br /&gt;
* CTM644, GT65 and MM12 monitors emulation (including dynamic analog behaviors).&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* Full and very accurate PSG emulation (AY-3-8912).&lt;br /&gt;
* Extremely accurate audio DMA emulation on CPC+.&lt;br /&gt;
&lt;br /&gt;
=== Devices ===&lt;br /&gt;
* Accurate but incomplete FDC emulation (Format and Scan instructions are missing).&lt;br /&gt;
* Accurate emulation of both floppy disc drives (real rotation speed computation, manual drive &amp;amp; side switches support).&lt;br /&gt;
* CPC+ Cartridge port emulation (including upcoming extended cartridges).&lt;br /&gt;
* Emulation of the tape interface through audio files (read only).&lt;br /&gt;
* Accurate emulation of the keyboard (including ghost keys when pressing more than three keys at once).&lt;br /&gt;
* Automatic keyboard remapping can be activated if your are using ACE with a keyboard layout unknown by the original CPC firmwares.&lt;br /&gt;
* Plugins interface to support virtually any external device.&lt;br /&gt;
&lt;br /&gt;
== Graphical interface ==&lt;br /&gt;
&lt;br /&gt;
ACE MUI graphical interface is designed to be versatile and very easy to use, and everything is always updated in real time to match the actual emulator state.&lt;br /&gt;
&lt;br /&gt;
* Simple and modular configuration of the CPC profiles to emulate using tool types (from Ambient) or arguments (from CLI).&lt;br /&gt;
* Ability to change the CRTC type or the screen monitor model on-the-fly without having to reset the running program.&lt;br /&gt;
* SNA and DSK files management (all of them!) with automatic on-the-fly detection and fix of the corrupted DSK.&lt;br /&gt;
* CPR files management for CPC+ cartridges (including support of extended cartridges up to several hundreds on megabytes).&lt;br /&gt;
* Overlay support with real pixel aspect ratio.&lt;br /&gt;
* Full screen support with the ability to choose the graphic mode to use in order to get back the 50Hz smoothness if your screen monitor can do this.&lt;br /&gt;
* Maskable interface in both windowed &amp;amp; full screen modes.&lt;br /&gt;
* Floppy disc drives LED activity OSD when the interface is not displayed.&lt;br /&gt;
* Rich breakpoints management on predefined conditions (HBL, VBL, interrupt...), on graphical coordinates, on execution addresses, on memory accesses and on I/O ports accesses (with the ability to use complex conditions, masks on the break address and/or the break value) with the option to execute scripts.&lt;br /&gt;
* Video beam cursor to see the cathode's ray position while on pause or in step by step mode.&lt;br /&gt;
* Memory editor (management of all RAM and ROM switching, automatic detection of the character code page depending on the installed firmware ROM).&lt;br /&gt;
* Z80 disassembler with highlight on opcodes and fast jump buttons on branch instructions.&lt;br /&gt;
* CRTC editor (full real time read/write access to the registers).&lt;br /&gt;
* Z80 editor (full real time read/write access to the registers).&lt;br /&gt;
* Gate Array analyzer (palette display, graphic mode, interrupt internal counter).&lt;br /&gt;
* PSG analyzer (played notes, tuning, and a bunch of rich information from the current PSG settings).&lt;br /&gt;
* Hard sprites analyzer (palette and content).&lt;br /&gt;
* DMA analyzer (full real time state and instructions being executed).&lt;br /&gt;
* Video information window (frequencies, beam ray position...).&lt;br /&gt;
* Virtual keyboard and joysticks.&lt;br /&gt;
* Ability to map joystick to keyboard when in case real joystick is available.&lt;br /&gt;
* Internal keyboard matrix state observer.&lt;br /&gt;
* Screen monitor settings window (type, brightness, vertical hold).&lt;br /&gt;
* Sound volume control.&lt;br /&gt;
* Online help and MUI's bubbles help available everywhere to help the beginners.&lt;br /&gt;
&lt;br /&gt;
== Programmable interface ==&lt;br /&gt;
&lt;br /&gt;
ACE is designed to be expandable and controllable. You are not limited to the core emulation and can you easily integrate it in any cross-development tool chain.&lt;br /&gt;
&lt;br /&gt;
=== Plugins ===&lt;br /&gt;
&lt;br /&gt;
ACE support plugins that allow anybody with some C language knowledges to add support for expansions connected to joystick, printer or expansion CPC port.&lt;br /&gt;
&lt;br /&gt;
==== Default ====&lt;br /&gt;
* Both [[joystick]]s (up to three fire buttons) using real devices plugged on the host machine (using USB or whatever).&lt;br /&gt;
* [[Printer]] (redirected to a file).&lt;br /&gt;
* [[Multiface_II|Multiface Two]] (well known hardware debugger and snapshot handler).&lt;br /&gt;
* [[Digiblaster|Digiblaster/Soundplayer]] (8-bit mono sound card).&lt;br /&gt;
* [[Kempston Mouse]].&lt;br /&gt;
* [[AMX Mouse]].&lt;br /&gt;
* [[Gunstick]] (light gun).&lt;br /&gt;
* [[Amstrad Magnum Phaser]] (light gun).&lt;br /&gt;
* [[Trojan Light Phazer]] (light gun).&lt;br /&gt;
* [[West Phaser]] (light gun).&lt;br /&gt;
&lt;br /&gt;
==== Additional ====&lt;br /&gt;
* [[Albireo]] (MicroSD, USB, and more).&lt;br /&gt;
* [[X-Mass]] (IDE interface).&lt;br /&gt;
* [[Dandanator]] (programmable game cartridge module)&lt;br /&gt;
* [[Play2CPC]] (Amstrad Plus compatible game cartridge module, with embedded additional 3 voices PSG sound card)&lt;br /&gt;
* [[Nova]] (NV-RAM and RTC).&lt;br /&gt;
* [[MultiPlay]] (additional mice and joysticks ports).&lt;br /&gt;
* [[Willy]] (18 channels FM synthetizer and MIDI sound cards).&lt;br /&gt;
* [[PlayCity]] (6 voices PSG sound card).&lt;br /&gt;
* [[Amdrum]] (8-bit mono sound card).&lt;br /&gt;
* [[Amstrad_SSA-1_Speech_Synthesizer|SSA-1]] (english speaking speech synthesizer).&lt;br /&gt;
* [[Dk%27tronics_Speech_Synthesizer|DK'Tronics Speech]] (english speaking speech synthesizer).&lt;br /&gt;
* [[TMPI speech synthesizer|Techni-Musique Speech]] (multilingual speaking speech synthesizer).&lt;br /&gt;
* [[Mirage Imager]] (hardware freeze and snapshot handling).&lt;br /&gt;
* Cycle counter (developer helper).&lt;br /&gt;
&lt;br /&gt;
=== Scripting ===&lt;br /&gt;
&lt;br /&gt;
Any scripting language (such as Python, Lua or of course AREXX) can be used to control ACE through its AREXX interface. It gives you full control on the emulator in order to automate things (and much more), or even to use ACE as a powerful cross-development station (including integration into an IDE).&lt;br /&gt;
&lt;br /&gt;
== Web links ==&lt;br /&gt;
* [http://ace.cpcscene.net ACE CPC Emulator]&lt;br /&gt;
&lt;br /&gt;
[[Category:4 MB RAM Software Support]]&lt;br /&gt;
[[Category:Emulator]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=ACE_(Emulator)&amp;diff=115202</id>
		<title>ACE (Emulator)</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=ACE_(Emulator)&amp;diff=115202"/>
				<updated>2024-04-07T18:30:37Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: /* Additional */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:ACE.png|thumb|German GUI - Main window]]'''ACE''' is a high quality [[Amstrad]] CPC/CPC+ emulator written by Philippe &amp;quot;[[OffseT|OffseT]]&amp;quot; Rimauro.&lt;br /&gt;
&lt;br /&gt;
It is developed exclusively for [http://www.morphos.de/ MorphOS].&amp;lt;br /&amp;gt;[[PulkoMandy]] is maintaining the port for [https://www.haiku-os.org/ Haiku].&lt;br /&gt;
&lt;br /&gt;
Also worth mentioning is [[ACE-DL]], a derivative version of ACE with its unique strengths and available for Windows, macOS and Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACE was coded from scratch, using a real CPC as a reference in order to provide one of the best Amstrad CPC emulator ever.&lt;br /&gt;
&lt;br /&gt;
Most of the games and demos for both CPC and CPC+ are working perfectly; the quality of the emulation is often superior to what the existing CPC emulators on PC/Windows can produce.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In addition to the high quality emulation, ACE features full screen and overlay display (including 50Hz display), editor and analyzer windows for all emulated CPU and chipsets, advanced breakpoints management, a very powerful set of AREXX commands for cross-development, a plugin interface, and much more...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Moreover, ACE is fully translated in French, Spanish, German and English and is still under active development. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Emulator capabilities ==&lt;br /&gt;
&lt;br /&gt;
ACE emulates most CPC hardwares and their variants.&lt;br /&gt;
&lt;br /&gt;
=== System ===&lt;br /&gt;
* Handling of the entire CPC and CPC+ range.&lt;br /&gt;
* Full Z80 emulation.&lt;br /&gt;
* Up to 256 expansion ROMs.&lt;br /&gt;
* Up to 4 MiB of extended memory.&lt;br /&gt;
&lt;br /&gt;
=== Video ===&lt;br /&gt;
* Accurate CRTC emulation of the various CRTC types.&lt;br /&gt;
* Gate Array full emulation of all variants (perfect split rasters management).&lt;br /&gt;
* CPC+ ASIC full emulation (unique quarter-cycle precision).&lt;br /&gt;
* CTM644, GT65 and MM12 monitors emulation (including dynamic analog behaviors).&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* Full and very accurate PSG emulation (AY-3-8912).&lt;br /&gt;
* Extremely accurate audio DMA emulation on CPC+.&lt;br /&gt;
&lt;br /&gt;
=== Devices ===&lt;br /&gt;
* Accurate but incomplete FDC emulation (Format and Scan instructions are missing).&lt;br /&gt;
* Accurate emulation of both floppy disc drives (real rotation speed computation, manual drive &amp;amp; side switches support).&lt;br /&gt;
* CPC+ Cartridge port emulation (including upcoming extended cartridges).&lt;br /&gt;
* Emulation of the tape interface through audio files (read only).&lt;br /&gt;
* Accurate emulation of the keyboard (including ghost keys when pressing more than three keys at once).&lt;br /&gt;
* Automatic keyboard remapping can be activated if your are using ACE with a keyboard layout unknown by the original CPC firmwares.&lt;br /&gt;
* Plugins interface to support virtually any external device.&lt;br /&gt;
&lt;br /&gt;
== Graphical interface ==&lt;br /&gt;
&lt;br /&gt;
ACE MUI graphical interface is designed to be versatile and very easy to use, and everything is always updated in real time to match the actual emulator state.&lt;br /&gt;
&lt;br /&gt;
* Simple and modular configuration of the CPC profiles to emulate using tool types (from Ambient) or arguments (from CLI).&lt;br /&gt;
* Ability to change the CRTC type or the screen monitor model on-the-fly without having to reset the running program.&lt;br /&gt;
* SNA and DSK files management (all of them!) with automatic on-the-fly detection and fix of the corrupted DSK.&lt;br /&gt;
* CPR files management for CPC+ cartridges (including support of extended cartridges up to several hundreds on megabytes).&lt;br /&gt;
* Overlay support with real pixel aspect ratio.&lt;br /&gt;
* Full screen support with the ability to choose the graphic mode to use in order to get back the 50Hz smoothness if your screen monitor can do this.&lt;br /&gt;
* Maskable interface in both windowed &amp;amp; full screen modes.&lt;br /&gt;
* Floppy disc drives LED activity OSD when the interface is not displayed.&lt;br /&gt;
* Rich breakpoints management on predefined conditions (HBL, VBL, interrupt...), on graphical coordinates, on execution addresses, on memory accesses and on I/O ports accesses (with the ability to use complex conditions, masks on the break address and/or the break value) with the option to execute scripts.&lt;br /&gt;
* Video beam cursor to see the cathode's ray position while on pause or in step by step mode.&lt;br /&gt;
* Memory editor (management of all RAM and ROM switching, automatic detection of the character code page depending on the installed firmware ROM).&lt;br /&gt;
* Z80 disassembler with highlight on opcodes and fast jump buttons on branch instructions.&lt;br /&gt;
* CRTC editor (full real time read/write access to the registers).&lt;br /&gt;
* Z80 editor (full real time read/write access to the registers).&lt;br /&gt;
* Gate Array analyzer (palette display, graphic mode, interrupt internal counter).&lt;br /&gt;
* PSG analyzer (played notes, tuning, and a bunch of rich information from the current PSG settings).&lt;br /&gt;
* Hard sprites analyzer (palette and content).&lt;br /&gt;
* DMA analyzer (full real time state and instructions being executed).&lt;br /&gt;
* Video information window (frequencies, beam ray position...).&lt;br /&gt;
* Virtual keyboard and joysticks.&lt;br /&gt;
* Ability to map joystick to keyboard when in case real joystick is available.&lt;br /&gt;
* Internal keyboard matrix state observer.&lt;br /&gt;
* Screen monitor settings window (type, brightness, vertical hold).&lt;br /&gt;
* Sound volume control.&lt;br /&gt;
* Online help and MUI's bubbles help available everywhere to help the beginners.&lt;br /&gt;
&lt;br /&gt;
== Programmable interface ==&lt;br /&gt;
&lt;br /&gt;
ACE is designed to be expandable and controllable. You are not limited to the core emulation and can you easily integrate it in any cross-development tool chain.&lt;br /&gt;
&lt;br /&gt;
=== Plugins ===&lt;br /&gt;
&lt;br /&gt;
ACE support plugins that allow anybody with some C language knowledges to add support for expansions connected to joystick, printer or expansion CPC port.&lt;br /&gt;
&lt;br /&gt;
==== Default ====&lt;br /&gt;
* Both [[joystick]]s (up to three fire buttons) using real devices plugged on the host machine (using USB or whatever).&lt;br /&gt;
* [[Printer]] (redirected to a file).&lt;br /&gt;
* [[Multiface_II|Multiface Two]] (well known hardware debugger and snapshot handler).&lt;br /&gt;
* [[Digiblaster|Digiblaster/Soundplayer]] (8-bit mono sound card).&lt;br /&gt;
* [[Kempston Mouse]].&lt;br /&gt;
* [[AMX Mouse]].&lt;br /&gt;
* [[Gunstick]] (light gun).&lt;br /&gt;
* [[Amstrad Magnum Phaser]] (light gun).&lt;br /&gt;
* [[Trojan Light Phazer]] (light gun).&lt;br /&gt;
* [[West Phaser]] (light gun).&lt;br /&gt;
&lt;br /&gt;
==== Additional ====&lt;br /&gt;
* [[Albireo]] (MicroSD, USB, and more).&lt;br /&gt;
* [[X-Mass]] (IDE interface).&lt;br /&gt;
* [[Dandanator]] (programmable game cartridge module)&lt;br /&gt;
* [[Play2CPC]] (Amstrad Plus compatible game cartridge module, with embedded additional 3 voices PSG sound card)&lt;br /&gt;
* [[Nova]] (NV-RAM and RTC).&lt;br /&gt;
* [[MultiPlay]] (additional mice and joysticks ports).&lt;br /&gt;
* [[Willy]] (18 channels FM synthetizer and MIDI sound cards).&lt;br /&gt;
* [[PlayCity]] (6 voices PSG sound card).&lt;br /&gt;
* [[Amdrum]] (8-bit mono sound card).&lt;br /&gt;
* [[Amstrad_SSA-1_Speech_Synthesizer|SSA-1]] (english speaking speech synthesizer).&lt;br /&gt;
* [[Dk%27tronics_Speech_Synthesizer|DK'Tronics Speech]] (english speaking speech synthesizer).&lt;br /&gt;
* [[TMPI speech synthesizer|Techni-Musique Speech]] (multilingual speaking speech synthesizer).&lt;br /&gt;
* [[Mirage Imager]] (hardware freeze and snapshot handling).&lt;br /&gt;
* Cycle counter (developer helper).&lt;br /&gt;
&lt;br /&gt;
=== Scripting ===&lt;br /&gt;
&lt;br /&gt;
Any scripting language (such as Python, Lua or of course AREXX) can be used to control ACE through its AREXX interface. It gives you full control on the emulator in order to automate things (and much more), or even to use ACE as a powerful cross-development station (including integration into an IDE).&lt;br /&gt;
&lt;br /&gt;
== Web links ==&lt;br /&gt;
* [http://ace.cpcscene.net ACE CPC Emulator]&lt;br /&gt;
&lt;br /&gt;
[[Category:4 MB RAM Software Support]]&lt;br /&gt;
[[Category:Emulator]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Emulators&amp;diff=115201</id>
		<title>Emulators</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Emulators&amp;diff=115201"/>
				<updated>2024-04-07T18:28:39Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: /* Audio devices */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Vote for your favorite emulator =&lt;br /&gt;
&lt;br /&gt;
[https://www.cpcwiki.eu/forum/emulators/which-emulator-s-do-you-use/ There is a poll on CPCWiki forum]&lt;br /&gt;
&lt;br /&gt;
= Software Platforms (Full OS independance) =&lt;br /&gt;
&lt;br /&gt;
== Java Platform  ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnold Jnr|Arnold Jnr]]&lt;br /&gt;
| [https://web.archive.org/web/20160727011826/http://www.arnoldemu.freeserve.co.uk/]&lt;br /&gt;
| &lt;br /&gt;
| Aug 27, 2001&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[JavaCPC|JavaCPC Desktop]]&lt;br /&gt;
| [https://sourceforge.net/projects/javacpc/] [http://sourceforge.net/projects/javagx4000/ JavaGX4000] [http://sourceforge.net/projects/cpcinajar/ CPCInAJar]&lt;br /&gt;
| 3.0.2&lt;br /&gt;
| Apr 8, 2022&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[JEMU|JEMU]]&lt;br /&gt;
| [http://jemu.winape.net/]&lt;br /&gt;
| &lt;br /&gt;
| Feb 19, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]], [[ZX80/81]], [[BBC Micro]], [[VZ-300]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[WebCPC|WebCPC]]&lt;br /&gt;
| [http://sourceforge.net/projects/webcpc/] [https://web.archive.org/web/20110903132520/http://java.cpc-live.com/ JavaCPC Applet]&lt;br /&gt;
| r15&lt;br /&gt;
| Dec 31, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== JS / Wasm / Web Platform ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCBox|CPCBox]] &lt;br /&gt;
| [https://www.retroshowcase.gr/cpcbox-master/] [https://web.archive.org/web/20190702084943/http://www.cpcbox.com/] [https://bzhgames.xyz/index.php BZH Games]&lt;br /&gt;
| beta &lt;br /&gt;
| Dec 28, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[CrocoDS|CrocoDS]] &lt;br /&gt;
| [https://crocods.org/web/] [https://github.com/redbug26/crocods Repo]&lt;br /&gt;
| &lt;br /&gt;
| Jun 9, 2020&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[MAME|Emularity (MAME)]] &lt;br /&gt;
| [https://github.com/db48x/emularity] [http://jsmess.textfiles.com/ JSMESS] [https://classicreload.com/platform/amstrad%20cpc Classic Reload]&lt;br /&gt;
[https://archive.org/details/softwarelibrary_cpc_games CPC Games] [https://archive.org/details/softwarelibrary_cpc_demos CPC Demos] on Internet Archive&lt;br /&gt;
| &lt;br /&gt;
| Jan 27, 2024&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| Tons of vintage computers, game consoles and arcade systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Roland javascript emulator|Roland]] &lt;br /&gt;
| [https://web.archive.org/web/20190308142014/http://roland.retrolandia.net/]&lt;br /&gt;
| &lt;br /&gt;
| Sep 24, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Ronald|Ronald]] &lt;br /&gt;
| [https://ronald.migge.io] [https://github.com/mdm/ronald Repo]&lt;br /&gt;
| &lt;br /&gt;
| Apr 1, 2024&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[RVMplayer|RVMplayer]] &lt;br /&gt;
| [https://www.retrovirtualmachine.org/rvmplayer/]&lt;br /&gt;
| 0.1.1&lt;br /&gt;
| May 6, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]]&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[Tiny Emus]]&lt;br /&gt;
| [https://floooh.github.io/tiny8bit/] [https://floooh.github.io/tiny8bit/cpc-ui.html CPC UI] [http://floooh.github.io/virtualkc/ yakc] [https://online.oldgames.sk/play/cpc Online Old Games] [https://bzhgames.xyz/index.php BZH Games]&lt;br /&gt;
[https://devilmarkus.de/ WebGL 3d 8-bit] [https://arcade-des-monts.ca/run/store.php Retro Store] [https://www.amstradcpcgames.eu/ Amstrad CPC Games] [http://cpc.novidee.com/ zpz]&lt;br /&gt;
| &lt;br /&gt;
| Mar 2, 2024&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| [[KC Compact]], [[ZX Spectrum]], [[VIC-20]], [[Commodore 64]], [[Acorn Atom]], [[KC 85]], [[KC 87]], [[Z9001]], [[Z1013]], [[LC80]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Griffin CPC emulator|Xiragon]]&lt;br /&gt;
| [https://web.archive.org/web/20191027200008/http://xiragon.com/]&lt;br /&gt;
| &lt;br /&gt;
| Nov 28, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== LibRetro (API for emulators) ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! Type&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[libretro-cap32]]&lt;br /&gt;
| Emulation core&lt;br /&gt;
| [https://github.com/libretro/libretro-cap32]&lt;br /&gt;
| 4.5.3&lt;br /&gt;
| Feb 4, 2024&lt;br /&gt;
| -&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[libretro-crocods]]&lt;br /&gt;
| Emulation core&lt;br /&gt;
| [https://github.com/libretro/libretro-crocods]&lt;br /&gt;
| 0.1&lt;br /&gt;
| Jul 26, 2022&lt;br /&gt;
| -&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[MAME|LRMAME]]&lt;br /&gt;
| Emulation core&lt;br /&gt;
| [https://github.com/libretro/mame]&lt;br /&gt;
| 0.264&lt;br /&gt;
| Apr 1, 2024&lt;br /&gt;
| -&lt;br /&gt;
| ✅&lt;br /&gt;
| Tons of vintage computers, game consoles and arcade systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[SugarLibRetro]]&lt;br /&gt;
| Emulation core&lt;br /&gt;
| [https://github.com/Tom1975/SugarLibRetro] (wraps independent lib [https://github.com/Tom1975/CPCCore CPCCore])&lt;br /&gt;
| git&lt;br /&gt;
| Jan 10, 2020&lt;br /&gt;
| -&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[EmuVR]]&lt;br /&gt;
| Frontend&lt;br /&gt;
| [https://www.emuvr.net/]&lt;br /&gt;
| 1.0.11&lt;br /&gt;
| Dec 24, 2022&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Depends on emulation cores&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[Hackable Console]]&lt;br /&gt;
| Frontend&lt;br /&gt;
| [https://github.com/leiradel/hackable-console]&lt;br /&gt;
| &lt;br /&gt;
| Mar 27, 2022&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Depends on emulation cores&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[RetroArch]]&lt;br /&gt;
| Frontend&lt;br /&gt;
| [https://www.retroarch.com/] [https://www.retroarch.com/?page=achievements RetroAchievements]&lt;br /&gt;
| 1.17.0&lt;br /&gt;
| Feb 3, 2024&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Depends on emulation cores&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Current Operating Systems =&lt;br /&gt;
&lt;br /&gt;
== Desktop ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Windows&lt;br /&gt;
! macOS&lt;br /&gt;
! Linux&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[ACE-DL]]&lt;br /&gt;
| [http://www.roudoudou.com/ACE-DL] [https://discord.gg/rKxFPndHPw Discord] [http://ace.cpcscene.net Based on ACE]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| &lt;br /&gt;
| Apr 2, 2024&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[AMSpiriT|AMSpiriT]]&lt;br /&gt;
| [https://www.amspirit.fr/] [https://discord.com/invite/g37me8WMW6 Discord] [https://forum.system-cfg.com/viewtopic.php?f=24&amp;amp;t=11535 Forum]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.0 rc1&lt;br /&gt;
| Apr 2, 2024&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnimedes|Arnimedes]] &lt;br /&gt;
| [http://www.arnimedes.de/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.02&lt;br /&gt;
| Jul 7, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnold_(Emulator)|Arnold]] &lt;br /&gt;
| [http://www.cpcwiki.eu/forum/emulators/arnold-wip/msg144749/#msg144749] [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]&lt;br /&gt;
| ✅&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ⚠️&lt;br /&gt;
| [http://www.cpcwiki.eu/imgs/d/dd/Arnoldwip_src.tar.bz2 WIP]&lt;br /&gt;
| May 13, 2017&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Caprice Forever]] &lt;br /&gt;
| [http://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 24.2&lt;br /&gt;
| Feb 10, 2024&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware &amp;amp; Outdated sources&lt;br /&gt;
|-&lt;br /&gt;
| [[CaPriCe|Caprice32]] &lt;br /&gt;
| [https://github.com/ColinPitrat/caprice32/releases] [http://sourceforge.net/projects/caprice32/ Old repo] [https://snapcraft.io/caprice32 Linux] [http://aleste520.narod.ru/caprice.html Aleste] [https://code.google.com/archive/p/cpcsdk/ Reloaded]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 4.6.0&lt;br /&gt;
| Oct 8, 2022&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Clock Signal|Clock Signal]] &lt;br /&gt;
| [https://github.com/TomHarte/CLK/releases] [https://snapcraft.io/clock-signal Linux]&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| &lt;br /&gt;
| Jan 22, 2024&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]], [[ZX80/81]], [[Enterprise]], [[MSX]], [[Oric 1/Atmos|Oric]], [[ColecoVision]], [[Acorn Electron]], [[Apple II]], [[VIC-20]], [[Atari 2600]], [[Atari ST]], [[Macintosh]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CoPaCabana|CoPaCabana]]&lt;br /&gt;
| [http://copacabana.emuunlim.com/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 0.74&lt;br /&gt;
| Apr 12, 2006&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[CPC++|CPC++]] &lt;br /&gt;
| [http://bricerive.free.fr/cpc/cpcpp.html]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ⚠️&lt;br /&gt;
| b700&lt;br /&gt;
| May 31, 2015&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[cpc4x|cpc4x]] &lt;br /&gt;
| [http://www.ulrich-cordes.de/cpc/english/cpcemu.htm]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| 0.26&lt;br /&gt;
| Dec 11, 2004&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEC|CPCEC]] &lt;br /&gt;
| [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]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| &lt;br /&gt;
| Mar 28, 2024&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[ZX Spectrum]], [[Commodore 64]], [[MSX]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEC|cpcec-gtk]] &lt;br /&gt;
| [https://bitbucket.org/norecess464/cpcec-gtk/]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| &lt;br /&gt;
| Feb 4, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCemu|CPCemu]] &lt;br /&gt;
| [http://www.cpc-emu.org/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 2.5&lt;br /&gt;
| Aug 13, 2022&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEPower|CPCEPower]] &lt;br /&gt;
| [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 2105&lt;br /&gt;
| Jun 4, 2021&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCSharp|CPCSharp]] &lt;br /&gt;
| [https://github.com/dolbz/CPCSharp/releases/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.0.0-beta1&lt;br /&gt;
| Apr 7, 2021&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPvC|CPvC]]&lt;br /&gt;
| [https://github.com/alybaek2/cpvc]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| &lt;br /&gt;
| Sep 30, 2022&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CrocoDS|CrocoDS]]&lt;br /&gt;
| [https://crazypiri.eu/crocods/] [https://github.com/redbug26/crocods Repo]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| 4.0 beta3&lt;br /&gt;
| Dec 10, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[DSP|DSP]]&lt;br /&gt;
| [https://github.com/leniad/dsp-emulator/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ⚠️&lt;br /&gt;
| 0.23 wip1&lt;br /&gt;
| Mar 25, 2024&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| [[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]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[ep128emu|ep128emu]]&lt;br /&gt;
| [https://github.com/istvan-v/ep128emu]&lt;br /&gt;
| ✅&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ⚠️&lt;br /&gt;
| 2.0.11.2&lt;br /&gt;
| Apr 19, 2019&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]], [[Enterprise]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[MESS|MAME]]&lt;br /&gt;
| [http://mamedev.org/release.html] [http://sdlmame.lngn.net/ macOS] [http://wiki.mamedev.org/index.php/SDL_Supported_Platforms Other ports] &lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 0.264&lt;br /&gt;
| Mar 27, 2024&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| Tons of vintage computers, game consoles and arcade systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[NO$CPC|NO$CPC]]&lt;br /&gt;
| [http://problemkaputt.de/cpc.htm]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.8&lt;br /&gt;
| Nov 2, 2000&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[PC-CPC|PC-CPC]] &lt;br /&gt;
| [http://cpcrulez.fr/emulateurs_download-WIN-PC-CPC.htm] [https://github.com/DemoniakLudo/PC-CPC Repo]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 0.1at b29&lt;br /&gt;
| Nov 17, 2011&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Retro Virtual Machine|Retro Virtual Machine]]&lt;br /&gt;
| [https://www.retrovirtualmachine.org]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 2.1.11&lt;br /&gt;
| Nov 13, 2023&lt;br /&gt;
| ❌ Removed&lt;br /&gt;
| ✅&lt;br /&gt;
| [[ZX Spectrum]], [[MSX|MSX 1]], [[ColecoVision]], [[SG-1000]], [[Master System]]&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[Roland Emulator|Roland]] &lt;br /&gt;
| [https://www.rolandemu.de/en/downloads.html] [https://github.com/raldus/roland Repo]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| 0.70&lt;br /&gt;
| Apr 20, 2017&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Ronald|Ronald]] &lt;br /&gt;
| [https://github.com/mdm/ronald]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| &lt;br /&gt;
| Apr 1, 2024&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[SugarBox|SugarBox]]&lt;br /&gt;
| [https://github.com/Tom1975/SugarboxV2] [http://sugarbox.free.fr/ Old site]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 2.0.2&lt;br /&gt;
| Nov 29, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[VirtualCPC|Virtual CPC]] &lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-WIN-virtual_cpc.htm] [https://web.archive.org/web/20200112094913/http://users.otenet.gr/~sulfonic/cpc/ Archive] &lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.1&lt;br /&gt;
| Aug 8, 2011&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[WinApe|WinAPE]] &lt;br /&gt;
| [http://www.winape.net/] [https://www-ftp.lip6.fr/pub/amstrad/emulator/CPCWIN10.ZIP CPCwin]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 2.0b2&lt;br /&gt;
| Jan 5, 2016&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[WinCPC|WinCPC]] / [[MacCPC|MacCPC]]&lt;br /&gt;
| [http://www.wincpc.ch/index.php?topic=projects] [https://web.archive.org/web/20050409133618/http://www.easypoint.ch/vbcpc/ vbCPC]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| 0.9.2&lt;br /&gt;
| Jan 22, 2010&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[XCPC|Xcpc]]&lt;br /&gt;
| [https://www.xcpc-emulator.net/]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| 0.38.1&lt;br /&gt;
| Apr 8, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[XNACPC|XNACPC]]&lt;br /&gt;
| [http://www.gavpugh.com/2011/11/11/xnacpc-xbox-360-amstrad-cpc-emulator-released/] [https://www.gavpugh.com/old-code/ CPC3D]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.0&lt;br /&gt;
| Nov 11, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[ZEsarUX|ZEsarUX]]&lt;br /&gt;
| [https://github.com/chernandezba/zesarux]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| X&lt;br /&gt;
| Sep 8, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| [[PCW]], [[ZX Spectrum]], [[ZX80/81]], [[MSX|MSX 1]], [[ColecoVision]], [[Spectravideo]], [[Jupiter ACE]], [[Sam Coupe]], [[SG-1000]], [[Master System]], [[Sinclair QL]], [[MK14]], [[Z88]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Alternative OS ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! AmigaOS PPC&lt;br /&gt;
! AROS&lt;br /&gt;
! MorphOS&lt;br /&gt;
! Haiku&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[ACE_(Emulator)|ACE]]&lt;br /&gt;
| [http://ace.cpcscene.net Web site] [https://framagit.org/search?search=acepansion Plugins' repo]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| v1.26 - Jan 1, 2024&lt;br /&gt;
| v1.26.0 - Mar 2, 2024&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| Dozens of CPC hardware expansions thru plugins&lt;br /&gt;
| Freeware (plugins are Open Source)&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnold]]&lt;br /&gt;
| [http://hirudov.com/amiga/Arnold.php AmigaOS] [http://archives.aros-exec.org/?function=showfile&amp;amp;file=emulation/computer/arnold-aros-i386.lha AROS]&lt;br /&gt;
| v1.15 - Dec 17, 2012&lt;br /&gt;
| Oct 24, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Caprice32]]&lt;br /&gt;
| [http://archives.aros-exec.org/?function=showfile&amp;amp;file=emulation/computer/caprice-aros-i386.lha]&lt;br /&gt;
| ❌&lt;br /&gt;
| v4.2.0 - Oct 23, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[MAME]]&lt;br /&gt;
| [http://se.os4depot.net/index.php?function=showfile&amp;amp;file=emulation/computer/sdl_mess.lha AmigaOS] [http://fabportnawak.free.fr/mame/ MorphOS] [https://depot.haiku-os.org/#!/pkg/mame Haiku]&lt;br /&gt;
| MESS v0.146u4 - Aug 19, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| MESS v0.113 - Nov 1, 2007&lt;br /&gt;
| v0.264-2 - Apr 3, 2024&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| Tons of vintage computers, game consoles and arcade systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[ZEsarUX|ZEsarUX]]&lt;br /&gt;
| [https://depot.haiku-os.org/#!/pkg/zesarux]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| v10.10-1 - Oct 28, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| [[PCW]], [[ZX Spectrum]], [[ZX80/81]], [[MSX|MSX 1]], [[ColecoVision]], [[Spectravideo]], [[Jupiter ACE]], [[Sam Coupe]], [[SG-1000]], [[Master System]], [[Sinclair QL]], [[MK14]], [[Z88]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Mobile ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[andcpc]]&lt;br /&gt;
| [http://code.google.com/p/andcpc/]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Apr 4, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[Azimuth]]&lt;br /&gt;
| [https://play.google.com/store/apps/details?id=johnidis.azimuth]&lt;br /&gt;
| 1.11&lt;br /&gt;
| Aug 22, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Adware and in-app purchases💲&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[CPCDroid]]&lt;br /&gt;
| [https://fmsdevel.wisecoding.es/cpcdroid-amstrad-cpc-on-android-phone-2/]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Mar 2, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[CPCemu|CPCemu]] &lt;br /&gt;
| [https://play.google.com/store/apps/details?id=com.loritznet.softwarecreations.cpcemu]&lt;br /&gt;
| 2.5&lt;br /&gt;
| Aug 14, 2022&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[Droid-CPC]]&lt;br /&gt;
| [http://play.google.com/store/apps/details?id=com.kokak.droidcpc]&lt;br /&gt;
| 1.1.01&lt;br /&gt;
| Dec 15, 2016&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Commercial💲&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[MAME4droid 2024]]&lt;br /&gt;
| [http://play.google.com/store/apps/details?id=com.seleuco.mame4d2024] [https://github.com/seleuco/MAME4droid-2024 Repo]&lt;br /&gt;
| 1.11.1 (0.264)&lt;br /&gt;
| Mar 29, 2024&lt;br /&gt;
| ✅&lt;br /&gt;
| Tons of vintage computers, game consoles and arcade systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| iOS&lt;br /&gt;
| [[CPCemu|CPCemu]]&lt;br /&gt;
| [http://www.cpc-emu.org/]&lt;br /&gt;
| 2.5&lt;br /&gt;
| Aug 13, 2022&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Software available on request&lt;br /&gt;
|-&lt;br /&gt;
| iOS&lt;br /&gt;
| [[CrocoDS]]&lt;br /&gt;
| [https://crazypiri.eu/crocods/] [https://github.com/redbug26/crocods-ios Repo]&lt;br /&gt;
| 2.1&lt;br /&gt;
| Jun 21, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Discontinued Operating Systems =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| Acorn RISC OS&lt;br /&gt;
| [[!CPC|!CPC]]&lt;br /&gt;
| [https://www-ftp.lip6.fr/pub/amstrad/emulator/CPC0728.ZIP] [http://ftp2.fr.openbsd.org/ftp/pub/amstrad/emulator/CPCS1124.ZIP]&lt;br /&gt;
| &lt;br /&gt;
| Jul 28, 1996&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Acorn RISC OS&lt;br /&gt;
| [[!CPCemu|!CPCemu]]&lt;br /&gt;
| [http://huggers-world.de/mops.html]&lt;br /&gt;
| 1.21&lt;br /&gt;
| Mar 22, 2016&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS m68k&lt;br /&gt;
| [[A-CPC|A-CPC]]&lt;br /&gt;
| [https://cpctech.cpcwiki.de/download/a-cpc.lha]&lt;br /&gt;
| 2.0&lt;br /&gt;
| Mar 30, 2002&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS m68k&lt;br /&gt;
| [[Ami-cpc|Ami-cpc]]&lt;br /&gt;
| [http://deplanque.chez.com/] [http://deplanque.chez.com/download_fr.html Ami-cpc2]&lt;br /&gt;
| 0.46&lt;br /&gt;
| Jan 21, 1998&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS m68k&lt;br /&gt;
| [[CPE|CPE]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-AMIGA-CPE.htm]&lt;br /&gt;
| &lt;br /&gt;
| Feb 24, 1995&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS m68k&lt;br /&gt;
| [[Emu-CPC|EmuCPC]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-AMIGA-emucpc.htm]&lt;br /&gt;
| 0.7&lt;br /&gt;
| Sep 15, 1996&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| BlackBerry OS&lt;br /&gt;
| [[BB-CPC|BB-CPC]]&lt;br /&gt;
| [http://appworld.blackberry.com/webstore/content/30963891/] (dead link)&lt;br /&gt;
| 1.0.1.3&lt;br /&gt;
| Jul 15, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Commercial💲&lt;br /&gt;
|-&lt;br /&gt;
| Classic Mac OS&lt;br /&gt;
| [[CPCplusplus|CPC++]]&lt;br /&gt;
| [http://bricerive.free.fr/cpc/cpcpp.html]&lt;br /&gt;
| 1.3.2&lt;br /&gt;
| Oct 6, 1997&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Shareware💲&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[AdvanceMESS|AdvanceMESS]]&lt;br /&gt;
| [https://www.advancemame.it/readme]&lt;br /&gt;
| 3.9&lt;br /&gt;
| Sep 8, 2018&lt;br /&gt;
| ✅&lt;br /&gt;
| Tons of vintage computers and game consoles&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[Arnimedes|Arnimedes]]&lt;br /&gt;
| [http://www.arnimedes.de/]&lt;br /&gt;
| 0.8a&lt;br /&gt;
| Apr 15, 2000&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[Caprice32]] &lt;br /&gt;
| [https://ftp.nvg.ntnu.no/pub/cpc/emulator/msdos/capriced.zip]&lt;br /&gt;
| 1.11&lt;br /&gt;
| Sep 20, 1999&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPC]] &lt;br /&gt;
| [https://www-ftp.lip6.fr/pub/amstrad/emulator/CPC055B.ZIP]&lt;br /&gt;
| 0.55b&lt;br /&gt;
| May 16, 1997&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPC-em|CPC-em]] &lt;br /&gt;
| [http://cpc-em.emuunlim.com/]&lt;br /&gt;
| 0.4&lt;br /&gt;
| Jul 7, 2004&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPCE|CPCE]]&lt;br /&gt;
| [http://cngsoft.no-ip.org/cpce/]&lt;br /&gt;
| 1.94&lt;br /&gt;
| Jun 2, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPCemu|CPCemu]]&lt;br /&gt;
| [http://www.cpc-emu.org/]&lt;br /&gt;
| 1.5&lt;br /&gt;
| Jul 7, 1998&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPE|CPE]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-DOS-CPE.htm]&lt;br /&gt;
| 5.2&lt;br /&gt;
| Apr 21, 1997&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[NO$CPC|NO$CPC]]&lt;br /&gt;
| [http://problemkaputt.de/cpc.htm]&lt;br /&gt;
| 1.8&lt;br /&gt;
| Nov 2, 2000&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[PC-CPC|PC-CPC]] &lt;br /&gt;
| [http://deplanque.chez.com/download_fr.html]&lt;br /&gt;
| &lt;br /&gt;
| Feb 3, 1998&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPCEMU (RWCPC)|RWCPC]]&lt;br /&gt;
| [https://www-ftp.lip6.fr/pub/amstrad/emulator/RWCPC.ZIP]&lt;br /&gt;
| &lt;br /&gt;
| Mar 23, 1995&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[SIMCPC|SIMCPC]]&lt;br /&gt;
| [https://www-ftp.lip6.fr/pub/amstrad/emulator/SIMCPC.ZIP]&lt;br /&gt;
| &lt;br /&gt;
| Dec 10, 1989&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Shareware💲&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[YAGE|YAGE]]&lt;br /&gt;
| [https://www.zophar.net/cpc/yage.html]&lt;br /&gt;
| 0.91&lt;br /&gt;
| Oct 24, 1998&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| EXOS&lt;br /&gt;
| [[Software CPC Emulator|Software CPC Emulator]]&lt;br /&gt;
| [http://www.ep128.hu/Ep_Util/Prg/Amstrad_CPC_Emulator_13.rar] [http://www.ep128.hu/Ep_Util/Amstrad_CPC_emu.htm]&lt;br /&gt;
| 1.3&lt;br /&gt;
| Jan 11, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Maemo&lt;br /&gt;
| [[CPCm]]&lt;br /&gt;
| [http://maemo.org/downloads/product/Maemo5/cpcm/]&lt;br /&gt;
| 1.20-1&lt;br /&gt;
| Apr 27, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| MSX-DOS&lt;br /&gt;
| [[EMU6CPC|EMU6CPC]]&lt;br /&gt;
| [http://romu6.blogspot.com/2018/12/emu6cpc-emulador-de-amstrad-cpc-6128.html]&lt;br /&gt;
| &lt;br /&gt;
| Dec 17, 2018&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Palm OS&lt;br /&gt;
| [[CaPriCe for Palm OS|CaPriCe for Palm OS]]&lt;br /&gt;
| [https://web.archive.org/web/20230127143354/https://coste.frederic.free.fr/cpc/cpc_en.htm]&lt;br /&gt;
| 2.8&lt;br /&gt;
| Jun 28, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Palm OS&lt;br /&gt;
| [[CoPaCabana|CoPaCabana]]&lt;br /&gt;
| [http://copacabana.emuunlim.com/]&lt;br /&gt;
| 0.75&lt;br /&gt;
| Dec 4, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Pocket PC&lt;br /&gt;
| [[CaPriCe|PocketCaprice]]&lt;br /&gt;
| [https://web.archive.org/web/20160506010209/http://www.clubic.com/telecharger-fiche44888-pocketcaprice.html]&lt;br /&gt;
| 0.9&lt;br /&gt;
| Aug 19, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| SunOS&lt;br /&gt;
| [[CPCplusplus|CPC++]]&lt;br /&gt;
| [http://bricerive.free.fr/cpc/cpcpp.html]&lt;br /&gt;
| 1.3.0&lt;br /&gt;
| Feb 22, 1997&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Shareware💲&lt;br /&gt;
|-&lt;br /&gt;
| Symbian&lt;br /&gt;
| [[S60-CPC|S60-CPC]]&lt;br /&gt;
| [http://kokak.free.fr/s60cpc.htm]&lt;br /&gt;
| 0.74&lt;br /&gt;
| Feb 21, 2006&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Windows 9x&lt;br /&gt;
| [[CPC-em|CPC-em]] &lt;br /&gt;
| [http://cpc-em.emuunlim.com/]&lt;br /&gt;
| 0.3&lt;br /&gt;
| Jan 22, 2004&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Windows 9x&lt;br /&gt;
| [[MTMW|MTMW]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-WIN-MTMW.htm]&lt;br /&gt;
| 1.30B&lt;br /&gt;
| Jan 11, 2000&lt;br /&gt;
| ✅&lt;br /&gt;
| [[ZX Spectrum]], [[ZX80/81]], [[Enterprise]], [[Jupiter ACE]]&lt;br /&gt;
| Freeware&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Home Consoles =&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| Microsoft XBOX&lt;br /&gt;
| [[Arnold|ArnoldX]]&lt;br /&gt;
| [https://web.archive.org/web/20120705163939/http://forums.xbox-scene.com/index.php?showtopic=711667] [https://cpcrulez.fr/emulateurs_download-XBOX-ARNOLDX.htm]&lt;br /&gt;
| v5&lt;br /&gt;
| Apr 20, 2010&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Microsoft XBOX&lt;br /&gt;
| [[CoinOPS|CoinOPS (RetroFE)]]&lt;br /&gt;
| [https://web.archive.org/web/20160518183115/https://coinopsproject.freeforums.org/viewtopic.php?f=0&amp;amp;t=1213]&lt;br /&gt;
| 5&lt;br /&gt;
| Oct 18, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| Tons of vintage computers, game consoles and arcade systems&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Microsoft Xbox 360&lt;br /&gt;
| [[XNACPC|XNACPC]]&lt;br /&gt;
| [http://www.gavpugh.com/2011/11/11/xnacpc-xbox-360-amstrad-cpc-emulator-released/]&lt;br /&gt;
| 1.0&lt;br /&gt;
| Nov 11, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo Wii&lt;br /&gt;
| [[Wiituka|Wiituka]]&lt;br /&gt;
| [http://wiituka.dantoine.org/]&lt;br /&gt;
| 0.98.8&lt;br /&gt;
| May 15, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Sega Dreamcast&lt;br /&gt;
| [[CPCast|CPCast]]&lt;br /&gt;
| [http://www.dcemu.co.uk/vbulletin/showthread.php?t=24100]&lt;br /&gt;
| &lt;br /&gt;
| May 6, 2006&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Sega Dreamcast&lt;br /&gt;
| [[DreamCPC|DreamCPC]]&lt;br /&gt;
| [https://www.jm1200.fr/index.php?r=2]&lt;br /&gt;
| Alpha 3&lt;br /&gt;
| Oct 16, 2005&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Sony PS2&lt;br /&gt;
| [[CPC-em|CPC-em]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-ps2-CPC-EM.htm]&lt;br /&gt;
| 0.4&lt;br /&gt;
| Dec 22, 2004&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Sony PS3&lt;br /&gt;
| [[Caprice32|Caprice32]]&lt;br /&gt;
| [https://web.archive.org/web/20171003153204/http://psx-scene.com/forums/content/caprice32-4-1-0-dbg-emulator-ps3-2119/]&lt;br /&gt;
| 4.1.0 DBG&lt;br /&gt;
| Apr 9, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Handheld Consoles =&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| Dingoo A320 / A330&lt;br /&gt;
| [[Pituka|Pituka Dingux]]&lt;br /&gt;
| [http://david.dantoine.org/proyecto/4/]&lt;br /&gt;
| 0.8pre&lt;br /&gt;
| Aug 19, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Dingoo A320 / A330&lt;br /&gt;
| [[Caprice|Dingux-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/105-Amstrad/]&lt;br /&gt;
| 1.1.2&lt;br /&gt;
| Oct 17, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark Caanoo&lt;br /&gt;
| [[Caprice|Caanoo-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/165-Amstrad/]&lt;br /&gt;
| 1.1.3&lt;br /&gt;
| Apr 24, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark GP2x&lt;br /&gt;
| [[Caprice|CapriceGP2x]]&lt;br /&gt;
| [https://web.archive.org/web/20130315195529/http://wiki.gp2x.org/wiki/CapriceGP2x]&lt;br /&gt;
| 0.5&lt;br /&gt;
| Feb 22, 2006&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark GP2x&lt;br /&gt;
| [[Caprice|GP2X-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/42-Amstrad/]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Aug 29, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark GP32&lt;br /&gt;
| [[Pituka|Pituka GP32]]&lt;br /&gt;
| [http://david.dantoine.org/proyecto/4/]&lt;br /&gt;
| 1d&lt;br /&gt;
| May 15, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark Wiz&lt;br /&gt;
| [[Caprice|Wiz-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/89-Amstrad/]&lt;br /&gt;
| 1.1.0&lt;br /&gt;
| Aug 29, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GCW Zero&lt;br /&gt;
| [[Caprice|Dingux-CAP32]]&lt;br /&gt;
| [https://github.com/kerheol/dingux-cap32]&lt;br /&gt;
| 1.1.2&lt;br /&gt;
| May 25, 2014&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| JXD S5110 / S601 &amp;amp; Yinlips G18&lt;br /&gt;
| [[Caprice|JXD-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/206-Amstrad/]&lt;br /&gt;
| 1.1.1&lt;br /&gt;
| Oct 27, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo DS&lt;br /&gt;
| [[AmeDS|AmeDS]] &lt;br /&gt;
| [https://web.archive.org/web/20131021073302/http://www.portabledev.com/pages/ds/jeuxdev.-perso/ameds.php]&lt;br /&gt;
| 4.0&lt;br /&gt;
| Apr 25, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo DS&lt;br /&gt;
| [[CrocoDS|CrocoDS]]&lt;br /&gt;
| [http://www.kyuran.be/blog/2007/11/09/crocods-20-2/] [https://github.com/redbug26/crocods-nds Repo]&lt;br /&gt;
| 2.0&lt;br /&gt;
| Nov 9, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo GameBoy Advance&lt;br /&gt;
| [[Mini Amstrad Emulator|Mini Amstrad Emulator]] &lt;br /&gt;
| [https://playeradvance.org/forum/showthread.php?t=765]&lt;br /&gt;
| &lt;br /&gt;
| Dec 26, 2005&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Odroid GO&lt;br /&gt;
| [[CapriceESP32|CapriceESP32]] &lt;br /&gt;
| [https://github.com/grantrismo/CapriceESP32]&lt;br /&gt;
| &lt;br /&gt;
| Dec 3, 2020&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| OpenDingux&lt;br /&gt;
| [[CrocoDS|CrocoDS]]&lt;br /&gt;
| [https://crazypiri.eu/crocods/] [https://github.com/redbug26/crocods Repo]&lt;br /&gt;
| &lt;br /&gt;
| Jan 15, 2020&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Pandora&lt;br /&gt;
| [[Caprice|Pandora-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/131-Amstrad/]&lt;br /&gt;
| 1.1.0&lt;br /&gt;
| Jun 27, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Sony PSP&lt;br /&gt;
| [[Caprice32 PSP]]&lt;br /&gt;
| [http://psp.akop.org/caprice32]&lt;br /&gt;
| 4.2.0.2&lt;br /&gt;
| Nov 28, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Sony PSP&lt;br /&gt;
| [[CPCPSP|CPCPSP]]&lt;br /&gt;
| [https://web.archive.org/web/20130325143915/http://dl.qj.net/psp/emulators/cpcpsp-v01.html]&lt;br /&gt;
| 0.1&lt;br /&gt;
| Dec 24, 2005&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Sony PSP&lt;br /&gt;
| [[PSPCAP32|PSPCAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/3-Amstrad/]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Aug 21, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Trimui Model S&lt;br /&gt;
| [[Arnold|Arnold Trimui]]&lt;br /&gt;
| [https://github.com/liartes/arnold_gcw0]&lt;br /&gt;
| &lt;br /&gt;
| Oct 19, 2021&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Single-Board Computers / Raspberry Pi =&lt;br /&gt;
&lt;br /&gt;
[https://www.libretro.com/index.php/powered-by-libretro/ LibRetro / RetroArch] is used as the foundation of [https://www.lakka.tv/ Lakka], [https://wiki.recalbox.com/en/advanced-usage/retroarch Recalbox], [https://batocera.org/ Batocera] and [https://retropie.org.uk/ RetroPie] alternative OSes for the Raspberry Pi and other SBC.&lt;br /&gt;
But you can also use [https://www.retroarch.com/index.php?page=platforms RetroArch] for Amstrad CPC emulation on a stock Raspberry Pi OS. Or you can use these stand-alone CPC emulators:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[CPC4Rpi|#CPC4Rpi]]&lt;br /&gt;
| [https://web.archive.org/web/20150321200308/http://store.raspberrypi.com/projects/cpc4rpi]&lt;br /&gt;
| 1.1&lt;br /&gt;
| Dec 19, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Commercial💲&lt;br /&gt;
|-&lt;br /&gt;
| [[CapriceRPI|CapriceRPI]]&lt;br /&gt;
| [https://github.com/KaosOverride/CapriceRPI]&lt;br /&gt;
| 1.3d&lt;br /&gt;
| Feb 28, 2016&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Clock Signal|Clock Signal]] &lt;br /&gt;
| [https://snapcraft.io/install/clock-signal/raspbian]&lt;br /&gt;
| &lt;br /&gt;
| Dec 28, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]], [[ZX80/81]], [[Enterprise]], [[MSX]], [[Oric 1/Atmos|Oric]], [[ColecoVision]], [[Acorn Electron]], [[Apple II]], [[VIC-20]], [[Atari 2600]], [[Atari ST]], [[Macintosh]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPC-PI|CPC-PI]]&lt;br /&gt;
| [https://www.arananet.net/cpc-pi/]&lt;br /&gt;
| 0.1&lt;br /&gt;
| Feb 5, 2017&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEPower|CPCEPower]] &lt;br /&gt;
| [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73]&lt;br /&gt;
| 2105&lt;br /&gt;
| Jun 4, 2021&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[MESS|MAME]]&lt;br /&gt;
| [https://stickfreaks.com/mame/]&lt;br /&gt;
| 0.264&lt;br /&gt;
| Mar 26, 2024&lt;br /&gt;
| ✅&lt;br /&gt;
| Tons of vintage computers, game consoles and arcade systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[SugarPi|SugarPi]]&lt;br /&gt;
| [https://github.com/Tom1975/SugarPi]&lt;br /&gt;
| 1.2.0&lt;br /&gt;
| Feb 3, 2021&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[ZEsarUX|ZEsarUX]]&lt;br /&gt;
| [https://github.com/chernandezba/zesarux]&lt;br /&gt;
| X&lt;br /&gt;
| Sep 8, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| [[PCW]], [[ZX Spectrum]], [[ZX80/81]], [[MSX|MSX 1]], [[ColecoVision]], [[Spectravideo]], [[Jupiter ACE]], [[Sam Coupe]], [[SG-1000]], [[Master System]], [[Sinclair QL]], [[MK14]], [[Z88]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Hardware =&lt;br /&gt;
&lt;br /&gt;
*[https://youtu.be/DykFhtNbgGk Just CPC4ATX] CPC clone made from NOS chips&lt;br /&gt;
*[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&lt;br /&gt;
*[[CPC TREX|CPC TREX]] [[C-ONE|CPC-One]] TurboCPC core by TobiFlex running on different FPGA boards&lt;br /&gt;
*[http://ralferoo.blogspot.fr/ CPC FPGA] CPC emulation by Ranulf (Ralferoo) Doswell, running on a custom made FPGA board&lt;br /&gt;
*[[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&lt;br /&gt;
*[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&lt;br /&gt;
*[https://web.archive.org/web/20230330082645/https://intelligenttoasters.blog/cpc2-project-index/ CPC2 Project] CPC emulation running on a Cyclone V FPGA board&lt;br /&gt;
*[https://github.com/rpsubc8/ESP32TinyCPC/ ESP32 TinyCPC] Port from CPC-em emulator to TTGO VGA32 v1.x board with ESP32&lt;br /&gt;
*[https://github.com/MicroCoreLabs/Projects  MCLZ8] Z80 emulator which runs on a Teensy 4.1 ARM board and can be used as a drop-in replacement&lt;br /&gt;
*[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&lt;br /&gt;
*[https://github.com/floooh/v6502r Visual Z80 Remix] [https://github.com/gdevic/Z80Explorer Z80 Explorer] Netlist-level ultra accurate Z80 simulators&lt;br /&gt;
*[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]&lt;br /&gt;
*[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]&lt;br /&gt;
*[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&lt;br /&gt;
*[[SDiskEmul]] Floppy-drive emulator released in 2007. Abandoned now. Supports DSK, EDSK disk-images&lt;br /&gt;
*[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]&lt;br /&gt;
*[https://github.com/keirf/flashfloppy/ FlashFloppy] Open source floppy-drive emulator for the ubiquitous Gotek hardware. Supports DSK, EDSK, HFE disk-images&lt;br /&gt;
*[https://github.com/keirf/greaseweazle GreaseWeazle] Open source USB floppy adapter Flux reader writer&lt;br /&gt;
*[https://cpcrulez.fr/forum/viewtopic.php?f=5&amp;amp;t=100&amp;amp;start=690#p55437 Pauline] FPGA-based floppy-drive dumper and emulator&lt;br /&gt;
*[https://cpcrulez.fr/hardware-lecteurs_externe-interface_ddi3_usb_floppy_emulator.htm DDI-3] USB floppy-drive emulator with an integrated FDC chip for CPC464&lt;br /&gt;
*[https://hobbyretro.com/en/retro/tzxduino TZXduino] Arduino-based tape deck emulator. Supports many formats of tape-images including CDT and TZX&lt;br /&gt;
*[https://pelrun.github.io/PlayUEF/ PlayUEF] Web-browser based tape deck emulator, supporting CDT and TZX tape-images&lt;br /&gt;
*[https://github.com/dasta400/ACPCPE Amstrad CPC Printer Emulator] Arduino-based CPC printer emulator that can output text, markdown or HTML&lt;br /&gt;
*[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&lt;br /&gt;
*[https://github.com/nzeemin/escparser ESCParser] Command-line utility, ESC/P printer emulator that can output PostScript, SVG or PDF&lt;br /&gt;
*[https://github.com/f1ac0/CPC-plus-cartridge CPC-plus-cartridge] Different PCB designs and code to make a CPC-plus cartridge&lt;br /&gt;
*[https://github.com/zeus074/Amstrad_Multicart Amstrad Multicart] 16-in-1 cartridge for the GX4000 or Amstrad Plus computer&lt;br /&gt;
*[[C4CPC]] Cartridge replacement for the Amstrad Plus range and the GX4000&lt;br /&gt;
*[https://overange.weebly.com/amstrad-gx4000-cpc-464-6128-plus-reflashable-flash-cartridge.html Flash+ cartridge] Amstrad CPC+ GX4000 reflashable cartridge&lt;br /&gt;
&lt;br /&gt;
= Mass storage devices =&lt;br /&gt;
Emulator support is as follows:&lt;br /&gt;
*[[Dobbertin Harddisc]] is emulated by MAME&lt;br /&gt;
*[[UIDE Universal IDE adapter cards for Z-80 computers|uIDE]] is emulated by Arnold&lt;br /&gt;
*[[Symbiface II]] IDE/PATA interface or compatible ([[X-Mass]], [https://github.com/salafek/cyboard-for-cpc Cyboard]) is emulated by ACE, Caprice Forever, MAME, WinAPE, WinCPC, Arnold, Virtual CPC&lt;br /&gt;
*[[Albireo]] is emulated by ACE, Caprice Forever&lt;br /&gt;
*[[M4 Board]] is emulated by CPCemu&lt;br /&gt;
*[[Vortex Winchester Drive]], [[ULIfAC|USIfAC / ULIfAC]] and [[Symbiface 3|Symbiface3 / RSF3]] are not supported by emulators&lt;br /&gt;
&lt;br /&gt;
= Audio devices =&lt;br /&gt;
Emulator support is as follows:&lt;br /&gt;
*[[Amstrad SSA-1 Speech Synthesizer|SSA-1 speech synthesizer]] is emulated by ACE, Caprice Forever, JavaCPC, MAME&lt;br /&gt;
*[[Dk'tronics Speech Synthesizer|Dk'Tronics speech synthesizer]] is emulated by ACE, Caprice Forever, JavaCPC, MAME&lt;br /&gt;
*[[TMPI speech synthesizer|Techni-Musique speech synthesizer]] is emulated by ACE, Caprice Forever&lt;br /&gt;
*[[Amdrum]] is emulated by ACE, JavaCPC, MAME, WinAPE&lt;br /&gt;
*[[Digiblaster]] is emulated by ACE, Caprice Forever, JavaCPC, MAME, WinAPE, CPCEC, CPCEPower, WinCPC, Virtual CPC&lt;br /&gt;
*[[PlayCity]] is fully emulated by ACE, MAME, Arnold, SugarBox. It is partially emulated by Caprice Forever, JavaCPC, CPCEC&lt;br /&gt;
*[[Play2CPC]] is emulated by ACE&lt;br /&gt;
*[[Willy|Willy OPL3]] is emulated by ACE&lt;br /&gt;
*[[Willy|Willy MIDI]] is emulated by ACE (software synth emulation on Haiku, full MIDI support on MorphOS)&lt;br /&gt;
*[[Music Machine]], [https://github.com/lambdamikel/Speak-SID Speak&amp;amp;SID], [https://github.com/lambdamikel/LambdaSpeak3 LambdaSpeak], [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/amsdap-amstrad-msx-adapter-connecting-any-msx-io-hardware-to-the-cpc/ Amsdap (SE-One, Moonsound, etc...)] are not supported by emulators&lt;br /&gt;
&lt;br /&gt;
= Printers =&lt;br /&gt;
Support for CPC printers is abysmal in all emulators.&lt;br /&gt;
The only emulators that at least do some print rendering emulation are JavaCPC and Caprice Forever.&lt;br /&gt;
&lt;br /&gt;
= Rewind feature =&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= Emulator accuracy checking tools =&lt;br /&gt;
== Quick evaluation==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;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]]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19308 DSC #4 demo] with reference images (CRTC 1): [[Media:DSC4 reference1.png]] [[Media:DSC4 reference2.png]]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7737 Camembert 4 demo] with reference images (CRTC 0/1/3/4): [[Media:Camembert-real.jpg]] [[Media:Camembert 4 Pixel Precise.jpg]]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9029 BSC7 Interlace demo] with reference image (CRTC 0/2/3/4): [[Media:BSC7 reference.png]]&lt;br /&gt;
&lt;br /&gt;
== Z80 CPU ==&lt;br /&gt;
*🔥[https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=raxoft Raxoft tests] CPC port of [https://github.com/raxoft/z80test z80test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6346 ZEX] Z80 CPU instruction set exercisers&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=298 Arkanoid (using Z80 Interrupt Mode 2)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=427 L'anneau de Zengara (using Z80 register R)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1299 Light Corridor (Z80 useless instruction prefixes)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=735 Dogsbody (accessing non-standard I/O ports)]&lt;br /&gt;
*[https://wikiti.brandonw.net/?title=Z80_Instruction_Set Z80 instruction set] [https://zx-pk.ru/attachment.php?attachmentid=2989&amp;amp;d=1143656567 Z80 MEMPTR (aka WZ) internal register] [https://github.com/hoglet67/Z80Decoder/wiki/Undocumented-Flags Even weirder Z80 behaviour] [https://zxe.io/software/Z80/documentation/latest/Thanks.html To get to the bottom of it] [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/z80-cpu-nmos-or-cmos/ Z80 is always NMOS on CPC and Plus] How the Z80 behaves&lt;br /&gt;
*[https://floooh.github.io/2021/12/06/z80-instruction-timing.html Z80 T-state timings] [https://baltazarstudios.com/zilog-z80-undocumented-behavior/ Other source about T-state timings] Ultra accurate timing behaviour [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=48 I/O port allocation] [https://www.grimware.org/doku.php/documentations/devices/gatearray RAM/ROM mapping] Technical documentation&lt;br /&gt;
&lt;br /&gt;
== Diagnostics ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5113 Amstest] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17932 Amstrad Diagnostics] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6545 STS SysInfo] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=test%20crtc%20v Tests 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&amp;amp;num=11446 Basic Program Status Window] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12584 Version du Firmware Basic]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6987 RAM Expansion Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14833 MemTest] [https://www.cpc-power.com/index.php?page=detail&amp;amp;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&amp;amp;num=15739 RAM Check] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13386 Testprogram For All ERAM] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16010 Test RAM Basic] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19185 Xenon 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12188 Take On Me] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14339 Trololo Experiments] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19406 Still The One] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16084 Post Scriptum] [https://www.cpc-power.com/index.php?page=detail&amp;amp;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&amp;amp;num=14814 Anti-Multiface] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=151 Expanded RAM software list] RAM exercisers&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15975 FutureOS] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4174 CP/M Plus] [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/464-and-ram-extension/ Behaviour of RAM mode &amp;amp;C3] [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/upgrading-a-cpc-464-in-2022/ More on the issue] RAM expansion hardware bug on CPC464/664&lt;br /&gt;
*🔥[http://www.cpctech.org.uk/test.zip Kevin Thacker's &amp;quot;Acid tests&amp;quot; suite] [https://cpctech.cpcwiki.de/download/test.zip Older version] [https://www.cpcwiki.eu/forum/emulators/amstrad-cpc-'acid'-test/ Forum thread] [http://ace.cpcscene.net/tests:arnold_test_suite Tests results in ACE] Collection of tests which are used to verify emulators operation against real CPC, Plus and expansions&lt;br /&gt;
*🔥[http://www.winape.net/downloads.jsp Richard Wilson's Plus Test suite] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15242] CPC and CPC+ Emulator test suite (including Instruction and Interrupt timing tests)&lt;br /&gt;
&lt;br /&gt;
== Amstrad Plus ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9627 Official Plus diagnostics cartridge] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8308 4096 Colors Preview] [https://www.cpc-power.com/index.php?page=detail&amp;amp;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&amp;amp;num=3575 No Exit] Plus testing tools&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;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&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7530 Delirium Tremens] [https://www.youtube.com/watch?v=yJcBsQwMzuw Delirium Tremens running on real hardware] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18016 Bulles] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9169 Funerapolis] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7532 X-mas 2008] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19239 USS Cygnus 192] To test hardware sprites&lt;br /&gt;
*[https://cpctech.cpcwiki.de/docs/cpcplus.html Arnoldemu] [http://tj.gpa.free.fr/html/coding/cpcplus.htm T&amp;amp;J] [http://cpc.sylvestre.org/articles/articles_amstrad_plus.html Sylvestre] [http://quasar.cpcscene.net/doku.php?id=dossier:plus Offset] [http://quasar.cpcscene.net/doku.php?id=assem:asic] [[Plus Vectored Interrupt Bug]] Plus hardware bugs documented&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=database&amp;amp;cpcplus=1&amp;amp;cats=100 Plus Games] [https://www.cpc-power.com/index.php?page=database&amp;amp;cpcplus=1&amp;amp;cats=401 Plus Demos] Search filters to verify the entire Plus software library&lt;br /&gt;
&lt;br /&gt;
== Colorimetry ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=11826 Raster] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15519 Les split-rasters] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16722 Mir'Color] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14259 Test Interlace Color] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=11500 Mode 1 Tramage et Choix des Couleurs] Colour calibration&lt;br /&gt;
*[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&lt;br /&gt;
*Major difference in colorimetry between the real Amstrad CTM display and emulators display:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Border 8 - real CPC display.png|Border 8 on real CPC&lt;br /&gt;
Border 8 - real Plus display.png|Border 8 on real Plus&lt;br /&gt;
Border 8 - emulator display.png|Border 8 on emulators&lt;br /&gt;
Palette - real CPC.png|Palette on real CPC&lt;br /&gt;
Palette - real Plus.png|Palette on real Plus&lt;br /&gt;
Palette - emulator.png|Palette on emulators&lt;br /&gt;
True CTM colorimetry.png|Colorimetry on real CPC&lt;br /&gt;
CTM Emulator Shader colorimetry.png|Colorimetry on emulators&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Graphics ==&lt;br /&gt;
*🔥[https://shaker.logonsystem.eu/ Shakerland] Ultra accurate CRTC documentation and its associated CPC testing tool&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8524 Equalizor] [https://forum.system-cfg.com/viewtopic.php?p=229698#p229698 Revolog] [https://forum.system-cfg.com/viewtopic.php?f=24&amp;amp;t=11535&amp;amp;start=285 Technical explanation] Unpredictable behaviour of the real CRTC type 1 chip. We can classify these behaviours as CRTC types 1a and 1b&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12906 HSYNC test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16466 Split-Rasters Test CRTC1] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=crtc%20programmierung CRTC Programmierung] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=cote%gamers Côté Gamers] [https://www.cpc-power.com/index.php?page=detail&amp;amp;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&amp;amp;num=15280 CRTC software] CRTC testing tools&lt;br /&gt;
*[http://logon.system.free.fr/down/shaker_addon.dsk Pixel 1 Horizontal Hard Scroll for all CRTCs] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9102 Vertical Hard Scroll 100%] [https://cpcrulez.fr/coding_src-demo-smooth_crtc_register_3_scrolling_test.htm Smooth CRTC Register 3 scrolling test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1949 Skate Wars] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1211 Jinks] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=68 Out of this World] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=159 Killer Cobra] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10465 Edge Grinder] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10072 Relentless] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1982 Warhawk] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=99 Mission Genocide] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1028 Axys] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15809 Red Sunset] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=974 Ghosts'n Goblins] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1290 Legend of Kage] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1698 Profanation] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2119 Super Cauldron] Smooth CRTC R3/R5 hardware scrolling&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7514 BSC 91] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8772 Voyage 1993] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7751 OVL '96] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7662 Byte 98] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7560 Ze Meeting 2003] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8625 Divine] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7910 Paradise] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8621 Power System] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8875 Prodatron] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7744 Longshot] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7668 Amazing] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7714 KKB First] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8259 Chany Dream End] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8615 Welcom-X 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7591 S&amp;amp;Koh] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8041 Other World 3] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8064 Overflow Previews] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7648 Big'O Full'O Dem'O] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7765 Not Dead] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7504 Plasma] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8519 Wobbler] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7459 Mad Rast] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7543 Odyssey] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7736 Croco Chanel] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7828 Tire Au Flan] Early demos, so they were developed without CPC emulator bias&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9970 Still Rising] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9175 Still the Bests] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15298 Still Scrolling] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9097 River Scroll] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15209 Scroll Factory] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2799 Battro] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7464 Arôme Tomate] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15102 PhX] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9181 Bloc Us] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9248 Wake Up] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19313 Stand Up] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14230 Wunderbar] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18790 Foursome] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9589 Yet Another Plasma] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19004 Checkmate] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16068 Octopus Pocus] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15100 Isometrikum] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14225 Logon's Run] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=onescreen%20colonies Onescreen Colonies] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18760 Debris] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7729 DTC] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12683 Points Barres] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8552 Synergy 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19024 The One] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7728 DemoIzArt] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9502 Sugarlumps] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19453 Ghost Nop] CRTC effects&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=76 Les Mondes Parallèles] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=66 Paranoia] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=78 Molecularr 2] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=megablasters Megablasters] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12649 Quadraster] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2369 Groops] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3963 Sudoku Master] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10009 Overkoban] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17786 Prince Dastan Sokoban Within] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17610 Deva Drifter] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17197 Hexavirus v0] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15985 A tribute to the sisters] True overscan games&lt;br /&gt;
*[https://www.cpcwiki.eu/forum/programming/mode-3/ Mode 3 Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12905 &amp;quot;Mode 5&amp;quot; Viewer] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=931 Fugitif] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9089 Final Exams] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18626 Flush Wishes You a Happy New Year] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18680 Pixel Free] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13136 Interlace viewer] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7701 Climax] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19347 Flipraster] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13139 Perfect Pix Paint] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17706 Tetris] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13359 Imperial Mahjong] Special graphics modes&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16027 Mire] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7826 Climax-G] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7937 Fatal Beauties] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8307 4 Sins] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7897 Twinblast] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8081 MCS 6] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7593 Schadel] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13528 Wavy] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2224 Thunder Blade] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2318 Turrican] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=454 Bonanza Bros] To test the VDU&lt;br /&gt;
&lt;br /&gt;
== Audio ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=41 Trantor] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=204 3D Starfighter] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=726 Treasure Island Dizzy] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=971 Ghost Hunters] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2132 Super Robin Hood] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=237 Advanced Pinball Simulator] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1200 Jet Bike Simulator] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1002 Grand Prix Simulator] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=183 Darts 180] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1243 Killapede] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1194 Jail Break] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1815 Robocop] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=100 Chase HQ] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1926 Shinobi] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=895 Fly Spy] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8892 4-Bit Digi Try] Software English vocal digits&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=814 El Enigma de Aceps] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1349 Le Manoir de Mortvielle] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1098 Hold-Up] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=910 Forteresse] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=511 Canadair] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1140 L'île] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1199 Jaws] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1102 Holocauste] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=132 Afteroids] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=879 Fire &amp;amp; Forget] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1433 Xyphoes Fantasy] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17000 Space Race] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18500 Josh] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7456 Yao demo] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7548 Face Hugger Ultimate] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7415 Smallest Scroll] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8848 AC/DC DragonBreed] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17542 Musik100] Other software sound effects [https://www.cpc-power.com/index.php?page=database&amp;amp;audiotape=1 Audio-tape included software list]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9179 Now that's what I call Chip Tunes] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18904 Amstream music-disk] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10467 We Are All Old] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=ayc%20sound AYC Sound]  [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=shap%20audio Shap Audio] [https://www.cpc-power.com/index.php?page=detail&amp;amp;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&amp;amp;num=6266 Ams'Orgue] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18265 Sintetizador de Sonidos] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4735 Mega Sound] To test the PSG emulation&lt;br /&gt;
&lt;br /&gt;
== Peripherals ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=SSA-1 SSA-1 software list] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=DK%27Tronics%20Speech%20Synthesizer Dk'Tronics software list] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=TMPI%20speech%20synthesizer TMPI software list] To test speech synthesizers emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7535 Digital Orgasm] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=Digitracker Digitracker] [[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&amp;amp;lemot=Amdrum Amdrum] To test [[Digiblaster]] and [[Amdrum]] soundcards emulation&lt;br /&gt;
*[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 [[Willy]] OPL3 and MIDI emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=hardware_magnum Magnum Light Phaser] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3583 SkeetShoot] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3584 The Enforcer] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3992 Dk'Tronics Light Pen] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4955 Light Pen Mark II] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5853 Dart Light Pen] To test lightguns and lightpens connected to expansion port&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=hardware_phaser_loriciels West Phaser] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=hardware_gunstick Gunstick] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4303 Trojan LP-1] To test lightguns and lightpens connected to joystick port&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4286 AMX Art] [http://www.symbos.de/ SymbOS] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4012 Advanced OCP Art Studio] To test [[AMX Mouse|AMX]] and [[Kempston Mouse|Kempston mouse]] emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4026 Tasword] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4028 Tasprint] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12589 ProText] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9583 ProType] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4668 ProPrint] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12745 Miraprint] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4666 Qualitas Plus] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4516 BrunWord] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4104 MicroDesign] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15528 Page Printer] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4172 AMX Pagemaker] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6127 Speedtrans screen dump] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17613 Kdump] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5551 Impr'Image] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5157 Scrypte] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5712 Impression] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5576 RSX Imprimante] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6287 Machine à écrire] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5883 DemoImp] To test printer emulation&lt;br /&gt;
&lt;br /&gt;
*[[HDCPM]] [http://www.roudoudou.com/ACE-DL/ SymbOS] [[UniDOS]] [http://www.roudoudou.com/ACE-DL/ UniLoad] [https://shacpc.itch.io/lilicpc LiliCPC] [https://cpcrulez.fr/applications_disc-m4_front-end.htm M4FE] To test RTC and mass-storage emulation&lt;br /&gt;
*[https://cpcrulez.fr/applications_util-rulez-change-m4wifi.htm RulezCharge] [https://www.cpcwiki.eu/forum/news-events/amsteam-wip-game-streaming-service-for-the-amstrad-cpc/ Amsteam] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16746 CPChessNet] [https://github.com/fergusleen/m4ewenterm Ewen] [http://www.symbos.de/ SymbOS] To test the network emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12972 X-MEM FW] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19236 CatRun] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18901 CowSay] [http://impdraw.wikidot.com iMPsuite] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=11578 GOS+] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6129 Nirvana] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6353 Utopia] [https://cpcrulez.fr/applications_util-cpm_plus_on_rom.htm CP/M Plus on ROM] [http://www.symbos.de/ SymbOS] To test ROMboard emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17567 Alcon 2020] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18843 Hyperdrive] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18503 Puzzle Bobble] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18888 Revenge of Trasmoz] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19111 Crazy Piri Chronicle] [[Converted GX4000 Software]] [http://www.symbos.de/ SymbOS] To test CPC cartridge slot expansion&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14498 Multiface Protector] [https://www.cpc-power.com/index.php?page=protection&amp;amp;lenom=Multiface%202%20Protection Anti-Multiface II software list] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1855 RX 220] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1980 War in Middle Earth] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1322 Zap't'Balls advanced] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5266 The Insider] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5271 MF2RR] [https://grimware.org/doku.php/documentations/expansions/mf2/start Technical documentation] To test [[Multiface II]] emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4709 Dart Scanner] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4207 Vidi Digitizer] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=9 LensLok] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=hardware_dandanator Dandanator] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=MultiPlay&amp;amp;r1=0&amp;amp;r2=1&amp;amp;r3=0&amp;amp;r4=1 MultiPlay] [[KDS 8-Bit Printer Port]] Exotic pieces of hardware&lt;br /&gt;
&lt;br /&gt;
== Copy-protection ==&lt;br /&gt;
*[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&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6091 Azimut Locator] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13564 Tape Speed Checker] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16963 Catalogueur de Cassettes] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4194 Ultra Son] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10475 Soft-Lok] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4718 Bonzo Super Meddler] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5059 SpeedTrans] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5803 Transformateur] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6057 Deconnect] [https://www.cpc-power.com/index.php?page=protection&amp;amp;lenom=NoAMSDOS NoAMSDOS software list] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3871 Computer Hits] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1359 Marmelade] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1412 Mickey Mouse] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2035 Split Personalities] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=911 Frank Bruno's Boxing] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=baudload Baudload software list] [https://www.cpc-power.com/index.php?page=protection&amp;amp;lenom=Keytone Keytone software list] To test Tape emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8548 Musical Loader] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19368 FatMag 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9211 Backtro] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8623 Unique] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8746 The Demo] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13108 CPC 30th Anniversary] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7542 Midline Process] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17902 Can Robots Take Control] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10030 Phortem] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9156 Batman Forever] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16736 Pinball Dreams] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7174 R-Type 128K] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6661 Nheredia] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13426 Doomsday Lost Echoes] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4025 Orion Prime] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9090 JavaCPC Overscan] Musical loader, Multi-drives, 3.5 inch (dual-head and 80 tracks) floppy drives support&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10029 RPM] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15518 DskTest] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6268 Discover] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14201 Crazy] [https://cpcrulez.fr/applications_disc-dlfrsilver_dump_tool_test_suite.htm Dlfrsilver Dump Tool Test Suite] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4812 Format II] [[ParaDOS]] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4933 Xexor] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6118 Discology] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4179 Hercule II] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16060 UltraDisc] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4284 Disc+Ultra] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5244 Disc'o'Magic] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9297 Multi Mark] To test FDC emulation&lt;br /&gt;
*[https://cpcrulez.fr/demostestDM_fatmag_01.htm FatMag (HFE version)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17853 Open Tower Defense] Rigorous FDC tests by Roudoudou [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=AutoDetect%20Disk%20Change Disk Swapping Autodetect software list] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10000 Superpix] Disk swapping detection [https://www.cpc-power.com/index.php?page=detail&amp;amp;onglet=dumps&amp;amp;num=8623 Unique Diskmaker] Generate discs in noiseload format [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12051 Demonstration of KBI protection] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5586 Protector]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=protection&amp;amp;stafftype=1&amp;amp;lenom=Weak%20Sectors Weak Sectors] [https://www.cpc-power.com/index.php?page=protection&amp;amp;stafftype=1&amp;amp;lenom=Gaps Custom Gaps] [https://www.cpc-power.com/index.php?page=protection&amp;amp;stafftype=0&amp;amp;lenom=Gap2 Custom Gap2] [https://www.cpc-power.com/index.php?page=protection&amp;amp;stafftype=1&amp;amp;lenom=SectorSizeX Sector SizeX] [https://www.cpc-power.com/index.php?page=protection&amp;amp;stafftype=1&amp;amp;lenom=SectorSize8 Sector Size8] [https://www.cpc-power.com/index.php?page=protection&amp;amp;stafftype=1&amp;amp;lenom=SectorSize7 Sector Size7] [https://www.cpc-power.com/index.php?page=protection&amp;amp;stafftype=1&amp;amp;lenom=SectorSize6 Sector Size6] [https://www.cpc-power.com/index.php?page=protection&amp;amp;stafftype=1&amp;amp;lenom=SectorErased Sector Erased] [https://www.cpc-power.com/index.php?page=protection&amp;amp;stafftype=1&amp;amp;lenom=64sectors 64 Sectors] [https://www.cpc-power.com/index.php?page=protection&amp;amp;stafftype=1&amp;amp;lenom=Custom Custom] [https://www.cpc-power.com/index.php?page=protection&amp;amp;lenom=HERBULOT Rémi Herbulot] [https://www.cpc-power.com/index.php?page=protection&amp;amp;lenom=Brice%20Rive Brice Rive] [https://www.cpc-power.com/index.php?page=protection&amp;amp;lenom=Rubi Rubi] [https://www.cpc-power.com/index.php?page=protection&amp;amp;lenom=MBC%20D7 MBC] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=logiciel%2044 Logiciel 44] Protected software lists&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1681 Prehistorik] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1699 Profession Détective] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=291 Emlyn Hugues Arcade Quiz] Other copy-protection schemes [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=674 Dark Sceptre] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1269 Krypton Factor] Works only on older floppy drives&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=180 1001 BC] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1887 Scott Winder Reporter] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1102 Holocauste] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=196 Speedlock AAAA] Destructive copy-protection [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1944 Sir Lancelot] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1897 Secret Defense] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1390 M'enfin] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=111 Turbo Cup] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=825 Erebus] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1607 Le Passager du Temps] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=435 Anti-copy bug software list] Exotic copy-protection&lt;br /&gt;
*[https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;cat=12 Protection schemes documented] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=207 Gaps] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=384 Latis] [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&amp;amp;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] Technical explanations&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3905 The Eternal Light] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19341 Paulina's Potions] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18813 Druid &amp;amp; Droid] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5197 Claudia BMP Converter] Software that only run on flawed emulators but not on real machines&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1546 Octoplex (crtc1)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=781 Dynamic Duo (crtc1)] [https://blog.logonsystem.eu/compendium/ 007 The Living Daylights (crtc1)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7479 Madness (crtc0)] [https://forum.system-cfg.com/viewtopic.php?p=234421#p234421 FMR (crtc1)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7455 Not Dead (crtc2)] Some known CRTC problems on real hardware&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2266 The Untouchables] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=135 Batman The Movie] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2318 Turrican] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=80 Technical explanation] CPC keyboard clash&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19283 Raytracing in BASIC] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15685 Julia Fractal] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7405 5KB 3 (Cray II emulator part)] To benchmark emulators using their fullspeed mode&lt;br /&gt;
&lt;br /&gt;
= File format specifications =&lt;br /&gt;
&lt;br /&gt;
*[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&amp;amp;num=386 CTRAW] [https://www.cbmstuff.com/downloads/scp/scp_image_specs.txt SCP] File formats of disk-image&lt;br /&gt;
*[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/ FLAC] [http://soundfile.sapp.org/doc/WaveFormat/ WAV] [https://www.datavoyage.com/mpgscript/mpeghdr.htm MP3] File formats of tape-image&lt;br /&gt;
*[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&lt;br /&gt;
*[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&amp;amp;num=10 Archive of SNR sessions]&lt;br /&gt;
*[http://leonard.oxg.free.fr/ymformat.html YM] [https://www.cpcwiki.eu/index.php/AYC AYC] [https://vgmrips.net/wiki/VGM_Specification VGM] Soundchip logging file formats&lt;br /&gt;
*[https://shaker.logonsystem.eu/sslcsl CSL] Cpc Scripting Language, a macro/scripting system to automate emulators&lt;br /&gt;
&lt;br /&gt;
= Emulation Tools  =&lt;br /&gt;
&lt;br /&gt;
*[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] [[Dsktools|Dsktools]] [[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/muckypaws/AmstradDSKExplorer Amstrad DSK Explorer] Set of tools about disk-images&lt;br /&gt;
*[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://cpctech.cpcwiki.de/download/2cdt.zip 2CDT] [http://cngsoft.no-ip.org/csw2cdt.htm CSW2CDT] [https://cpcrulez.fr/emulateurs_UTIL-CDT-CDT2WAV.htm CDT2WAV] [https://github.com/shred/tzxtools tzxtools] Set of tools about tape-images&lt;br /&gt;
*[http://www.cpcmania.com/news.htm CPRTools] Edit Amstrad Plus CPR cartridge-images&lt;br /&gt;
*[https://bochs.sourceforge.io/doc/docbook/user/winimage.html WinImage, DiskExplorer, Mtools] [https://www.fysnet.net/ultimate/index.htm Ultimate Imager] [https://github.com/ProgrammingHobby/CPM_Image-File_Explorer CP/M Image File Explorer] Access and edit hard-drive images&lt;br /&gt;
*[https://colourclash.co.uk/cpc-analyser/ CPC Analyser] [https://imhex.werwolv.net/ ImHex] Other tools&lt;br /&gt;
*[[Emulator tooling]] UI screenshots of tooling in CPC emulators&lt;br /&gt;
*[[WinApe|WinAPE]] [[WinCPC]] [[JavaCPC]] [https://code.google.com/archive/p/cpcsdk/ Caprice Reloaded] [http://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73 Caprice Forever] Emulators with an integrated Z80 Assembler&lt;br /&gt;
*[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] [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&lt;br /&gt;
*[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] [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&lt;br /&gt;
*[https://github.com/KarolS/millfork Millfork] [https://ccz80.webcindario.com/ccz80en.html ccz80] [https://www.mikekohn.net/micro/java_grinder.php Java Grinder] CPC cross-development with C-like or Java-like programming languages&lt;br /&gt;
*[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] A complete suite (IDE, compiler, resource editor) for developing CPC games/demos in Pascal&lt;br /&gt;
*[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&lt;br /&gt;
*[http://www.symbos.de/quigs.htm Quigs IDE] Suite of PC-based tools and editors for SymbOS application development&lt;br /&gt;
*[https://cpcbasic.webcindario.com/CPCBasicEn.html CPC Basic cross-compiler] [https://github.com/benchmarko/CPCBasic CPCBasic Unchained] [https://marketplace.visualstudio.com/items?itemName=cebe74.amstrad-basic-helper-vscode Amstrad Basic Helper] [https://www.cpcalive.com/cpcalive_en.html CpcAlive] [https://ugbasic.iwashere.eu/ ugBASIC] Cross-platform CPC development in BASIC&lt;br /&gt;
*[https://github.com/einar-saukas/ZX0 ZX0] [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&lt;br /&gt;
*[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/gfx2crtc gfx2crtc] [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&lt;br /&gt;
*[http://multipaint.kameli.net/ Multipaint] [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] [http://gcajdev.epizy.com/sprite_creator.php Sprite Creator] [https://www.aseprite.org/ Aseprite] [https://github.com/Cwiiis/maped/ Maped] Cross-platform CPC pixel art editors&lt;br /&gt;
*[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://www.julien-nevo.com/arkostracker/ Arkos Tracker 2] [https://tildearrow.org/furnace/ Furnace] [https://bintracker.org/ Bintracker] Cross-platform CPC music creation suites&lt;br /&gt;
&lt;br /&gt;
= Emulator Detection =&lt;br /&gt;
&lt;br /&gt;
If you want to promote usage of real CPC computers, you can detect CPC emulators by:&lt;br /&gt;
*Checking if the memory is initialized with zeroes, as real machines have random memory values at boot&lt;br /&gt;
*Focusing on the minute details in Z80, CRTC and PPI chips. They are most often wrong in emulators&lt;br /&gt;
*Examining the FDC chip. It is only replicated more or less superficially in all emulators because the internals of the chip are still unknown&lt;br /&gt;
&lt;br /&gt;
Combining these methods will definitely get you a 100% success rate in detecting emulators, even the toughest ones.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Emulator undetected.png|Emulator undetected&lt;br /&gt;
Emulator detected.png|Emulator detected&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is also this initiative for emulators who willingly want to be detected: [[Emulator_IDs|Emulator IDs]]&lt;br /&gt;
&lt;br /&gt;
= Emulators running on the Amstrad CPC =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! License&lt;br /&gt;
! Emulates&lt;br /&gt;
|-&lt;br /&gt;
| [[Amstrad BBC BASIC]]&lt;br /&gt;
| [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9862]&lt;br /&gt;
| 2.30&lt;br /&gt;
| Apr 2, 1986&lt;br /&gt;
| Commercial💲&lt;br /&gt;
| [[BBC BASIC]]&lt;br /&gt;
|-&lt;br /&gt;
| [[BASIC 1.1 Fuer CPC464]]&lt;br /&gt;
| [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4403]&lt;br /&gt;
| &lt;br /&gt;
| Oct 1986&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Locomotive BASIC 1.1]]&lt;br /&gt;
|-&lt;br /&gt;
| [[CP\/M]]&lt;br /&gt;
| [https://www.cpcwiki.eu/forum/applications/symbos-cpm-run-cpm-programs-in-a-virtual-machine/]&lt;br /&gt;
| &lt;br /&gt;
| Mar 21, 2024&lt;br /&gt;
| Freeware&lt;br /&gt;
| [[CP/M]]&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCZVM]]&lt;br /&gt;
| [https://www.cpcwiki.eu/index.php/Z-Machine]&lt;br /&gt;
| &lt;br /&gt;
| Jul 6, 2019&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Z-Machine]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Pac-Man]]&lt;br /&gt;
| [http://www.cpcwiki.eu/forum/games/speed-up-patch-for-pac-man-emulator-for-cpc-by-syx-toto/msg81222/#msg81222]&lt;br /&gt;
| 1.1&lt;br /&gt;
| Jun 5, 2014&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Pac-Man arcade|Pac-Man arcade]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Phoenix]]&lt;br /&gt;
| [https://norbertkehrer.github.io/phoenix_cpc.html]&lt;br /&gt;
| &lt;br /&gt;
| Jan 6, 2019&lt;br /&gt;
| Freeware&lt;br /&gt;
| [[Phoenix arcade|Phoenix arcade]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Space Invaders|Space Invaders]]&lt;br /&gt;
| [http://www.cpcwiki.eu/forum/games/space-invaders-arcade-emulator-for-amstrad-cpc/]&lt;br /&gt;
| 1.0&lt;br /&gt;
| Jun 11, 2016&lt;br /&gt;
| Freeware&lt;br /&gt;
| [[Space Invaders arcade|Space Invaders arcade]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Vezza]]&lt;br /&gt;
| [https://gitlab.com/sijnstra1/vezza]&lt;br /&gt;
| &lt;br /&gt;
| Oct 7, 2023&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Z-Machine]]&lt;br /&gt;
|-&lt;br /&gt;
| [[ZXM]]&lt;br /&gt;
| [https://cpcrulez.fr/applications_util-ZXm.htm]&lt;br /&gt;
| &lt;br /&gt;
| 1993&lt;br /&gt;
| Freeware&lt;br /&gt;
| [[ZX Spectrum|ZX Spectrum]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Zym]]&lt;br /&gt;
| [http://www.symbos.org/appinfo.htm?00054]&lt;br /&gt;
| 0.9&lt;br /&gt;
| Feb 19, 2022&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Z-Machine]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Emulator| ]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Emulators&amp;diff=113837</id>
		<title>Emulators</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Emulators&amp;diff=113837"/>
				<updated>2024-01-07T17:40:33Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: /* Alternative OS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Vote for your favorite emulator =&lt;br /&gt;
&lt;br /&gt;
[https://www.cpcwiki.eu/forum/emulators/which-emulator-s-do-you-use/ There is a poll on CPCWiki forum]&lt;br /&gt;
&lt;br /&gt;
= Software Platforms (Full OS independance) =&lt;br /&gt;
&lt;br /&gt;
== Java Platform  ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnold Jnr|Arnold Jnr]]&lt;br /&gt;
| [https://web.archive.org/web/20160727011826/http://www.arnoldemu.freeserve.co.uk/]&lt;br /&gt;
| &lt;br /&gt;
| Aug 27, 2001&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[JavaCPC|JavaCPC Desktop]]&lt;br /&gt;
| [https://sourceforge.net/projects/javacpc/] [http://sourceforge.net/projects/javagx4000/ JavaGX4000] [http://sourceforge.net/projects/cpcinajar/ CPCInAJar]&lt;br /&gt;
| 3.0.2&lt;br /&gt;
| Apr 8, 2022&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[JEMU|JEMU]]&lt;br /&gt;
| [http://jemu.winape.net/]&lt;br /&gt;
| &lt;br /&gt;
| Feb 19, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]], [[ZX80/81]], [[BBC Micro]], [[VZ-300]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[WebCPC|WebCPC]]&lt;br /&gt;
| [http://sourceforge.net/projects/webcpc/] [https://web.archive.org/web/20110903132520/http://java.cpc-live.com/ JavaCPC Applet]&lt;br /&gt;
| r15&lt;br /&gt;
| Dec 31, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== JS / Wasm / Web Platform ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCBox|CPCBox]] &lt;br /&gt;
| [https://www.retroshowcase.gr/cpcbox-master/] [https://web.archive.org/web/20190702084943/http://www.cpcbox.com/] [https://bzhgames.xyz/index.php BZH Games]&lt;br /&gt;
| beta &lt;br /&gt;
| Dec 28, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[CrocoDS|CrocoDS]] &lt;br /&gt;
| [https://crocods.org/web/] [https://github.com/redbug26/crocods Repo]&lt;br /&gt;
| &lt;br /&gt;
| Jun 9, 2020&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[MAME|Emularity (MAME)]] &lt;br /&gt;
| [https://github.com/db48x/emularity] [http://jsmess.textfiles.com/ JSMESS] [https://classicreload.com/platform/amstrad%20cpc Classic Reload]&lt;br /&gt;
[https://archive.org/details/softwarelibrary_cpc_games CPC Games] [https://archive.org/details/softwarelibrary_cpc_demos CPC Demos] on Internet Archive&lt;br /&gt;
| &lt;br /&gt;
| Oct 1, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| Lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Roland javascript emulator|Roland]] &lt;br /&gt;
| [https://web.archive.org/web/20190308142014/http://roland.retrolandia.net/]&lt;br /&gt;
| &lt;br /&gt;
| Sep 24, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Ronald|Ronald]] &lt;br /&gt;
| [https://ronald.migge.io] [https://github.com/mdm/ronald Repo]&lt;br /&gt;
| &lt;br /&gt;
| Sep 25, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[RVMplayer|RVMplayer]] &lt;br /&gt;
| [https://www.retrovirtualmachine.org/rvmplayer/]&lt;br /&gt;
| 0.1.1&lt;br /&gt;
| May 6, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]]&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[Tiny Emus]]&lt;br /&gt;
| [https://floooh.github.io/tiny8bit/] [https://floooh.github.io/tiny8bit/cpc-ui.html] [http://floooh.github.io/virtualkc/ yakc] [https://online.oldgames.sk/play/cpc Online Old Games] [https://bzhgames.xyz/index.php BZH Games]&lt;br /&gt;
[https://devilmarkus.de/ WebGL 3d 8-bit] [https://www.amstradcpcgames.eu/ Amstrad CPC Games] [http://cpc.novidee.com/ zpz]&lt;br /&gt;
| &lt;br /&gt;
| Nov 4, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| [[KC Compact]], [[ZX Spectrum]], [[VIC-20]], [[Commodore 64]], [[Acorn Atom]], [[KC 85]], [[KC 87]], [[Z9001]], [[Z1013]], [[LC80]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Griffin CPC emulator|Xiragon]]&lt;br /&gt;
| [https://web.archive.org/web/20191027200008/http://xiragon.com/]&lt;br /&gt;
| &lt;br /&gt;
| Nov 28, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== LibRetro (API for emulators) ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! Type&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[libretro-cap32]]&lt;br /&gt;
| Emulation core&lt;br /&gt;
| [https://github.com/libretro/libretro-cap32]&lt;br /&gt;
| 4.5.3&lt;br /&gt;
| Mar 16, 2022&lt;br /&gt;
| -&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[libretro-crocods]]&lt;br /&gt;
| Emulation core&lt;br /&gt;
| [https://github.com/libretro/libretro-crocods]&lt;br /&gt;
| 0.1&lt;br /&gt;
| Feb 28, 2017&lt;br /&gt;
| -&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[MAME|MESS 2015]]&lt;br /&gt;
| Emulation core&lt;br /&gt;
| [https://docs.libretro.com/meta/core-list/]&lt;br /&gt;
| 0.160&lt;br /&gt;
| circa 2015&lt;br /&gt;
| -&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[SugarLibRetro]]&lt;br /&gt;
| Emulation core&lt;br /&gt;
| [https://github.com/Tom1975/SugarLibRetro] (wraps independent lib [https://github.com/Tom1975/CPCCore CPCCore])&lt;br /&gt;
| git&lt;br /&gt;
| Jan 10, 2020&lt;br /&gt;
| -&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[EmuVR]]&lt;br /&gt;
| Frontend&lt;br /&gt;
| [https://www.emuvr.net/]&lt;br /&gt;
| &lt;br /&gt;
| Dec 25, 2022&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Depends on emulation cores&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[Hackable Console]]&lt;br /&gt;
| Frontend&lt;br /&gt;
| [https://github.com/leiradel/hackable-console]&lt;br /&gt;
| &lt;br /&gt;
| Mar 27, 2022&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Depends on emulation cores&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[RetroArch]]&lt;br /&gt;
| Frontend&lt;br /&gt;
| [https://www.retroarch.com/] [https://www.retroarch.com/?page=achievements RetroAchievements]&lt;br /&gt;
| 1.16.0&lt;br /&gt;
| Sep 22, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Depends on emulation cores&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Current Operating Systems =&lt;br /&gt;
&lt;br /&gt;
== Desktop ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Windows&lt;br /&gt;
! macOS&lt;br /&gt;
! Linux&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[ACE-DL]]&lt;br /&gt;
| [http://www.roudoudou.com/ACE-DL] [https://discord.gg/rKxFPndHPw Discord] [http://ace.cpcscene.net Based on ACE]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| &lt;br /&gt;
| Dec 17, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[AMSpiriT|AMSpiriT]]&lt;br /&gt;
| [https://www.amspirit.fr/] [https://forum.system-cfg.com/viewtopic.php?f=24&amp;amp;t=11535 Forum]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 0.967b&lt;br /&gt;
| Dec 6, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnimedes|Arnimedes]] &lt;br /&gt;
| [http://www.arnimedes.de/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.02&lt;br /&gt;
| Jul 7, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnold_(Emulator)|Arnold]] &lt;br /&gt;
| [http://www.cpcwiki.eu/forum/emulators/arnold-wip/msg144749/#msg144749] [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]&lt;br /&gt;
| ✅&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ⚠️&lt;br /&gt;
| [http://www.cpcwiki.eu/imgs/d/dd/Arnoldwip_src.tar.bz2 WIP]&lt;br /&gt;
| May 13, 2017&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Caprice Forever]] &lt;br /&gt;
| [http://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 23.11&lt;br /&gt;
| Nov 11, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware &amp;amp; Outdated sources&lt;br /&gt;
|-&lt;br /&gt;
| [[CaPriCe|Caprice32]] &lt;br /&gt;
| [https://github.com/ColinPitrat/caprice32/releases] [http://sourceforge.net/projects/caprice32/ Old repo] [https://snapcraft.io/caprice32 Linux] [http://aleste520.narod.ru/caprice.html Aleste] [https://code.google.com/archive/p/cpcsdk/ Reloaded]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 4.6.0&lt;br /&gt;
| Oct 8, 2022&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Clock Signal|Clock Signal]] &lt;br /&gt;
| [https://github.com/TomHarte/CLK/releases] [https://snapcraft.io/clock-signal Linux]&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| &lt;br /&gt;
| Dec 28, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]], [[ZX80/81]], [[Enterprise]], [[MSX]], [[Oric 1/Atmos|Oric]], [[ColecoVision]], [[Acorn Electron]], [[Apple II]], [[VIC-20]], [[Atari 2600]], [[Atari ST]], [[Macintosh]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CoPaCabana|CoPaCabana]]&lt;br /&gt;
| [http://copacabana.emuunlim.com/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 0.74&lt;br /&gt;
| Apr 12, 2006&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[CPC++|CPC++]] &lt;br /&gt;
| [http://bricerive.free.fr/cpc/cpcpp.html]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ⚠️&lt;br /&gt;
| b700&lt;br /&gt;
| May 31, 2015&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[cpc4x|cpc4x]] &lt;br /&gt;
| [http://www.ulrich-cordes.de/cpc/english/cpcemu.htm]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| 0.26&lt;br /&gt;
| Dec 11, 2004&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEC|CPCEC]] &lt;br /&gt;
| [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]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| &lt;br /&gt;
| Aug 6, 2022&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[ZX Spectrum]], [[Commodore 64]], [https://www.youtube.com/watch?v=5LwCy0gRAEc MSX (unreleased)]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEC|cpcec-gtk]] &lt;br /&gt;
| [https://bitbucket.org/norecess464/cpcec-gtk/]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| &lt;br /&gt;
| Feb 4, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCemu|CPCemu]] &lt;br /&gt;
| [http://www.cpc-emu.org/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 2.5&lt;br /&gt;
| Aug 13, 2022&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEPower|CPCEPower]] &lt;br /&gt;
| [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 2105&lt;br /&gt;
| Jun 4, 2021&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCSharp|CPCSharp]] &lt;br /&gt;
| [https://github.com/dolbz/CPCSharp/releases/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.0.0-beta1&lt;br /&gt;
| Apr 7, 2021&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPvC|CPvC]]&lt;br /&gt;
| [https://github.com/alybaek2/cpvc]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| &lt;br /&gt;
| Sep 30, 2022&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CrocoDS|CrocoDS]]&lt;br /&gt;
| [https://crazypiri.eu/crocods/] [https://github.com/redbug26/crocods Repo]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| 4.0 beta3&lt;br /&gt;
| Dec 10, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[DSP|DSP]]&lt;br /&gt;
| [https://github.com/leniad/dsp-emulator/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ⚠️&lt;br /&gt;
| 0.22&lt;br /&gt;
| Nov 15, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| [[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]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[ep128emu|ep128emu]]&lt;br /&gt;
| [https://github.com/istvan-v/ep128emu]&lt;br /&gt;
| ✅&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ⚠️&lt;br /&gt;
| 2.0.11.2&lt;br /&gt;
| Apr 19, 2019&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]], [[Enterprise]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[MESS|MAME]]&lt;br /&gt;
| [http://mamedev.org/release.html] [http://sdlmame.lngn.net/ macOS] [http://wiki.mamedev.org/index.php/SDL_Supported_Platforms Other ports] &lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 0.261&lt;br /&gt;
| Nov 29, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[NO$CPC|NO$CPC]]&lt;br /&gt;
| [http://problemkaputt.de/cpc.htm]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.8&lt;br /&gt;
| Nov 2, 2000&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[PC-CPC|PC-CPC]] &lt;br /&gt;
| [http://cpcrulez.fr/emulateurs_download-WIN-PC-CPC.htm] [https://github.com/DemoniakLudo/PC-CPC Repo]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 0.1at b29&lt;br /&gt;
| Nov 17, 2011&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Retro Virtual Machine|Retro Virtual Machine]]&lt;br /&gt;
| [https://www.retrovirtualmachine.org]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 2.1.11&lt;br /&gt;
| Nov 13, 2023&lt;br /&gt;
| ❌ Removed&lt;br /&gt;
| ✅&lt;br /&gt;
| [[ZX Spectrum]], [[MSX|MSX 1]], [[ColecoVision]], [[SG-1000]], [[Master System]]&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[Roland Emulator|Roland]] &lt;br /&gt;
| [https://www.rolandemu.de/en/downloads.html] [https://github.com/raldus/roland Repo]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| 0.70&lt;br /&gt;
| Apr 20, 2017&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Ronald|Ronald]] &lt;br /&gt;
| [https://github.com/mdm/ronald]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| &lt;br /&gt;
| Sep 25, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[SugarBox|SugarBox]]&lt;br /&gt;
| [https://github.com/Tom1975/SugarboxV2] [http://sugarbox.free.fr/ Old site]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 2.0.2&lt;br /&gt;
| Nov 29, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[VirtualCPC|Virtual CPC]] &lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-WIN-virtual_cpc.htm] [https://web.archive.org/web/20200112094913/http://users.otenet.gr/~sulfonic/cpc/ Archive] &lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.1&lt;br /&gt;
| Aug 8, 2011&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[WinApe|WinAPE]] &lt;br /&gt;
| [http://www.winape.net/] [https://www-ftp.lip6.fr/pub/amstrad/emulator/CPCWIN10.ZIP CPCwin]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 2.0b2&lt;br /&gt;
| Jan 5, 2016&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[WinCPC|WinCPC]] / [[MacCPC|MacCPC]]&lt;br /&gt;
| [http://www.wincpc.ch/index.php?topic=projects] [https://web.archive.org/web/20050409133618/http://www.easypoint.ch/vbcpc/ vbCPC]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| 0.9.2&lt;br /&gt;
| Jan 22, 2010&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[XCPC|Xcpc]]&lt;br /&gt;
| [https://www.xcpc-emulator.net/]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| 0.38.1&lt;br /&gt;
| Apr 8, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[XNACPC|XNACPC]]&lt;br /&gt;
| [http://www.gavpugh.com/2011/11/11/xnacpc-xbox-360-amstrad-cpc-emulator-released/] [https://www.gavpugh.com/old-code/ CPC3D]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.0&lt;br /&gt;
| Nov 11, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[YACE|YACE]]&lt;br /&gt;
| [http://www.youtube.com/watch?v=uxQkljwc0i4]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| &lt;br /&gt;
| Nov 12, 2014&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| ❌ Unreleased&lt;br /&gt;
|-&lt;br /&gt;
| [[ZEsarUX|ZEsarUX]]&lt;br /&gt;
| [https://github.com/chernandezba/zesarux]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| X&lt;br /&gt;
| Sep 8, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| [[PCW]], [[ZX Spectrum]], [[ZX80/81]], [[MSX|MSX 1]], [[ColecoVision]], [[Spectravideo]], [[Jupiter ACE]], [[Sam Coupe]], [[SG-1000]], [[Master System]], [[Sinclair QL]], [[MK14]], [[Z88]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Alternative OS ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! AmigaOS PPC&lt;br /&gt;
! AROS&lt;br /&gt;
! MorphOS&lt;br /&gt;
! Haiku&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[ACE_(Emulator)|ACE]]&lt;br /&gt;
| [http://ace.cpcscene.net Web site] [https://framagit.org/search?search=acepansion Plugins' repo]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| v1.26 - Jan 1, 2024&lt;br /&gt;
| v1.25.1 - Oct 15, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| Dozens of CPC hardware expansions thru plugins&lt;br /&gt;
| Freeware (plugins are Open Source)&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnold]]&lt;br /&gt;
| [http://hirudov.com/amiga/Arnold.php AmigaOS] [http://archives.aros-exec.org/?function=showfile&amp;amp;file=emulation/computer/arnold-aros-i386.lha AROS]&lt;br /&gt;
| v1.15 - Dec 17, 2012&lt;br /&gt;
| Oct 24, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Caprice32]]&lt;br /&gt;
| [http://archives.aros-exec.org/?function=showfile&amp;amp;file=emulation/computer/caprice-aros-i386.lha]&lt;br /&gt;
| ❌&lt;br /&gt;
| v4.2.0 - Oct 23, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[MAME]]&lt;br /&gt;
| [http://se.os4depot.net/index.php?function=showfile&amp;amp;file=emulation/computer/sdl_mess.lha AmigaOS] [http://fabportnawak.free.fr/mame/ MorphOS] [https://depot.haiku-os.org/#!/pkg/mame/haikuports/haikuports_x86_64/0/261/-/-/1/x86_64 Haiku]&lt;br /&gt;
| MESS v0.146u4 - Aug 19, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| MESS v0.113 - Nov 1, 2007&lt;br /&gt;
| v0.261-1 - Dec 1, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Mobile ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[andcpc]]&lt;br /&gt;
| [http://code.google.com/p/andcpc/]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Apr 4, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[Azimuth]]&lt;br /&gt;
| [https://play.google.com/store/apps/details?id=johnidis.azimuth]&lt;br /&gt;
| 1.11&lt;br /&gt;
| Aug 22, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Adware and in-app purchases💲&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[CPCDroid]]&lt;br /&gt;
| [https://fmsdevel.wisecoding.es/cpcdroid-amstrad-cpc-on-android-phone-2/]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Mar 2, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[CPCemu|CPCemu]] &lt;br /&gt;
| [https://play.google.com/store/apps/details?id=com.loritznet.softwarecreations.cpcemu]&lt;br /&gt;
| 2.5&lt;br /&gt;
| Aug 14, 2022&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[Droid-CPC]]&lt;br /&gt;
| [http://play.google.com/store/apps/details?id=com.kokak.droidcpc]&lt;br /&gt;
| 1.1.01&lt;br /&gt;
| Dec 15, 2016&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Commercial💲&lt;br /&gt;
|-&lt;br /&gt;
| iOS&lt;br /&gt;
| [[CPCemu|CPCemu]]&lt;br /&gt;
| [http://www.cpc-emu.org/]&lt;br /&gt;
| 2.5&lt;br /&gt;
| Aug 13, 2022&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Software available on request&lt;br /&gt;
|-&lt;br /&gt;
| iOS&lt;br /&gt;
| [[CrocoDS]]&lt;br /&gt;
| [https://crazypiri.eu/crocods/] [https://github.com/redbug26/crocods-ios Repo]&lt;br /&gt;
| 2.1&lt;br /&gt;
| Jun 21, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Discontinued Operating Systems =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| Acorn RISC OS&lt;br /&gt;
| [[!CPC|!CPC]]&lt;br /&gt;
| [https://www-ftp.lip6.fr/pub/amstrad/emulator/CPC0728.ZIP] [http://ftp2.fr.openbsd.org/ftp/pub/amstrad/emulator/CPCS1124.ZIP]&lt;br /&gt;
| &lt;br /&gt;
| Jul 28, 1996&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Acorn RISC OS&lt;br /&gt;
| [[!CPCemu|!CPCemu]]&lt;br /&gt;
| [http://huggers-world.de/mops.html]&lt;br /&gt;
| 1.21&lt;br /&gt;
| Mar 22, 2016&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS m68k&lt;br /&gt;
| [[A-CPC|A-CPC]]&lt;br /&gt;
| [https://cpctech.cpcwiki.de/download/a-cpc.lha]&lt;br /&gt;
| 2.0&lt;br /&gt;
| Mar 30, 2002&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS m68k&lt;br /&gt;
| [[Ami-cpc|Ami-cpc]]&lt;br /&gt;
| [http://deplanque.chez.com/] [http://deplanque.chez.com/download_fr.html Ami-cpc2]&lt;br /&gt;
| 0.46&lt;br /&gt;
| Jan 21, 1998&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS m68k&lt;br /&gt;
| [[CPE|CPE]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-AMIGA-CPE.htm]&lt;br /&gt;
| &lt;br /&gt;
| Feb 24, 1995&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS m68k&lt;br /&gt;
| [[Emu-CPC|EmuCPC]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-AMIGA-emucpc.htm]&lt;br /&gt;
| 0.7&lt;br /&gt;
| Sep 15, 1996&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| BlackBerry OS&lt;br /&gt;
| [[BB-CPC|BB-CPC]]&lt;br /&gt;
| [http://appworld.blackberry.com/webstore/content/30963891/] (dead link)&lt;br /&gt;
| 1.0.1.3&lt;br /&gt;
| Jul 15, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Commercial💲&lt;br /&gt;
|-&lt;br /&gt;
| Classic Mac OS&lt;br /&gt;
| [[CPCplusplus|CPC++]]&lt;br /&gt;
| [http://bricerive.free.fr/cpc/cpcpp.html]&lt;br /&gt;
| 1.3.2&lt;br /&gt;
| Oct 6, 1997&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Shareware💲&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[AdvanceMESS|AdvanceMESS]]&lt;br /&gt;
| [https://www.advancemame.it/readme]&lt;br /&gt;
| 3.9&lt;br /&gt;
| Sep 8, 2018&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[Arnimedes|Arnimedes]]&lt;br /&gt;
| [http://www.arnimedes.de/]&lt;br /&gt;
| 0.8a&lt;br /&gt;
| Apr 15, 2000&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[Caprice32]] &lt;br /&gt;
| [https://ftp.nvg.ntnu.no/pub/cpc/emulator/msdos/capriced.zip]&lt;br /&gt;
| 1.11&lt;br /&gt;
| Sep 20, 1999&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPC]] &lt;br /&gt;
| [https://www-ftp.lip6.fr/pub/amstrad/emulator/CPC055B.ZIP]&lt;br /&gt;
| 0.55b&lt;br /&gt;
| May 16, 1997&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPC-em|CPC-em]] &lt;br /&gt;
| [http://cpc-em.emuunlim.com/]&lt;br /&gt;
| 0.4&lt;br /&gt;
| Jul 7, 2004&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPCE|CPCE]]&lt;br /&gt;
| [http://cngsoft.no-ip.org/cpce/]&lt;br /&gt;
| 1.94&lt;br /&gt;
| Jun 2, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPCemu|CPCemu]]&lt;br /&gt;
| [http://www.cpc-emu.org/]&lt;br /&gt;
| 1.5&lt;br /&gt;
| Jul 7, 1998&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPE|CPE]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-DOS-CPE.htm]&lt;br /&gt;
| 5.2&lt;br /&gt;
| Apr 21, 1997&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[NO$CPC|NO$CPC]]&lt;br /&gt;
| [http://problemkaputt.de/cpc.htm]&lt;br /&gt;
| 1.8&lt;br /&gt;
| Nov 2, 2000&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[PC-CPC|PC-CPC]] &lt;br /&gt;
| [http://deplanque.chez.com/download_fr.html]&lt;br /&gt;
| &lt;br /&gt;
| Feb 3, 1998&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPCEMU (RWCPC)|RWCPC]]&lt;br /&gt;
| [https://www-ftp.lip6.fr/pub/amstrad/emulator/RWCPC.ZIP]&lt;br /&gt;
| &lt;br /&gt;
| Mar 23, 1995&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[SIMCPC|SIMCPC]]&lt;br /&gt;
| [https://www-ftp.lip6.fr/pub/amstrad/emulator/SIMCPC.ZIP]&lt;br /&gt;
| &lt;br /&gt;
| Dec 10, 1989&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Shareware💲&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[YAGE|YAGE]]&lt;br /&gt;
| [https://www.zophar.net/cpc/yage.html]&lt;br /&gt;
| 0.91&lt;br /&gt;
| Oct 24, 1998&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| EXOS&lt;br /&gt;
| [[Software CPC Emulator|Software CPC Emulator]]&lt;br /&gt;
| [http://www.ep128.hu/Ep_Util/Prg/Amstrad_CPC_Emulator_13.rar] [http://www.ep128.hu/Ep_Util/Amstrad_CPC_emu.htm]&lt;br /&gt;
| 1.3&lt;br /&gt;
| Jan 11, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Maemo&lt;br /&gt;
| [[CPCm]]&lt;br /&gt;
| [http://maemo.org/downloads/product/Maemo5/cpcm/]&lt;br /&gt;
| 1.20-1&lt;br /&gt;
| Apr 27, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| MSX-DOS&lt;br /&gt;
| [[EMU6CPC|EMU6CPC]]&lt;br /&gt;
| [http://romu6.blogspot.com/2018/12/emu6cpc-emulador-de-amstrad-cpc-6128.html]&lt;br /&gt;
| &lt;br /&gt;
| Dec 17, 2018&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Palm OS&lt;br /&gt;
| [[CaPriCe for Palm OS|CaPriCe for Palm OS]]&lt;br /&gt;
| [https://web.archive.org/web/20230127143354/https://coste.frederic.free.fr/cpc/cpc_en.htm]&lt;br /&gt;
| 2.8&lt;br /&gt;
| Jun 28, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Palm OS&lt;br /&gt;
| [[CoPaCabana|CoPaCabana]]&lt;br /&gt;
| [http://copacabana.emuunlim.com/]&lt;br /&gt;
| 0.75&lt;br /&gt;
| Dec 4, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Pocket PC&lt;br /&gt;
| [[CaPriCe|PocketCaprice]]&lt;br /&gt;
| [https://web.archive.org/web/20160506010209/http://www.clubic.com/telecharger-fiche44888-pocketcaprice.html]&lt;br /&gt;
| 0.9&lt;br /&gt;
| Aug 19, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| SunOS&lt;br /&gt;
| [[CPCplusplus|CPC++]]&lt;br /&gt;
| [http://bricerive.free.fr/cpc/cpcpp.html]&lt;br /&gt;
| 1.3.0&lt;br /&gt;
| Feb 22, 1997&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Shareware💲&lt;br /&gt;
|-&lt;br /&gt;
| Symbian&lt;br /&gt;
| [[S60-CPC|S60-CPC]]&lt;br /&gt;
| [http://kokak.free.fr/s60cpc.htm]&lt;br /&gt;
| 0.74&lt;br /&gt;
| Feb 21, 2006&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Windows 9x&lt;br /&gt;
| [[CPC-em|CPC-em]] &lt;br /&gt;
| [http://cpc-em.emuunlim.com/]&lt;br /&gt;
| 0.3&lt;br /&gt;
| Jan 22, 2004&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Windows 9x&lt;br /&gt;
| [[MTMW|MTMW]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-WIN-MTMW.htm]&lt;br /&gt;
| 1.30B&lt;br /&gt;
| Jan 11, 2000&lt;br /&gt;
| ✅&lt;br /&gt;
| [[ZX Spectrum]], [[ZX80/81]], [[Enterprise]], [[Jupiter ACE]]&lt;br /&gt;
| Freeware&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Home Consoles =&lt;br /&gt;
&lt;br /&gt;
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, PS Vita TV, GameCube, Wii, Wii U and Switch'''. Or you can use these stand-alone CPC emulators:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| Microsoft XBOX&lt;br /&gt;
| [[Arnold|ArnoldX]]&lt;br /&gt;
| [https://web.archive.org/web/20120705163939/http://forums.xbox-scene.com/index.php?showtopic=711667] [https://cpcrulez.fr/emulateurs_download-XBOX-ARNOLDX.htm]&lt;br /&gt;
| v5&lt;br /&gt;
| Apr 20, 2010&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Microsoft XBOX&lt;br /&gt;
| [[CoinOPS|CoinOPS (RetroFE)]]&lt;br /&gt;
| [https://web.archive.org/web/20160518183115/https://coinopsproject.freeforums.org/viewtopic.php?f=0&amp;amp;t=1213]&lt;br /&gt;
| 5&lt;br /&gt;
| Oct 18, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| Lots of other computer systems&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Microsoft Xbox 360&lt;br /&gt;
| [[XNACPC|XNACPC]]&lt;br /&gt;
| [http://www.gavpugh.com/2011/11/11/xnacpc-xbox-360-amstrad-cpc-emulator-released/]&lt;br /&gt;
| 1.0&lt;br /&gt;
| Nov 11, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo Wii&lt;br /&gt;
| [[Wiituka|Wiituka]]&lt;br /&gt;
| [http://wiituka.dantoine.org/]&lt;br /&gt;
| 0.98.8&lt;br /&gt;
| May 15, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Sega Dreamcast&lt;br /&gt;
| [[CPCast|CPCast]]&lt;br /&gt;
| [http://www.dcemu.co.uk/vbulletin/showthread.php?t=24100]&lt;br /&gt;
| &lt;br /&gt;
| May 6, 2006&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Sega Dreamcast&lt;br /&gt;
| [[DreamCPC|DreamCPC]]&lt;br /&gt;
| [https://www.jm1200.fr/index.php?r=2]&lt;br /&gt;
| Alpha 3&lt;br /&gt;
| Oct 16, 2005&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Sony PS2&lt;br /&gt;
| [[CPC-em|CPC-em]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-ps2-CPC-EM.htm]&lt;br /&gt;
| 0.4&lt;br /&gt;
| Dec 22, 2004&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Sony PS3&lt;br /&gt;
| [[Caprice32|Caprice32]]&lt;br /&gt;
| [https://web.archive.org/web/20171003153204/http://psx-scene.com/forums/content/caprice32-4-1-0-dbg-emulator-ps3-2119/]&lt;br /&gt;
| 4.1.0 DBG&lt;br /&gt;
| Apr 9, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Handheld Consoles =&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 and OpenDingux'''. Or you can use these stand-alone CPC emulators:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| Dingoo A320 / A330&lt;br /&gt;
| [[Pituka|Pituka Dingux]]&lt;br /&gt;
| [http://david.dantoine.org/proyecto/4/]&lt;br /&gt;
| 0.8pre&lt;br /&gt;
| Aug 19, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Dingoo A320 / A330&lt;br /&gt;
| [[Caprice|Dingux-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/105-Amstrad/]&lt;br /&gt;
| 1.1.2&lt;br /&gt;
| Oct 17, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark Caanoo&lt;br /&gt;
| [[Caprice|Caanoo-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/165-Amstrad/]&lt;br /&gt;
| 1.1.3&lt;br /&gt;
| Apr 24, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark GP2x&lt;br /&gt;
| [[Caprice|CapriceGP2x]]&lt;br /&gt;
| [https://web.archive.org/web/20130315195529/http://wiki.gp2x.org/wiki/CapriceGP2x]&lt;br /&gt;
| 0.5&lt;br /&gt;
| Feb 22, 2006&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark GP2x&lt;br /&gt;
| [[Caprice|GP2X-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/42-Amstrad/]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Aug 29, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark GP32&lt;br /&gt;
| [[Pituka|Pituka GP32]]&lt;br /&gt;
| [http://david.dantoine.org/proyecto/4/]&lt;br /&gt;
| 1d&lt;br /&gt;
| May 15, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark Wiz&lt;br /&gt;
| [[Caprice|Wiz-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/89-Amstrad/]&lt;br /&gt;
| 1.1.0&lt;br /&gt;
| Aug 29, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GCW Zero&lt;br /&gt;
| [[Caprice|Dingux-CAP32]]&lt;br /&gt;
| [https://github.com/kerheol/dingux-cap32]&lt;br /&gt;
| 1.1.2&lt;br /&gt;
| May 25, 2014&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| JXD S5110 / S601 &amp;amp; Yinlips G18&lt;br /&gt;
| [[Caprice|JXD-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/206-Amstrad/]&lt;br /&gt;
| 1.1.1&lt;br /&gt;
| Oct 27, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo DS&lt;br /&gt;
| [[AmeDS|AmeDS]] &lt;br /&gt;
| [https://web.archive.org/web/20131021073302/http://www.portabledev.com/pages/ds/jeuxdev.-perso/ameds.php]&lt;br /&gt;
| 4.0&lt;br /&gt;
| Apr 25, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo DS&lt;br /&gt;
| [[CrocoDS|CrocoDS]]&lt;br /&gt;
| [http://www.kyuran.be/blog/2007/11/09/crocods-20-2/] [https://github.com/redbug26/crocods-nds Repo]&lt;br /&gt;
| 2.0&lt;br /&gt;
| Nov 9, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo GameBoy Advance&lt;br /&gt;
| [[Mini Amstrad Emulator|Mini Amstrad Emulator]] &lt;br /&gt;
| [https://playeradvance.org/forum/showthread.php?t=765]&lt;br /&gt;
| &lt;br /&gt;
| Dec 26, 2005&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Odroid GO&lt;br /&gt;
| [[CapriceESP32|CapriceESP32]] &lt;br /&gt;
| [https://github.com/grantrismo/CapriceESP32]&lt;br /&gt;
| &lt;br /&gt;
| Dec 3, 2020&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| OpenDingux&lt;br /&gt;
| [[CrocoDS|CrocoDS]]&lt;br /&gt;
| [https://crazypiri.eu/crocods/] [https://github.com/redbug26/crocods Repo]&lt;br /&gt;
| &lt;br /&gt;
| Jan 15, 2020&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Pandora&lt;br /&gt;
| [[Caprice|Pandora-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/131-Amstrad/]&lt;br /&gt;
| 1.1.0&lt;br /&gt;
| Jun 27, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Sony PSP&lt;br /&gt;
| [[Caprice32 PSP]]&lt;br /&gt;
| [http://psp.akop.org/caprice32]&lt;br /&gt;
| 4.2.0.2&lt;br /&gt;
| Nov 28, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Sony PSP&lt;br /&gt;
| [[CPCPSP|CPCPSP]]&lt;br /&gt;
| [https://web.archive.org/web/20130325143915/http://dl.qj.net/psp/emulators/cpcpsp-v01.html]&lt;br /&gt;
| 0.1&lt;br /&gt;
| Dec 24, 2005&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Sony PSP&lt;br /&gt;
| [[PSPCAP32|PSPCAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/3-Amstrad/]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Aug 21, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Trimui Model S&lt;br /&gt;
| [[Arnold|Arnold Trimui]]&lt;br /&gt;
| [https://github.com/liartes/arnold_gcw0]&lt;br /&gt;
| &lt;br /&gt;
| Oct 19, 2021&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Single-Board Computers / Raspberry Pi =&lt;br /&gt;
&lt;br /&gt;
[https://www.libretro.com/index.php/powered-by-libretro/ LibRetro / RetroArch] is used as the foundation of [https://www.lakka.tv/ Lakka], [https://wiki.recalbox.com/en/advanced-usage/retroarch Recalbox], [https://batocera.org/ Batocera] and [https://retropie.org.uk/ RetroPie] alternative OSes for the Raspberry Pi and other SBC.&lt;br /&gt;
But you can also use [https://www.retroarch.com/index.php?page=platforms RetroArch] for Amstrad CPC emulation on a stock Raspberry Pi OS. Or you can use these stand-alone CPC emulators:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[CPC4Rpi|#CPC4Rpi]]&lt;br /&gt;
| [https://web.archive.org/web/20150321200308/http://store.raspberrypi.com/projects/cpc4rpi]&lt;br /&gt;
| 1.1&lt;br /&gt;
| Dec 19, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Commercial💲&lt;br /&gt;
|-&lt;br /&gt;
| [[CapriceRPI|CapriceRPI]]&lt;br /&gt;
| [https://github.com/KaosOverride/CapriceRPI]&lt;br /&gt;
| 1.3d&lt;br /&gt;
| Feb 28, 2016&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Clock Signal|Clock Signal]] &lt;br /&gt;
| [https://snapcraft.io/install/clock-signal/raspbian]&lt;br /&gt;
| &lt;br /&gt;
| Dec 28, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]], [[ZX80/81]], [[Enterprise]], [[MSX]], [[Oric 1/Atmos|Oric]], [[ColecoVision]], [[Acorn Electron]], [[Apple II]], [[VIC-20]], [[Atari 2600]], [[Atari ST]], [[Macintosh]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEPower|CPCEPower]] &lt;br /&gt;
| [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73]&lt;br /&gt;
| 2105&lt;br /&gt;
| Jun 4, 2021&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[MESS|MAME]]&lt;br /&gt;
| [https://stickfreaks.com/mame/]&lt;br /&gt;
| 0.261&lt;br /&gt;
| Nov 29, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[SugarPi|SugarPi]]&lt;br /&gt;
| [https://github.com/Tom1975/SugarPi]&lt;br /&gt;
| 1.2.0&lt;br /&gt;
| Feb 3, 2021&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[ZEsarUX|ZEsarUX]]&lt;br /&gt;
| [https://github.com/chernandezba/zesarux]&lt;br /&gt;
| X&lt;br /&gt;
| Sep 8, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| [[PCW]], [[ZX Spectrum]], [[ZX80/81]], [[MSX|MSX 1]], [[ColecoVision]], [[Spectravideo]], [[Jupiter ACE]], [[Sam Coupe]], [[SG-1000]], [[Master System]], [[Sinclair QL]], [[MK14]], [[Z88]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Hardware =&lt;br /&gt;
&lt;br /&gt;
*[[CPC TREX|CPC TREX]] [[C-ONE|CPC-ONE]] TurboCPC core running on a FPGA board&lt;br /&gt;
*[http://ralferoo.blogspot.fr/ CPC FPGA] CPC emulation running on a custom made FPGA board&lt;br /&gt;
*[[FPGAmstrad|FPGAmstrad]] [https://github.com/renaudhelias/CoreAmstrad CoreAmstrad] [https://github.com/mist-devel/mist-board/wiki/CoreDocAmstrad CoreDocAmstrad] [https://github.com/mist-devel/mist-binaries/tree/master/cores/amstrad_alt CPC for MIST and MISTer] Translation of JavaCPC from Java into VHDL on a MiST board&lt;br /&gt;
*[https://intelligenttoasters.blog/cpc2-project-index/ CPC2 Project] CPC emulation running on a Cyclone V FPGA board&lt;br /&gt;
*[https://github.com/rpsubc8/ESP32TinyCPC/ ESP32 TinyCPC] Port from CPC-em emulator to TTGO VGA32 v1.x board with ESP32&lt;br /&gt;
*[https://github.com/codedchip/AMSGateArray AMSGateArray] Reverse engineered Gate Array from decapped chips&lt;br /&gt;
*[[SDiskEmul]] Floppy-drive emulator released in 2007. Abandoned now. Supports DSK, EDSK disk-images&lt;br /&gt;
*[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]&lt;br /&gt;
*[https://github.com/keirf/flashfloppy/ FlashFloppy] Open source floppy-drive emulator for the ubiquitous Gotek hardware. Supports DSK, EDSK, HFE disk-images&lt;br /&gt;
*[https://cpcrulez.fr/forum/viewtopic.php?f=5&amp;amp;t=100&amp;amp;start=690#p55437 Pauline] FPGA-based floppy-drive dumper and emulator&lt;br /&gt;
*[https://hobbyretro.com/en/retro/tzxduino TZXduino] Arduino-based tape deck emulator. Supports many formats of tape-images including CDT and TZX&lt;br /&gt;
*[https://pelrun.github.io/PlayUEF/ PlayUEF] Web-browser based tape deck emulator, supporting CDT and TZX tape-images&lt;br /&gt;
*[https://github.com/dasta400/ACPCPE Amstrad CPC Printer Emulator] Arduino-based CPC printer emulator&lt;br /&gt;
*[https://github.com/f1ac0/CPC-plus-cartridge CPC-plus-cartridge] Different PCB designs and code to make a CPC-plus cartridge&lt;br /&gt;
*[https://github.com/zeus074/Amstrad_Multicart Amstrad Multicart] 16-in-1 cartridge for the GX4000 or Amstrad Plus computer&lt;br /&gt;
*[[C4CPC]] Cartridge replacement for the Amstrad Plus range and the GX4000&lt;br /&gt;
&lt;br /&gt;
= CPC cartridge slot =&lt;br /&gt;
Emulator support for a CPC cartridge slot is as follows:&lt;br /&gt;
*[[M4 Board]] simulates a standard Plus cartridge port on the CPC and handles standard CPR files. M4 Board is emulated by CPCemu&lt;br /&gt;
*[[Plus2CPC]] brings a standard physical Plus cartridge port to the CPC. It is not supported by emulators&lt;br /&gt;
*[[Play2CPC]] is an evolution of the [[Plus2CPC]], adding RMR2 Plus mapping, R/W cartridge support, CRTC cursor raster interrupt and a 3-channel soundchip conforming to the [[PlayCity]] base spec. Play2CPC is emulated by ACE&lt;br /&gt;
*[[Dandanator]] brings a non-standard physical cartridge port and a very exotic non-standard memory mapper that spies on Z80 instructions (sacrificing compatibility without any justification). It is emulated by ACE, Retro Virtual Machine, CPCEC, ZEsarUX, DSP&lt;br /&gt;
&lt;br /&gt;
= Mass-storage =&lt;br /&gt;
Emulator support for mass-storage expansions is as follows:&lt;br /&gt;
*[[Dobbertin Harddisc]] is emulated by MAME&lt;br /&gt;
*[[UIDE Universal IDE adapter cards for Z-80 computers|uIDE]] is emulated by Arnold&lt;br /&gt;
*[[Symbiface II]] IDE/PATA interface or compatible ([[X-Mass]], [https://github.com/salafek/cyboard-for-cpc Cyboard]) is emulated by ACE, Caprice Forever, MAME, WinAPE, WinCPC, Arnold, Virtual CPC&lt;br /&gt;
*[[Albireo]] is emulated by ACE, Caprice Forever&lt;br /&gt;
*[[M4 Board]] is emulated by CPCemu&lt;br /&gt;
*[[Vortex Winchester Drive]], [[ULIfAC|USIfAC / ULIfAC]] and [[Symbiface 3|Symbiface3 / RSF3]] are not supported by emulators&lt;br /&gt;
&lt;br /&gt;
= Audio devices =&lt;br /&gt;
Emulator support is as follows:&lt;br /&gt;
*[[Amstrad SSA-1 Speech Synthesizer|SSA-1 speech synthesizer]] is emulated by ACE, Caprice Forever, JavaCPC, MAME&lt;br /&gt;
*[[Dk'tronics Speech Synthesizer|Dk'Tronics speech synthesizer]] is emulated by ACE, Caprice Forever, JavaCPC, MAME&lt;br /&gt;
*[[TMPI speech synthesizer|Techni-Musique speech synthesizer]] is emulated by ACE, Caprice Forever&lt;br /&gt;
*[[Amdrum]] is emulated by ACE, JavaCPC, MAME, WinAPE&lt;br /&gt;
*[[Digiblaster]] is emulated by ACE, Caprice Forever, JavaCPC, MAME, WinAPE, CPCEC, CPCEPower, WinCPC, Virtual CPC&lt;br /&gt;
*[[PlayCity]] is fully emulated by ACE, MAME, Arnold, SugarBox. The audio part of [[PlayCity]] is emulated by Caprice Forever, JavaCPC, CPCEC&lt;br /&gt;
*[[Play2CPC]] implements the PlayCity base spec (aka Arcade Sound System). It has one additional soundchip instead of two and no CTC chip. It is emulated by ACE&lt;br /&gt;
*[[Willy|Willy OPL3]] is emulated by ACE&lt;br /&gt;
*[[Willy|Willy MIDI]] is emulated only by ACE for Haiku&lt;br /&gt;
*[[Music Machine]], [https://github.com/lambdamikel/Speak-SID Speak&amp;amp;SID], [https://github.com/lambdamikel/LambdaSpeak3 LambdaSpeak], [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/amsdap-amstrad-msx-adapter-connecting-any-msx-io-hardware-to-the-cpc/ Amsdap (SE-One, Moonsound, etc...)] are not supported by emulators&lt;br /&gt;
&lt;br /&gt;
= Rewind feature =&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
At the moment, 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.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= Emulator accuracy checking tools =&lt;br /&gt;
== Quick evaluation==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;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]]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19308 DSC #4 demo] with reference images (CRTC 1): [[Media:DSC4 reference1.png]] [[Media:DSC4 reference2.png]]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7737 Camembert 4 demo] with reference images (CRTC 0/1/3/4): [[Media:Camembert-real.jpg]] [[Media:Camembert 4 Pixel Precise.jpg]]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9029 BSC7 Interlace demo] with reference image (CRTC 0/2/3/4): [[Media:BSC7 reference.png]]&lt;br /&gt;
&lt;br /&gt;
== Z80 CPU ==&lt;br /&gt;
*[https://cpcrulez.fr/applications_util-zexall.htm ZEXALL (CP/M)] [https://cpcrulez.fr/applications_util-zexdoc.htm ZEXDOC (CP/M)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12883 Z80 Full Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12881 Z80 Doc Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12882 Z80 Flags Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12880 Z80 Doc Flags Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12884 Z80 MEMPTR Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12879 Z80 CCF Test] Z80 CPU instruction set exercisers&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=298 Arkanoid (using Z80 Interrupt Mode 2)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=427 L'anneau de Zengara (using Z80 register R)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1299 Light Corridor (Z80 useless instruction prefixes)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=735 Dogsbody (accessing non-standard I/O ports)]&lt;br /&gt;
*[https://wikiti.brandonw.net/?title=Z80_Instruction_Set Z80 instruction set] [https://zx-pk.ru/attachment.php?attachmentid=2989&amp;amp;d=1143656567 Z80 MEMPTR (aka WZ) internal register] [https://github.com/hoglet67/Z80Decoder/wiki/Undocumented-Flags Even weirder Z80 behaviour] [https://zxe.io/software/Z80/documentation/latest/Thanks.html To get to the bottom of it] [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/z80-cpu-nmos-or-cmos/ Z80 is always NMOS on CPC and Plus] How the Z80 behaves&lt;br /&gt;
*[https://floooh.github.io/2021/12/06/z80-instruction-timing.html Z80 T-state timings] [https://baltazarstudios.com/zilog-z80-undocumented-behavior/ Other source about T-state timings] Ultra accurate timing behaviour&lt;br /&gt;
&lt;br /&gt;
== Diagnostics ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5113 Official Amstrad CPC hardware diagnostics] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17932 Non-official Amstrad Diagnostics] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6545 STS SysInfo] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=test%crtc%v Tests CRTC type] [http://cpc.sylvestre.org/technique/technique_identifier_crtc.html Identifying CRTC visually]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6987 RAM Expansion Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14833 MemTest] [https://www.cpc-power.com/index.php?page=detail&amp;amp;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&amp;amp;num=15739 RAM Check] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13386 Testprogram For All ERAM] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19185 Xenon 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12188 Take On Me] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14339 Trololo Experiments] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19406 Still The One] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16084 Post Scriptum] [https://cpcrulez.fr/info-chany-enhanced_edition.htm Chany 512K cracks] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=151 Expanded RAM software list] RAM exercisers&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15975 FutureOS] [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/464-and-ram-extension/ Behaviour of RAM mode &amp;amp;C3] [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/upgrading-a-cpc-464-in-2022/ More on the issue] RAM expansion bug on CPC464/664&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=135 Batman The Movie] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2318 Turrican] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=80 Technical explanation] CPC keyboard clash&lt;br /&gt;
*[https://www.cpcwiki.eu/forum/emulators/amstrad-cpc-'acid'-test/ &amp;quot;Acid&amp;quot; test suite] [https://cpctech.cpcwiki.de/download/test.zip] [http://ace.cpcscene.net/tests:arnold_test_suite Tests results in ACE] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17738 PPI tests] Chips tests by arnoldemu&lt;br /&gt;
*[http://www.winape.net/downloads.jsp Plus Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15242] CPC and CPC+ Emulator test suite (including Instruction and Interrupt timing tests)&lt;br /&gt;
&lt;br /&gt;
== Amstrad Plus ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9627 Official Plus diagnostics cartridge] [[File:Roudoudou CPR tests.zip]] [https://www.cpcwiki.eu/forum/emulators/amstrad-cpc-'acid'-test/75/] Plus testing tools&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8308 4096 Colors Preview] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7407 CPC+ First Demo]  [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8443 Simply The Bests] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7411 ASM Intro 1] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18789 Veteran] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9472 Revival'n Impact coop] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3959 Fluff] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3622 Space Gun] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1682 Prehistorik 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3575 No Exit] ASIC effects&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3788 Frogger] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4721 Rick Dangerous 6128+] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17818 La culotte de Zelda] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12013 Flappy Rulez] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13363 Picrocs] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14639 Sudoplus] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15142 Ghosts'n Goblins] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18946 Goldorak Versus] Homebrews&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8874 6128 Plus Dma] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8072 Hate Beats] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14939 Eerie Forest] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14940 CRTC3] [https://cpcrulez.fr/demostestDO_fairy-breakpoint_2010.htm Fairy] [https://soundtrackerdma.cpcscene.net/doku.php?id=en:download Soundtracker DMA] To test DMA and to compare the PSG output with the output from a real Amstrad Plus&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18016 Bulles] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7532 X-Mas 2008] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8588 Synergy] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7410 Mir Station] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13142 BarBar] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7530 Delirium Tremens] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9169 Funerapolis] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7935 Sappy] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19239 USS Cygnus 192] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17979 GX8K] To test hardware sprites emulation&lt;br /&gt;
&lt;br /&gt;
== Colorimetry ==&lt;br /&gt;
*[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&lt;br /&gt;
*Major difference in colorimetry between the real Amstrad CTM644 display and emulators display:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Border 8 - real CPC display.png|Border 8 on real CPC&lt;br /&gt;
Border 8 - real Plus display.png|Border 8 on real Plus&lt;br /&gt;
Border 8 - emulator display.png|Border 8 on emulators&lt;br /&gt;
Palette - real CPC.png|Palette on real CPC&lt;br /&gt;
Palette - real Plus.png|Palette on real Plus&lt;br /&gt;
Palette - emulator.png|Palette on emulators&lt;br /&gt;
True CTM colorimetry.png|Colorimetry on real CPC&lt;br /&gt;
CTM Emulator Shader colorimetry.png|Colorimetry on emulators&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Graphics ==&lt;br /&gt;
*[https://shaker.logonsystem.eu/ Shakerland] Ultra accurate CRTC documentation and its associated CPC testing tool&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8524 Equalizor] [https://forum.system-cfg.com/viewtopic.php?p=229698#p229698 Revolog] [https://forum.system-cfg.com/viewtopic.php?f=24&amp;amp;t=11535&amp;amp;start=285 Technical explanation] Unpredictable behaviour of the real CRTC type 1 chip. We can classify these behaviours as CRTC types 1a and 1b&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12906 HSYNC test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16466 Split-Rasters Test CRTC1] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15519 Les split-rasters] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=cote%gamers Côté Gamers] [https://www.cpc-power.com/index.php?page=detail&amp;amp;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&amp;amp;num=15280 CRTC software] CRTC testing tools&lt;br /&gt;
*[http://logon.system.free.fr/down/shaker_addon.dsk Pixel 1 Horizontal Hard Scroll for all CRTCs] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9102 Vertical Hard Scroll 100%] [https://cpcrulez.fr/coding_src-demo-smooth_crtc_register_3_scrolling_test.htm Smooth CRTC Register 3 scrolling test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1949 Skate Wars] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1211 Jinks] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=68 Out of this World] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=159 Killer Cobra] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10465 Edge Grinder] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10072 Relentless] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1982 Warhawk] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=99 Mission Genocide] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1028 Axys] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15809 Red Sunset] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18843 Hyperdrive] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=974 Ghosts'n Goblins] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1290 Legend of Kage] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1698 Profanation] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2119 Super Cauldron] Smooth CRTC R3/R5 hardware scrolling&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7514 BSC 91] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8772 Voyage 1993] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7751 OVL '96] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7662 Byte 98] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8623 Unique] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7910 Paradise] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8621 Power System] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8875 Prodatron] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7744 Longshot] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7668 Amazing] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7479 Madness] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8259 Chany Dream End] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8615 Welcom-X 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7591 S&amp;amp;Koh] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8041 Other World 3] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7648 Big'O Full'O Dem'O] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7765 Not Dead] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7543 Odyssey] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7736 Croco Chanel] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7828 Tire Au Flan]  Early demos, so they were developed without CPC emulator bias&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2799 Battro] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15298 Still Scrolling] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15102 PhX] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9181 Bloc Us] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9248 Wake Up] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19313 Stand Up] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9589 Yet Another Plasma] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14225 Logon's Run] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9970 Still Rising] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=onescreen Onescreen Colonies] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16067 Gloire à Piou] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7729 DTC] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12683 Points Barres] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16068 Octopus Pocus] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18794 FMR CPC] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8552 Synergy 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15209 Scroll Factory] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19024 The One] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7728 DemoIzArt] CRTC effects&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=76 Les Mondes Parallèles] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=66 Paranoia] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=78 Molecularr 2] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=megablasters Megablasters] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12649 Quadraster] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2369 Groops] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3963 Sudoku Master] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10009 Overkoban] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17786 Prince Dastan Sokoban Within] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17610 Deva Drifter] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17197 Hexavirus v0] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15985 A tribute to the sisters] True overscan games&lt;br /&gt;
*[https://www.cpcwiki.eu/forum/programming/mode-3/ Mode 3 Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12905 &amp;quot;Mode 5&amp;quot; Viewer] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18680 Pixel Free] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14259 Test interlace color] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13136 Interlace viewer] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7701 Climax] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13139 Perfect Pix Paint] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13359 Imperial Mahjong] Special graphics modes&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16027 Mire] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16722 Mir'Color] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7826 Climax-G] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7937 Fatal Beauties] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8307 4 Sins] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7897 Twinblast] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8081 MCS 6] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7593 Schadel] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2224 Thunder Blade] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2318 Turrican] To test the VDU&lt;br /&gt;
&lt;br /&gt;
== Peripherals ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=hardware_magnum Magnum Light Phaser] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3583 SkeetShoot] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3584 The Enforcer] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3992 Dk'Tronics Light Pen] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4955 Light Pen Mark II] To test lightguns and lightpens connected to expansion port&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=hardware_phaser_loriciels West Phaser] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=hardware_gunstick Gunstick] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4303 Trojan LP-1] To test lightguns and lightpens connected to joystick port&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=SSA-1 SSA-1 software list] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=DK%27Tronics%20Speech%20Synthesizer Dk'Tronics software list] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=TMPI%20speech%20synthesizer TMPI software list] To test speech synthesizers emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7535 Digital Orgasm] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=Digitracker Digitracker] [[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&amp;amp;lemot=Amdrum Amdrum] To test [[Digiblaster]] and [[Amdrum]] soundcards emulation&lt;br /&gt;
*[[SymAmp]] [https://framagit.org/shinra/vgmplay VGMplay] [http://www.roudoudou.com/ACE-DL/ 4200 VGM musicfiles pack] [https://github.com/lambdamikel/BluePillCPC/tree/main/cpc/s2p BluePillCPC] To test [[Willy]] OPL3 and MIDI emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12589 ProText] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4670 ProSpell] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4668 ProPrint] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5551 Impr'Image] To test printer emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4012 Advanced OCP Art Studio] To test [[AMX Mouse|AMX]] and [[Kempston Mouse|Kempston mouse]] emulation&lt;br /&gt;
*[[HDCPM]] [[UniDOS]] [http://www.roudoudou.com/ACE-DL/ UniLOAD 60MB archive] [http://www.roudoudou.com/ACE-DL/ SymbOS 45MB disk-image] To test mass-storage, RTC and modern mouse (scroll wheel) emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12972 X-MEM FW] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19236 CatRun] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18901 CowSay] [http://impdraw.wikidot.com iMPsuite] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=11578 GOS+] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6353 Utopia] To test ROMboard emulation&lt;br /&gt;
*[https://abalore.com/alcon2020.html Alcon 2020] [[Converted GX4000 Software]] To test the [[Play2CPC]] emulation&lt;br /&gt;
*[http://theswordofianna.retroworks.es/ The Sword of Ianna] [http://retroworks.es/php/game_en.php?id=11 Brunilda] [http://www.dandare.es/Proyectos_Dandare/Descargas.html MojonTwins romset] To test the [[Dandanator]] emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=protection&amp;amp;lenom=Multiface%202%20Protection Anti-Multiface II software list] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1980 War in Middle Earth] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1322 Zap't'Balls advanced] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5266 The Insider] To test [[Multiface II]] emulation&lt;br /&gt;
&lt;br /&gt;
== Copy-protection ==&lt;br /&gt;
*[https://cpctech.cpcwiki.de/download/fdctest.zip FDC test suite] [https://cpctech.cpcwiki.de/download/drivetest.zip Disk drive tests] [https://cpctech.cpcwiki.de/download/cdttst.zip CDT/TZX test suite for emulators] Set of tests by arnoldemu&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5002 Tape Head Azimuth] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4194 Ultra Son] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10475 Soft-Lok] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4718 Bonzo Super Meddler] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5059 SpeedTrans] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5803 Transformateur] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6057 Deconnect] [https://www.cpc-power.com/index.php?page=protection&amp;amp;lenom=NoAMSDOS NoAMSDOS software list] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3871 Computer Hits] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1359 Marmelade] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1412 Mickey Mouse] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=83 Astro Marine Corps] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=773 Druid] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10585 Breaking Baud] To test Tape emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19368 FatMag 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9211 Backtro] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7405 5KB 3] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8746 The Demo] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13108 CPC 30th Anniversary] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7542 Midline Process] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17902 Can Robots Take Control] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10030 Phortem] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9156 Batman Forever] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16736 Pinball Dreams] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7174 R-Type] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6661 Nheredia] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13426 Doomsday Lost Echoes] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4025 Orion Prime] Musical loader, Multi-drives, 3.5 inch (dual-head and 80 tracks) floppy drives support&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10029 RPM] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15518 DskTest] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14201 Crazy] [https://cpcrulez.fr/applications_disc-dlfrsilver_dump_tool_test_suite.htm Dlfrsilver Dump Tool Test Suite] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4812 Format II] [[ParaDOS]] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4933 Xexor] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6118 Discology] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4179 Hercule II] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16060 UltraDisc] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5244 Disc'o'Magic] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9297 Multi Mark] To test FDC emulation&lt;br /&gt;
*[https://cpcrulez.fr/demostestDM_fatmag_01.htm FatMag] The HFE trackload version is designed to rigorously test the FDC emulation [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17853 Open Tower Defense] Emulator detection through a FDC test [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=931 Fugitif] Disk swapping detection&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12051 Demonstration of KBI protection] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1589 Pacific] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1650 Platoon] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1814 Robinson Crusoe] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=660 Daley Thompson's Olympic Challenge] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4064 Les Hits de l'Aventure] Protection based on weak bits&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=839 E.X.I.T] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1501 Le Nécromancien] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2195 Tensions] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1784 Wild Streets] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1958 Skyx] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=111 Turbo Cup] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2024 Sphaira] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=780 Dwarf] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1873 Sapiens] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=612 Corsarios] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=582 Cobra] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=744 Eden Blues] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1390 M'enfin] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1420 Mike &amp;amp; Moko] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4089 Equinoxe] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5545 Vocabulaire CM] Protection based on custom GAPS data&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=741 Donkey Kong] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1887 Scott Winder Reporter] Destructive copy-protection [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1716 Puffy's Saga] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=699 Defender of the Crown] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1354 Le Maraudeur] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1699 Profession Détective] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1730 Qin] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1005 Basun] Some other copy-protected disk-images&lt;br /&gt;
*[https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;cat=12 Protection schemes documented] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=9 Lenslok] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=207 Gaps] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=384 Latis] [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&amp;amp;num=435 Anti-copy bug] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=375 Baudload and Trackload list] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=38 Autoboot] Technical explanations&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=41 Trantor] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=204 3D Starfighter] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=726 Treasure Island Dizzy] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=971 Ghost Hunters] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2132 Super Robin Hood] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=237 Advanced Pinball Simulator] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1200 Jet Bike Simulator] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1002 Grand Prix Simulator] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=183 Darts 180] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1243 Killapede] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1194 Jail Break] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1815 Robocop] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=100 Chase HQ] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1926 Shinobi] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8892 4-Bit Digi Try] Software English vocal digits&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1349 Le Manoir de Mortvielle] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1098 Hold-Up] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=910 Forteresse] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=511 Canadair] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1140 L'île] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1199 Jaws] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1102 Holocauste] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=132 Afteroids] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=879 Fire &amp;amp; Forget] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1433 Xyphoes Fantasy] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17000 Space Race] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7456 Yao demo] Other software sound effects&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9179 Now that's what I call Chip Tunes] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18904 Amstream music-disk] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10467 We Are All Old] [https://www.cpc-power.com/index.php?page=detail&amp;amp;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&amp;amp;num=18265 Sintetizador de Sonidos] To test the PSG emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19283 Raytracing in BASIC] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15685 Julia Fractal] To benchmark emulators using their fullspeed mode&lt;br /&gt;
&lt;br /&gt;
= File format specifications =&lt;br /&gt;
&lt;br /&gt;
*[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&amp;amp;num=386 CTRAW] [https://www.cbmstuff.com/downloads/scp/scp_image_specs.txt SCP] File formats of disk-image&lt;br /&gt;
*[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] [http://soundfile.sapp.org/doc/WaveFormat/ WAV] File formats of tape-image&lt;br /&gt;
*[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&lt;br /&gt;
*[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&amp;amp;num=10 Archive of SNR sessions]&lt;br /&gt;
*[http://leonard.oxg.free.fr/ymformat.html YM] [https://www.cpcwiki.eu/index.php/AYC AYC] [https://vgmrips.net/wiki/VGM_Specification VGM] Soundchip logging file formats&lt;br /&gt;
*[https://en.wikipedia.org/wiki/IMG_(file_format) IMG] [https://web.archive.org/web/20120202144328/http://download.microsoft.com/download/f/f/e/ffef50a5-07dd-4cf8-aaa3-442c0673a029/Virtual%20Hard%20Disk%20Format%20Spec_10_18_06.doc VHD] [https://github.com/gasman/hdfmonkey HDF] File formats of flat hard-drive image&lt;br /&gt;
*[https://shaker.logonsystem.eu/sslcsl CSL] Cpc Scripting Language, a macro/scripting system to automate emulators&lt;br /&gt;
&lt;br /&gt;
= Emulation Tools  =&lt;br /&gt;
&lt;br /&gt;
*[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] [[Dsktools|Dsktools]] [[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] Set of tools about disk-images&lt;br /&gt;
*[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://cpctech.cpcwiki.de/download/2cdt.zip 2CDT] [http://cngsoft.no-ip.org/csw2cdt.htm CSW2CDT] [https://cpcrulez.fr/emulateurs_UTIL-CDT-CDT2WAV.htm CDT2WAV] [https://github.com/shred/tzxtools tzxtools] Set of tools about tape-images&lt;br /&gt;
*[http://www.cpcmania.com/news.htm CPRTools] Edit Amstrad Plus CPR cartridge-images&lt;br /&gt;
*[https://bochs.sourceforge.io/doc/docbook/user/winimage.html WinImage, DiskExplorer, Mtools] [https://www.fysnet.net/ultimate/index.htm Ultimate Imager] [https://github.com/ProgrammingHobby/CPM_Image-File_Explorer CP/M Image File Explorer] Access and edit IMG hard-drive images. No need of tools for VHD images with FAT filesystem, they are supported directly in Windows Explorer: it works the same way as ISO files&lt;br /&gt;
*[[CPCGamesCD-CPCLoader|CPCGamesCD-CPCLoader]] CDROM containing a navigable database with all the games of the Amstrad CPC&lt;br /&gt;
*[https://colourclash.co.uk/cpc-analyser/ CPC Analyser] Help reverse engineer Amstrad CPC games&lt;br /&gt;
*[[Emulator tooling]] UI screenshots of tooling in CPC emulators&lt;br /&gt;
*[[WinApe|WinAPE]] [[WinCPC]] [[JavaCPC]] [https://code.google.com/archive/p/cpcsdk/ Caprice Reloaded] [http://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73 Caprice Forever] Emulators with an integrated Z80 Assembler&lt;br /&gt;
*[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] [https://marketplace.visualstudio.com/items?itemName=floooh.vscode-kcide KC IDE] Tools for CPC cross-development in Z80 Assembler&lt;br /&gt;
*[https://ccz80.webcindario.com/ccz80en.html ccz80] [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] [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&lt;br /&gt;
*[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] A complete suite (IDE, compiler, resource editor) for developing CPC games/demos in Pascal&lt;br /&gt;
*[https://cpcbasic.webcindario.com/CPCBasicEn.html CPC Basic] [https://github.com/benchmarko/CPCBasic CPCBasic Unchained] [https://marketplace.visualstudio.com/items?itemName=cebe74.amstrad-basic-helper-vscode Amstrad Basic Helper] [https://www.cpcalive.com/cpcalive_en.html CpcAlive] [https://ugbasic.iwashere.eu/ ugBASIC] Cross-platform CPC development in BASIC&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12875 8BP] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4159 Graphic City] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4649 Sprites Alive] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4245 Laser Basic] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4705 FAst BAsic COMpiler] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6042 TurboBASIC compiler] [[B-ASIC]] Useful CPC tools (compilers and RSX) to beef up the Amstrad BASIC&lt;br /&gt;
*[http://ldeplanque.free.fr/ConvImgCpc/new/ ConvImgCPC] [https://github.com/AugustoRuiz/Img2CPC img2cpc] [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&lt;br /&gt;
*[http://grafx2.chez.com/ GrafX2] [http://multipaint.kameli.net/ Multipaint] [[Retro Game Asset Studio]] [http://gcajdev.epizy.com/sprite_creator.php Sprite Creator] Cross-platform CPC pixel art editors&lt;br /&gt;
*[http://cngsoft.no-ip.org/chipnsfx.htm CHIPNSFX] [https://github.com/AugustoRuiz/WYZTracker WYZTracker] [https://www.julien-nevo.com/arkostracker/ Arkos Tracker 2] [https://tildearrow.org/furnace/ Furnace] Cross-platform CPC music creation suites&lt;br /&gt;
&lt;br /&gt;
= Emulator Detection =&lt;br /&gt;
&lt;br /&gt;
If you want to promote usage of real CPC computers, you can detect CPC emulators by:&lt;br /&gt;
*Checking if the memory is initialized with zeroes, as real machines have random memory values at boot&lt;br /&gt;
*Focusing on the minute details in Z80, CRTC and PPI chips. They are most often wrong in emulators&lt;br /&gt;
*Examining the FDC chip. It is only replicated more or less superficially in all emulators because the internals of the chip are still unknown&lt;br /&gt;
&lt;br /&gt;
Combining these methods will definitely get you a 100% success rate in detecting emulators, even the toughest ones.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Emulator undetected.png|Emulator undetected&lt;br /&gt;
Emulator detected.png|Emulator detected&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is also this initiative for emulators who willingly want to be detected: [[Emulator_IDs|Emulator IDs]]&lt;br /&gt;
&lt;br /&gt;
= Emulators running on the Amstrad CPC =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! License&lt;br /&gt;
! Emulates&lt;br /&gt;
|-&lt;br /&gt;
| [[Amstrad BBC BASIC]]&lt;br /&gt;
| [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9862]&lt;br /&gt;
| 2.30&lt;br /&gt;
| Apr 2, 1986&lt;br /&gt;
| Commercial💲&lt;br /&gt;
| [[BBC BASIC]]&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCZVM]]&lt;br /&gt;
| [https://www.cpcwiki.eu/index.php/Z-Machine]&lt;br /&gt;
| &lt;br /&gt;
| Jul 6, 2019&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Z-Machine]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Pac-Man]]&lt;br /&gt;
| [http://www.cpcwiki.eu/forum/games/speed-up-patch-for-pac-man-emulator-for-cpc-by-syx-toto/msg81222/#msg81222]&lt;br /&gt;
| 1.1&lt;br /&gt;
| Jun 5, 2014&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Pac-Man arcade|Pac-Man arcade]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Phoenix]]&lt;br /&gt;
| [https://norbertkehrer.github.io/phoenix_cpc.html]&lt;br /&gt;
| &lt;br /&gt;
| Jan 6, 2019&lt;br /&gt;
| Freeware&lt;br /&gt;
| [[Phoenix arcade|Phoenix arcade]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Space Invaders|Space Invaders]]&lt;br /&gt;
| [http://www.cpcwiki.eu/forum/games/space-invaders-arcade-emulator-for-amstrad-cpc/]&lt;br /&gt;
| 1.0&lt;br /&gt;
| Jun 11, 2016&lt;br /&gt;
| Freeware&lt;br /&gt;
| [[Space Invaders arcade|Space Invaders arcade]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Vezza]]&lt;br /&gt;
| [https://gitlab.com/sijnstra1/vezza]&lt;br /&gt;
| &lt;br /&gt;
| Oct 7, 2023&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Z-Machine]]&lt;br /&gt;
|-&lt;br /&gt;
| [[ZXM]]&lt;br /&gt;
| [https://cpcrulez.fr/applications_util-ZXm.htm]&lt;br /&gt;
| &lt;br /&gt;
| 1993&lt;br /&gt;
| Freeware&lt;br /&gt;
| [[ZX Spectrum|ZX Spectrum]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Zym]]&lt;br /&gt;
| [http://www.symbos.org/appinfo.htm?00054]&lt;br /&gt;
| 0.9&lt;br /&gt;
| Feb 19, 2022&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Z-Machine]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Emulator| ]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Snapshot&amp;diff=113836</id>
		<title>Snapshot</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Snapshot&amp;diff=113836"/>
				<updated>2024-01-07T16:40:50Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: /* SYMB */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Snapshot (.SNA) file format  =&lt;br /&gt;
&lt;br /&gt;
The format was first defined for the [[CPCEMU|CPCEMU]] emulator but is now widely supported. The format was originally defined by [[Marco Vieth|Marco Vieth]]. Version 3 was defined by [[Ulrich Doewich|Ulrich Doewich]], [[Martin Korth|Martin Korth]], [[Richard Wilson|Richard Wilson]] and [[Kevin Thacker|Kevin Thacker]]. &lt;br /&gt;
&lt;br /&gt;
There are 3 versions defined in this document. Version 3 is the most recent and is currently supported by a few of the most recent emulators. &lt;br /&gt;
&lt;br /&gt;
Snapshots produced with [[CPCE|CPCE]] appears to be the most compatible and will run correctly using any emulator.&lt;br /&gt;
&lt;br /&gt;
Abbreviations: &lt;br /&gt;
&lt;br /&gt;
*[[Gate Array|GA = &amp;quot;Gate Array&amp;quot;]] &lt;br /&gt;
*[[CRTC|CRTC = &amp;quot;6845 Cathode Ray Tube Controller&amp;quot;]] &lt;br /&gt;
*[[8255|PPI = &amp;quot;Intel 8255 Programmable Peripheral Interface&amp;quot;]] &lt;br /&gt;
*[[PSG|PSG = &amp;quot;AY-3-8912 Programmable Sound Generator&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
= Version 1  =&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00-07&lt;br /&gt;
| 8&lt;br /&gt;
| The identification string &amp;quot;MV - SNA&amp;quot;. This must exist for the snapshot to be valid.&lt;br /&gt;
|-&lt;br /&gt;
| 08-0f&lt;br /&gt;
| 8&lt;br /&gt;
| (not used; set to 0)&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 1&lt;br /&gt;
| snapshot version (1)&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register F&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register A&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register C&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register B&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register E&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register D&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register L&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register H&lt;br /&gt;
|-&lt;br /&gt;
| 19&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register R&lt;br /&gt;
|-&lt;br /&gt;
| 1a&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register I&lt;br /&gt;
|-&lt;br /&gt;
| 1b&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 interrupt flip-flop IFF0 (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 1c&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 interrupt flip-flop IFF1 (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 1d&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IX (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 1e&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IX (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 1f&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IY (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 20&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IY (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 21&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register SP (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 22&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register SP (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 23&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register PC (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 24&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register PC (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 25&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 interrupt mode (0,1,2) (note 3)&lt;br /&gt;
|-&lt;br /&gt;
| 26&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register F' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 27&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register A' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 28&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register C' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 29&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register B' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2a&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register E' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2b&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register D' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2c&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register L' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2d&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register H' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2e&lt;br /&gt;
| 1&lt;br /&gt;
| GA: index of selected pen (note 10)&lt;br /&gt;
|-&lt;br /&gt;
| 2f-3f&lt;br /&gt;
| 1&lt;br /&gt;
| GA: current palette (note 12)&lt;br /&gt;
|-&lt;br /&gt;
| 40&lt;br /&gt;
| 1&lt;br /&gt;
| GA: multi configuration (note 11)&lt;br /&gt;
|-&lt;br /&gt;
| 41&lt;br /&gt;
| 1&lt;br /&gt;
| current RAM configuration (note 13)&lt;br /&gt;
|-&lt;br /&gt;
| 42&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC: index of selected register (note 14)&lt;br /&gt;
|-&lt;br /&gt;
| 43-54&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC: register data (0..17) (note 15)&lt;br /&gt;
|-&lt;br /&gt;
| 55&lt;br /&gt;
| 1&lt;br /&gt;
| current ROM selection (note 16)&lt;br /&gt;
|-&lt;br /&gt;
| 56&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: port A (note 6)&lt;br /&gt;
|-&lt;br /&gt;
| 57&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: port B (note 7)&lt;br /&gt;
|-&lt;br /&gt;
| 58&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: port C (note 8)&lt;br /&gt;
|-&lt;br /&gt;
| 59&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: control port (note 9)&lt;br /&gt;
|-&lt;br /&gt;
| 5a&lt;br /&gt;
| 1&lt;br /&gt;
| PSG: index of selected register (note 17)&lt;br /&gt;
|-&lt;br /&gt;
| 5b-6a&lt;br /&gt;
| 1&lt;br /&gt;
| PSG: register data (0,1,....15)&lt;br /&gt;
|-&lt;br /&gt;
| 6b&lt;br /&gt;
| 2&lt;br /&gt;
| memory dump size in Kilobytes (e.g. 64 for 64K, 128 for 128k) (note 18)&lt;br /&gt;
|-&lt;br /&gt;
| 6d-ff&lt;br /&gt;
| 1&lt;br /&gt;
| not used set to 0&lt;br /&gt;
|-&lt;br /&gt;
| 100-...&lt;br /&gt;
| 1&lt;br /&gt;
| memory dump&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes  ==&lt;br /&gt;
&lt;br /&gt;
1. All multi-byte values are stored in little-endian format (low byte followed by higher bytes). &lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;IFF0&amp;quot; reflects the state of the maskable interrupt (INT). &amp;quot;IFF1&amp;quot; is used to store the state of IFF0 when a non-maskable interrupt (NMI) is executed. Bit 0 of these bytes is significant. For CPCEMU compatibility, these bytes should be set to &amp;quot;1&amp;quot; when the IFF flip-flop is &amp;quot;1&amp;quot; and &amp;quot;0&amp;quot; when the flip-flop is &amp;quot;0&amp;quot;. For compatibility with other emulators, bits 7-1 should be set to &amp;quot;0&amp;quot;. When bit 0 of &amp;quot;IFF0&amp;quot; is &amp;quot;0&amp;quot; maskable interrupts will be ignored. When bit 0 of &amp;quot;IFF1&amp;quot; is &amp;quot;1&amp;quot; maskable interrupts will be acknowledged and executed. See the document about the Z80 for more information. &lt;br /&gt;
&lt;br /&gt;
3. This byte will be 0, 1 or 2 for the interrupt modes 0, 1 or 2. The interrupt mode is set using the &amp;quot;IM x&amp;quot; instructions. See the document about the Z80 for more information. &lt;br /&gt;
&lt;br /&gt;
4. These registers are from the alternate register set of the Z80. &lt;br /&gt;
&lt;br /&gt;
5. These registers are 16-bit. &amp;quot;low&amp;quot; indicates bits 7..0, &amp;quot;high&amp;quot;indicates bits 15..8. &lt;br /&gt;
&lt;br /&gt;
6. This byte represents the inputs to PPI port A regardless of the input/output setting of this port. &lt;br /&gt;
&lt;br /&gt;
7. This byte represents the inputs to PPI port B regardless of the input/output setting of this port. &lt;br /&gt;
&lt;br /&gt;
8. This byte represents the outputs from port C regardless of the input/output setting of this port. &lt;br /&gt;
&lt;br /&gt;
9. This byte represents the PPI control byte which defines the input/output and mode of each port and not the last value written to this port. For CPCEMU compatibility bit 7 of this byte must be set to &amp;quot;1&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
10. This byte in the snapshot represents the selected pen register of the Gate-Array. This byte is the last value written to this port. Bit 7,6,5 should be set to &amp;quot;0&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
11. This byte in the snapshot represents the multi-configuration register of the Gate-Array. This byte is the last byte written to this register. For CPCEMU compatibility, bit 7 should be set to &amp;quot;1&amp;quot; and bit 6 and bit 5 set to &amp;quot;0&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
12. These bytes are the current palette. For CPCEMU compatibility, these bytes should have bit 7=bit 6=bit 5=&amp;quot;0&amp;quot;. Bits 4..0 define the colour using the hardware colour code. The colours are stored in the order pen 0, pen1, pen 2,...,pen 15 followed by border colour. &lt;br /&gt;
&lt;br /&gt;
13. This byte represents a ram configuration for a Dk'Tronics/Dobbertin/Amstrad compatible RAM expansion, or the built in RAM expansion of the CPC6128 and CPC6128+. Bits 5..0 define the ram expansion code. For CPCEMU compatibility, bit 7 and bit 6 of this byte should be set to &amp;quot;0&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
14. This byte in the snapshot represents the index of the currently selected CRTC register. For compatibility with CPCEMU this value should be in the range 0-31. &lt;br /&gt;
&lt;br /&gt;
15. These bytes represent the data of the CRTC's registers. &lt;br /&gt;
&lt;br /&gt;
16. This byte in the snapshot represents the last byte written to the &amp;quot;ROM select&amp;quot; I/O port. &lt;br /&gt;
&lt;br /&gt;
17. This byte in the snapshot represents the index of the currently selected PSG register. For CPCEMU compatibility, this byte should be in the range 0-15. &lt;br /&gt;
&lt;br /&gt;
18. the memory dump can have size 0 in version 3 and in this case all RAM is described in additional blocks (MEM0-MEM8). If a memory dump has a non-zero size, then it is uncompressed and describes the main 64KB ram immediately followed by the second 64KB ram (if present) (this ram is inside 128KB machines or machines with 64KB from a Dk'Tronics/Dobbertin/Amstrad compatible RAM expansion. Note that CPCEMU can only write a 64K or 128K snapshot.&lt;br /&gt;
&lt;br /&gt;
19. JavaCPC uses e0-ff to store an emulator ID (see snapshot V3 for more details)&lt;br /&gt;
&lt;br /&gt;
= Changes and additions in Version 2 from Version 1  =&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 1&lt;br /&gt;
| snapshot version (2)&lt;br /&gt;
|-&lt;br /&gt;
| 6d&lt;br /&gt;
| 1&lt;br /&gt;
| CPC Type: &lt;br /&gt;
*0 = CPC464 &lt;br /&gt;
*1 = CPC664 &lt;br /&gt;
*2 = CPC6128 &lt;br /&gt;
*3 = unknown&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 6e&lt;br /&gt;
| 1&lt;br /&gt;
| interrupt number (0..5) (note 1a)&lt;br /&gt;
|-&lt;br /&gt;
| 6f-74&lt;br /&gt;
| 6&lt;br /&gt;
| 6 multimode bytes (note 1b)&lt;br /&gt;
|-&lt;br /&gt;
| 75-ff&lt;br /&gt;
| x&lt;br /&gt;
| (not used)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes  ==&lt;br /&gt;
&lt;br /&gt;
1. If standard CPC raster interrupts are used, interrupts are acknowledged and &amp;quot;executed&amp;quot; at the time they are requested, then there will be 6 interrupts executed per screen update cycle. &lt;br /&gt;
&lt;br /&gt;
*CPCEMU uses a simple system to emulate the interrupts. It is assumed there are exactly 6 interrupts per screen update cycle (the interrupts are assumed to occur at a frequency of 300Hz). This byte records the interrupt number in the current screen update cycle. More accurate emulators use the correct interrupt generation method and may ignore this byte. For CPCEMU compatibility, these emulators should set this byte to &amp;quot;0&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*CPCEMU uses a simple system to emulate the screen display. It allows the mode to be changed in each of the 6 interrupts that occur during a single 50Hz/60Hz period. These bytes represent the mode in each of these sections, i.e. the screen modes (0,1 or 2) for the interrupts 0..5. More accurate emulators support changing of the screen mode at any point supported by the Amstrad hardware, these emulators should write &amp;quot;0&amp;quot; for all these bytes.&lt;br /&gt;
&lt;br /&gt;
2. A version 2 snapshot describes Dk'Tronics/Dobbertin compatible RAM in addition to the 64KB base ram. This is a type of RAM expansion which uses the same port and paging mechanism as the extra 64KB inside the 6128. However, the RAM *MUST* be continuous, therefore it's limited to 64KB, 256KB or 512KB additional RAM. The Dk'Tronics silicon disk can't be described on it's own because it's RAM configurations do not start at C4.&lt;br /&gt;
&lt;br /&gt;
The following configurations can be described:&lt;br /&gt;
* 64KB base + 64KB extra RAM (e.g. Dk'Tronics 64KB RAM Expansion)&lt;br /&gt;
* 64KB base + 256KB extra RAM (e.g. Dk'Tronics 256KB RAM Expansion)&lt;br /&gt;
* 64KB base + 512KB extra RAM (e.g. Dk'Tronics 256KB RAM Expansion &amp;amp; Dk'Tronics 256KB Silicon Disk OR X-MEM OR Symbiface 2 OR other device which provides 512KB)&lt;br /&gt;
&lt;br /&gt;
JavaCPC uses this value to store up to 4MB of RAM. (e.g. [[CPC4MB]]). This type of ram is Dk'Tronics compatible and has multiple banks of 512KB. This value could be used to describe a 1MB or 2MB expansion as long as it is fully Dk'tronics compatible (e.g. rpalmer's 2MB).&lt;br /&gt;
&lt;br /&gt;
3. JavaCPC uses e0-ff to store an emulator ID (see snapshot V3 for more details)&lt;br /&gt;
&lt;br /&gt;
= Changes and additions in Version 3 from Version 2  =&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 1&lt;br /&gt;
| snapshot version (3)&lt;br /&gt;
|-&lt;br /&gt;
| 6d&lt;br /&gt;
| 1&lt;br /&gt;
| CPC Type: &lt;br /&gt;
*0 = CPC464 &lt;br /&gt;
*1 = CPC664 &lt;br /&gt;
*2 = CPC6128 &lt;br /&gt;
*3 = unknown &lt;br /&gt;
*4 = 6128 Plus &lt;br /&gt;
*5 = 464 Plus &lt;br /&gt;
*6 = GX4000&lt;br /&gt;
|-&lt;br /&gt;
| 75&lt;br /&gt;
| n&lt;br /&gt;
| Disc drive A filename (No$CPC only)&lt;br /&gt;
|-&lt;br /&gt;
| 99&lt;br /&gt;
| 1&lt;br /&gt;
| Monitor VHold Value (-45 to +85)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9a&lt;br /&gt;
| 1&lt;br /&gt;
| Memory Expansion Enable (when Bit 7 is set)&lt;br /&gt;
*Bit 0 = 128K memory (Banks C4..C7)&lt;br /&gt;
*Bit 1 = 256K memory (Banks C4..DF)&lt;br /&gt;
*Bit 2 = 256K silicon disc (Banks E4..FF)&lt;br /&gt;
*Bit 3 = 4M expansion&lt;br /&gt;
*Bit 7 = Always set if this is valid &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9b&lt;br /&gt;
| 1&lt;br /&gt;
| Fast Disc emulation mode (0=off, 1=on) (WinAPE)&lt;br /&gt;
|-&lt;br /&gt;
| 9c&lt;br /&gt;
| 1&lt;br /&gt;
| FDD motor drive state (0=off, 1=on)&lt;br /&gt;
|-&lt;br /&gt;
| 9d-a0&lt;br /&gt;
| 4&lt;br /&gt;
| FDD current physical track (note 15)&lt;br /&gt;
|-&lt;br /&gt;
| a1&lt;br /&gt;
| 1&lt;br /&gt;
| Printer Data/Strobe Register (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| a2-a3&lt;br /&gt;
| 2&lt;br /&gt;
| Current frame scan line since monitor retrace (note16)&lt;br /&gt;
|-&lt;br /&gt;
| a4&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC type: &lt;br /&gt;
*0 = HD6845S/UM6845 &lt;br /&gt;
*1 = UM6845R &lt;br /&gt;
*2 = MC6845 &lt;br /&gt;
*3 = 6845 in CPC+ ASIC &lt;br /&gt;
*4 = 6845 in Pre-ASIC&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| a9&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC horizontal character counter register (note 11)&lt;br /&gt;
|-&lt;br /&gt;
| aa&lt;br /&gt;
| 1&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| ab&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC character-line counter register (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| ac&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC raster-line counter register (note 3)&lt;br /&gt;
|-&lt;br /&gt;
| ad&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC vertical total adjust counter register (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| ae&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC horizontal sync width counter (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| af&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC vertical sync width counter (note 6)&lt;br /&gt;
|-&lt;br /&gt;
| b0-b1&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Bit''&lt;br /&gt;
| ''Function''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| if &amp;quot;1&amp;quot; VSYNC is active, if &amp;quot;0&amp;quot; VSYNC is inactive (note 8)&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| if &amp;quot;1&amp;quot; HSYNC is active, if &amp;quot;0&amp;quot; HSYNC is inactive (note 9)&lt;br /&gt;
|-&lt;br /&gt;
| 2-6&lt;br /&gt;
| reserved&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| if &amp;quot;1&amp;quot; Vertical Total Adjust is active, if &amp;quot;0&amp;quot; Vertical Total Adjust is inactive (note 10)&lt;br /&gt;
|-&lt;br /&gt;
| 8-14&lt;br /&gt;
| Reserved (0)&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| if &amp;quot;1&amp;quot; use extended Interrupt Control Status Register (WinAPE)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| b2&lt;br /&gt;
| 1&lt;br /&gt;
| GA vsync delay counter (note 14)&lt;br /&gt;
|-&lt;br /&gt;
| b3&lt;br /&gt;
| 1&lt;br /&gt;
| GA interrupt scanline counter (note 12)&lt;br /&gt;
|-&lt;br /&gt;
| b4&lt;br /&gt;
| 1&lt;br /&gt;
| interrupt request flag (0=no interrupt requested, 1=interrupt requested) (note 13)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| b5&lt;br /&gt;
| 1&lt;br /&gt;
| Interrupt Control Status Register (WinAPE) (note 17)&lt;br /&gt;
|-&lt;br /&gt;
| b6&lt;br /&gt;
| 1&lt;br /&gt;
| Plus features disabled (0=enabled, 1=disabled)&lt;br /&gt;
|-&lt;br /&gt;
| b7&lt;br /&gt;
| 1&lt;br /&gt;
| Plus PPI Emulation (0=Standard 8255 emulation, 1=Plus PPI emulation)&lt;br /&gt;
|-&lt;br /&gt;
| b8-df&lt;br /&gt;
| 28&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| e0&lt;br /&gt;
| 20&lt;br /&gt;
| Emulator ID String&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes  ==&lt;br /&gt;
&lt;br /&gt;
1. This byte in the snapshot represents the last byte written to the printer I/O port (this byte does not include the automatic inversion of the strobe caused by the Amstrad hardware). &lt;br /&gt;
&lt;br /&gt;
2. This register is internal to the CRTC and counts the number of character-lines. The counter counts up. This value is in the range 0-127. (This counter is compared against CRTC register 4). &lt;br /&gt;
&lt;br /&gt;
3. This register is internal to the CRTC and counts the number of raster-lines. The counter counts up. This value is in the range 0-31. (This counter is compared against CRTC register 9). &lt;br /&gt;
&lt;br /&gt;
4. This register is internal to the CRTC and counts the number of raster-lines during vertical adjust. The counter counts up. This value is in the range 0-31. This should be ignored if the CRTC is not &amp;quot;executing&amp;quot; vertical. adjust.(This counter is compared against CRTC register 5). &lt;br /&gt;
&lt;br /&gt;
5. This register is internal to the CRTC and counts the number of characters during horizontal sync. This counter counts up. This value is in the range 0-16. This should be ignored if the CRTC is not &amp;quot;executing&amp;quot; horizontal sync. (This counter is compared against CRTC register 3). &lt;br /&gt;
&lt;br /&gt;
6. This register is internal to the CRTC and counts the number of scan-lines during vertical sync. This counter counts up. This value is in the range 0-16. This should be ignored if the CRTC is not &amp;quot;executing&amp;quot; vertical sync. (This counter is compared against CRTC register 3). &lt;br /&gt;
&lt;br /&gt;
7. These bytes define the internal state of the CRTC. Each bit in these bytes represents a state. &lt;br /&gt;
&lt;br /&gt;
8. When VSYNC is active, the CRTC is &amp;quot;executing&amp;quot; vertical sync, and the vertical sync width counter in the snapshot is used. &lt;br /&gt;
&lt;br /&gt;
9. When HSYNC is active, the CRTC is &amp;quot;executing&amp;quot; horizontal sync width counter in the snapshot is used. &lt;br /&gt;
&lt;br /&gt;
10. When Vertical total adjust is active, the CRTC is &amp;quot;executing&amp;quot; vertical total adjust and the vertical total adjust counter in the snapshot is used. &lt;br /&gt;
&lt;br /&gt;
11. This register is internal to the CRTC and counts the number of characters. This counter counts up. This value is in the range 0-255. (This counter is compared against CRTC register 0). &lt;br /&gt;
&lt;br /&gt;
12. This counter is internal to the GA and counts the number of HSYNCs. This counter is used to generate CPC raster interrupts. This counter counts up. This value is in the range 0-51. &lt;br /&gt;
&lt;br /&gt;
13. This flag is &amp;quot;1&amp;quot; if a interrupt request has been sent to the Z80 and it has not yet been acknowledged by the Z80. (A interrupt request is sent by the GA for standard CPC raster interrupts or by the ASIC for raster or dma interrupts). &lt;br /&gt;
&lt;br /&gt;
14. This is a counter internal to the GA and counts the number of HSYNCs since the start of the VSYNC and it is used to reset the interrupt counter to synchronise interrupts with the VSYNC. This counter counts up. This value is between 0 and 2. If this value is 0, the counter is inactive. If this counter is 1 or 2 the counter is active.&lt;br /&gt;
&lt;br /&gt;
15. This is the current cylinder for each of 4 drives.&lt;br /&gt;
&lt;br /&gt;
16. In WinAPE this counter is reset if a VSYNC occurs which causes the monitor to retrace vertically. This occurs if the VSYNC signal is active and this counter is greater than a threshold set by the V-Hold (normally 295 when V-Hold is 0), or if the counter reaches the maximum value (normally 351 when V-Hold is 0).&lt;br /&gt;
&lt;br /&gt;
17. Since Plus emulation requires more information than simply whether an interrupt is active, this value (as used internally by WinAPE) contains: &lt;br /&gt;
* Bit 7 - Gate Array (or PRI) interrupt. &lt;br /&gt;
* Bit 6 - DMA Channel 0 interrupt. &lt;br /&gt;
* Bit 5 - DMA Channel 1 interrupt. &lt;br /&gt;
* Bit 4 - DMA Channel 2 interrupt. &lt;br /&gt;
&lt;br /&gt;
It can be a combination of all or any interrupt sources. Interrupts are executed in the order raster, DMA 2, DMA 1, DMA 0.&lt;br /&gt;
&lt;br /&gt;
Immediately following the memory dump there is optional data which is separated into chunks. &lt;br /&gt;
&lt;br /&gt;
Each chunk of data has a header and this is followed by the data in the chunk. The header has the following format: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 4&lt;br /&gt;
| Chunk name (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| Chunk data length (note 2)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes: &lt;br /&gt;
&lt;br /&gt;
1. The chunks are defined with 4-byte character codes. (e.g. &amp;quot;CPC+&amp;quot;). In this example, the 4-byte character code would be stored in the file as 'C' then 'P' then 'C' then '+'. &lt;br /&gt;
&lt;br /&gt;
2. The &amp;quot;Chunk data length&amp;quot; defines the length of data following the header and does not include the size of the header. This number is stored in little endian format. &lt;br /&gt;
&lt;br /&gt;
3. If a emulator finds a chunk which it does not support then it should skip the chunk and continue with the next chunk in the file. Therefore an emulator author may add emulator specific chunks to the file and it will not prevent the snapshot from being used with other emulators that do not recognise the added chunks. &lt;br /&gt;
&lt;br /&gt;
4. There is not a terminator chunk. The snapshot reader should determine if there are more chunks based on the size of data remaining to be read from the file. &lt;br /&gt;
&lt;br /&gt;
=Version 3 Chunks=&lt;br /&gt;
&lt;br /&gt;
The following chunks are currently defined: &lt;br /&gt;
&lt;br /&gt;
== CPC+ ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by Arnold, WinAPE, No$CPC and ACE. Arnold, WinAPE and ACE will save the block when Plus configuration enabled. No$CPC will save the block if the Plus features have been unlocked.&lt;br /&gt;
&lt;br /&gt;
When creating a snapshot with several chunks, it is usually a good idea to place the CPC+ one in first position, because some (old) tools and emulators are relying on this and will fail if it is not the case.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Addr in ASIC register-ram''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 000-7FF&lt;br /&gt;
| 800&lt;br /&gt;
| 4000-4FFF&lt;br /&gt;
| Sprite Bitmaps (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 800-87F&lt;br /&gt;
| 8*16&lt;br /&gt;
| 6000-607F&lt;br /&gt;
| Sprite Attributes (see below) (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 880-8BF&lt;br /&gt;
| 32*2&lt;br /&gt;
| 6400-643F&lt;br /&gt;
| Palettes (note 3)&lt;br /&gt;
|-&lt;br /&gt;
| 8C0&lt;br /&gt;
| 1&lt;br /&gt;
| 6800&lt;br /&gt;
| Programmable Raster Interrupt (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C1&lt;br /&gt;
| 1&lt;br /&gt;
| 6801&lt;br /&gt;
| Screen split scan-line (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C2&lt;br /&gt;
| 2&lt;br /&gt;
| 6802-6803&lt;br /&gt;
| Screen split secondary screen-address (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C4&lt;br /&gt;
| 1&lt;br /&gt;
| 6804&lt;br /&gt;
| Soft scroll control register (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C5&lt;br /&gt;
| 1&lt;br /&gt;
| 6805&lt;br /&gt;
| Interrupt vector (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C6&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| gate array A0 register value (note 8a) &lt;br /&gt;
|-&lt;br /&gt;
| 8C6-8C7&lt;br /&gt;
| 1&lt;br /&gt;
| -&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| 8C8-8CF&lt;br /&gt;
| 8&lt;br /&gt;
| 6808-680f&lt;br /&gt;
| Analogue input channels 0-7 (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 8D0-8DB&lt;br /&gt;
| 3*4&lt;br /&gt;
| 6C00-6C0B&lt;br /&gt;
| Sound DMA channel attributes 0-2 (see below) (note 6)&lt;br /&gt;
|-&lt;br /&gt;
| 8DC-8DE&lt;br /&gt;
| 3&lt;br /&gt;
| -&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| 8DF&lt;br /&gt;
| 1&lt;br /&gt;
| 6C0F&lt;br /&gt;
| DMA Control/Status (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8E0-8F4&lt;br /&gt;
| 3*7&lt;br /&gt;
| Internal&lt;br /&gt;
| DMA channel 0-2 internal registers (see below) (note 7)&lt;br /&gt;
|-&lt;br /&gt;
| 8F5&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| gate array A0 register value (note 8b)&lt;br /&gt;
|-&lt;br /&gt;
| 8F6&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| gate array A0 lock: 0 -&amp;gt; locked, !=0 -&amp;gt; unlocked (note 9)&lt;br /&gt;
|-&lt;br /&gt;
| 8F7&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| ASIC unlock sequence state (note 10)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes  ===&lt;br /&gt;
&lt;br /&gt;
1. The sprite data is packed, with two sprite pixels per byte. Bits 7..4 define the first pixel and bits 3..0 define the second pixel. &lt;br /&gt;
&lt;br /&gt;
2. The attributes for each sprite take 8 bytes. Each attribute block has the following format: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 2&lt;br /&gt;
| Sprite X (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| Sprite Y (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| Sprite Magnification (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 5-7&lt;br /&gt;
| 3&lt;br /&gt;
| unused (0)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: the Sprite X, Y and magnification are in the same order as the ASIC registers &lt;br /&gt;
&lt;br /&gt;
3. This is a direct copy of the palette in CPC+ ASIC Ram. There are 32 colours each with 2-bytes per colour. &lt;br /&gt;
&lt;br /&gt;
4. These bytes in the snapshot represent the last value written to these ASIC registers. &lt;br /&gt;
&lt;br /&gt;
5. These bytes represent the inputs to the analogue channels. &lt;br /&gt;
&lt;br /&gt;
6. The attributes for each DMA channel take 4 bytes. Each attribute block has the following format: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 2&lt;br /&gt;
| DMA Channel address (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 1&lt;br /&gt;
| DMA Channel prescalar (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 1&lt;br /&gt;
| unused (0)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: the DMA address and prescalar are in the same order as the ASIC registers. &lt;br /&gt;
&lt;br /&gt;
7 These registers are internal to the CPC+ and define the current DMA operation: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 2&lt;br /&gt;
| loop counter (note a)&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| loop address (note b)&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| pause count (note c)&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| 1&lt;br /&gt;
| pause prescalar count (note d)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
a. This value represents the number of loops remaining. 0 = none. This count is between 0..0FFF. This counter counts down. &lt;br /&gt;
&lt;br /&gt;
b. This is the Amstrad memory address to loop back to. It is a pointer to the DMA instruction after the last REPEAT instruction. &lt;br /&gt;
&lt;br /&gt;
c. This value represents the pause count and the count is between 0...0FFF. (TO BE CHECKED: down counter? what exactly does it represent) &lt;br /&gt;
&lt;br /&gt;
d. This value represents the pause prescalar count and the count is between 0..FF. (TO BE CHECKED: down counter? what exactly does it represent) &lt;br /&gt;
&lt;br /&gt;
8. This value represents the last value written to this I/O port. Winape uses 8a and not 8b. This value has bits 7,6,5 set to 1,0 and 1 respectively. 8b is in the original specification and is written by both ACE and No$CPC.&lt;br /&gt;
&lt;br /&gt;
9. This value represents the lock status of RMR2. If locked, RMR2 can't be accessed otherwise it can.&lt;br /&gt;
&lt;br /&gt;
10. This value represents the current unlock sequence state. &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''State ID''&lt;br /&gt;
| ''Synchronised State''&lt;br /&gt;
| ''Note''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| Not synchronised&lt;br /&gt;
| ASIC is waiting for first non-zero byte to be written, this is the first synchronisation byte required&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Not synchronised&lt;br /&gt;
| ASIC is waiting for zero byte to be written, this is the second synchronisation byte required&lt;br /&gt;
|-&lt;br /&gt;
| 2..10&lt;br /&gt;
| synchronised&lt;br /&gt;
| ASIC is waiting for byte from unlock sequence. e.g. if &amp;quot;2&amp;quot;, ASIC is waiting for &amp;amp;amp;FF, the first byte of the unlock sequence. if &amp;quot;3&amp;quot; ASIC is waiting for &amp;amp;amp;77, the second byte of the unlock sequence.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSCA,DSCB ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by WinAPE and ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
The DSCA block contains the filename of the disc image inserted into drive A. The filename is stored as 8-bit ASCII (any Unicode characters with codes 0x100 or above will be translated to ? and therefore filenames with these characters can't be stored in Snapshots). The length of the block is the length of the filename in bytes.&lt;br /&gt;
&lt;br /&gt;
DSCB is similar to DSCA but stores the filename of the disc image inserted into drive B.&lt;br /&gt;
&lt;br /&gt;
== TAPE ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
The TAPE block contains the filename of the tape image inserted. The filename is stored as 8-bit ASCII (any Unicode characters with codes 0x100 or above will be translated to ? and therefore filenames with these characters can't be stored in Snapshots). The length of the block is the length of the filename in bytes.&lt;br /&gt;
&lt;br /&gt;
== ROMS ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by WinAPE and ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
This block contains a list of filenames for each ROM (and cartridge) that is defined. The length of the block is the length for all strings.&lt;br /&gt;
&lt;br /&gt;
If a ROM is not defined, a single NUL (0) byte is present, otherwise there is a null terminated 8-bit ASCII string.&lt;br /&gt;
&lt;br /&gt;
First in the list is the filename (or internal name) for the cartridge (prefixed with a 'A' character), followed by lower rom and then upper roms 0-31 (WinAPE) or 0-255 (ACE).&lt;br /&gt;
&lt;br /&gt;
WinAPE lists internal ROMs by their internal name (the name listed in the drop down when you configure the roms, e.g. OS464).&lt;br /&gt;
ACE always put the actual file name, even for internal ROMs (e.g. System/Firmware_v3.rom).&lt;br /&gt;
&lt;br /&gt;
After the list of the upper ROMs, ACE also put the names of the internal Basic and AMSDOS ROMs.&lt;br /&gt;
Then, the presence of the &amp;quot;CartridgeKeepExtROM&amp;quot; let ACE know if the cartridge ROMs should disable installed external upper ROMs or not (depending on user preferences).&lt;br /&gt;
&lt;br /&gt;
NOTE: The selected Multiface ROM is not saved in the snapshot.&lt;br /&gt;
&lt;br /&gt;
== INFO ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by No$CPC. It contains an 8-bit ASCII string with the version information for No$CPC.&lt;br /&gt;
&lt;br /&gt;
== MEM0-8 ==&lt;br /&gt;
&lt;br /&gt;
The MEM0-8 chunks contain at most 64KB of data. The data may be compressed or stored uncompressed. If the size is exactly 65536 bytes the data is uncompressed, otherwise it is compressed. Up to 512KB additional RAM can be stored in a snapshot. &lt;br /&gt;
&lt;br /&gt;
The compression scheme is RLE with 0x0e5 as the control byte.&lt;br /&gt;
&lt;br /&gt;
Data is encoded as:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;byte&amp;gt; for a single occurrence of a byte (not 0x0e5) (e.g. 0x013)&lt;br /&gt;
* 0x0e5,&amp;lt;count&amp;gt;,&amp;lt;byte&amp;gt; for multiple occurances of a byte (e. 0x0e5,0x04,0x013 for 0x013 repeated 4 times)&lt;br /&gt;
* 0x0e5,0 for a single 0x0e5 byte (e.g. 0x0e5)&lt;br /&gt;
&lt;br /&gt;
The blocks are:&lt;br /&gt;
&lt;br /&gt;
* MEM0 - main 64KB ram&lt;br /&gt;
* MEM1 - c4,c5,c6,c7 configurations (extra 64KB ram in 128KB machines) (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM2 - cc,cd,ce,cf configurations (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM3 - d4,d5,d6,d7 configurations (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM4 - dc,dd,de,df configurations (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM5 - e4,e5,e6,e7 configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
* MEM6 - ec,ed,ee,ef configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
* MEM7 - f4,f5,f6,f7 configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
* MEM8 - fc,fd,fe,ff configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
1. A snapshot may contain a mix of &amp;quot;standard&amp;quot; memory data (e.g. the data follows the header and is uncompressed) and additional MEM blocks as required.&lt;br /&gt;
&lt;br /&gt;
2. If the snapshot is not compressed, then up to 128KB will be stored as &amp;quot;standard&amp;quot; memory data, the additional RAM stored in MEM2-MEM8 blocks.&lt;br /&gt;
&lt;br /&gt;
3. If the snapshot is compressed, then the &amp;quot;standard&amp;quot; memory data will have 0 size and there will be a MEM0 in addition to the additional memory blocks.&lt;br /&gt;
&lt;br /&gt;
4. Version 3 doesn't require memory to be continuous. A Dk'tronics silicon disk on it's own can be described with this version.&lt;br /&gt;
&lt;br /&gt;
5. WinAPE allows a 4MB RAM expansion to be enabled but doesn't save the additional RAM in the snapshot.&lt;br /&gt;
&lt;br /&gt;
6. ACE can save additional memory in snapshots (up to 4MB) using the MX?? chunks.&lt;br /&gt;
&lt;br /&gt;
== MX09-40 ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE.&lt;br /&gt;
&lt;br /&gt;
MX?? chunks allow snapshots to store up to 4160KB ram.&lt;br /&gt;
&lt;br /&gt;
MX?? chunks are following MEM0-8 chunks. They are numbered from 09 to 40 (hexadecimal numbering).&lt;br /&gt;
Information are stored compressed like in MEM0-8 chunks.&lt;br /&gt;
&lt;br /&gt;
== BRKC ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by ACE when some breakpoints are set. When loading a snapshot, the breakpoints found in this chunk are added to the one already installed.&lt;br /&gt;
The number of stored breakpoints in the chunk is given by the chunk size divided by 216 (the size of one breakpoint data structure).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint type (0:Execution, 1:Memory, 2:I/O port)&lt;br /&gt;
|-&lt;br /&gt;
| 01&lt;br /&gt;
| 1&lt;br /&gt;
| Memory access mode (0:R/W, 1:R/O, 2:W/O)&lt;br /&gt;
|-&lt;br /&gt;
| 02&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint runtime mode (0:Break, 1:Watch)&lt;br /&gt;
|-&lt;br /&gt;
| 03&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint map type (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 04&lt;br /&gt;
| 2&lt;br /&gt;
| Breakable memory/port (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 06&lt;br /&gt;
| 2&lt;br /&gt;
| Breakable memory/port mask (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 08&lt;br /&gt;
| 1&lt;br /&gt;
| Match value&lt;br /&gt;
|-&lt;br /&gt;
| 09&lt;br /&gt;
| 1&lt;br /&gt;
| Match value mask&lt;br /&gt;
|-&lt;br /&gt;
| 0A&lt;br /&gt;
| 2&lt;br /&gt;
| Breakable memory size (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 0C&lt;br /&gt;
| 4&lt;br /&gt;
| Breakpoint activation step (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 128&lt;br /&gt;
| Breakpoint condition to match (NULL terminated string) (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 90&lt;br /&gt;
| 64&lt;br /&gt;
| Breakpoint user name (NULL terminated string)&lt;br /&gt;
|-&lt;br /&gt;
| D0&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint map bank (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| D1&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint map page (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| D2&lt;br /&gt;
| 6&lt;br /&gt;
| Reserved&lt;br /&gt;
|-&lt;br /&gt;
| D8&lt;br /&gt;
| ...&lt;br /&gt;
| Same sequence repeated for each breakpoint&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
&lt;br /&gt;
1. The condition is expressed using ACE syntax (similar to BASIC with AND/OR/XOR/NOT/+/-/=...).&lt;br /&gt;
Allowed additional syntaxes are:&lt;br /&gt;
*&amp;amp;, # or 0x for a hexadecimal number.&lt;br /&gt;
*% or &amp;amp;x for a binary number.&lt;br /&gt;
*AF, BC, HL, IX... for a 16-bit Z80 register.&lt;br /&gt;
*A, B, D, IXh, IXl... for an 8-bit Z80 register.&lt;br /&gt;
*FlagC, FlagNC, FlagM... for a Z80 flag.&lt;br /&gt;
*LineCount for the line number.&lt;br /&gt;
*LineCycle for the µs count on the current line.&lt;br /&gt;
*MemPage for the 64K expansion memory page (0-63).&lt;br /&gt;
*MemBankMode for the 16K expansion memory bank paging mode (0-7).&lt;br /&gt;
*UpperROMOn for the paging state of the upper ROM.&lt;br /&gt;
*UpperROMNum for the selected upper ROM number.&lt;br /&gt;
*LowerROMOn for the paging state of the lower ROM.&lt;br /&gt;
*LowerROMNum for the selected lower ROM number.&lt;br /&gt;
*ASICPageOn for the paging state of the I/O ASIC registers page.&lt;br /&gt;
&lt;br /&gt;
''Example : FlagC AND (HL=DE OR HL=&amp;amp;5000)''&lt;br /&gt;
&lt;br /&gt;
2. The map type determines the memory layout for which the breakpoint is valid.&lt;br /&gt;
The meaning of the values for map bank and map page depends on the map type value.&lt;br /&gt;
Possible values fir map type are:&lt;br /&gt;
* 0: Undefined. Map bank and page are ignored (always 0).&lt;br /&gt;
* 1: Main RAM. If map bank is 0, then linear main RAM is considered. If map bank is 1, then main RAM from &amp;amp;c000-&amp;amp;ffff mapped as &amp;amp;4000-&amp;amp;7fff is considered. Map page is ignored (always 0). &lt;br /&gt;
* 2: Extension RAM. Map bank is the 16K extension bank number (0-3). Map page is the 64K extension page number (0-31).&lt;br /&gt;
* 3: Extension ROM. Map bank is the ROM slot id (0-255). Map page is ignored (always 0).&lt;br /&gt;
* 4: Firmware ROM. Map bank and page are ignored (always 0).&lt;br /&gt;
* 5: Cartridge ROM. Map bank is the 16K ROM bank number (0-31). Map page is ignored (always 0).&lt;br /&gt;
* 6: ASIC I/O Page. Map bank and page are ignored (always 0).&lt;br /&gt;
&lt;br /&gt;
== SYMB ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by ACE when some symbols are declared. When loading a snapshot, the symbols found in this chunk are added to the alreading existing ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 1&lt;br /&gt;
| Length on the symbol name (n). 0 is an invalid value.&lt;br /&gt;
|-&lt;br /&gt;
| 01&lt;br /&gt;
| n&lt;br /&gt;
| Symbol name (note 1).&lt;br /&gt;
|-&lt;br /&gt;
| n+1&lt;br /&gt;
| 1&lt;br /&gt;
| Symbol memory map type (note 2).&lt;br /&gt;
|-&lt;br /&gt;
| n+2&lt;br /&gt;
| 1&lt;br /&gt;
| Symbol memory map bank (note 2).&lt;br /&gt;
|-&lt;br /&gt;
| n+3&lt;br /&gt;
| 1&lt;br /&gt;
| Symbol memory map page (note 2).&lt;br /&gt;
|-&lt;br /&gt;
| n+4&lt;br /&gt;
| 2&lt;br /&gt;
| Reserved for future usage, always 0 for now.&lt;br /&gt;
|-&lt;br /&gt;
| n+6&lt;br /&gt;
| 1&lt;br /&gt;
| Symbol type (0: absolute, 1: relative).&lt;br /&gt;
|-&lt;br /&gt;
| n+7&lt;br /&gt;
| 2&lt;br /&gt;
| Address of the symbol (MSB first).&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
| Same sequence repeated until the end of the chunk is reached.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
&lt;br /&gt;
1. Symbol are (obviously) limited to 255 characters, cannot begin with a number (0-9), and only a limited set of ASCII char is allowed (a-z, A-Z, 0-9, _, .).&lt;br /&gt;
&lt;br /&gt;
2. The map type determines the memory layout for which the symbol is valid. The meaning of the values for map bank and map page depends on the map type value.&lt;br /&gt;
Possible values fir map type are:&lt;br /&gt;
* 0: Undefined. Map bank and page are ignored (always 0).&lt;br /&gt;
* 1: Main RAM. If map bank is 0, then linear main RAM is considered. If map bank is 1, then main RAM from &amp;amp;c000-&amp;amp;ffff mapped as &amp;amp;4000-&amp;amp;7fff is considered. Map page is ignored (always 0). &lt;br /&gt;
* 2: Extension RAM. Map bank is the 16K extension bank number (0-3). Map page is the 64K extension page number (0-31).&lt;br /&gt;
* 3: Extension ROM. Map bank is the ROM slot id (0-255). Map page is ignored (always 0).&lt;br /&gt;
* 4: Firmware ROM. Map bank and page are ignored (always 0).&lt;br /&gt;
* 5: Cartridge ROM. Map bank is the 16K ROM bank number (0-31). Map page is ignored (always 0).&lt;br /&gt;
* 6: ASIC I/O Page. Map bank and page are ignored (always 0).&lt;br /&gt;
&lt;br /&gt;
== BRKS ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by WinAPE when some breakpoints are set.&lt;br /&gt;
ACE can import breakpoints from this chunk but won't create it (BRKC is used instead).&lt;br /&gt;
&lt;br /&gt;
The chunk contains 1 or more breakpoints.&lt;br /&gt;
&lt;br /&gt;
Each breakpoint has the form:&lt;br /&gt;
  * 2 bytes: address (LSB first)&lt;br /&gt;
  * 1 byte: location (0: base 64K RAM, 1: extended RAM)&lt;br /&gt;
  * 2 bytes: condition (?)&lt;br /&gt;
&lt;br /&gt;
== WABP ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by WinAPE when some breakpoints are set. &lt;br /&gt;
The exact details are begin worked out.&lt;br /&gt;
&lt;br /&gt;
It seems to be:&lt;br /&gt;
&lt;br /&gt;
4 bytes - number of user breakpoints&lt;br /&gt;
&lt;br /&gt;
Each user breakpoint:&lt;br /&gt;
&lt;br /&gt;
type,&lt;br /&gt;
4 byte address&lt;br /&gt;
&lt;br /&gt;
Then,  4 bytes - number of memory breakpoints&lt;br /&gt;
&lt;br /&gt;
Each memory breakpoint:&lt;br /&gt;
&lt;br /&gt;
Then, 4 bytes - number of i/o breakpoints:&lt;br /&gt;
&lt;br /&gt;
Each i/o breakpoint:&lt;br /&gt;
&lt;br /&gt;
 2 bytes flags? (6000 read, a400 write)&lt;br /&gt;
 2 bytes port addr mask&lt;br /&gt;
 2 bytes port addr&lt;br /&gt;
 4 bytes counter&lt;br /&gt;
 4 bytes condition string length, followed by condition string (not null terminated)&lt;br /&gt;
&lt;br /&gt;
== DARS ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by WinAPE when some data areas are set. &lt;br /&gt;
&lt;br /&gt;
The number of stored data areas in the chunk is given by the chunk size divided by 10 (the size of one data area data structure).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 4&lt;br /&gt;
| Address (LSB first) (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 04&lt;br /&gt;
| 4&lt;br /&gt;
| Area size (LSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 08&lt;br /&gt;
| 1&lt;br /&gt;
| Data type (0=byte,1=word)&lt;br /&gt;
|-&lt;br /&gt;
| 09&lt;br /&gt;
| 1&lt;br /&gt;
| Labels (1=marked by user as having labels)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
1. Winape's addressing scheme is 4 bytes. The upper 16-bits effectively define the internal 64KB pages it uses.&lt;br /&gt;
&lt;br /&gt;
== REMU ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written RASM and contains information about symbols and breakpoints.&lt;br /&gt;
ACE will import informations from this chunk but won't write it (SYMB and BRKC are used instead).&lt;br /&gt;
&lt;br /&gt;
== RM00-FF ==&lt;br /&gt;
&lt;br /&gt;
This chunk was introduced by RASM and is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
The RM00-FF chunks contain at most 16KB of data representing the contents of the related external upper ROMs number. The data may be compressed or stored uncompressed. If the size is exactly 16384 bytes the data is uncompressed, otherwise it is compressed. Up to 2MB of external upper ROMs can be stored in a snapshot. &lt;br /&gt;
&lt;br /&gt;
The compression scheme is identical to the one from MEM0-7 chunks.&lt;br /&gt;
&lt;br /&gt;
== LOWR ==&lt;br /&gt;
&lt;br /&gt;
This chunk was introduced by RASM and is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
It is similar to the RM00-FF chunks but stored the internal firmware ROM contents.&lt;br /&gt;
&lt;br /&gt;
== BASR ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
It is similar to the RM00-FF chunks but stored the internal Basic ROM contents.&lt;br /&gt;
&lt;br /&gt;
== DOSR ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
It is similar to the RM00-FF chunks but stored the internal AMSDOS ROM contents.&lt;br /&gt;
&lt;br /&gt;
== CART ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
It stores the contents of the inserted cartridge ROM. Extended cartridges are also supported.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 1&lt;br /&gt;
| Type of compression (0: uncompressed, &amp;amp;5E: RLE compressed)&lt;br /&gt;
|-&lt;br /&gt;
| 01&lt;br /&gt;
| 4&lt;br /&gt;
| Physical size of the cartridge in bytes, must be 16, 32, 64, 128, 256 or 512KB (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 05&lt;br /&gt;
| 2&lt;br /&gt;
| Number of cartridges, 1: for normal cartridges, extended cartridges otherwise (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 07&lt;br /&gt;
| 2&lt;br /&gt;
| Flags, bit 0 set if the external upper ROMs must be disabled, other bits set to 0 (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 09&lt;br /&gt;
| x&lt;br /&gt;
| Cartridge data contents (either compressed or not depending on type of compression)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== PLUG ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
This chunk stores the names of the plugins which should be enabled for the snapshot.&lt;br /&gt;
&lt;br /&gt;
All names are stored one after the other, in the form of binary strings (first byte containing the plugin name length followed by the the actual string).&lt;br /&gt;
The names stored are the actual names of the plugins libraries (e.g. &amp;quot;multiface2.acepansion&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
[[Snapshot Archive]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Programming]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Snapshot&amp;diff=113835</id>
		<title>Snapshot</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Snapshot&amp;diff=113835"/>
				<updated>2024-01-07T16:39:55Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: /* SYMB */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Snapshot (.SNA) file format  =&lt;br /&gt;
&lt;br /&gt;
The format was first defined for the [[CPCEMU|CPCEMU]] emulator but is now widely supported. The format was originally defined by [[Marco Vieth|Marco Vieth]]. Version 3 was defined by [[Ulrich Doewich|Ulrich Doewich]], [[Martin Korth|Martin Korth]], [[Richard Wilson|Richard Wilson]] and [[Kevin Thacker|Kevin Thacker]]. &lt;br /&gt;
&lt;br /&gt;
There are 3 versions defined in this document. Version 3 is the most recent and is currently supported by a few of the most recent emulators. &lt;br /&gt;
&lt;br /&gt;
Snapshots produced with [[CPCE|CPCE]] appears to be the most compatible and will run correctly using any emulator.&lt;br /&gt;
&lt;br /&gt;
Abbreviations: &lt;br /&gt;
&lt;br /&gt;
*[[Gate Array|GA = &amp;quot;Gate Array&amp;quot;]] &lt;br /&gt;
*[[CRTC|CRTC = &amp;quot;6845 Cathode Ray Tube Controller&amp;quot;]] &lt;br /&gt;
*[[8255|PPI = &amp;quot;Intel 8255 Programmable Peripheral Interface&amp;quot;]] &lt;br /&gt;
*[[PSG|PSG = &amp;quot;AY-3-8912 Programmable Sound Generator&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
= Version 1  =&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00-07&lt;br /&gt;
| 8&lt;br /&gt;
| The identification string &amp;quot;MV - SNA&amp;quot;. This must exist for the snapshot to be valid.&lt;br /&gt;
|-&lt;br /&gt;
| 08-0f&lt;br /&gt;
| 8&lt;br /&gt;
| (not used; set to 0)&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 1&lt;br /&gt;
| snapshot version (1)&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register F&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register A&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register C&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register B&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register E&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register D&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register L&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register H&lt;br /&gt;
|-&lt;br /&gt;
| 19&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register R&lt;br /&gt;
|-&lt;br /&gt;
| 1a&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register I&lt;br /&gt;
|-&lt;br /&gt;
| 1b&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 interrupt flip-flop IFF0 (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 1c&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 interrupt flip-flop IFF1 (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 1d&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IX (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 1e&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IX (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 1f&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IY (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 20&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IY (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 21&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register SP (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 22&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register SP (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 23&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register PC (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 24&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register PC (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 25&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 interrupt mode (0,1,2) (note 3)&lt;br /&gt;
|-&lt;br /&gt;
| 26&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register F' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 27&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register A' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 28&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register C' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 29&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register B' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2a&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register E' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2b&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register D' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2c&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register L' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2d&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register H' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2e&lt;br /&gt;
| 1&lt;br /&gt;
| GA: index of selected pen (note 10)&lt;br /&gt;
|-&lt;br /&gt;
| 2f-3f&lt;br /&gt;
| 1&lt;br /&gt;
| GA: current palette (note 12)&lt;br /&gt;
|-&lt;br /&gt;
| 40&lt;br /&gt;
| 1&lt;br /&gt;
| GA: multi configuration (note 11)&lt;br /&gt;
|-&lt;br /&gt;
| 41&lt;br /&gt;
| 1&lt;br /&gt;
| current RAM configuration (note 13)&lt;br /&gt;
|-&lt;br /&gt;
| 42&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC: index of selected register (note 14)&lt;br /&gt;
|-&lt;br /&gt;
| 43-54&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC: register data (0..17) (note 15)&lt;br /&gt;
|-&lt;br /&gt;
| 55&lt;br /&gt;
| 1&lt;br /&gt;
| current ROM selection (note 16)&lt;br /&gt;
|-&lt;br /&gt;
| 56&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: port A (note 6)&lt;br /&gt;
|-&lt;br /&gt;
| 57&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: port B (note 7)&lt;br /&gt;
|-&lt;br /&gt;
| 58&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: port C (note 8)&lt;br /&gt;
|-&lt;br /&gt;
| 59&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: control port (note 9)&lt;br /&gt;
|-&lt;br /&gt;
| 5a&lt;br /&gt;
| 1&lt;br /&gt;
| PSG: index of selected register (note 17)&lt;br /&gt;
|-&lt;br /&gt;
| 5b-6a&lt;br /&gt;
| 1&lt;br /&gt;
| PSG: register data (0,1,....15)&lt;br /&gt;
|-&lt;br /&gt;
| 6b&lt;br /&gt;
| 2&lt;br /&gt;
| memory dump size in Kilobytes (e.g. 64 for 64K, 128 for 128k) (note 18)&lt;br /&gt;
|-&lt;br /&gt;
| 6d-ff&lt;br /&gt;
| 1&lt;br /&gt;
| not used set to 0&lt;br /&gt;
|-&lt;br /&gt;
| 100-...&lt;br /&gt;
| 1&lt;br /&gt;
| memory dump&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes  ==&lt;br /&gt;
&lt;br /&gt;
1. All multi-byte values are stored in little-endian format (low byte followed by higher bytes). &lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;IFF0&amp;quot; reflects the state of the maskable interrupt (INT). &amp;quot;IFF1&amp;quot; is used to store the state of IFF0 when a non-maskable interrupt (NMI) is executed. Bit 0 of these bytes is significant. For CPCEMU compatibility, these bytes should be set to &amp;quot;1&amp;quot; when the IFF flip-flop is &amp;quot;1&amp;quot; and &amp;quot;0&amp;quot; when the flip-flop is &amp;quot;0&amp;quot;. For compatibility with other emulators, bits 7-1 should be set to &amp;quot;0&amp;quot;. When bit 0 of &amp;quot;IFF0&amp;quot; is &amp;quot;0&amp;quot; maskable interrupts will be ignored. When bit 0 of &amp;quot;IFF1&amp;quot; is &amp;quot;1&amp;quot; maskable interrupts will be acknowledged and executed. See the document about the Z80 for more information. &lt;br /&gt;
&lt;br /&gt;
3. This byte will be 0, 1 or 2 for the interrupt modes 0, 1 or 2. The interrupt mode is set using the &amp;quot;IM x&amp;quot; instructions. See the document about the Z80 for more information. &lt;br /&gt;
&lt;br /&gt;
4. These registers are from the alternate register set of the Z80. &lt;br /&gt;
&lt;br /&gt;
5. These registers are 16-bit. &amp;quot;low&amp;quot; indicates bits 7..0, &amp;quot;high&amp;quot;indicates bits 15..8. &lt;br /&gt;
&lt;br /&gt;
6. This byte represents the inputs to PPI port A regardless of the input/output setting of this port. &lt;br /&gt;
&lt;br /&gt;
7. This byte represents the inputs to PPI port B regardless of the input/output setting of this port. &lt;br /&gt;
&lt;br /&gt;
8. This byte represents the outputs from port C regardless of the input/output setting of this port. &lt;br /&gt;
&lt;br /&gt;
9. This byte represents the PPI control byte which defines the input/output and mode of each port and not the last value written to this port. For CPCEMU compatibility bit 7 of this byte must be set to &amp;quot;1&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
10. This byte in the snapshot represents the selected pen register of the Gate-Array. This byte is the last value written to this port. Bit 7,6,5 should be set to &amp;quot;0&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
11. This byte in the snapshot represents the multi-configuration register of the Gate-Array. This byte is the last byte written to this register. For CPCEMU compatibility, bit 7 should be set to &amp;quot;1&amp;quot; and bit 6 and bit 5 set to &amp;quot;0&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
12. These bytes are the current palette. For CPCEMU compatibility, these bytes should have bit 7=bit 6=bit 5=&amp;quot;0&amp;quot;. Bits 4..0 define the colour using the hardware colour code. The colours are stored in the order pen 0, pen1, pen 2,...,pen 15 followed by border colour. &lt;br /&gt;
&lt;br /&gt;
13. This byte represents a ram configuration for a Dk'Tronics/Dobbertin/Amstrad compatible RAM expansion, or the built in RAM expansion of the CPC6128 and CPC6128+. Bits 5..0 define the ram expansion code. For CPCEMU compatibility, bit 7 and bit 6 of this byte should be set to &amp;quot;0&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
14. This byte in the snapshot represents the index of the currently selected CRTC register. For compatibility with CPCEMU this value should be in the range 0-31. &lt;br /&gt;
&lt;br /&gt;
15. These bytes represent the data of the CRTC's registers. &lt;br /&gt;
&lt;br /&gt;
16. This byte in the snapshot represents the last byte written to the &amp;quot;ROM select&amp;quot; I/O port. &lt;br /&gt;
&lt;br /&gt;
17. This byte in the snapshot represents the index of the currently selected PSG register. For CPCEMU compatibility, this byte should be in the range 0-15. &lt;br /&gt;
&lt;br /&gt;
18. the memory dump can have size 0 in version 3 and in this case all RAM is described in additional blocks (MEM0-MEM8). If a memory dump has a non-zero size, then it is uncompressed and describes the main 64KB ram immediately followed by the second 64KB ram (if present) (this ram is inside 128KB machines or machines with 64KB from a Dk'Tronics/Dobbertin/Amstrad compatible RAM expansion. Note that CPCEMU can only write a 64K or 128K snapshot.&lt;br /&gt;
&lt;br /&gt;
19. JavaCPC uses e0-ff to store an emulator ID (see snapshot V3 for more details)&lt;br /&gt;
&lt;br /&gt;
= Changes and additions in Version 2 from Version 1  =&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 1&lt;br /&gt;
| snapshot version (2)&lt;br /&gt;
|-&lt;br /&gt;
| 6d&lt;br /&gt;
| 1&lt;br /&gt;
| CPC Type: &lt;br /&gt;
*0 = CPC464 &lt;br /&gt;
*1 = CPC664 &lt;br /&gt;
*2 = CPC6128 &lt;br /&gt;
*3 = unknown&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 6e&lt;br /&gt;
| 1&lt;br /&gt;
| interrupt number (0..5) (note 1a)&lt;br /&gt;
|-&lt;br /&gt;
| 6f-74&lt;br /&gt;
| 6&lt;br /&gt;
| 6 multimode bytes (note 1b)&lt;br /&gt;
|-&lt;br /&gt;
| 75-ff&lt;br /&gt;
| x&lt;br /&gt;
| (not used)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes  ==&lt;br /&gt;
&lt;br /&gt;
1. If standard CPC raster interrupts are used, interrupts are acknowledged and &amp;quot;executed&amp;quot; at the time they are requested, then there will be 6 interrupts executed per screen update cycle. &lt;br /&gt;
&lt;br /&gt;
*CPCEMU uses a simple system to emulate the interrupts. It is assumed there are exactly 6 interrupts per screen update cycle (the interrupts are assumed to occur at a frequency of 300Hz). This byte records the interrupt number in the current screen update cycle. More accurate emulators use the correct interrupt generation method and may ignore this byte. For CPCEMU compatibility, these emulators should set this byte to &amp;quot;0&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*CPCEMU uses a simple system to emulate the screen display. It allows the mode to be changed in each of the 6 interrupts that occur during a single 50Hz/60Hz period. These bytes represent the mode in each of these sections, i.e. the screen modes (0,1 or 2) for the interrupts 0..5. More accurate emulators support changing of the screen mode at any point supported by the Amstrad hardware, these emulators should write &amp;quot;0&amp;quot; for all these bytes.&lt;br /&gt;
&lt;br /&gt;
2. A version 2 snapshot describes Dk'Tronics/Dobbertin compatible RAM in addition to the 64KB base ram. This is a type of RAM expansion which uses the same port and paging mechanism as the extra 64KB inside the 6128. However, the RAM *MUST* be continuous, therefore it's limited to 64KB, 256KB or 512KB additional RAM. The Dk'Tronics silicon disk can't be described on it's own because it's RAM configurations do not start at C4.&lt;br /&gt;
&lt;br /&gt;
The following configurations can be described:&lt;br /&gt;
* 64KB base + 64KB extra RAM (e.g. Dk'Tronics 64KB RAM Expansion)&lt;br /&gt;
* 64KB base + 256KB extra RAM (e.g. Dk'Tronics 256KB RAM Expansion)&lt;br /&gt;
* 64KB base + 512KB extra RAM (e.g. Dk'Tronics 256KB RAM Expansion &amp;amp; Dk'Tronics 256KB Silicon Disk OR X-MEM OR Symbiface 2 OR other device which provides 512KB)&lt;br /&gt;
&lt;br /&gt;
JavaCPC uses this value to store up to 4MB of RAM. (e.g. [[CPC4MB]]). This type of ram is Dk'Tronics compatible and has multiple banks of 512KB. This value could be used to describe a 1MB or 2MB expansion as long as it is fully Dk'tronics compatible (e.g. rpalmer's 2MB).&lt;br /&gt;
&lt;br /&gt;
3. JavaCPC uses e0-ff to store an emulator ID (see snapshot V3 for more details)&lt;br /&gt;
&lt;br /&gt;
= Changes and additions in Version 3 from Version 2  =&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 1&lt;br /&gt;
| snapshot version (3)&lt;br /&gt;
|-&lt;br /&gt;
| 6d&lt;br /&gt;
| 1&lt;br /&gt;
| CPC Type: &lt;br /&gt;
*0 = CPC464 &lt;br /&gt;
*1 = CPC664 &lt;br /&gt;
*2 = CPC6128 &lt;br /&gt;
*3 = unknown &lt;br /&gt;
*4 = 6128 Plus &lt;br /&gt;
*5 = 464 Plus &lt;br /&gt;
*6 = GX4000&lt;br /&gt;
|-&lt;br /&gt;
| 75&lt;br /&gt;
| n&lt;br /&gt;
| Disc drive A filename (No$CPC only)&lt;br /&gt;
|-&lt;br /&gt;
| 99&lt;br /&gt;
| 1&lt;br /&gt;
| Monitor VHold Value (-45 to +85)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9a&lt;br /&gt;
| 1&lt;br /&gt;
| Memory Expansion Enable (when Bit 7 is set)&lt;br /&gt;
*Bit 0 = 128K memory (Banks C4..C7)&lt;br /&gt;
*Bit 1 = 256K memory (Banks C4..DF)&lt;br /&gt;
*Bit 2 = 256K silicon disc (Banks E4..FF)&lt;br /&gt;
*Bit 3 = 4M expansion&lt;br /&gt;
*Bit 7 = Always set if this is valid &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9b&lt;br /&gt;
| 1&lt;br /&gt;
| Fast Disc emulation mode (0=off, 1=on) (WinAPE)&lt;br /&gt;
|-&lt;br /&gt;
| 9c&lt;br /&gt;
| 1&lt;br /&gt;
| FDD motor drive state (0=off, 1=on)&lt;br /&gt;
|-&lt;br /&gt;
| 9d-a0&lt;br /&gt;
| 4&lt;br /&gt;
| FDD current physical track (note 15)&lt;br /&gt;
|-&lt;br /&gt;
| a1&lt;br /&gt;
| 1&lt;br /&gt;
| Printer Data/Strobe Register (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| a2-a3&lt;br /&gt;
| 2&lt;br /&gt;
| Current frame scan line since monitor retrace (note16)&lt;br /&gt;
|-&lt;br /&gt;
| a4&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC type: &lt;br /&gt;
*0 = HD6845S/UM6845 &lt;br /&gt;
*1 = UM6845R &lt;br /&gt;
*2 = MC6845 &lt;br /&gt;
*3 = 6845 in CPC+ ASIC &lt;br /&gt;
*4 = 6845 in Pre-ASIC&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| a9&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC horizontal character counter register (note 11)&lt;br /&gt;
|-&lt;br /&gt;
| aa&lt;br /&gt;
| 1&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| ab&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC character-line counter register (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| ac&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC raster-line counter register (note 3)&lt;br /&gt;
|-&lt;br /&gt;
| ad&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC vertical total adjust counter register (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| ae&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC horizontal sync width counter (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| af&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC vertical sync width counter (note 6)&lt;br /&gt;
|-&lt;br /&gt;
| b0-b1&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Bit''&lt;br /&gt;
| ''Function''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| if &amp;quot;1&amp;quot; VSYNC is active, if &amp;quot;0&amp;quot; VSYNC is inactive (note 8)&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| if &amp;quot;1&amp;quot; HSYNC is active, if &amp;quot;0&amp;quot; HSYNC is inactive (note 9)&lt;br /&gt;
|-&lt;br /&gt;
| 2-6&lt;br /&gt;
| reserved&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| if &amp;quot;1&amp;quot; Vertical Total Adjust is active, if &amp;quot;0&amp;quot; Vertical Total Adjust is inactive (note 10)&lt;br /&gt;
|-&lt;br /&gt;
| 8-14&lt;br /&gt;
| Reserved (0)&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| if &amp;quot;1&amp;quot; use extended Interrupt Control Status Register (WinAPE)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| b2&lt;br /&gt;
| 1&lt;br /&gt;
| GA vsync delay counter (note 14)&lt;br /&gt;
|-&lt;br /&gt;
| b3&lt;br /&gt;
| 1&lt;br /&gt;
| GA interrupt scanline counter (note 12)&lt;br /&gt;
|-&lt;br /&gt;
| b4&lt;br /&gt;
| 1&lt;br /&gt;
| interrupt request flag (0=no interrupt requested, 1=interrupt requested) (note 13)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| b5&lt;br /&gt;
| 1&lt;br /&gt;
| Interrupt Control Status Register (WinAPE) (note 17)&lt;br /&gt;
|-&lt;br /&gt;
| b6&lt;br /&gt;
| 1&lt;br /&gt;
| Plus features disabled (0=enabled, 1=disabled)&lt;br /&gt;
|-&lt;br /&gt;
| b7&lt;br /&gt;
| 1&lt;br /&gt;
| Plus PPI Emulation (0=Standard 8255 emulation, 1=Plus PPI emulation)&lt;br /&gt;
|-&lt;br /&gt;
| b8-df&lt;br /&gt;
| 28&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| e0&lt;br /&gt;
| 20&lt;br /&gt;
| Emulator ID String&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes  ==&lt;br /&gt;
&lt;br /&gt;
1. This byte in the snapshot represents the last byte written to the printer I/O port (this byte does not include the automatic inversion of the strobe caused by the Amstrad hardware). &lt;br /&gt;
&lt;br /&gt;
2. This register is internal to the CRTC and counts the number of character-lines. The counter counts up. This value is in the range 0-127. (This counter is compared against CRTC register 4). &lt;br /&gt;
&lt;br /&gt;
3. This register is internal to the CRTC and counts the number of raster-lines. The counter counts up. This value is in the range 0-31. (This counter is compared against CRTC register 9). &lt;br /&gt;
&lt;br /&gt;
4. This register is internal to the CRTC and counts the number of raster-lines during vertical adjust. The counter counts up. This value is in the range 0-31. This should be ignored if the CRTC is not &amp;quot;executing&amp;quot; vertical. adjust.(This counter is compared against CRTC register 5). &lt;br /&gt;
&lt;br /&gt;
5. This register is internal to the CRTC and counts the number of characters during horizontal sync. This counter counts up. This value is in the range 0-16. This should be ignored if the CRTC is not &amp;quot;executing&amp;quot; horizontal sync. (This counter is compared against CRTC register 3). &lt;br /&gt;
&lt;br /&gt;
6. This register is internal to the CRTC and counts the number of scan-lines during vertical sync. This counter counts up. This value is in the range 0-16. This should be ignored if the CRTC is not &amp;quot;executing&amp;quot; vertical sync. (This counter is compared against CRTC register 3). &lt;br /&gt;
&lt;br /&gt;
7. These bytes define the internal state of the CRTC. Each bit in these bytes represents a state. &lt;br /&gt;
&lt;br /&gt;
8. When VSYNC is active, the CRTC is &amp;quot;executing&amp;quot; vertical sync, and the vertical sync width counter in the snapshot is used. &lt;br /&gt;
&lt;br /&gt;
9. When HSYNC is active, the CRTC is &amp;quot;executing&amp;quot; horizontal sync width counter in the snapshot is used. &lt;br /&gt;
&lt;br /&gt;
10. When Vertical total adjust is active, the CRTC is &amp;quot;executing&amp;quot; vertical total adjust and the vertical total adjust counter in the snapshot is used. &lt;br /&gt;
&lt;br /&gt;
11. This register is internal to the CRTC and counts the number of characters. This counter counts up. This value is in the range 0-255. (This counter is compared against CRTC register 0). &lt;br /&gt;
&lt;br /&gt;
12. This counter is internal to the GA and counts the number of HSYNCs. This counter is used to generate CPC raster interrupts. This counter counts up. This value is in the range 0-51. &lt;br /&gt;
&lt;br /&gt;
13. This flag is &amp;quot;1&amp;quot; if a interrupt request has been sent to the Z80 and it has not yet been acknowledged by the Z80. (A interrupt request is sent by the GA for standard CPC raster interrupts or by the ASIC for raster or dma interrupts). &lt;br /&gt;
&lt;br /&gt;
14. This is a counter internal to the GA and counts the number of HSYNCs since the start of the VSYNC and it is used to reset the interrupt counter to synchronise interrupts with the VSYNC. This counter counts up. This value is between 0 and 2. If this value is 0, the counter is inactive. If this counter is 1 or 2 the counter is active.&lt;br /&gt;
&lt;br /&gt;
15. This is the current cylinder for each of 4 drives.&lt;br /&gt;
&lt;br /&gt;
16. In WinAPE this counter is reset if a VSYNC occurs which causes the monitor to retrace vertically. This occurs if the VSYNC signal is active and this counter is greater than a threshold set by the V-Hold (normally 295 when V-Hold is 0), or if the counter reaches the maximum value (normally 351 when V-Hold is 0).&lt;br /&gt;
&lt;br /&gt;
17. Since Plus emulation requires more information than simply whether an interrupt is active, this value (as used internally by WinAPE) contains: &lt;br /&gt;
* Bit 7 - Gate Array (or PRI) interrupt. &lt;br /&gt;
* Bit 6 - DMA Channel 0 interrupt. &lt;br /&gt;
* Bit 5 - DMA Channel 1 interrupt. &lt;br /&gt;
* Bit 4 - DMA Channel 2 interrupt. &lt;br /&gt;
&lt;br /&gt;
It can be a combination of all or any interrupt sources. Interrupts are executed in the order raster, DMA 2, DMA 1, DMA 0.&lt;br /&gt;
&lt;br /&gt;
Immediately following the memory dump there is optional data which is separated into chunks. &lt;br /&gt;
&lt;br /&gt;
Each chunk of data has a header and this is followed by the data in the chunk. The header has the following format: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 4&lt;br /&gt;
| Chunk name (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| Chunk data length (note 2)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes: &lt;br /&gt;
&lt;br /&gt;
1. The chunks are defined with 4-byte character codes. (e.g. &amp;quot;CPC+&amp;quot;). In this example, the 4-byte character code would be stored in the file as 'C' then 'P' then 'C' then '+'. &lt;br /&gt;
&lt;br /&gt;
2. The &amp;quot;Chunk data length&amp;quot; defines the length of data following the header and does not include the size of the header. This number is stored in little endian format. &lt;br /&gt;
&lt;br /&gt;
3. If a emulator finds a chunk which it does not support then it should skip the chunk and continue with the next chunk in the file. Therefore an emulator author may add emulator specific chunks to the file and it will not prevent the snapshot from being used with other emulators that do not recognise the added chunks. &lt;br /&gt;
&lt;br /&gt;
4. There is not a terminator chunk. The snapshot reader should determine if there are more chunks based on the size of data remaining to be read from the file. &lt;br /&gt;
&lt;br /&gt;
=Version 3 Chunks=&lt;br /&gt;
&lt;br /&gt;
The following chunks are currently defined: &lt;br /&gt;
&lt;br /&gt;
== CPC+ ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by Arnold, WinAPE, No$CPC and ACE. Arnold, WinAPE and ACE will save the block when Plus configuration enabled. No$CPC will save the block if the Plus features have been unlocked.&lt;br /&gt;
&lt;br /&gt;
When creating a snapshot with several chunks, it is usually a good idea to place the CPC+ one in first position, because some (old) tools and emulators are relying on this and will fail if it is not the case.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Addr in ASIC register-ram''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 000-7FF&lt;br /&gt;
| 800&lt;br /&gt;
| 4000-4FFF&lt;br /&gt;
| Sprite Bitmaps (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 800-87F&lt;br /&gt;
| 8*16&lt;br /&gt;
| 6000-607F&lt;br /&gt;
| Sprite Attributes (see below) (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 880-8BF&lt;br /&gt;
| 32*2&lt;br /&gt;
| 6400-643F&lt;br /&gt;
| Palettes (note 3)&lt;br /&gt;
|-&lt;br /&gt;
| 8C0&lt;br /&gt;
| 1&lt;br /&gt;
| 6800&lt;br /&gt;
| Programmable Raster Interrupt (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C1&lt;br /&gt;
| 1&lt;br /&gt;
| 6801&lt;br /&gt;
| Screen split scan-line (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C2&lt;br /&gt;
| 2&lt;br /&gt;
| 6802-6803&lt;br /&gt;
| Screen split secondary screen-address (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C4&lt;br /&gt;
| 1&lt;br /&gt;
| 6804&lt;br /&gt;
| Soft scroll control register (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C5&lt;br /&gt;
| 1&lt;br /&gt;
| 6805&lt;br /&gt;
| Interrupt vector (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C6&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| gate array A0 register value (note 8a) &lt;br /&gt;
|-&lt;br /&gt;
| 8C6-8C7&lt;br /&gt;
| 1&lt;br /&gt;
| -&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| 8C8-8CF&lt;br /&gt;
| 8&lt;br /&gt;
| 6808-680f&lt;br /&gt;
| Analogue input channels 0-7 (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 8D0-8DB&lt;br /&gt;
| 3*4&lt;br /&gt;
| 6C00-6C0B&lt;br /&gt;
| Sound DMA channel attributes 0-2 (see below) (note 6)&lt;br /&gt;
|-&lt;br /&gt;
| 8DC-8DE&lt;br /&gt;
| 3&lt;br /&gt;
| -&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| 8DF&lt;br /&gt;
| 1&lt;br /&gt;
| 6C0F&lt;br /&gt;
| DMA Control/Status (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8E0-8F4&lt;br /&gt;
| 3*7&lt;br /&gt;
| Internal&lt;br /&gt;
| DMA channel 0-2 internal registers (see below) (note 7)&lt;br /&gt;
|-&lt;br /&gt;
| 8F5&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| gate array A0 register value (note 8b)&lt;br /&gt;
|-&lt;br /&gt;
| 8F6&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| gate array A0 lock: 0 -&amp;gt; locked, !=0 -&amp;gt; unlocked (note 9)&lt;br /&gt;
|-&lt;br /&gt;
| 8F7&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| ASIC unlock sequence state (note 10)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes  ===&lt;br /&gt;
&lt;br /&gt;
1. The sprite data is packed, with two sprite pixels per byte. Bits 7..4 define the first pixel and bits 3..0 define the second pixel. &lt;br /&gt;
&lt;br /&gt;
2. The attributes for each sprite take 8 bytes. Each attribute block has the following format: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 2&lt;br /&gt;
| Sprite X (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| Sprite Y (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| Sprite Magnification (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 5-7&lt;br /&gt;
| 3&lt;br /&gt;
| unused (0)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: the Sprite X, Y and magnification are in the same order as the ASIC registers &lt;br /&gt;
&lt;br /&gt;
3. This is a direct copy of the palette in CPC+ ASIC Ram. There are 32 colours each with 2-bytes per colour. &lt;br /&gt;
&lt;br /&gt;
4. These bytes in the snapshot represent the last value written to these ASIC registers. &lt;br /&gt;
&lt;br /&gt;
5. These bytes represent the inputs to the analogue channels. &lt;br /&gt;
&lt;br /&gt;
6. The attributes for each DMA channel take 4 bytes. Each attribute block has the following format: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 2&lt;br /&gt;
| DMA Channel address (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 1&lt;br /&gt;
| DMA Channel prescalar (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 1&lt;br /&gt;
| unused (0)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: the DMA address and prescalar are in the same order as the ASIC registers. &lt;br /&gt;
&lt;br /&gt;
7 These registers are internal to the CPC+ and define the current DMA operation: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 2&lt;br /&gt;
| loop counter (note a)&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| loop address (note b)&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| pause count (note c)&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| 1&lt;br /&gt;
| pause prescalar count (note d)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
a. This value represents the number of loops remaining. 0 = none. This count is between 0..0FFF. This counter counts down. &lt;br /&gt;
&lt;br /&gt;
b. This is the Amstrad memory address to loop back to. It is a pointer to the DMA instruction after the last REPEAT instruction. &lt;br /&gt;
&lt;br /&gt;
c. This value represents the pause count and the count is between 0...0FFF. (TO BE CHECKED: down counter? what exactly does it represent) &lt;br /&gt;
&lt;br /&gt;
d. This value represents the pause prescalar count and the count is between 0..FF. (TO BE CHECKED: down counter? what exactly does it represent) &lt;br /&gt;
&lt;br /&gt;
8. This value represents the last value written to this I/O port. Winape uses 8a and not 8b. This value has bits 7,6,5 set to 1,0 and 1 respectively. 8b is in the original specification and is written by both ACE and No$CPC.&lt;br /&gt;
&lt;br /&gt;
9. This value represents the lock status of RMR2. If locked, RMR2 can't be accessed otherwise it can.&lt;br /&gt;
&lt;br /&gt;
10. This value represents the current unlock sequence state. &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''State ID''&lt;br /&gt;
| ''Synchronised State''&lt;br /&gt;
| ''Note''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| Not synchronised&lt;br /&gt;
| ASIC is waiting for first non-zero byte to be written, this is the first synchronisation byte required&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Not synchronised&lt;br /&gt;
| ASIC is waiting for zero byte to be written, this is the second synchronisation byte required&lt;br /&gt;
|-&lt;br /&gt;
| 2..10&lt;br /&gt;
| synchronised&lt;br /&gt;
| ASIC is waiting for byte from unlock sequence. e.g. if &amp;quot;2&amp;quot;, ASIC is waiting for &amp;amp;amp;FF, the first byte of the unlock sequence. if &amp;quot;3&amp;quot; ASIC is waiting for &amp;amp;amp;77, the second byte of the unlock sequence.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSCA,DSCB ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by WinAPE and ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
The DSCA block contains the filename of the disc image inserted into drive A. The filename is stored as 8-bit ASCII (any Unicode characters with codes 0x100 or above will be translated to ? and therefore filenames with these characters can't be stored in Snapshots). The length of the block is the length of the filename in bytes.&lt;br /&gt;
&lt;br /&gt;
DSCB is similar to DSCA but stores the filename of the disc image inserted into drive B.&lt;br /&gt;
&lt;br /&gt;
== TAPE ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
The TAPE block contains the filename of the tape image inserted. The filename is stored as 8-bit ASCII (any Unicode characters with codes 0x100 or above will be translated to ? and therefore filenames with these characters can't be stored in Snapshots). The length of the block is the length of the filename in bytes.&lt;br /&gt;
&lt;br /&gt;
== ROMS ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by WinAPE and ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
This block contains a list of filenames for each ROM (and cartridge) that is defined. The length of the block is the length for all strings.&lt;br /&gt;
&lt;br /&gt;
If a ROM is not defined, a single NUL (0) byte is present, otherwise there is a null terminated 8-bit ASCII string.&lt;br /&gt;
&lt;br /&gt;
First in the list is the filename (or internal name) for the cartridge (prefixed with a 'A' character), followed by lower rom and then upper roms 0-31 (WinAPE) or 0-255 (ACE).&lt;br /&gt;
&lt;br /&gt;
WinAPE lists internal ROMs by their internal name (the name listed in the drop down when you configure the roms, e.g. OS464).&lt;br /&gt;
ACE always put the actual file name, even for internal ROMs (e.g. System/Firmware_v3.rom).&lt;br /&gt;
&lt;br /&gt;
After the list of the upper ROMs, ACE also put the names of the internal Basic and AMSDOS ROMs.&lt;br /&gt;
Then, the presence of the &amp;quot;CartridgeKeepExtROM&amp;quot; let ACE know if the cartridge ROMs should disable installed external upper ROMs or not (depending on user preferences).&lt;br /&gt;
&lt;br /&gt;
NOTE: The selected Multiface ROM is not saved in the snapshot.&lt;br /&gt;
&lt;br /&gt;
== INFO ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by No$CPC. It contains an 8-bit ASCII string with the version information for No$CPC.&lt;br /&gt;
&lt;br /&gt;
== MEM0-8 ==&lt;br /&gt;
&lt;br /&gt;
The MEM0-8 chunks contain at most 64KB of data. The data may be compressed or stored uncompressed. If the size is exactly 65536 bytes the data is uncompressed, otherwise it is compressed. Up to 512KB additional RAM can be stored in a snapshot. &lt;br /&gt;
&lt;br /&gt;
The compression scheme is RLE with 0x0e5 as the control byte.&lt;br /&gt;
&lt;br /&gt;
Data is encoded as:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;byte&amp;gt; for a single occurrence of a byte (not 0x0e5) (e.g. 0x013)&lt;br /&gt;
* 0x0e5,&amp;lt;count&amp;gt;,&amp;lt;byte&amp;gt; for multiple occurances of a byte (e. 0x0e5,0x04,0x013 for 0x013 repeated 4 times)&lt;br /&gt;
* 0x0e5,0 for a single 0x0e5 byte (e.g. 0x0e5)&lt;br /&gt;
&lt;br /&gt;
The blocks are:&lt;br /&gt;
&lt;br /&gt;
* MEM0 - main 64KB ram&lt;br /&gt;
* MEM1 - c4,c5,c6,c7 configurations (extra 64KB ram in 128KB machines) (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM2 - cc,cd,ce,cf configurations (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM3 - d4,d5,d6,d7 configurations (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM4 - dc,dd,de,df configurations (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM5 - e4,e5,e6,e7 configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
* MEM6 - ec,ed,ee,ef configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
* MEM7 - f4,f5,f6,f7 configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
* MEM8 - fc,fd,fe,ff configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
1. A snapshot may contain a mix of &amp;quot;standard&amp;quot; memory data (e.g. the data follows the header and is uncompressed) and additional MEM blocks as required.&lt;br /&gt;
&lt;br /&gt;
2. If the snapshot is not compressed, then up to 128KB will be stored as &amp;quot;standard&amp;quot; memory data, the additional RAM stored in MEM2-MEM8 blocks.&lt;br /&gt;
&lt;br /&gt;
3. If the snapshot is compressed, then the &amp;quot;standard&amp;quot; memory data will have 0 size and there will be a MEM0 in addition to the additional memory blocks.&lt;br /&gt;
&lt;br /&gt;
4. Version 3 doesn't require memory to be continuous. A Dk'tronics silicon disk on it's own can be described with this version.&lt;br /&gt;
&lt;br /&gt;
5. WinAPE allows a 4MB RAM expansion to be enabled but doesn't save the additional RAM in the snapshot.&lt;br /&gt;
&lt;br /&gt;
6. ACE can save additional memory in snapshots (up to 4MB) using the MX?? chunks.&lt;br /&gt;
&lt;br /&gt;
== MX09-40 ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE.&lt;br /&gt;
&lt;br /&gt;
MX?? chunks allow snapshots to store up to 4160KB ram.&lt;br /&gt;
&lt;br /&gt;
MX?? chunks are following MEM0-8 chunks. They are numbered from 09 to 40 (hexadecimal numbering).&lt;br /&gt;
Information are stored compressed like in MEM0-8 chunks.&lt;br /&gt;
&lt;br /&gt;
== BRKC ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by ACE when some breakpoints are set. When loading a snapshot, the breakpoints found in this chunk are added to the one already installed.&lt;br /&gt;
The number of stored breakpoints in the chunk is given by the chunk size divided by 216 (the size of one breakpoint data structure).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint type (0:Execution, 1:Memory, 2:I/O port)&lt;br /&gt;
|-&lt;br /&gt;
| 01&lt;br /&gt;
| 1&lt;br /&gt;
| Memory access mode (0:R/W, 1:R/O, 2:W/O)&lt;br /&gt;
|-&lt;br /&gt;
| 02&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint runtime mode (0:Break, 1:Watch)&lt;br /&gt;
|-&lt;br /&gt;
| 03&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint map type (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 04&lt;br /&gt;
| 2&lt;br /&gt;
| Breakable memory/port (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 06&lt;br /&gt;
| 2&lt;br /&gt;
| Breakable memory/port mask (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 08&lt;br /&gt;
| 1&lt;br /&gt;
| Match value&lt;br /&gt;
|-&lt;br /&gt;
| 09&lt;br /&gt;
| 1&lt;br /&gt;
| Match value mask&lt;br /&gt;
|-&lt;br /&gt;
| 0A&lt;br /&gt;
| 2&lt;br /&gt;
| Breakable memory size (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 0C&lt;br /&gt;
| 4&lt;br /&gt;
| Breakpoint activation step (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 128&lt;br /&gt;
| Breakpoint condition to match (NULL terminated string) (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 90&lt;br /&gt;
| 64&lt;br /&gt;
| Breakpoint user name (NULL terminated string)&lt;br /&gt;
|-&lt;br /&gt;
| D0&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint map bank (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| D1&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint map page (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| D2&lt;br /&gt;
| 6&lt;br /&gt;
| Reserved&lt;br /&gt;
|-&lt;br /&gt;
| D8&lt;br /&gt;
| ...&lt;br /&gt;
| Same sequence repeated for each breakpoint&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
&lt;br /&gt;
1. The condition is expressed using ACE syntax (similar to BASIC with AND/OR/XOR/NOT/+/-/=...).&lt;br /&gt;
Allowed additional syntaxes are:&lt;br /&gt;
*&amp;amp;, # or 0x for a hexadecimal number.&lt;br /&gt;
*% or &amp;amp;x for a binary number.&lt;br /&gt;
*AF, BC, HL, IX... for a 16-bit Z80 register.&lt;br /&gt;
*A, B, D, IXh, IXl... for an 8-bit Z80 register.&lt;br /&gt;
*FlagC, FlagNC, FlagM... for a Z80 flag.&lt;br /&gt;
*LineCount for the line number.&lt;br /&gt;
*LineCycle for the µs count on the current line.&lt;br /&gt;
*MemPage for the 64K expansion memory page (0-63).&lt;br /&gt;
*MemBankMode for the 16K expansion memory bank paging mode (0-7).&lt;br /&gt;
*UpperROMOn for the paging state of the upper ROM.&lt;br /&gt;
*UpperROMNum for the selected upper ROM number.&lt;br /&gt;
*LowerROMOn for the paging state of the lower ROM.&lt;br /&gt;
*LowerROMNum for the selected lower ROM number.&lt;br /&gt;
*ASICPageOn for the paging state of the I/O ASIC registers page.&lt;br /&gt;
&lt;br /&gt;
''Example : FlagC AND (HL=DE OR HL=&amp;amp;5000)''&lt;br /&gt;
&lt;br /&gt;
2. The map type determines the memory layout for which the breakpoint is valid.&lt;br /&gt;
The meaning of the values for map bank and map page depends on the map type value.&lt;br /&gt;
Possible values fir map type are:&lt;br /&gt;
* 0: Undefined. Map bank and page are ignored (always 0).&lt;br /&gt;
* 1: Main RAM. If map bank is 0, then linear main RAM is considered. If map bank is 1, then main RAM from &amp;amp;c000-&amp;amp;ffff mapped as &amp;amp;4000-&amp;amp;7fff is considered. Map page is ignored (always 0). &lt;br /&gt;
* 2: Extension RAM. Map bank is the 16K extension bank number (0-3). Map page is the 64K extension page number (0-31).&lt;br /&gt;
* 3: Extension ROM. Map bank is the ROM slot id (0-255). Map page is ignored (always 0).&lt;br /&gt;
* 4: Firmware ROM. Map bank and page are ignored (always 0).&lt;br /&gt;
* 5: Cartridge ROM. Map bank is the 16K ROM bank number (0-31). Map page is ignored (always 0).&lt;br /&gt;
* 6: ASIC I/O Page. Map bank and page are ignored (always 0).&lt;br /&gt;
&lt;br /&gt;
== SYMB ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by ACE when some symbols are declared. When loading a snapshot, the symbols found in this chunk are added to the alreading existing ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 1&lt;br /&gt;
| Length on the symbol name (n). 0 is an invalid value.&lt;br /&gt;
|-&lt;br /&gt;
| 01&lt;br /&gt;
| n&lt;br /&gt;
| Symbol name (note 1).&lt;br /&gt;
|-&lt;br /&gt;
| n+1&lt;br /&gt;
| 1&lt;br /&gt;
| Symbol memory map type (note 2).&lt;br /&gt;
|-&lt;br /&gt;
| n+2&lt;br /&gt;
| 1&lt;br /&gt;
| Symbol memory map bank (note 2).&lt;br /&gt;
|-&lt;br /&gt;
| n+3&lt;br /&gt;
| 1&lt;br /&gt;
| Symbol memory map page (note 2).&lt;br /&gt;
|-&lt;br /&gt;
| n+4&lt;br /&gt;
| 2&lt;br /&gt;
| Reserved for future usage, always 0 for now.&lt;br /&gt;
|-&lt;br /&gt;
| n+6&lt;br /&gt;
| 1&lt;br /&gt;
| Symbol type (0: absolute, 1: relative).&lt;br /&gt;
|-&lt;br /&gt;
| n+7&lt;br /&gt;
| 2&lt;br /&gt;
| Address of the symbol (MSB first).&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
| Same sequence repeated until the end of the chunk is reached.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
&lt;br /&gt;
1. Symbol are (obviously) limited to 255 characters, cannot begin with a number (0-9), and only a limited set of ASCII char is allowed (a-z, A-Z, 0-9, _, .).&lt;br /&gt;
2. The map type determines the memory layout for which the symbol is valid. The meaning of the values for map bank and map page depends on the map type value.&lt;br /&gt;
Possible values fir map type are:&lt;br /&gt;
* 0: Undefined. Map bank and page are ignored (always 0).&lt;br /&gt;
* 1: Main RAM. If map bank is 0, then linear main RAM is considered. If map bank is 1, then main RAM from &amp;amp;c000-&amp;amp;ffff mapped as &amp;amp;4000-&amp;amp;7fff is considered. Map page is ignored (always 0). &lt;br /&gt;
* 2: Extension RAM. Map bank is the 16K extension bank number (0-3). Map page is the 64K extension page number (0-31).&lt;br /&gt;
* 3: Extension ROM. Map bank is the ROM slot id (0-255). Map page is ignored (always 0).&lt;br /&gt;
* 4: Firmware ROM. Map bank and page are ignored (always 0).&lt;br /&gt;
* 5: Cartridge ROM. Map bank is the 16K ROM bank number (0-31). Map page is ignored (always 0).&lt;br /&gt;
* 6: ASIC I/O Page. Map bank and page are ignored (always 0).&lt;br /&gt;
&lt;br /&gt;
== BRKS ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by WinAPE when some breakpoints are set.&lt;br /&gt;
ACE can import breakpoints from this chunk but won't create it (BRKC is used instead).&lt;br /&gt;
&lt;br /&gt;
The chunk contains 1 or more breakpoints.&lt;br /&gt;
&lt;br /&gt;
Each breakpoint has the form:&lt;br /&gt;
  * 2 bytes: address (LSB first)&lt;br /&gt;
  * 1 byte: location (0: base 64K RAM, 1: extended RAM)&lt;br /&gt;
  * 2 bytes: condition (?)&lt;br /&gt;
&lt;br /&gt;
== WABP ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by WinAPE when some breakpoints are set. &lt;br /&gt;
The exact details are begin worked out.&lt;br /&gt;
&lt;br /&gt;
It seems to be:&lt;br /&gt;
&lt;br /&gt;
4 bytes - number of user breakpoints&lt;br /&gt;
&lt;br /&gt;
Each user breakpoint:&lt;br /&gt;
&lt;br /&gt;
type,&lt;br /&gt;
4 byte address&lt;br /&gt;
&lt;br /&gt;
Then,  4 bytes - number of memory breakpoints&lt;br /&gt;
&lt;br /&gt;
Each memory breakpoint:&lt;br /&gt;
&lt;br /&gt;
Then, 4 bytes - number of i/o breakpoints:&lt;br /&gt;
&lt;br /&gt;
Each i/o breakpoint:&lt;br /&gt;
&lt;br /&gt;
 2 bytes flags? (6000 read, a400 write)&lt;br /&gt;
 2 bytes port addr mask&lt;br /&gt;
 2 bytes port addr&lt;br /&gt;
 4 bytes counter&lt;br /&gt;
 4 bytes condition string length, followed by condition string (not null terminated)&lt;br /&gt;
&lt;br /&gt;
== DARS ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by WinAPE when some data areas are set. &lt;br /&gt;
&lt;br /&gt;
The number of stored data areas in the chunk is given by the chunk size divided by 10 (the size of one data area data structure).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 4&lt;br /&gt;
| Address (LSB first) (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 04&lt;br /&gt;
| 4&lt;br /&gt;
| Area size (LSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 08&lt;br /&gt;
| 1&lt;br /&gt;
| Data type (0=byte,1=word)&lt;br /&gt;
|-&lt;br /&gt;
| 09&lt;br /&gt;
| 1&lt;br /&gt;
| Labels (1=marked by user as having labels)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
1. Winape's addressing scheme is 4 bytes. The upper 16-bits effectively define the internal 64KB pages it uses.&lt;br /&gt;
&lt;br /&gt;
== REMU ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written RASM and contains information about symbols and breakpoints.&lt;br /&gt;
ACE will import informations from this chunk but won't write it (SYMB and BRKC are used instead).&lt;br /&gt;
&lt;br /&gt;
== RM00-FF ==&lt;br /&gt;
&lt;br /&gt;
This chunk was introduced by RASM and is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
The RM00-FF chunks contain at most 16KB of data representing the contents of the related external upper ROMs number. The data may be compressed or stored uncompressed. If the size is exactly 16384 bytes the data is uncompressed, otherwise it is compressed. Up to 2MB of external upper ROMs can be stored in a snapshot. &lt;br /&gt;
&lt;br /&gt;
The compression scheme is identical to the one from MEM0-7 chunks.&lt;br /&gt;
&lt;br /&gt;
== LOWR ==&lt;br /&gt;
&lt;br /&gt;
This chunk was introduced by RASM and is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
It is similar to the RM00-FF chunks but stored the internal firmware ROM contents.&lt;br /&gt;
&lt;br /&gt;
== BASR ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
It is similar to the RM00-FF chunks but stored the internal Basic ROM contents.&lt;br /&gt;
&lt;br /&gt;
== DOSR ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
It is similar to the RM00-FF chunks but stored the internal AMSDOS ROM contents.&lt;br /&gt;
&lt;br /&gt;
== CART ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
It stores the contents of the inserted cartridge ROM. Extended cartridges are also supported.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 1&lt;br /&gt;
| Type of compression (0: uncompressed, &amp;amp;5E: RLE compressed)&lt;br /&gt;
|-&lt;br /&gt;
| 01&lt;br /&gt;
| 4&lt;br /&gt;
| Physical size of the cartridge in bytes, must be 16, 32, 64, 128, 256 or 512KB (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 05&lt;br /&gt;
| 2&lt;br /&gt;
| Number of cartridges, 1: for normal cartridges, extended cartridges otherwise (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 07&lt;br /&gt;
| 2&lt;br /&gt;
| Flags, bit 0 set if the external upper ROMs must be disabled, other bits set to 0 (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 09&lt;br /&gt;
| x&lt;br /&gt;
| Cartridge data contents (either compressed or not depending on type of compression)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== PLUG ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
This chunk stores the names of the plugins which should be enabled for the snapshot.&lt;br /&gt;
&lt;br /&gt;
All names are stored one after the other, in the form of binary strings (first byte containing the plugin name length followed by the the actual string).&lt;br /&gt;
The names stored are the actual names of the plugins libraries (e.g. &amp;quot;multiface2.acepansion&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
[[Snapshot Archive]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Programming]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Snapshot&amp;diff=113834</id>
		<title>Snapshot</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Snapshot&amp;diff=113834"/>
				<updated>2024-01-07T16:35:16Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: /* BRKC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Snapshot (.SNA) file format  =&lt;br /&gt;
&lt;br /&gt;
The format was first defined for the [[CPCEMU|CPCEMU]] emulator but is now widely supported. The format was originally defined by [[Marco Vieth|Marco Vieth]]. Version 3 was defined by [[Ulrich Doewich|Ulrich Doewich]], [[Martin Korth|Martin Korth]], [[Richard Wilson|Richard Wilson]] and [[Kevin Thacker|Kevin Thacker]]. &lt;br /&gt;
&lt;br /&gt;
There are 3 versions defined in this document. Version 3 is the most recent and is currently supported by a few of the most recent emulators. &lt;br /&gt;
&lt;br /&gt;
Snapshots produced with [[CPCE|CPCE]] appears to be the most compatible and will run correctly using any emulator.&lt;br /&gt;
&lt;br /&gt;
Abbreviations: &lt;br /&gt;
&lt;br /&gt;
*[[Gate Array|GA = &amp;quot;Gate Array&amp;quot;]] &lt;br /&gt;
*[[CRTC|CRTC = &amp;quot;6845 Cathode Ray Tube Controller&amp;quot;]] &lt;br /&gt;
*[[8255|PPI = &amp;quot;Intel 8255 Programmable Peripheral Interface&amp;quot;]] &lt;br /&gt;
*[[PSG|PSG = &amp;quot;AY-3-8912 Programmable Sound Generator&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
= Version 1  =&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00-07&lt;br /&gt;
| 8&lt;br /&gt;
| The identification string &amp;quot;MV - SNA&amp;quot;. This must exist for the snapshot to be valid.&lt;br /&gt;
|-&lt;br /&gt;
| 08-0f&lt;br /&gt;
| 8&lt;br /&gt;
| (not used; set to 0)&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 1&lt;br /&gt;
| snapshot version (1)&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register F&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register A&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register C&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register B&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register E&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register D&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register L&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register H&lt;br /&gt;
|-&lt;br /&gt;
| 19&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register R&lt;br /&gt;
|-&lt;br /&gt;
| 1a&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register I&lt;br /&gt;
|-&lt;br /&gt;
| 1b&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 interrupt flip-flop IFF0 (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 1c&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 interrupt flip-flop IFF1 (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 1d&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IX (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 1e&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IX (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 1f&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IY (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 20&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IY (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 21&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register SP (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 22&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register SP (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 23&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register PC (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 24&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register PC (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 25&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 interrupt mode (0,1,2) (note 3)&lt;br /&gt;
|-&lt;br /&gt;
| 26&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register F' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 27&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register A' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 28&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register C' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 29&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register B' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2a&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register E' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2b&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register D' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2c&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register L' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2d&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register H' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2e&lt;br /&gt;
| 1&lt;br /&gt;
| GA: index of selected pen (note 10)&lt;br /&gt;
|-&lt;br /&gt;
| 2f-3f&lt;br /&gt;
| 1&lt;br /&gt;
| GA: current palette (note 12)&lt;br /&gt;
|-&lt;br /&gt;
| 40&lt;br /&gt;
| 1&lt;br /&gt;
| GA: multi configuration (note 11)&lt;br /&gt;
|-&lt;br /&gt;
| 41&lt;br /&gt;
| 1&lt;br /&gt;
| current RAM configuration (note 13)&lt;br /&gt;
|-&lt;br /&gt;
| 42&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC: index of selected register (note 14)&lt;br /&gt;
|-&lt;br /&gt;
| 43-54&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC: register data (0..17) (note 15)&lt;br /&gt;
|-&lt;br /&gt;
| 55&lt;br /&gt;
| 1&lt;br /&gt;
| current ROM selection (note 16)&lt;br /&gt;
|-&lt;br /&gt;
| 56&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: port A (note 6)&lt;br /&gt;
|-&lt;br /&gt;
| 57&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: port B (note 7)&lt;br /&gt;
|-&lt;br /&gt;
| 58&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: port C (note 8)&lt;br /&gt;
|-&lt;br /&gt;
| 59&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: control port (note 9)&lt;br /&gt;
|-&lt;br /&gt;
| 5a&lt;br /&gt;
| 1&lt;br /&gt;
| PSG: index of selected register (note 17)&lt;br /&gt;
|-&lt;br /&gt;
| 5b-6a&lt;br /&gt;
| 1&lt;br /&gt;
| PSG: register data (0,1,....15)&lt;br /&gt;
|-&lt;br /&gt;
| 6b&lt;br /&gt;
| 2&lt;br /&gt;
| memory dump size in Kilobytes (e.g. 64 for 64K, 128 for 128k) (note 18)&lt;br /&gt;
|-&lt;br /&gt;
| 6d-ff&lt;br /&gt;
| 1&lt;br /&gt;
| not used set to 0&lt;br /&gt;
|-&lt;br /&gt;
| 100-...&lt;br /&gt;
| 1&lt;br /&gt;
| memory dump&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes  ==&lt;br /&gt;
&lt;br /&gt;
1. All multi-byte values are stored in little-endian format (low byte followed by higher bytes). &lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;IFF0&amp;quot; reflects the state of the maskable interrupt (INT). &amp;quot;IFF1&amp;quot; is used to store the state of IFF0 when a non-maskable interrupt (NMI) is executed. Bit 0 of these bytes is significant. For CPCEMU compatibility, these bytes should be set to &amp;quot;1&amp;quot; when the IFF flip-flop is &amp;quot;1&amp;quot; and &amp;quot;0&amp;quot; when the flip-flop is &amp;quot;0&amp;quot;. For compatibility with other emulators, bits 7-1 should be set to &amp;quot;0&amp;quot;. When bit 0 of &amp;quot;IFF0&amp;quot; is &amp;quot;0&amp;quot; maskable interrupts will be ignored. When bit 0 of &amp;quot;IFF1&amp;quot; is &amp;quot;1&amp;quot; maskable interrupts will be acknowledged and executed. See the document about the Z80 for more information. &lt;br /&gt;
&lt;br /&gt;
3. This byte will be 0, 1 or 2 for the interrupt modes 0, 1 or 2. The interrupt mode is set using the &amp;quot;IM x&amp;quot; instructions. See the document about the Z80 for more information. &lt;br /&gt;
&lt;br /&gt;
4. These registers are from the alternate register set of the Z80. &lt;br /&gt;
&lt;br /&gt;
5. These registers are 16-bit. &amp;quot;low&amp;quot; indicates bits 7..0, &amp;quot;high&amp;quot;indicates bits 15..8. &lt;br /&gt;
&lt;br /&gt;
6. This byte represents the inputs to PPI port A regardless of the input/output setting of this port. &lt;br /&gt;
&lt;br /&gt;
7. This byte represents the inputs to PPI port B regardless of the input/output setting of this port. &lt;br /&gt;
&lt;br /&gt;
8. This byte represents the outputs from port C regardless of the input/output setting of this port. &lt;br /&gt;
&lt;br /&gt;
9. This byte represents the PPI control byte which defines the input/output and mode of each port and not the last value written to this port. For CPCEMU compatibility bit 7 of this byte must be set to &amp;quot;1&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
10. This byte in the snapshot represents the selected pen register of the Gate-Array. This byte is the last value written to this port. Bit 7,6,5 should be set to &amp;quot;0&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
11. This byte in the snapshot represents the multi-configuration register of the Gate-Array. This byte is the last byte written to this register. For CPCEMU compatibility, bit 7 should be set to &amp;quot;1&amp;quot; and bit 6 and bit 5 set to &amp;quot;0&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
12. These bytes are the current palette. For CPCEMU compatibility, these bytes should have bit 7=bit 6=bit 5=&amp;quot;0&amp;quot;. Bits 4..0 define the colour using the hardware colour code. The colours are stored in the order pen 0, pen1, pen 2,...,pen 15 followed by border colour. &lt;br /&gt;
&lt;br /&gt;
13. This byte represents a ram configuration for a Dk'Tronics/Dobbertin/Amstrad compatible RAM expansion, or the built in RAM expansion of the CPC6128 and CPC6128+. Bits 5..0 define the ram expansion code. For CPCEMU compatibility, bit 7 and bit 6 of this byte should be set to &amp;quot;0&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
14. This byte in the snapshot represents the index of the currently selected CRTC register. For compatibility with CPCEMU this value should be in the range 0-31. &lt;br /&gt;
&lt;br /&gt;
15. These bytes represent the data of the CRTC's registers. &lt;br /&gt;
&lt;br /&gt;
16. This byte in the snapshot represents the last byte written to the &amp;quot;ROM select&amp;quot; I/O port. &lt;br /&gt;
&lt;br /&gt;
17. This byte in the snapshot represents the index of the currently selected PSG register. For CPCEMU compatibility, this byte should be in the range 0-15. &lt;br /&gt;
&lt;br /&gt;
18. the memory dump can have size 0 in version 3 and in this case all RAM is described in additional blocks (MEM0-MEM8). If a memory dump has a non-zero size, then it is uncompressed and describes the main 64KB ram immediately followed by the second 64KB ram (if present) (this ram is inside 128KB machines or machines with 64KB from a Dk'Tronics/Dobbertin/Amstrad compatible RAM expansion. Note that CPCEMU can only write a 64K or 128K snapshot.&lt;br /&gt;
&lt;br /&gt;
19. JavaCPC uses e0-ff to store an emulator ID (see snapshot V3 for more details)&lt;br /&gt;
&lt;br /&gt;
= Changes and additions in Version 2 from Version 1  =&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 1&lt;br /&gt;
| snapshot version (2)&lt;br /&gt;
|-&lt;br /&gt;
| 6d&lt;br /&gt;
| 1&lt;br /&gt;
| CPC Type: &lt;br /&gt;
*0 = CPC464 &lt;br /&gt;
*1 = CPC664 &lt;br /&gt;
*2 = CPC6128 &lt;br /&gt;
*3 = unknown&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 6e&lt;br /&gt;
| 1&lt;br /&gt;
| interrupt number (0..5) (note 1a)&lt;br /&gt;
|-&lt;br /&gt;
| 6f-74&lt;br /&gt;
| 6&lt;br /&gt;
| 6 multimode bytes (note 1b)&lt;br /&gt;
|-&lt;br /&gt;
| 75-ff&lt;br /&gt;
| x&lt;br /&gt;
| (not used)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes  ==&lt;br /&gt;
&lt;br /&gt;
1. If standard CPC raster interrupts are used, interrupts are acknowledged and &amp;quot;executed&amp;quot; at the time they are requested, then there will be 6 interrupts executed per screen update cycle. &lt;br /&gt;
&lt;br /&gt;
*CPCEMU uses a simple system to emulate the interrupts. It is assumed there are exactly 6 interrupts per screen update cycle (the interrupts are assumed to occur at a frequency of 300Hz). This byte records the interrupt number in the current screen update cycle. More accurate emulators use the correct interrupt generation method and may ignore this byte. For CPCEMU compatibility, these emulators should set this byte to &amp;quot;0&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*CPCEMU uses a simple system to emulate the screen display. It allows the mode to be changed in each of the 6 interrupts that occur during a single 50Hz/60Hz period. These bytes represent the mode in each of these sections, i.e. the screen modes (0,1 or 2) for the interrupts 0..5. More accurate emulators support changing of the screen mode at any point supported by the Amstrad hardware, these emulators should write &amp;quot;0&amp;quot; for all these bytes.&lt;br /&gt;
&lt;br /&gt;
2. A version 2 snapshot describes Dk'Tronics/Dobbertin compatible RAM in addition to the 64KB base ram. This is a type of RAM expansion which uses the same port and paging mechanism as the extra 64KB inside the 6128. However, the RAM *MUST* be continuous, therefore it's limited to 64KB, 256KB or 512KB additional RAM. The Dk'Tronics silicon disk can't be described on it's own because it's RAM configurations do not start at C4.&lt;br /&gt;
&lt;br /&gt;
The following configurations can be described:&lt;br /&gt;
* 64KB base + 64KB extra RAM (e.g. Dk'Tronics 64KB RAM Expansion)&lt;br /&gt;
* 64KB base + 256KB extra RAM (e.g. Dk'Tronics 256KB RAM Expansion)&lt;br /&gt;
* 64KB base + 512KB extra RAM (e.g. Dk'Tronics 256KB RAM Expansion &amp;amp; Dk'Tronics 256KB Silicon Disk OR X-MEM OR Symbiface 2 OR other device which provides 512KB)&lt;br /&gt;
&lt;br /&gt;
JavaCPC uses this value to store up to 4MB of RAM. (e.g. [[CPC4MB]]). This type of ram is Dk'Tronics compatible and has multiple banks of 512KB. This value could be used to describe a 1MB or 2MB expansion as long as it is fully Dk'tronics compatible (e.g. rpalmer's 2MB).&lt;br /&gt;
&lt;br /&gt;
3. JavaCPC uses e0-ff to store an emulator ID (see snapshot V3 for more details)&lt;br /&gt;
&lt;br /&gt;
= Changes and additions in Version 3 from Version 2  =&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 1&lt;br /&gt;
| snapshot version (3)&lt;br /&gt;
|-&lt;br /&gt;
| 6d&lt;br /&gt;
| 1&lt;br /&gt;
| CPC Type: &lt;br /&gt;
*0 = CPC464 &lt;br /&gt;
*1 = CPC664 &lt;br /&gt;
*2 = CPC6128 &lt;br /&gt;
*3 = unknown &lt;br /&gt;
*4 = 6128 Plus &lt;br /&gt;
*5 = 464 Plus &lt;br /&gt;
*6 = GX4000&lt;br /&gt;
|-&lt;br /&gt;
| 75&lt;br /&gt;
| n&lt;br /&gt;
| Disc drive A filename (No$CPC only)&lt;br /&gt;
|-&lt;br /&gt;
| 99&lt;br /&gt;
| 1&lt;br /&gt;
| Monitor VHold Value (-45 to +85)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9a&lt;br /&gt;
| 1&lt;br /&gt;
| Memory Expansion Enable (when Bit 7 is set)&lt;br /&gt;
*Bit 0 = 128K memory (Banks C4..C7)&lt;br /&gt;
*Bit 1 = 256K memory (Banks C4..DF)&lt;br /&gt;
*Bit 2 = 256K silicon disc (Banks E4..FF)&lt;br /&gt;
*Bit 3 = 4M expansion&lt;br /&gt;
*Bit 7 = Always set if this is valid &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9b&lt;br /&gt;
| 1&lt;br /&gt;
| Fast Disc emulation mode (0=off, 1=on) (WinAPE)&lt;br /&gt;
|-&lt;br /&gt;
| 9c&lt;br /&gt;
| 1&lt;br /&gt;
| FDD motor drive state (0=off, 1=on)&lt;br /&gt;
|-&lt;br /&gt;
| 9d-a0&lt;br /&gt;
| 4&lt;br /&gt;
| FDD current physical track (note 15)&lt;br /&gt;
|-&lt;br /&gt;
| a1&lt;br /&gt;
| 1&lt;br /&gt;
| Printer Data/Strobe Register (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| a2-a3&lt;br /&gt;
| 2&lt;br /&gt;
| Current frame scan line since monitor retrace (note16)&lt;br /&gt;
|-&lt;br /&gt;
| a4&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC type: &lt;br /&gt;
*0 = HD6845S/UM6845 &lt;br /&gt;
*1 = UM6845R &lt;br /&gt;
*2 = MC6845 &lt;br /&gt;
*3 = 6845 in CPC+ ASIC &lt;br /&gt;
*4 = 6845 in Pre-ASIC&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| a9&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC horizontal character counter register (note 11)&lt;br /&gt;
|-&lt;br /&gt;
| aa&lt;br /&gt;
| 1&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| ab&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC character-line counter register (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| ac&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC raster-line counter register (note 3)&lt;br /&gt;
|-&lt;br /&gt;
| ad&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC vertical total adjust counter register (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| ae&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC horizontal sync width counter (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| af&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC vertical sync width counter (note 6)&lt;br /&gt;
|-&lt;br /&gt;
| b0-b1&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Bit''&lt;br /&gt;
| ''Function''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| if &amp;quot;1&amp;quot; VSYNC is active, if &amp;quot;0&amp;quot; VSYNC is inactive (note 8)&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| if &amp;quot;1&amp;quot; HSYNC is active, if &amp;quot;0&amp;quot; HSYNC is inactive (note 9)&lt;br /&gt;
|-&lt;br /&gt;
| 2-6&lt;br /&gt;
| reserved&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| if &amp;quot;1&amp;quot; Vertical Total Adjust is active, if &amp;quot;0&amp;quot; Vertical Total Adjust is inactive (note 10)&lt;br /&gt;
|-&lt;br /&gt;
| 8-14&lt;br /&gt;
| Reserved (0)&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| if &amp;quot;1&amp;quot; use extended Interrupt Control Status Register (WinAPE)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| b2&lt;br /&gt;
| 1&lt;br /&gt;
| GA vsync delay counter (note 14)&lt;br /&gt;
|-&lt;br /&gt;
| b3&lt;br /&gt;
| 1&lt;br /&gt;
| GA interrupt scanline counter (note 12)&lt;br /&gt;
|-&lt;br /&gt;
| b4&lt;br /&gt;
| 1&lt;br /&gt;
| interrupt request flag (0=no interrupt requested, 1=interrupt requested) (note 13)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| b5&lt;br /&gt;
| 1&lt;br /&gt;
| Interrupt Control Status Register (WinAPE) (note 17)&lt;br /&gt;
|-&lt;br /&gt;
| b6&lt;br /&gt;
| 1&lt;br /&gt;
| Plus features disabled (0=enabled, 1=disabled)&lt;br /&gt;
|-&lt;br /&gt;
| b7&lt;br /&gt;
| 1&lt;br /&gt;
| Plus PPI Emulation (0=Standard 8255 emulation, 1=Plus PPI emulation)&lt;br /&gt;
|-&lt;br /&gt;
| b8-df&lt;br /&gt;
| 28&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| e0&lt;br /&gt;
| 20&lt;br /&gt;
| Emulator ID String&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes  ==&lt;br /&gt;
&lt;br /&gt;
1. This byte in the snapshot represents the last byte written to the printer I/O port (this byte does not include the automatic inversion of the strobe caused by the Amstrad hardware). &lt;br /&gt;
&lt;br /&gt;
2. This register is internal to the CRTC and counts the number of character-lines. The counter counts up. This value is in the range 0-127. (This counter is compared against CRTC register 4). &lt;br /&gt;
&lt;br /&gt;
3. This register is internal to the CRTC and counts the number of raster-lines. The counter counts up. This value is in the range 0-31. (This counter is compared against CRTC register 9). &lt;br /&gt;
&lt;br /&gt;
4. This register is internal to the CRTC and counts the number of raster-lines during vertical adjust. The counter counts up. This value is in the range 0-31. This should be ignored if the CRTC is not &amp;quot;executing&amp;quot; vertical. adjust.(This counter is compared against CRTC register 5). &lt;br /&gt;
&lt;br /&gt;
5. This register is internal to the CRTC and counts the number of characters during horizontal sync. This counter counts up. This value is in the range 0-16. This should be ignored if the CRTC is not &amp;quot;executing&amp;quot; horizontal sync. (This counter is compared against CRTC register 3). &lt;br /&gt;
&lt;br /&gt;
6. This register is internal to the CRTC and counts the number of scan-lines during vertical sync. This counter counts up. This value is in the range 0-16. This should be ignored if the CRTC is not &amp;quot;executing&amp;quot; vertical sync. (This counter is compared against CRTC register 3). &lt;br /&gt;
&lt;br /&gt;
7. These bytes define the internal state of the CRTC. Each bit in these bytes represents a state. &lt;br /&gt;
&lt;br /&gt;
8. When VSYNC is active, the CRTC is &amp;quot;executing&amp;quot; vertical sync, and the vertical sync width counter in the snapshot is used. &lt;br /&gt;
&lt;br /&gt;
9. When HSYNC is active, the CRTC is &amp;quot;executing&amp;quot; horizontal sync width counter in the snapshot is used. &lt;br /&gt;
&lt;br /&gt;
10. When Vertical total adjust is active, the CRTC is &amp;quot;executing&amp;quot; vertical total adjust and the vertical total adjust counter in the snapshot is used. &lt;br /&gt;
&lt;br /&gt;
11. This register is internal to the CRTC and counts the number of characters. This counter counts up. This value is in the range 0-255. (This counter is compared against CRTC register 0). &lt;br /&gt;
&lt;br /&gt;
12. This counter is internal to the GA and counts the number of HSYNCs. This counter is used to generate CPC raster interrupts. This counter counts up. This value is in the range 0-51. &lt;br /&gt;
&lt;br /&gt;
13. This flag is &amp;quot;1&amp;quot; if a interrupt request has been sent to the Z80 and it has not yet been acknowledged by the Z80. (A interrupt request is sent by the GA for standard CPC raster interrupts or by the ASIC for raster or dma interrupts). &lt;br /&gt;
&lt;br /&gt;
14. This is a counter internal to the GA and counts the number of HSYNCs since the start of the VSYNC and it is used to reset the interrupt counter to synchronise interrupts with the VSYNC. This counter counts up. This value is between 0 and 2. If this value is 0, the counter is inactive. If this counter is 1 or 2 the counter is active.&lt;br /&gt;
&lt;br /&gt;
15. This is the current cylinder for each of 4 drives.&lt;br /&gt;
&lt;br /&gt;
16. In WinAPE this counter is reset if a VSYNC occurs which causes the monitor to retrace vertically. This occurs if the VSYNC signal is active and this counter is greater than a threshold set by the V-Hold (normally 295 when V-Hold is 0), or if the counter reaches the maximum value (normally 351 when V-Hold is 0).&lt;br /&gt;
&lt;br /&gt;
17. Since Plus emulation requires more information than simply whether an interrupt is active, this value (as used internally by WinAPE) contains: &lt;br /&gt;
* Bit 7 - Gate Array (or PRI) interrupt. &lt;br /&gt;
* Bit 6 - DMA Channel 0 interrupt. &lt;br /&gt;
* Bit 5 - DMA Channel 1 interrupt. &lt;br /&gt;
* Bit 4 - DMA Channel 2 interrupt. &lt;br /&gt;
&lt;br /&gt;
It can be a combination of all or any interrupt sources. Interrupts are executed in the order raster, DMA 2, DMA 1, DMA 0.&lt;br /&gt;
&lt;br /&gt;
Immediately following the memory dump there is optional data which is separated into chunks. &lt;br /&gt;
&lt;br /&gt;
Each chunk of data has a header and this is followed by the data in the chunk. The header has the following format: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 4&lt;br /&gt;
| Chunk name (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| Chunk data length (note 2)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes: &lt;br /&gt;
&lt;br /&gt;
1. The chunks are defined with 4-byte character codes. (e.g. &amp;quot;CPC+&amp;quot;). In this example, the 4-byte character code would be stored in the file as 'C' then 'P' then 'C' then '+'. &lt;br /&gt;
&lt;br /&gt;
2. The &amp;quot;Chunk data length&amp;quot; defines the length of data following the header and does not include the size of the header. This number is stored in little endian format. &lt;br /&gt;
&lt;br /&gt;
3. If a emulator finds a chunk which it does not support then it should skip the chunk and continue with the next chunk in the file. Therefore an emulator author may add emulator specific chunks to the file and it will not prevent the snapshot from being used with other emulators that do not recognise the added chunks. &lt;br /&gt;
&lt;br /&gt;
4. There is not a terminator chunk. The snapshot reader should determine if there are more chunks based on the size of data remaining to be read from the file. &lt;br /&gt;
&lt;br /&gt;
=Version 3 Chunks=&lt;br /&gt;
&lt;br /&gt;
The following chunks are currently defined: &lt;br /&gt;
&lt;br /&gt;
== CPC+ ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by Arnold, WinAPE, No$CPC and ACE. Arnold, WinAPE and ACE will save the block when Plus configuration enabled. No$CPC will save the block if the Plus features have been unlocked.&lt;br /&gt;
&lt;br /&gt;
When creating a snapshot with several chunks, it is usually a good idea to place the CPC+ one in first position, because some (old) tools and emulators are relying on this and will fail if it is not the case.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Addr in ASIC register-ram''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 000-7FF&lt;br /&gt;
| 800&lt;br /&gt;
| 4000-4FFF&lt;br /&gt;
| Sprite Bitmaps (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 800-87F&lt;br /&gt;
| 8*16&lt;br /&gt;
| 6000-607F&lt;br /&gt;
| Sprite Attributes (see below) (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 880-8BF&lt;br /&gt;
| 32*2&lt;br /&gt;
| 6400-643F&lt;br /&gt;
| Palettes (note 3)&lt;br /&gt;
|-&lt;br /&gt;
| 8C0&lt;br /&gt;
| 1&lt;br /&gt;
| 6800&lt;br /&gt;
| Programmable Raster Interrupt (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C1&lt;br /&gt;
| 1&lt;br /&gt;
| 6801&lt;br /&gt;
| Screen split scan-line (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C2&lt;br /&gt;
| 2&lt;br /&gt;
| 6802-6803&lt;br /&gt;
| Screen split secondary screen-address (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C4&lt;br /&gt;
| 1&lt;br /&gt;
| 6804&lt;br /&gt;
| Soft scroll control register (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C5&lt;br /&gt;
| 1&lt;br /&gt;
| 6805&lt;br /&gt;
| Interrupt vector (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C6&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| gate array A0 register value (note 8a) &lt;br /&gt;
|-&lt;br /&gt;
| 8C6-8C7&lt;br /&gt;
| 1&lt;br /&gt;
| -&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| 8C8-8CF&lt;br /&gt;
| 8&lt;br /&gt;
| 6808-680f&lt;br /&gt;
| Analogue input channels 0-7 (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 8D0-8DB&lt;br /&gt;
| 3*4&lt;br /&gt;
| 6C00-6C0B&lt;br /&gt;
| Sound DMA channel attributes 0-2 (see below) (note 6)&lt;br /&gt;
|-&lt;br /&gt;
| 8DC-8DE&lt;br /&gt;
| 3&lt;br /&gt;
| -&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| 8DF&lt;br /&gt;
| 1&lt;br /&gt;
| 6C0F&lt;br /&gt;
| DMA Control/Status (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8E0-8F4&lt;br /&gt;
| 3*7&lt;br /&gt;
| Internal&lt;br /&gt;
| DMA channel 0-2 internal registers (see below) (note 7)&lt;br /&gt;
|-&lt;br /&gt;
| 8F5&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| gate array A0 register value (note 8b)&lt;br /&gt;
|-&lt;br /&gt;
| 8F6&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| gate array A0 lock: 0 -&amp;gt; locked, !=0 -&amp;gt; unlocked (note 9)&lt;br /&gt;
|-&lt;br /&gt;
| 8F7&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| ASIC unlock sequence state (note 10)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes  ===&lt;br /&gt;
&lt;br /&gt;
1. The sprite data is packed, with two sprite pixels per byte. Bits 7..4 define the first pixel and bits 3..0 define the second pixel. &lt;br /&gt;
&lt;br /&gt;
2. The attributes for each sprite take 8 bytes. Each attribute block has the following format: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 2&lt;br /&gt;
| Sprite X (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| Sprite Y (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| Sprite Magnification (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 5-7&lt;br /&gt;
| 3&lt;br /&gt;
| unused (0)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: the Sprite X, Y and magnification are in the same order as the ASIC registers &lt;br /&gt;
&lt;br /&gt;
3. This is a direct copy of the palette in CPC+ ASIC Ram. There are 32 colours each with 2-bytes per colour. &lt;br /&gt;
&lt;br /&gt;
4. These bytes in the snapshot represent the last value written to these ASIC registers. &lt;br /&gt;
&lt;br /&gt;
5. These bytes represent the inputs to the analogue channels. &lt;br /&gt;
&lt;br /&gt;
6. The attributes for each DMA channel take 4 bytes. Each attribute block has the following format: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 2&lt;br /&gt;
| DMA Channel address (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 1&lt;br /&gt;
| DMA Channel prescalar (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 1&lt;br /&gt;
| unused (0)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: the DMA address and prescalar are in the same order as the ASIC registers. &lt;br /&gt;
&lt;br /&gt;
7 These registers are internal to the CPC+ and define the current DMA operation: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 2&lt;br /&gt;
| loop counter (note a)&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| loop address (note b)&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| pause count (note c)&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| 1&lt;br /&gt;
| pause prescalar count (note d)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
a. This value represents the number of loops remaining. 0 = none. This count is between 0..0FFF. This counter counts down. &lt;br /&gt;
&lt;br /&gt;
b. This is the Amstrad memory address to loop back to. It is a pointer to the DMA instruction after the last REPEAT instruction. &lt;br /&gt;
&lt;br /&gt;
c. This value represents the pause count and the count is between 0...0FFF. (TO BE CHECKED: down counter? what exactly does it represent) &lt;br /&gt;
&lt;br /&gt;
d. This value represents the pause prescalar count and the count is between 0..FF. (TO BE CHECKED: down counter? what exactly does it represent) &lt;br /&gt;
&lt;br /&gt;
8. This value represents the last value written to this I/O port. Winape uses 8a and not 8b. This value has bits 7,6,5 set to 1,0 and 1 respectively. 8b is in the original specification and is written by both ACE and No$CPC.&lt;br /&gt;
&lt;br /&gt;
9. This value represents the lock status of RMR2. If locked, RMR2 can't be accessed otherwise it can.&lt;br /&gt;
&lt;br /&gt;
10. This value represents the current unlock sequence state. &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''State ID''&lt;br /&gt;
| ''Synchronised State''&lt;br /&gt;
| ''Note''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| Not synchronised&lt;br /&gt;
| ASIC is waiting for first non-zero byte to be written, this is the first synchronisation byte required&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Not synchronised&lt;br /&gt;
| ASIC is waiting for zero byte to be written, this is the second synchronisation byte required&lt;br /&gt;
|-&lt;br /&gt;
| 2..10&lt;br /&gt;
| synchronised&lt;br /&gt;
| ASIC is waiting for byte from unlock sequence. e.g. if &amp;quot;2&amp;quot;, ASIC is waiting for &amp;amp;amp;FF, the first byte of the unlock sequence. if &amp;quot;3&amp;quot; ASIC is waiting for &amp;amp;amp;77, the second byte of the unlock sequence.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSCA,DSCB ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by WinAPE and ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
The DSCA block contains the filename of the disc image inserted into drive A. The filename is stored as 8-bit ASCII (any Unicode characters with codes 0x100 or above will be translated to ? and therefore filenames with these characters can't be stored in Snapshots). The length of the block is the length of the filename in bytes.&lt;br /&gt;
&lt;br /&gt;
DSCB is similar to DSCA but stores the filename of the disc image inserted into drive B.&lt;br /&gt;
&lt;br /&gt;
== TAPE ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
The TAPE block contains the filename of the tape image inserted. The filename is stored as 8-bit ASCII (any Unicode characters with codes 0x100 or above will be translated to ? and therefore filenames with these characters can't be stored in Snapshots). The length of the block is the length of the filename in bytes.&lt;br /&gt;
&lt;br /&gt;
== ROMS ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by WinAPE and ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
This block contains a list of filenames for each ROM (and cartridge) that is defined. The length of the block is the length for all strings.&lt;br /&gt;
&lt;br /&gt;
If a ROM is not defined, a single NUL (0) byte is present, otherwise there is a null terminated 8-bit ASCII string.&lt;br /&gt;
&lt;br /&gt;
First in the list is the filename (or internal name) for the cartridge (prefixed with a 'A' character), followed by lower rom and then upper roms 0-31 (WinAPE) or 0-255 (ACE).&lt;br /&gt;
&lt;br /&gt;
WinAPE lists internal ROMs by their internal name (the name listed in the drop down when you configure the roms, e.g. OS464).&lt;br /&gt;
ACE always put the actual file name, even for internal ROMs (e.g. System/Firmware_v3.rom).&lt;br /&gt;
&lt;br /&gt;
After the list of the upper ROMs, ACE also put the names of the internal Basic and AMSDOS ROMs.&lt;br /&gt;
Then, the presence of the &amp;quot;CartridgeKeepExtROM&amp;quot; let ACE know if the cartridge ROMs should disable installed external upper ROMs or not (depending on user preferences).&lt;br /&gt;
&lt;br /&gt;
NOTE: The selected Multiface ROM is not saved in the snapshot.&lt;br /&gt;
&lt;br /&gt;
== INFO ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by No$CPC. It contains an 8-bit ASCII string with the version information for No$CPC.&lt;br /&gt;
&lt;br /&gt;
== MEM0-8 ==&lt;br /&gt;
&lt;br /&gt;
The MEM0-8 chunks contain at most 64KB of data. The data may be compressed or stored uncompressed. If the size is exactly 65536 bytes the data is uncompressed, otherwise it is compressed. Up to 512KB additional RAM can be stored in a snapshot. &lt;br /&gt;
&lt;br /&gt;
The compression scheme is RLE with 0x0e5 as the control byte.&lt;br /&gt;
&lt;br /&gt;
Data is encoded as:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;byte&amp;gt; for a single occurrence of a byte (not 0x0e5) (e.g. 0x013)&lt;br /&gt;
* 0x0e5,&amp;lt;count&amp;gt;,&amp;lt;byte&amp;gt; for multiple occurances of a byte (e. 0x0e5,0x04,0x013 for 0x013 repeated 4 times)&lt;br /&gt;
* 0x0e5,0 for a single 0x0e5 byte (e.g. 0x0e5)&lt;br /&gt;
&lt;br /&gt;
The blocks are:&lt;br /&gt;
&lt;br /&gt;
* MEM0 - main 64KB ram&lt;br /&gt;
* MEM1 - c4,c5,c6,c7 configurations (extra 64KB ram in 128KB machines) (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM2 - cc,cd,ce,cf configurations (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM3 - d4,d5,d6,d7 configurations (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM4 - dc,dd,de,df configurations (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM5 - e4,e5,e6,e7 configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
* MEM6 - ec,ed,ee,ef configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
* MEM7 - f4,f5,f6,f7 configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
* MEM8 - fc,fd,fe,ff configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
1. A snapshot may contain a mix of &amp;quot;standard&amp;quot; memory data (e.g. the data follows the header and is uncompressed) and additional MEM blocks as required.&lt;br /&gt;
&lt;br /&gt;
2. If the snapshot is not compressed, then up to 128KB will be stored as &amp;quot;standard&amp;quot; memory data, the additional RAM stored in MEM2-MEM8 blocks.&lt;br /&gt;
&lt;br /&gt;
3. If the snapshot is compressed, then the &amp;quot;standard&amp;quot; memory data will have 0 size and there will be a MEM0 in addition to the additional memory blocks.&lt;br /&gt;
&lt;br /&gt;
4. Version 3 doesn't require memory to be continuous. A Dk'tronics silicon disk on it's own can be described with this version.&lt;br /&gt;
&lt;br /&gt;
5. WinAPE allows a 4MB RAM expansion to be enabled but doesn't save the additional RAM in the snapshot.&lt;br /&gt;
&lt;br /&gt;
6. ACE can save additional memory in snapshots (up to 4MB) using the MX?? chunks.&lt;br /&gt;
&lt;br /&gt;
== MX09-40 ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE.&lt;br /&gt;
&lt;br /&gt;
MX?? chunks allow snapshots to store up to 4160KB ram.&lt;br /&gt;
&lt;br /&gt;
MX?? chunks are following MEM0-8 chunks. They are numbered from 09 to 40 (hexadecimal numbering).&lt;br /&gt;
Information are stored compressed like in MEM0-8 chunks.&lt;br /&gt;
&lt;br /&gt;
== BRKC ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by ACE when some breakpoints are set. When loading a snapshot, the breakpoints found in this chunk are added to the one already installed.&lt;br /&gt;
The number of stored breakpoints in the chunk is given by the chunk size divided by 216 (the size of one breakpoint data structure).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint type (0:Execution, 1:Memory, 2:I/O port)&lt;br /&gt;
|-&lt;br /&gt;
| 01&lt;br /&gt;
| 1&lt;br /&gt;
| Memory access mode (0:R/W, 1:R/O, 2:W/O)&lt;br /&gt;
|-&lt;br /&gt;
| 02&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint runtime mode (0:Break, 1:Watch)&lt;br /&gt;
|-&lt;br /&gt;
| 03&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint map type (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 04&lt;br /&gt;
| 2&lt;br /&gt;
| Breakable memory/port (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 06&lt;br /&gt;
| 2&lt;br /&gt;
| Breakable memory/port mask (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 08&lt;br /&gt;
| 1&lt;br /&gt;
| Match value&lt;br /&gt;
|-&lt;br /&gt;
| 09&lt;br /&gt;
| 1&lt;br /&gt;
| Match value mask&lt;br /&gt;
|-&lt;br /&gt;
| 0A&lt;br /&gt;
| 2&lt;br /&gt;
| Breakable memory size (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 0C&lt;br /&gt;
| 4&lt;br /&gt;
| Breakpoint activation step (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 128&lt;br /&gt;
| Breakpoint condition to match (NULL terminated string) (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 90&lt;br /&gt;
| 64&lt;br /&gt;
| Breakpoint user name (NULL terminated string)&lt;br /&gt;
|-&lt;br /&gt;
| D0&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint map bank (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| D1&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint map page (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| D2&lt;br /&gt;
| 6&lt;br /&gt;
| Reserved&lt;br /&gt;
|-&lt;br /&gt;
| D8&lt;br /&gt;
| ...&lt;br /&gt;
| Same sequence repeated for each breakpoint&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
&lt;br /&gt;
1. The condition is expressed using ACE syntax (similar to BASIC with AND/OR/XOR/NOT/+/-/=...).&lt;br /&gt;
Allowed additional syntaxes are:&lt;br /&gt;
*&amp;amp;, # or 0x for a hexadecimal number.&lt;br /&gt;
*% or &amp;amp;x for a binary number.&lt;br /&gt;
*AF, BC, HL, IX... for a 16-bit Z80 register.&lt;br /&gt;
*A, B, D, IXh, IXl... for an 8-bit Z80 register.&lt;br /&gt;
*FlagC, FlagNC, FlagM... for a Z80 flag.&lt;br /&gt;
*LineCount for the line number.&lt;br /&gt;
*LineCycle for the µs count on the current line.&lt;br /&gt;
*MemPage for the 64K expansion memory page (0-63).&lt;br /&gt;
*MemBankMode for the 16K expansion memory bank paging mode (0-7).&lt;br /&gt;
*UpperROMOn for the paging state of the upper ROM.&lt;br /&gt;
*UpperROMNum for the selected upper ROM number.&lt;br /&gt;
*LowerROMOn for the paging state of the lower ROM.&lt;br /&gt;
*LowerROMNum for the selected lower ROM number.&lt;br /&gt;
*ASICPageOn for the paging state of the I/O ASIC registers page.&lt;br /&gt;
&lt;br /&gt;
''Example : FlagC AND (HL=DE OR HL=&amp;amp;5000)''&lt;br /&gt;
&lt;br /&gt;
2. The map type determines the memory layout for which the breakpoint is valid.&lt;br /&gt;
The meaning of the values for map bank and map page depends on the map type value.&lt;br /&gt;
Possible values fir map type are:&lt;br /&gt;
* 0: Undefined. Map bank and page are ignored (always 0).&lt;br /&gt;
* 1: Main RAM. If map bank is 0, then linear main RAM is considered. If map bank is 1, then main RAM from &amp;amp;c000-&amp;amp;ffff mapped as &amp;amp;4000-&amp;amp;7fff is considered. Map page is ignored (always 0). &lt;br /&gt;
* 2: Extension RAM. Map bank is the 16K extension bank number (0-3). Map page is the 64K extension page number (0-31).&lt;br /&gt;
* 3: Extension ROM. Map bank is the ROM slot id (0-255). Map page is ignored (always 0).&lt;br /&gt;
* 4: Firmware ROM. Map bank and page are ignored (always 0).&lt;br /&gt;
* 5: Cartridge ROM. Map bank is the 16K ROM bank number (0-31). Map page is ignored (always 0).&lt;br /&gt;
* 6: ASIC I/O Page. Map bank and page are ignored (always 0).&lt;br /&gt;
&lt;br /&gt;
== SYMB ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by ACE when some symbols are declared. When loading a snapshot, the symbols found in this chunk are added to the alreading existing ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 1&lt;br /&gt;
| Length on the symbol name (n). 0 is an invalid value.&lt;br /&gt;
|-&lt;br /&gt;
| 01&lt;br /&gt;
| n&lt;br /&gt;
| Symbol name (note 1).&lt;br /&gt;
|-&lt;br /&gt;
| n+1&lt;br /&gt;
| 1&lt;br /&gt;
| Symbol memory map type (note 2).&lt;br /&gt;
|-&lt;br /&gt;
| n+2&lt;br /&gt;
| 1&lt;br /&gt;
| Symbol memory map bank (note 2).&lt;br /&gt;
|-&lt;br /&gt;
| n+3&lt;br /&gt;
| 1&lt;br /&gt;
| Symbol memory map page (note 2).&lt;br /&gt;
|-&lt;br /&gt;
| n+4&lt;br /&gt;
| 2&lt;br /&gt;
| Reserved for future usage, always 0 for now.&lt;br /&gt;
|-&lt;br /&gt;
| n+6&lt;br /&gt;
| 1&lt;br /&gt;
| Symbol type (0: absolute, 1: relative).&lt;br /&gt;
|-&lt;br /&gt;
| n+7&lt;br /&gt;
| 2&lt;br /&gt;
| Address of the symbol (MSB first).&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
| Same sequence repeated until the end of the chunk is reached.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
&lt;br /&gt;
1. Symbol are (obviously) limited to 255 characters, cannot begin with a number (0-9), and only a limited set of ASCII char is allowed (a-z, A-Z, 0-9, _).&lt;br /&gt;
2. The map type determines the memory layout for which the symbol is valid. The meaning of the values for map bank and map page depends on the map type value.&lt;br /&gt;
Possible values fir map type are:&lt;br /&gt;
* 0: Undefined. Map bank and page are ignored (always 0).&lt;br /&gt;
* 1: Main RAM. If map bank is 0, then linear main RAM is considered. If map bank is 1, then main RAM from &amp;amp;c000-&amp;amp;ffff mapped as &amp;amp;4000-&amp;amp;7fff is considered. Map page is ignored (always 0). &lt;br /&gt;
* 2: Extension RAM. Map bank is the 16K extension bank number (0-3). Map page is the 64K extension page number (0-31).&lt;br /&gt;
* 3: Extension ROM. Map bank is the ROM slot id (0-255). Map page is ignored (always 0).&lt;br /&gt;
* 4: Firmware ROM. Map bank and page are ignored (always 0).&lt;br /&gt;
* 5: Cartridge ROM. Map bank is the 16K ROM bank number (0-31). Map page is ignored (always 0).&lt;br /&gt;
* 6: ASIC I/O Page. Map bank and page are ignored (always 0).&lt;br /&gt;
&lt;br /&gt;
== BRKS ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by WinAPE when some breakpoints are set.&lt;br /&gt;
ACE can import breakpoints from this chunk but won't create it (BRKC is used instead).&lt;br /&gt;
&lt;br /&gt;
The chunk contains 1 or more breakpoints.&lt;br /&gt;
&lt;br /&gt;
Each breakpoint has the form:&lt;br /&gt;
  * 2 bytes: address (LSB first)&lt;br /&gt;
  * 1 byte: location (0: base 64K RAM, 1: extended RAM)&lt;br /&gt;
  * 2 bytes: condition (?)&lt;br /&gt;
&lt;br /&gt;
== WABP ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by WinAPE when some breakpoints are set. &lt;br /&gt;
The exact details are begin worked out.&lt;br /&gt;
&lt;br /&gt;
It seems to be:&lt;br /&gt;
&lt;br /&gt;
4 bytes - number of user breakpoints&lt;br /&gt;
&lt;br /&gt;
Each user breakpoint:&lt;br /&gt;
&lt;br /&gt;
type,&lt;br /&gt;
4 byte address&lt;br /&gt;
&lt;br /&gt;
Then,  4 bytes - number of memory breakpoints&lt;br /&gt;
&lt;br /&gt;
Each memory breakpoint:&lt;br /&gt;
&lt;br /&gt;
Then, 4 bytes - number of i/o breakpoints:&lt;br /&gt;
&lt;br /&gt;
Each i/o breakpoint:&lt;br /&gt;
&lt;br /&gt;
 2 bytes flags? (6000 read, a400 write)&lt;br /&gt;
 2 bytes port addr mask&lt;br /&gt;
 2 bytes port addr&lt;br /&gt;
 4 bytes counter&lt;br /&gt;
 4 bytes condition string length, followed by condition string (not null terminated)&lt;br /&gt;
&lt;br /&gt;
== DARS ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by WinAPE when some data areas are set. &lt;br /&gt;
&lt;br /&gt;
The number of stored data areas in the chunk is given by the chunk size divided by 10 (the size of one data area data structure).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 4&lt;br /&gt;
| Address (LSB first) (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 04&lt;br /&gt;
| 4&lt;br /&gt;
| Area size (LSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 08&lt;br /&gt;
| 1&lt;br /&gt;
| Data type (0=byte,1=word)&lt;br /&gt;
|-&lt;br /&gt;
| 09&lt;br /&gt;
| 1&lt;br /&gt;
| Labels (1=marked by user as having labels)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
1. Winape's addressing scheme is 4 bytes. The upper 16-bits effectively define the internal 64KB pages it uses.&lt;br /&gt;
&lt;br /&gt;
== REMU ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written RASM and contains information about symbols and breakpoints.&lt;br /&gt;
ACE will import informations from this chunk but won't write it (SYMB and BRKC are used instead).&lt;br /&gt;
&lt;br /&gt;
== RM00-FF ==&lt;br /&gt;
&lt;br /&gt;
This chunk was introduced by RASM and is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
The RM00-FF chunks contain at most 16KB of data representing the contents of the related external upper ROMs number. The data may be compressed or stored uncompressed. If the size is exactly 16384 bytes the data is uncompressed, otherwise it is compressed. Up to 2MB of external upper ROMs can be stored in a snapshot. &lt;br /&gt;
&lt;br /&gt;
The compression scheme is identical to the one from MEM0-7 chunks.&lt;br /&gt;
&lt;br /&gt;
== LOWR ==&lt;br /&gt;
&lt;br /&gt;
This chunk was introduced by RASM and is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
It is similar to the RM00-FF chunks but stored the internal firmware ROM contents.&lt;br /&gt;
&lt;br /&gt;
== BASR ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
It is similar to the RM00-FF chunks but stored the internal Basic ROM contents.&lt;br /&gt;
&lt;br /&gt;
== DOSR ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
It is similar to the RM00-FF chunks but stored the internal AMSDOS ROM contents.&lt;br /&gt;
&lt;br /&gt;
== CART ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
It stores the contents of the inserted cartridge ROM. Extended cartridges are also supported.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 1&lt;br /&gt;
| Type of compression (0: uncompressed, &amp;amp;5E: RLE compressed)&lt;br /&gt;
|-&lt;br /&gt;
| 01&lt;br /&gt;
| 4&lt;br /&gt;
| Physical size of the cartridge in bytes, must be 16, 32, 64, 128, 256 or 512KB (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 05&lt;br /&gt;
| 2&lt;br /&gt;
| Number of cartridges, 1: for normal cartridges, extended cartridges otherwise (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 07&lt;br /&gt;
| 2&lt;br /&gt;
| Flags, bit 0 set if the external upper ROMs must be disabled, other bits set to 0 (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 09&lt;br /&gt;
| x&lt;br /&gt;
| Cartridge data contents (either compressed or not depending on type of compression)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== PLUG ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
This chunk stores the names of the plugins which should be enabled for the snapshot.&lt;br /&gt;
&lt;br /&gt;
All names are stored one after the other, in the form of binary strings (first byte containing the plugin name length followed by the the actual string).&lt;br /&gt;
The names stored are the actual names of the plugins libraries (e.g. &amp;quot;multiface2.acepansion&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
[[Snapshot Archive]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Programming]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Snapshot&amp;diff=113809</id>
		<title>Snapshot</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Snapshot&amp;diff=113809"/>
				<updated>2024-01-03T09:21:20Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: /* CPC+ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Snapshot (.SNA) file format  =&lt;br /&gt;
&lt;br /&gt;
The format was first defined for the [[CPCEMU|CPCEMU]] emulator but is now widely supported. The format was originally defined by [[Marco Vieth|Marco Vieth]]. Version 3 was defined by [[Ulrich Doewich|Ulrich Doewich]], [[Martin Korth|Martin Korth]], [[Richard Wilson|Richard Wilson]] and [[Kevin Thacker|Kevin Thacker]]. &lt;br /&gt;
&lt;br /&gt;
There are 3 versions defined in this document. Version 3 is the most recent and is currently supported by a few of the most recent emulators. &lt;br /&gt;
&lt;br /&gt;
Snapshots produced with [[CPCE|CPCE]] appears to be the most compatible and will run correctly using any emulator.&lt;br /&gt;
&lt;br /&gt;
Abbreviations: &lt;br /&gt;
&lt;br /&gt;
*[[Gate Array|GA = &amp;quot;Gate Array&amp;quot;]] &lt;br /&gt;
*[[CRTC|CRTC = &amp;quot;6845 Cathode Ray Tube Controller&amp;quot;]] &lt;br /&gt;
*[[8255|PPI = &amp;quot;Intel 8255 Programmable Peripheral Interface&amp;quot;]] &lt;br /&gt;
*[[PSG|PSG = &amp;quot;AY-3-8912 Programmable Sound Generator&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
= Version 1  =&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00-07&lt;br /&gt;
| 8&lt;br /&gt;
| The identification string &amp;quot;MV - SNA&amp;quot;. This must exist for the snapshot to be valid.&lt;br /&gt;
|-&lt;br /&gt;
| 08-0f&lt;br /&gt;
| 8&lt;br /&gt;
| (not used; set to 0)&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 1&lt;br /&gt;
| snapshot version (1)&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register F&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register A&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register C&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register B&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register E&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register D&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register L&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register H&lt;br /&gt;
|-&lt;br /&gt;
| 19&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register R&lt;br /&gt;
|-&lt;br /&gt;
| 1a&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register I&lt;br /&gt;
|-&lt;br /&gt;
| 1b&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 interrupt flip-flop IFF0 (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 1c&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 interrupt flip-flop IFF1 (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 1d&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IX (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 1e&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IX (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 1f&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IY (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 20&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IY (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 21&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register SP (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 22&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register SP (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 23&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register PC (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 24&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register PC (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 25&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 interrupt mode (0,1,2) (note 3)&lt;br /&gt;
|-&lt;br /&gt;
| 26&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register F' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 27&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register A' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 28&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register C' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 29&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register B' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2a&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register E' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2b&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register D' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2c&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register L' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2d&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register H' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2e&lt;br /&gt;
| 1&lt;br /&gt;
| GA: index of selected pen (note 10)&lt;br /&gt;
|-&lt;br /&gt;
| 2f-3f&lt;br /&gt;
| 1&lt;br /&gt;
| GA: current palette (note 12)&lt;br /&gt;
|-&lt;br /&gt;
| 40&lt;br /&gt;
| 1&lt;br /&gt;
| GA: multi configuration (note 11)&lt;br /&gt;
|-&lt;br /&gt;
| 41&lt;br /&gt;
| 1&lt;br /&gt;
| current RAM configuration (note 13)&lt;br /&gt;
|-&lt;br /&gt;
| 42&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC: index of selected register (note 14)&lt;br /&gt;
|-&lt;br /&gt;
| 43-54&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC: register data (0..17) (note 15)&lt;br /&gt;
|-&lt;br /&gt;
| 55&lt;br /&gt;
| 1&lt;br /&gt;
| current ROM selection (note 16)&lt;br /&gt;
|-&lt;br /&gt;
| 56&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: port A (note 6)&lt;br /&gt;
|-&lt;br /&gt;
| 57&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: port B (note 7)&lt;br /&gt;
|-&lt;br /&gt;
| 58&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: port C (note 8)&lt;br /&gt;
|-&lt;br /&gt;
| 59&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: control port (note 9)&lt;br /&gt;
|-&lt;br /&gt;
| 5a&lt;br /&gt;
| 1&lt;br /&gt;
| PSG: index of selected register (note 17)&lt;br /&gt;
|-&lt;br /&gt;
| 5b-6a&lt;br /&gt;
| 1&lt;br /&gt;
| PSG: register data (0,1,....15)&lt;br /&gt;
|-&lt;br /&gt;
| 6b&lt;br /&gt;
| 2&lt;br /&gt;
| memory dump size in Kilobytes (e.g. 64 for 64K, 128 for 128k) (note 18)&lt;br /&gt;
|-&lt;br /&gt;
| 6d-ff&lt;br /&gt;
| 1&lt;br /&gt;
| not used set to 0&lt;br /&gt;
|-&lt;br /&gt;
| 100-...&lt;br /&gt;
| 1&lt;br /&gt;
| memory dump&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes  ==&lt;br /&gt;
&lt;br /&gt;
1. All multi-byte values are stored in little-endian format (low byte followed by higher bytes). &lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;IFF0&amp;quot; reflects the state of the maskable interrupt (INT). &amp;quot;IFF1&amp;quot; is used to store the state of IFF0 when a non-maskable interrupt (NMI) is executed. Bit 0 of these bytes is significant. For CPCEMU compatibility, these bytes should be set to &amp;quot;1&amp;quot; when the IFF flip-flop is &amp;quot;1&amp;quot; and &amp;quot;0&amp;quot; when the flip-flop is &amp;quot;0&amp;quot;. For compatibility with other emulators, bits 7-1 should be set to &amp;quot;0&amp;quot;. When bit 0 of &amp;quot;IFF0&amp;quot; is &amp;quot;0&amp;quot; maskable interrupts will be ignored. When bit 0 of &amp;quot;IFF1&amp;quot; is &amp;quot;1&amp;quot; maskable interrupts will be acknowledged and executed. See the document about the Z80 for more information. &lt;br /&gt;
&lt;br /&gt;
3. This byte will be 0, 1 or 2 for the interrupt modes 0, 1 or 2. The interrupt mode is set using the &amp;quot;IM x&amp;quot; instructions. See the document about the Z80 for more information. &lt;br /&gt;
&lt;br /&gt;
4. These registers are from the alternate register set of the Z80. &lt;br /&gt;
&lt;br /&gt;
5. These registers are 16-bit. &amp;quot;low&amp;quot; indicates bits 7..0, &amp;quot;high&amp;quot;indicates bits 15..8. &lt;br /&gt;
&lt;br /&gt;
6. This byte represents the inputs to PPI port A regardless of the input/output setting of this port. &lt;br /&gt;
&lt;br /&gt;
7. This byte represents the inputs to PPI port B regardless of the input/output setting of this port. &lt;br /&gt;
&lt;br /&gt;
8. This byte represents the outputs from port C regardless of the input/output setting of this port. &lt;br /&gt;
&lt;br /&gt;
9. This byte represents the PPI control byte which defines the input/output and mode of each port and not the last value written to this port. For CPCEMU compatibility bit 7 of this byte must be set to &amp;quot;1&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
10. This byte in the snapshot represents the selected pen register of the Gate-Array. This byte is the last value written to this port. Bit 7,6,5 should be set to &amp;quot;0&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
11. This byte in the snapshot represents the multi-configuration register of the Gate-Array. This byte is the last byte written to this register. For CPCEMU compatibility, bit 7 should be set to &amp;quot;1&amp;quot; and bit 6 and bit 5 set to &amp;quot;0&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
12. These bytes are the current palette. For CPCEMU compatibility, these bytes should have bit 7=bit 6=bit 5=&amp;quot;0&amp;quot;. Bits 4..0 define the colour using the hardware colour code. The colours are stored in the order pen 0, pen1, pen 2,...,pen 15 followed by border colour. &lt;br /&gt;
&lt;br /&gt;
13. This byte represents a ram configuration for a Dk'Tronics/Dobbertin/Amstrad compatible RAM expansion, or the built in RAM expansion of the CPC6128 and CPC6128+. Bits 5..0 define the ram expansion code. For CPCEMU compatibility, bit 7 and bit 6 of this byte should be set to &amp;quot;0&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
14. This byte in the snapshot represents the index of the currently selected CRTC register. For compatibility with CPCEMU this value should be in the range 0-31. &lt;br /&gt;
&lt;br /&gt;
15. These bytes represent the data of the CRTC's registers. &lt;br /&gt;
&lt;br /&gt;
16. This byte in the snapshot represents the last byte written to the &amp;quot;ROM select&amp;quot; I/O port. &lt;br /&gt;
&lt;br /&gt;
17. This byte in the snapshot represents the index of the currently selected PSG register. For CPCEMU compatibility, this byte should be in the range 0-15. &lt;br /&gt;
&lt;br /&gt;
18. the memory dump can have size 0 in version 3 and in this case all RAM is described in additional blocks (MEM0-MEM8). If a memory dump has a non-zero size, then it is uncompressed and describes the main 64KB ram immediately followed by the second 64KB ram (if present) (this ram is inside 128KB machines or machines with 64KB from a Dk'Tronics/Dobbertin/Amstrad compatible RAM expansion. Note that CPCEMU can only write a 64K or 128K snapshot.&lt;br /&gt;
&lt;br /&gt;
19. JavaCPC uses e0-ff to store an emulator ID (see snapshot V3 for more details)&lt;br /&gt;
&lt;br /&gt;
= Changes and additions in Version 2 from Version 1  =&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 1&lt;br /&gt;
| snapshot version (2)&lt;br /&gt;
|-&lt;br /&gt;
| 6d&lt;br /&gt;
| 1&lt;br /&gt;
| CPC Type: &lt;br /&gt;
*0 = CPC464 &lt;br /&gt;
*1 = CPC664 &lt;br /&gt;
*2 = CPC6128 &lt;br /&gt;
*3 = unknown&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 6e&lt;br /&gt;
| 1&lt;br /&gt;
| interrupt number (0..5) (note 1a)&lt;br /&gt;
|-&lt;br /&gt;
| 6f-74&lt;br /&gt;
| 6&lt;br /&gt;
| 6 multimode bytes (note 1b)&lt;br /&gt;
|-&lt;br /&gt;
| 75-ff&lt;br /&gt;
| x&lt;br /&gt;
| (not used)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes  ==&lt;br /&gt;
&lt;br /&gt;
1. If standard CPC raster interrupts are used, interrupts are acknowledged and &amp;quot;executed&amp;quot; at the time they are requested, then there will be 6 interrupts executed per screen update cycle. &lt;br /&gt;
&lt;br /&gt;
*CPCEMU uses a simple system to emulate the interrupts. It is assumed there are exactly 6 interrupts per screen update cycle (the interrupts are assumed to occur at a frequency of 300Hz). This byte records the interrupt number in the current screen update cycle. More accurate emulators use the correct interrupt generation method and may ignore this byte. For CPCEMU compatibility, these emulators should set this byte to &amp;quot;0&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*CPCEMU uses a simple system to emulate the screen display. It allows the mode to be changed in each of the 6 interrupts that occur during a single 50Hz/60Hz period. These bytes represent the mode in each of these sections, i.e. the screen modes (0,1 or 2) for the interrupts 0..5. More accurate emulators support changing of the screen mode at any point supported by the Amstrad hardware, these emulators should write &amp;quot;0&amp;quot; for all these bytes.&lt;br /&gt;
&lt;br /&gt;
2. A version 2 snapshot describes Dk'Tronics/Dobbertin compatible RAM in addition to the 64KB base ram. This is a type of RAM expansion which uses the same port and paging mechanism as the extra 64KB inside the 6128. However, the RAM *MUST* be continuous, therefore it's limited to 64KB, 256KB or 512KB additional RAM. The Dk'Tronics silicon disk can't be described on it's own because it's RAM configurations do not start at C4.&lt;br /&gt;
&lt;br /&gt;
The following configurations can be described:&lt;br /&gt;
* 64KB base + 64KB extra RAM (e.g. Dk'Tronics 64KB RAM Expansion)&lt;br /&gt;
* 64KB base + 256KB extra RAM (e.g. Dk'Tronics 256KB RAM Expansion)&lt;br /&gt;
* 64KB base + 512KB extra RAM (e.g. Dk'Tronics 256KB RAM Expansion &amp;amp; Dk'Tronics 256KB Silicon Disk OR X-MEM OR Symbiface 2 OR other device which provides 512KB)&lt;br /&gt;
&lt;br /&gt;
JavaCPC uses this value to store up to 4MB of RAM. (e.g. [[CPC4MB]]). This type of ram is Dk'Tronics compatible and has multiple banks of 512KB. This value could be used to describe a 1MB or 2MB expansion as long as it is fully Dk'tronics compatible (e.g. rpalmer's 2MB).&lt;br /&gt;
&lt;br /&gt;
3. JavaCPC uses e0-ff to store an emulator ID (see snapshot V3 for more details)&lt;br /&gt;
&lt;br /&gt;
= Changes and additions in Version 3 from Version 2  =&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 1&lt;br /&gt;
| snapshot version (3)&lt;br /&gt;
|-&lt;br /&gt;
| 6d&lt;br /&gt;
| 1&lt;br /&gt;
| CPC Type: &lt;br /&gt;
*0 = CPC464 &lt;br /&gt;
*1 = CPC664 &lt;br /&gt;
*2 = CPC6128 &lt;br /&gt;
*3 = unknown &lt;br /&gt;
*4 = 6128 Plus &lt;br /&gt;
*5 = 464 Plus &lt;br /&gt;
*6 = GX4000&lt;br /&gt;
|-&lt;br /&gt;
| 75&lt;br /&gt;
| n&lt;br /&gt;
| Disc drive A filename (No$CPC only)&lt;br /&gt;
|-&lt;br /&gt;
| 99&lt;br /&gt;
| 1&lt;br /&gt;
| Monitor VHold Value (-45 to +85)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9a&lt;br /&gt;
| 1&lt;br /&gt;
| Memory Expansion Enable (when Bit 7 is set)&lt;br /&gt;
*Bit 0 = 128K memory (Banks C4..C7)&lt;br /&gt;
*Bit 1 = 256K memory (Banks C4..DF)&lt;br /&gt;
*Bit 2 = 256K silicon disc (Banks E4..FF)&lt;br /&gt;
*Bit 3 = 4M expansion&lt;br /&gt;
*Bit 7 = Always set if this is valid &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9b&lt;br /&gt;
| 1&lt;br /&gt;
| Fast Disc emulation mode (0=off, 1=on) (WinAPE)&lt;br /&gt;
|-&lt;br /&gt;
| 9c&lt;br /&gt;
| 1&lt;br /&gt;
| FDD motor drive state (0=off, 1=on)&lt;br /&gt;
|-&lt;br /&gt;
| 9d-a0&lt;br /&gt;
| 4&lt;br /&gt;
| FDD current physical track (note 15)&lt;br /&gt;
|-&lt;br /&gt;
| a1&lt;br /&gt;
| 1&lt;br /&gt;
| Printer Data/Strobe Register (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| a2-a3&lt;br /&gt;
| 2&lt;br /&gt;
| Current frame scan line since monitor retrace (note16)&lt;br /&gt;
|-&lt;br /&gt;
| a4&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC type: &lt;br /&gt;
*0 = HD6845S/UM6845 &lt;br /&gt;
*1 = UM6845R &lt;br /&gt;
*2 = MC6845 &lt;br /&gt;
*3 = 6845 in CPC+ ASIC &lt;br /&gt;
*4 = 6845 in Pre-ASIC&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| a9&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC horizontal character counter register (note 11)&lt;br /&gt;
|-&lt;br /&gt;
| aa&lt;br /&gt;
| 1&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| ab&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC character-line counter register (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| ac&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC raster-line counter register (note 3)&lt;br /&gt;
|-&lt;br /&gt;
| ad&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC vertical total adjust counter register (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| ae&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC horizontal sync width counter (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| af&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC vertical sync width counter (note 6)&lt;br /&gt;
|-&lt;br /&gt;
| b0-b1&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Bit''&lt;br /&gt;
| ''Function''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| if &amp;quot;1&amp;quot; VSYNC is active, if &amp;quot;0&amp;quot; VSYNC is inactive (note 8)&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| if &amp;quot;1&amp;quot; HSYNC is active, if &amp;quot;0&amp;quot; HSYNC is inactive (note 9)&lt;br /&gt;
|-&lt;br /&gt;
| 2-6&lt;br /&gt;
| reserved&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| if &amp;quot;1&amp;quot; Vertical Total Adjust is active, if &amp;quot;0&amp;quot; Vertical Total Adjust is inactive (note 10)&lt;br /&gt;
|-&lt;br /&gt;
| 8-14&lt;br /&gt;
| Reserved (0)&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| if &amp;quot;1&amp;quot; use extended Interrupt Control Status Register (WinAPE)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| b2&lt;br /&gt;
| 1&lt;br /&gt;
| GA vsync delay counter (note 14)&lt;br /&gt;
|-&lt;br /&gt;
| b3&lt;br /&gt;
| 1&lt;br /&gt;
| GA interrupt scanline counter (note 12)&lt;br /&gt;
|-&lt;br /&gt;
| b4&lt;br /&gt;
| 1&lt;br /&gt;
| interrupt request flag (0=no interrupt requested, 1=interrupt requested) (note 13)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| b5&lt;br /&gt;
| 1&lt;br /&gt;
| Interrupt Control Status Register (WinAPE) (note 17)&lt;br /&gt;
|-&lt;br /&gt;
| b6&lt;br /&gt;
| 1&lt;br /&gt;
| Plus features disabled (0=enabled, 1=disabled)&lt;br /&gt;
|-&lt;br /&gt;
| b7&lt;br /&gt;
| 1&lt;br /&gt;
| Plus PPI Emulation (0=Standard 8255 emulation, 1=Plus PPI emulation)&lt;br /&gt;
|-&lt;br /&gt;
| b8-df&lt;br /&gt;
| 28&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| e0&lt;br /&gt;
| 20&lt;br /&gt;
| Emulator ID String&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes  ==&lt;br /&gt;
&lt;br /&gt;
1. This byte in the snapshot represents the last byte written to the printer I/O port (this byte does not include the automatic inversion of the strobe caused by the Amstrad hardware). &lt;br /&gt;
&lt;br /&gt;
2. This register is internal to the CRTC and counts the number of character-lines. The counter counts up. This value is in the range 0-127. (This counter is compared against CRTC register 4). &lt;br /&gt;
&lt;br /&gt;
3. This register is internal to the CRTC and counts the number of raster-lines. The counter counts up. This value is in the range 0-31. (This counter is compared against CRTC register 9). &lt;br /&gt;
&lt;br /&gt;
4. This register is internal to the CRTC and counts the number of raster-lines during vertical adjust. The counter counts up. This value is in the range 0-31. This should be ignored if the CRTC is not &amp;quot;executing&amp;quot; vertical. adjust.(This counter is compared against CRTC register 5). &lt;br /&gt;
&lt;br /&gt;
5. This register is internal to the CRTC and counts the number of characters during horizontal sync. This counter counts up. This value is in the range 0-16. This should be ignored if the CRTC is not &amp;quot;executing&amp;quot; horizontal sync. (This counter is compared against CRTC register 3). &lt;br /&gt;
&lt;br /&gt;
6. This register is internal to the CRTC and counts the number of scan-lines during vertical sync. This counter counts up. This value is in the range 0-16. This should be ignored if the CRTC is not &amp;quot;executing&amp;quot; vertical sync. (This counter is compared against CRTC register 3). &lt;br /&gt;
&lt;br /&gt;
7. These bytes define the internal state of the CRTC. Each bit in these bytes represents a state. &lt;br /&gt;
&lt;br /&gt;
8. When VSYNC is active, the CRTC is &amp;quot;executing&amp;quot; vertical sync, and the vertical sync width counter in the snapshot is used. &lt;br /&gt;
&lt;br /&gt;
9. When HSYNC is active, the CRTC is &amp;quot;executing&amp;quot; horizontal sync width counter in the snapshot is used. &lt;br /&gt;
&lt;br /&gt;
10. When Vertical total adjust is active, the CRTC is &amp;quot;executing&amp;quot; vertical total adjust and the vertical total adjust counter in the snapshot is used. &lt;br /&gt;
&lt;br /&gt;
11. This register is internal to the CRTC and counts the number of characters. This counter counts up. This value is in the range 0-255. (This counter is compared against CRTC register 0). &lt;br /&gt;
&lt;br /&gt;
12. This counter is internal to the GA and counts the number of HSYNCs. This counter is used to generate CPC raster interrupts. This counter counts up. This value is in the range 0-51. &lt;br /&gt;
&lt;br /&gt;
13. This flag is &amp;quot;1&amp;quot; if a interrupt request has been sent to the Z80 and it has not yet been acknowledged by the Z80. (A interrupt request is sent by the GA for standard CPC raster interrupts or by the ASIC for raster or dma interrupts). &lt;br /&gt;
&lt;br /&gt;
14. This is a counter internal to the GA and counts the number of HSYNCs since the start of the VSYNC and it is used to reset the interrupt counter to synchronise interrupts with the VSYNC. This counter counts up. This value is between 0 and 2. If this value is 0, the counter is inactive. If this counter is 1 or 2 the counter is active.&lt;br /&gt;
&lt;br /&gt;
15. This is the current cylinder for each of 4 drives.&lt;br /&gt;
&lt;br /&gt;
16. In WinAPE this counter is reset if a VSYNC occurs which causes the monitor to retrace vertically. This occurs if the VSYNC signal is active and this counter is greater than a threshold set by the V-Hold (normally 295 when V-Hold is 0), or if the counter reaches the maximum value (normally 351 when V-Hold is 0).&lt;br /&gt;
&lt;br /&gt;
17. Since Plus emulation requires more information than simply whether an interrupt is active, this value (as used internally by WinAPE) contains: &lt;br /&gt;
* Bit 7 - Gate Array (or PRI) interrupt. &lt;br /&gt;
* Bit 6 - DMA Channel 0 interrupt. &lt;br /&gt;
* Bit 5 - DMA Channel 1 interrupt. &lt;br /&gt;
* Bit 4 - DMA Channel 2 interrupt. &lt;br /&gt;
&lt;br /&gt;
It can be a combination of all or any interrupt sources. Interrupts are executed in the order raster, DMA 2, DMA 1, DMA 0.&lt;br /&gt;
&lt;br /&gt;
Immediately following the memory dump there is optional data which is separated into chunks. &lt;br /&gt;
&lt;br /&gt;
Each chunk of data has a header and this is followed by the data in the chunk. The header has the following format: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 4&lt;br /&gt;
| Chunk name (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| Chunk data length (note 2)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes: &lt;br /&gt;
&lt;br /&gt;
1. The chunks are defined with 4-byte character codes. (e.g. &amp;quot;CPC+&amp;quot;). In this example, the 4-byte character code would be stored in the file as 'C' then 'P' then 'C' then '+'. &lt;br /&gt;
&lt;br /&gt;
2. The &amp;quot;Chunk data length&amp;quot; defines the length of data following the header and does not include the size of the header. This number is stored in little endian format. &lt;br /&gt;
&lt;br /&gt;
3. If a emulator finds a chunk which it does not support then it should skip the chunk and continue with the next chunk in the file. Therefore an emulator author may add emulator specific chunks to the file and it will not prevent the snapshot from being used with other emulators that do not recognise the added chunks. &lt;br /&gt;
&lt;br /&gt;
4. There is not a terminator chunk. The snapshot reader should determine if there are more chunks based on the size of data remaining to be read from the file. &lt;br /&gt;
&lt;br /&gt;
=Version 3 Chunks=&lt;br /&gt;
&lt;br /&gt;
The following chunks are currently defined: &lt;br /&gt;
&lt;br /&gt;
== CPC+ ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by Arnold, WinAPE, No$CPC and ACE. Arnold, WinAPE and ACE will save the block when Plus configuration enabled. No$CPC will save the block if the Plus features have been unlocked.&lt;br /&gt;
&lt;br /&gt;
When creating a snapshot with several chunks, it is usually a good idea to place the CPC+ one in first position, because some (old) tools and emulators are relying on this and will fail if it is not the case.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Addr in ASIC register-ram''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 000-7FF&lt;br /&gt;
| 800&lt;br /&gt;
| 4000-4FFF&lt;br /&gt;
| Sprite Bitmaps (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 800-87F&lt;br /&gt;
| 8*16&lt;br /&gt;
| 6000-607F&lt;br /&gt;
| Sprite Attributes (see below) (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 880-8BF&lt;br /&gt;
| 32*2&lt;br /&gt;
| 6400-643F&lt;br /&gt;
| Palettes (note 3)&lt;br /&gt;
|-&lt;br /&gt;
| 8C0&lt;br /&gt;
| 1&lt;br /&gt;
| 6800&lt;br /&gt;
| Programmable Raster Interrupt (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C1&lt;br /&gt;
| 1&lt;br /&gt;
| 6801&lt;br /&gt;
| Screen split scan-line (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C2&lt;br /&gt;
| 2&lt;br /&gt;
| 6802-6803&lt;br /&gt;
| Screen split secondary screen-address (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C4&lt;br /&gt;
| 1&lt;br /&gt;
| 6804&lt;br /&gt;
| Soft scroll control register (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C5&lt;br /&gt;
| 1&lt;br /&gt;
| 6805&lt;br /&gt;
| Interrupt vector (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C6&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| gate array A0 register value (note 8a) &lt;br /&gt;
|-&lt;br /&gt;
| 8C6-8C7&lt;br /&gt;
| 1&lt;br /&gt;
| -&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| 8C8-8CF&lt;br /&gt;
| 8&lt;br /&gt;
| 6808-680f&lt;br /&gt;
| Analogue input channels 0-7 (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 8D0-8DB&lt;br /&gt;
| 3*4&lt;br /&gt;
| 6C00-6C0B&lt;br /&gt;
| Sound DMA channel attributes 0-2 (see below) (note 6)&lt;br /&gt;
|-&lt;br /&gt;
| 8DC-8DE&lt;br /&gt;
| 3&lt;br /&gt;
| -&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| 8DF&lt;br /&gt;
| 1&lt;br /&gt;
| 6C0F&lt;br /&gt;
| DMA Control/Status (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8E0-8F4&lt;br /&gt;
| 3*7&lt;br /&gt;
| Internal&lt;br /&gt;
| DMA channel 0-2 internal registers (see below) (note 7)&lt;br /&gt;
|-&lt;br /&gt;
| 8F5&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| gate array A0 register value (note 8b)&lt;br /&gt;
|-&lt;br /&gt;
| 8F6&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| gate array A0 lock: 0 -&amp;gt; locked, !=0 -&amp;gt; unlocked (note 9)&lt;br /&gt;
|-&lt;br /&gt;
| 8F7&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| ASIC unlock sequence state (note 10)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes  ===&lt;br /&gt;
&lt;br /&gt;
1. The sprite data is packed, with two sprite pixels per byte. Bits 7..4 define the first pixel and bits 3..0 define the second pixel. &lt;br /&gt;
&lt;br /&gt;
2. The attributes for each sprite take 8 bytes. Each attribute block has the following format: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 2&lt;br /&gt;
| Sprite X (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| Sprite Y (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| Sprite Magnification (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 5-7&lt;br /&gt;
| 3&lt;br /&gt;
| unused (0)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: the Sprite X, Y and magnification are in the same order as the ASIC registers &lt;br /&gt;
&lt;br /&gt;
3. This is a direct copy of the palette in CPC+ ASIC Ram. There are 32 colours each with 2-bytes per colour. &lt;br /&gt;
&lt;br /&gt;
4. These bytes in the snapshot represent the last value written to these ASIC registers. &lt;br /&gt;
&lt;br /&gt;
5. These bytes represent the inputs to the analogue channels. &lt;br /&gt;
&lt;br /&gt;
6. The attributes for each DMA channel take 4 bytes. Each attribute block has the following format: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 2&lt;br /&gt;
| DMA Channel address (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 1&lt;br /&gt;
| DMA Channel prescalar (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 1&lt;br /&gt;
| unused (0)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: the DMA address and prescalar are in the same order as the ASIC registers. &lt;br /&gt;
&lt;br /&gt;
7 These registers are internal to the CPC+ and define the current DMA operation: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 2&lt;br /&gt;
| loop counter (note a)&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| loop address (note b)&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| pause count (note c)&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| 1&lt;br /&gt;
| pause prescalar count (note d)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
a. This value represents the number of loops remaining. 0 = none. This count is between 0..0FFF. This counter counts down. &lt;br /&gt;
&lt;br /&gt;
b. This is the Amstrad memory address to loop back to. It is a pointer to the DMA instruction after the last REPEAT instruction. &lt;br /&gt;
&lt;br /&gt;
c. This value represents the pause count and the count is between 0...0FFF. (TO BE CHECKED: down counter? what exactly does it represent) &lt;br /&gt;
&lt;br /&gt;
d. This value represents the pause prescalar count and the count is between 0..FF. (TO BE CHECKED: down counter? what exactly does it represent) &lt;br /&gt;
&lt;br /&gt;
8. This value represents the last value written to this I/O port. Winape uses 8a and not 8b. This value has bits 7,6,5 set to 1,0 and 1 respectively. 8b is in the original specification and is written by both ACE and No$CPC.&lt;br /&gt;
&lt;br /&gt;
9. This value represents the lock status of RMR2. If locked, RMR2 can't be accessed otherwise it can.&lt;br /&gt;
&lt;br /&gt;
10. This value represents the current unlock sequence state. &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''State ID''&lt;br /&gt;
| ''Synchronised State''&lt;br /&gt;
| ''Note''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| Not synchronised&lt;br /&gt;
| ASIC is waiting for first non-zero byte to be written, this is the first synchronisation byte required&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Not synchronised&lt;br /&gt;
| ASIC is waiting for zero byte to be written, this is the second synchronisation byte required&lt;br /&gt;
|-&lt;br /&gt;
| 2..10&lt;br /&gt;
| synchronised&lt;br /&gt;
| ASIC is waiting for byte from unlock sequence. e.g. if &amp;quot;2&amp;quot;, ASIC is waiting for &amp;amp;amp;FF, the first byte of the unlock sequence. if &amp;quot;3&amp;quot; ASIC is waiting for &amp;amp;amp;77, the second byte of the unlock sequence.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSCA,DSCB ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by WinAPE and ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
The DSCA block contains the filename of the disc image inserted into drive A. The filename is stored as 8-bit ASCII (any Unicode characters with codes 0x100 or above will be translated to ? and therefore filenames with these characters can't be stored in Snapshots). The length of the block is the length of the filename in bytes.&lt;br /&gt;
&lt;br /&gt;
DSCB is similar to DSCA but stores the filename of the disc image inserted into drive B.&lt;br /&gt;
&lt;br /&gt;
== TAPE ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
The TAPE block contains the filename of the tape image inserted. The filename is stored as 8-bit ASCII (any Unicode characters with codes 0x100 or above will be translated to ? and therefore filenames with these characters can't be stored in Snapshots). The length of the block is the length of the filename in bytes.&lt;br /&gt;
&lt;br /&gt;
== ROMS ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by WinAPE and ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
This block contains a list of filenames for each ROM (and cartridge) that is defined. The length of the block is the length for all strings.&lt;br /&gt;
&lt;br /&gt;
If a ROM is not defined, a single NUL (0) byte is present, otherwise there is a null terminated 8-bit ASCII string.&lt;br /&gt;
&lt;br /&gt;
First in the list is the filename (or internal name) for the cartridge (prefixed with a 'A' character), followed by lower rom and then upper roms 0-31 (WinAPE) or 0-255 (ACE).&lt;br /&gt;
&lt;br /&gt;
WinAPE lists internal ROMs by their internal name (the name listed in the drop down when you configure the roms, e.g. OS464).&lt;br /&gt;
ACE always put the actual file name, even for internal ROMs (e.g. System/Firmware_v3.rom).&lt;br /&gt;
&lt;br /&gt;
After the list of the upper ROMs, ACE also put the names of the internal Basic and AMSDOS ROMs.&lt;br /&gt;
Then, the presence of the &amp;quot;CartridgeKeepExtROM&amp;quot; let ACE know if the cartridge ROMs should disable installed external upper ROMs or not (depending on user preferences).&lt;br /&gt;
&lt;br /&gt;
NOTE: The selected Multiface ROM is not saved in the snapshot.&lt;br /&gt;
&lt;br /&gt;
== INFO ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by No$CPC. It contains an 8-bit ASCII string with the version information for No$CPC.&lt;br /&gt;
&lt;br /&gt;
== MEM0-8 ==&lt;br /&gt;
&lt;br /&gt;
The MEM0-8 chunks contain at most 64KB of data. The data may be compressed or stored uncompressed. If the size is exactly 65536 bytes the data is uncompressed, otherwise it is compressed. Up to 512KB additional RAM can be stored in a snapshot. &lt;br /&gt;
&lt;br /&gt;
The compression scheme is RLE with 0x0e5 as the control byte.&lt;br /&gt;
&lt;br /&gt;
Data is encoded as:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;byte&amp;gt; for a single occurrence of a byte (not 0x0e5) (e.g. 0x013)&lt;br /&gt;
* 0x0e5,&amp;lt;count&amp;gt;,&amp;lt;byte&amp;gt; for multiple occurances of a byte (e. 0x0e5,0x04,0x013 for 0x013 repeated 4 times)&lt;br /&gt;
* 0x0e5,0 for a single 0x0e5 byte (e.g. 0x0e5)&lt;br /&gt;
&lt;br /&gt;
The blocks are:&lt;br /&gt;
&lt;br /&gt;
* MEM0 - main 64KB ram&lt;br /&gt;
* MEM1 - c4,c5,c6,c7 configurations (extra 64KB ram in 128KB machines) (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM2 - cc,cd,ce,cf configurations (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM3 - d4,d5,d6,d7 configurations (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM4 - dc,dd,de,df configurations (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM5 - e4,e5,e6,e7 configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
* MEM6 - ec,ed,ee,ef configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
* MEM7 - f4,f5,f6,f7 configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
* MEM8 - fc,fd,fe,ff configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
1. A snapshot may contain a mix of &amp;quot;standard&amp;quot; memory data (e.g. the data follows the header and is uncompressed) and additional MEM blocks as required.&lt;br /&gt;
&lt;br /&gt;
2. If the snapshot is not compressed, then up to 128KB will be stored as &amp;quot;standard&amp;quot; memory data, the additional RAM stored in MEM2-MEM8 blocks.&lt;br /&gt;
&lt;br /&gt;
3. If the snapshot is compressed, then the &amp;quot;standard&amp;quot; memory data will have 0 size and there will be a MEM0 in addition to the additional memory blocks.&lt;br /&gt;
&lt;br /&gt;
4. Version 3 doesn't require memory to be continuous. A Dk'tronics silicon disk on it's own can be described with this version.&lt;br /&gt;
&lt;br /&gt;
5. WinAPE allows a 4MB RAM expansion to be enabled but doesn't save the additional RAM in the snapshot.&lt;br /&gt;
&lt;br /&gt;
6. ACE can save additional memory in snapshots (up to 4MB) using the MX?? chunks.&lt;br /&gt;
&lt;br /&gt;
== MX09-40 ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE.&lt;br /&gt;
&lt;br /&gt;
MX?? chunks allow snapshots to store up to 4160KB ram.&lt;br /&gt;
&lt;br /&gt;
MX?? chunks are following MEM0-8 chunks. They are numbered from 09 to 40 (hexadecimal numbering).&lt;br /&gt;
Information are stored compressed like in MEM0-8 chunks.&lt;br /&gt;
&lt;br /&gt;
== BRKC ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by ACE when some breakpoints are set. When loading a snapshot, the breakpoints found in this chunk are added to the one already installed.&lt;br /&gt;
The number of stored breakpoints in the chunk is given by the chunk size divided by 216 (the size on one breakpoint data structure).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint type (0:Execution, 1:Memory, 2:I/O port)&lt;br /&gt;
|-&lt;br /&gt;
| 01&lt;br /&gt;
| 1&lt;br /&gt;
| Memory access mode (0:R/W, 1:R/O, 2:W/O)&lt;br /&gt;
|-&lt;br /&gt;
| 02&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint runtime mode (0:Break, 1:Watch)&lt;br /&gt;
|-&lt;br /&gt;
| 03&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint map type (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 04&lt;br /&gt;
| 2&lt;br /&gt;
| Breakable memory/port (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 06&lt;br /&gt;
| 2&lt;br /&gt;
| Breakable memory/port mask (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 08&lt;br /&gt;
| 1&lt;br /&gt;
| Match value&lt;br /&gt;
|-&lt;br /&gt;
| 09&lt;br /&gt;
| 1&lt;br /&gt;
| Match value mask&lt;br /&gt;
|-&lt;br /&gt;
| 0A&lt;br /&gt;
| 2&lt;br /&gt;
| Breakable memory size (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 0C&lt;br /&gt;
| 4&lt;br /&gt;
| Breakpoint activation step (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 128&lt;br /&gt;
| Breakpoint condition to match (NULL terminated string) (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 90&lt;br /&gt;
| 64&lt;br /&gt;
| Breakpoint user name (NULL terminated string)&lt;br /&gt;
|-&lt;br /&gt;
| D0&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint map bank (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| D1&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint map page (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| D2&lt;br /&gt;
| 6&lt;br /&gt;
| Reserved&lt;br /&gt;
|-&lt;br /&gt;
| D8&lt;br /&gt;
| ...&lt;br /&gt;
| Same sequence repeated for each breakpoint&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
&lt;br /&gt;
1. The condition is expressed using ACE syntax (similar to BASIC with AND/OR/XOR/NOT/+/-/=...).&lt;br /&gt;
Allowed additional syntaxes are:&lt;br /&gt;
*&amp;amp;, # or 0x for a hexadecimal number.&lt;br /&gt;
*% or &amp;amp;x for a binary number.&lt;br /&gt;
*AF, BC, HL, IX... for a 16-bit Z80 register.&lt;br /&gt;
*A, B, D, IXh, IXl... for an 8-bit Z80 register.&lt;br /&gt;
*FlagC, FlagNC, FlagM... for a Z80 flag.&lt;br /&gt;
*LineCount for the line number.&lt;br /&gt;
*LineCycle for the µs count on the current line.&lt;br /&gt;
*MemPage for the 64K expansion memory page (0-63).&lt;br /&gt;
*MemBankMode for the 16K expansion memory bank paging mode (0-7).&lt;br /&gt;
*UpperROMOn for the paging state of the upper ROM.&lt;br /&gt;
*UpperROMNum for the selected upper ROM number.&lt;br /&gt;
*LowerROMOn for the paging state of the lower ROM.&lt;br /&gt;
*LowerROMNum for the selected lower ROM number.&lt;br /&gt;
*ASICPageOn for the paging state of the I/O ASIC registers page.&lt;br /&gt;
&lt;br /&gt;
''Example : FlagC AND (HL=DE OR HL=&amp;amp;5000)''&lt;br /&gt;
&lt;br /&gt;
2. The map type determines the memory layout for which the breakpoint is valid.&lt;br /&gt;
The meaning of the values for map bank and map page depends on the map type value.&lt;br /&gt;
Possible values fir map type are:&lt;br /&gt;
* 0: Undefined. Map bank and page are ignored (always 0).&lt;br /&gt;
* 1: Main RAM. If map bank is 0, then linear main RAM is considered. If map bank is 1, then main RAM from &amp;amp;c000-&amp;amp;ffff mapped as &amp;amp;4000-&amp;amp;7fff is considered. Map page is ignored (always 0). &lt;br /&gt;
* 2: Extension RAM. Map bank is the 16K extension bank number (0-3). Map page is the 64K extension page number (0-31).&lt;br /&gt;
* 3: Extension ROM. Map bank is the ROM slot id (0-255). Map page is ignored (always 0).&lt;br /&gt;
* 4: Firmware ROM. Map bank and page are ignored (always 0).&lt;br /&gt;
* 5: Cartridge ROM. Map bank is the 16K ROM bank number (0-31). Map page is ignored (always 0).&lt;br /&gt;
* 6: ASIC I/O Page. Map bank and page are ignored (always 0).&lt;br /&gt;
&lt;br /&gt;
== SYMB ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by ACE when some symbols are declared. When loading a snapshot, the symbols found in this chunk are added to the alreading existing ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 1&lt;br /&gt;
| Length on the symbol name (n). 0 is an invalid value.&lt;br /&gt;
|-&lt;br /&gt;
| 01&lt;br /&gt;
| n&lt;br /&gt;
| Symbol name (note 1).&lt;br /&gt;
|-&lt;br /&gt;
| n+1&lt;br /&gt;
| 1&lt;br /&gt;
| Symbol memory map type (note 2).&lt;br /&gt;
|-&lt;br /&gt;
| n+2&lt;br /&gt;
| 1&lt;br /&gt;
| Symbol memory map bank (note 2).&lt;br /&gt;
|-&lt;br /&gt;
| n+3&lt;br /&gt;
| 1&lt;br /&gt;
| Symbol memory map page (note 2).&lt;br /&gt;
|-&lt;br /&gt;
| n+4&lt;br /&gt;
| 2&lt;br /&gt;
| Reserved for future usage, always 0 for now.&lt;br /&gt;
|-&lt;br /&gt;
| n+6&lt;br /&gt;
| 1&lt;br /&gt;
| Symbol type (0: absolute, 1: relative).&lt;br /&gt;
|-&lt;br /&gt;
| n+7&lt;br /&gt;
| 2&lt;br /&gt;
| Address of the symbol (MSB first).&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
| Same sequence repeated until the end of the chunk is reached.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
&lt;br /&gt;
1. Symbol are (obviously) limited to 255 characters, cannot begin with a number (0-9), and only a limited set of ASCII char is allowed (a-z, A-Z, 0-9, _).&lt;br /&gt;
2. The map type determines the memory layout for which the symbol is valid. The meaning of the values for map bank and map page depends on the map type value.&lt;br /&gt;
Possible values fir map type are:&lt;br /&gt;
* 0: Undefined. Map bank and page are ignored (always 0).&lt;br /&gt;
* 1: Main RAM. If map bank is 0, then linear main RAM is considered. If map bank is 1, then main RAM from &amp;amp;c000-&amp;amp;ffff mapped as &amp;amp;4000-&amp;amp;7fff is considered. Map page is ignored (always 0). &lt;br /&gt;
* 2: Extension RAM. Map bank is the 16K extension bank number (0-3). Map page is the 64K extension page number (0-31).&lt;br /&gt;
* 3: Extension ROM. Map bank is the ROM slot id (0-255). Map page is ignored (always 0).&lt;br /&gt;
* 4: Firmware ROM. Map bank and page are ignored (always 0).&lt;br /&gt;
* 5: Cartridge ROM. Map bank is the 16K ROM bank number (0-31). Map page is ignored (always 0).&lt;br /&gt;
* 6: ASIC I/O Page. Map bank and page are ignored (always 0).&lt;br /&gt;
&lt;br /&gt;
== BRKS ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by WinAPE when some breakpoints are set.&lt;br /&gt;
ACE can import breakpoints from this chunk but won't create it (BRKC is used instead).&lt;br /&gt;
&lt;br /&gt;
The chunk contains 1 or more breakpoints.&lt;br /&gt;
&lt;br /&gt;
Each breakpoint has the form:&lt;br /&gt;
  * 2 bytes: address (LSB first)&lt;br /&gt;
  * 1 byte: location (0: base 64K RAM, 1: extended RAM)&lt;br /&gt;
  * 2 bytes: condition (?)&lt;br /&gt;
&lt;br /&gt;
== WABP ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by WinAPE when some breakpoints are set. &lt;br /&gt;
The exact details are begin worked out.&lt;br /&gt;
&lt;br /&gt;
It seems to be:&lt;br /&gt;
&lt;br /&gt;
4 bytes - number of user breakpoints&lt;br /&gt;
&lt;br /&gt;
Each user breakpoint:&lt;br /&gt;
&lt;br /&gt;
type,&lt;br /&gt;
4 byte address&lt;br /&gt;
&lt;br /&gt;
Then,  4 bytes - number of memory breakpoints&lt;br /&gt;
&lt;br /&gt;
Each memory breakpoint:&lt;br /&gt;
&lt;br /&gt;
Then, 4 bytes - number of i/o breakpoints:&lt;br /&gt;
&lt;br /&gt;
Each i/o breakpoint:&lt;br /&gt;
&lt;br /&gt;
 2 bytes flags? (6000 read, a400 write)&lt;br /&gt;
 2 bytes port addr mask&lt;br /&gt;
 2 bytes port addr&lt;br /&gt;
 4 bytes counter&lt;br /&gt;
 4 bytes condition string length, followed by condition string (not null terminated)&lt;br /&gt;
&lt;br /&gt;
== DARS ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by WinAPE when some data areas are set. &lt;br /&gt;
&lt;br /&gt;
The number of stored data areas in the chunk is given by the chunk size divided by 10 (the size of one data area data structure).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 4&lt;br /&gt;
| Address (LSB first) (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 04&lt;br /&gt;
| 4&lt;br /&gt;
| Area size (LSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 08&lt;br /&gt;
| 1&lt;br /&gt;
| Data type (0=byte,1=word)&lt;br /&gt;
|-&lt;br /&gt;
| 09&lt;br /&gt;
| 1&lt;br /&gt;
| Labels (1=marked by user as having labels)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
1. Winape's addressing scheme is 4 bytes. The upper 16-bits effectively define the internal 64KB pages it uses.&lt;br /&gt;
&lt;br /&gt;
== REMU ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written RASM and contains information about symbols and breakpoints.&lt;br /&gt;
ACE will import informations from this chunk but won't write it (SYMB and BRKC are used instead).&lt;br /&gt;
&lt;br /&gt;
== RM00-FF ==&lt;br /&gt;
&lt;br /&gt;
This chunk was introduced by RASM and is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
The RM00-FF chunks contain at most 16KB of data representing the contents of the related external upper ROMs number. The data may be compressed or stored uncompressed. If the size is exactly 16384 bytes the data is uncompressed, otherwise it is compressed. Up to 2MB of external upper ROMs can be stored in a snapshot. &lt;br /&gt;
&lt;br /&gt;
The compression scheme is identical to the one from MEM0-7 chunks.&lt;br /&gt;
&lt;br /&gt;
== LOWR ==&lt;br /&gt;
&lt;br /&gt;
This chunk was introduced by RASM and is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
It is similar to the RM00-FF chunks but stored the internal firmware ROM contents.&lt;br /&gt;
&lt;br /&gt;
== BASR ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
It is similar to the RM00-FF chunks but stored the internal Basic ROM contents.&lt;br /&gt;
&lt;br /&gt;
== DOSR ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
It is similar to the RM00-FF chunks but stored the internal AMSDOS ROM contents.&lt;br /&gt;
&lt;br /&gt;
== CART ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
It stores the contents of the inserted cartridge ROM. Extended cartridges are also supported.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 1&lt;br /&gt;
| Type of compression (0: uncompressed, &amp;amp;5E: RLE compressed)&lt;br /&gt;
|-&lt;br /&gt;
| 01&lt;br /&gt;
| 4&lt;br /&gt;
| Physical size of the cartridge in bytes, must be 16, 32, 64, 128, 256 or 512KB (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 05&lt;br /&gt;
| 2&lt;br /&gt;
| Number of cartridges, 1: for normal cartridges, extended cartridges otherwise (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 07&lt;br /&gt;
| 2&lt;br /&gt;
| Flags, bit 0 set if the external upper ROMs must be disabled, other bits set to 0 (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 09&lt;br /&gt;
| x&lt;br /&gt;
| Cartridge data contents (either compressed or not depending on type of compression)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== PLUG ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
This chunk stores the names of the plugins which should be enabled for the snapshot.&lt;br /&gt;
&lt;br /&gt;
All names are stored one after the other, in the form of binary strings (first byte containing the plugin name length followed by the the actual string).&lt;br /&gt;
The names stored are the actual names of the plugins libraries (e.g. &amp;quot;multiface2.acepansion&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
[[Snapshot Archive]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Programming]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Snapshot&amp;diff=113808</id>
		<title>Snapshot</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Snapshot&amp;diff=113808"/>
				<updated>2024-01-03T09:16:30Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Snapshot (.SNA) file format  =&lt;br /&gt;
&lt;br /&gt;
The format was first defined for the [[CPCEMU|CPCEMU]] emulator but is now widely supported. The format was originally defined by [[Marco Vieth|Marco Vieth]]. Version 3 was defined by [[Ulrich Doewich|Ulrich Doewich]], [[Martin Korth|Martin Korth]], [[Richard Wilson|Richard Wilson]] and [[Kevin Thacker|Kevin Thacker]]. &lt;br /&gt;
&lt;br /&gt;
There are 3 versions defined in this document. Version 3 is the most recent and is currently supported by a few of the most recent emulators. &lt;br /&gt;
&lt;br /&gt;
Snapshots produced with [[CPCE|CPCE]] appears to be the most compatible and will run correctly using any emulator.&lt;br /&gt;
&lt;br /&gt;
Abbreviations: &lt;br /&gt;
&lt;br /&gt;
*[[Gate Array|GA = &amp;quot;Gate Array&amp;quot;]] &lt;br /&gt;
*[[CRTC|CRTC = &amp;quot;6845 Cathode Ray Tube Controller&amp;quot;]] &lt;br /&gt;
*[[8255|PPI = &amp;quot;Intel 8255 Programmable Peripheral Interface&amp;quot;]] &lt;br /&gt;
*[[PSG|PSG = &amp;quot;AY-3-8912 Programmable Sound Generator&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
= Version 1  =&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00-07&lt;br /&gt;
| 8&lt;br /&gt;
| The identification string &amp;quot;MV - SNA&amp;quot;. This must exist for the snapshot to be valid.&lt;br /&gt;
|-&lt;br /&gt;
| 08-0f&lt;br /&gt;
| 8&lt;br /&gt;
| (not used; set to 0)&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 1&lt;br /&gt;
| snapshot version (1)&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register F&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register A&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register C&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register B&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register E&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register D&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register L&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register H&lt;br /&gt;
|-&lt;br /&gt;
| 19&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register R&lt;br /&gt;
|-&lt;br /&gt;
| 1a&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register I&lt;br /&gt;
|-&lt;br /&gt;
| 1b&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 interrupt flip-flop IFF0 (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 1c&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 interrupt flip-flop IFF1 (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 1d&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IX (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 1e&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IX (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 1f&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IY (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 20&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IY (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 21&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register SP (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 22&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register SP (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 23&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register PC (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 24&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register PC (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 25&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 interrupt mode (0,1,2) (note 3)&lt;br /&gt;
|-&lt;br /&gt;
| 26&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register F' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 27&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register A' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 28&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register C' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 29&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register B' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2a&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register E' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2b&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register D' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2c&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register L' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2d&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register H' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2e&lt;br /&gt;
| 1&lt;br /&gt;
| GA: index of selected pen (note 10)&lt;br /&gt;
|-&lt;br /&gt;
| 2f-3f&lt;br /&gt;
| 1&lt;br /&gt;
| GA: current palette (note 12)&lt;br /&gt;
|-&lt;br /&gt;
| 40&lt;br /&gt;
| 1&lt;br /&gt;
| GA: multi configuration (note 11)&lt;br /&gt;
|-&lt;br /&gt;
| 41&lt;br /&gt;
| 1&lt;br /&gt;
| current RAM configuration (note 13)&lt;br /&gt;
|-&lt;br /&gt;
| 42&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC: index of selected register (note 14)&lt;br /&gt;
|-&lt;br /&gt;
| 43-54&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC: register data (0..17) (note 15)&lt;br /&gt;
|-&lt;br /&gt;
| 55&lt;br /&gt;
| 1&lt;br /&gt;
| current ROM selection (note 16)&lt;br /&gt;
|-&lt;br /&gt;
| 56&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: port A (note 6)&lt;br /&gt;
|-&lt;br /&gt;
| 57&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: port B (note 7)&lt;br /&gt;
|-&lt;br /&gt;
| 58&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: port C (note 8)&lt;br /&gt;
|-&lt;br /&gt;
| 59&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: control port (note 9)&lt;br /&gt;
|-&lt;br /&gt;
| 5a&lt;br /&gt;
| 1&lt;br /&gt;
| PSG: index of selected register (note 17)&lt;br /&gt;
|-&lt;br /&gt;
| 5b-6a&lt;br /&gt;
| 1&lt;br /&gt;
| PSG: register data (0,1,....15)&lt;br /&gt;
|-&lt;br /&gt;
| 6b&lt;br /&gt;
| 2&lt;br /&gt;
| memory dump size in Kilobytes (e.g. 64 for 64K, 128 for 128k) (note 18)&lt;br /&gt;
|-&lt;br /&gt;
| 6d-ff&lt;br /&gt;
| 1&lt;br /&gt;
| not used set to 0&lt;br /&gt;
|-&lt;br /&gt;
| 100-...&lt;br /&gt;
| 1&lt;br /&gt;
| memory dump&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes  ==&lt;br /&gt;
&lt;br /&gt;
1. All multi-byte values are stored in little-endian format (low byte followed by higher bytes). &lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;IFF0&amp;quot; reflects the state of the maskable interrupt (INT). &amp;quot;IFF1&amp;quot; is used to store the state of IFF0 when a non-maskable interrupt (NMI) is executed. Bit 0 of these bytes is significant. For CPCEMU compatibility, these bytes should be set to &amp;quot;1&amp;quot; when the IFF flip-flop is &amp;quot;1&amp;quot; and &amp;quot;0&amp;quot; when the flip-flop is &amp;quot;0&amp;quot;. For compatibility with other emulators, bits 7-1 should be set to &amp;quot;0&amp;quot;. When bit 0 of &amp;quot;IFF0&amp;quot; is &amp;quot;0&amp;quot; maskable interrupts will be ignored. When bit 0 of &amp;quot;IFF1&amp;quot; is &amp;quot;1&amp;quot; maskable interrupts will be acknowledged and executed. See the document about the Z80 for more information. &lt;br /&gt;
&lt;br /&gt;
3. This byte will be 0, 1 or 2 for the interrupt modes 0, 1 or 2. The interrupt mode is set using the &amp;quot;IM x&amp;quot; instructions. See the document about the Z80 for more information. &lt;br /&gt;
&lt;br /&gt;
4. These registers are from the alternate register set of the Z80. &lt;br /&gt;
&lt;br /&gt;
5. These registers are 16-bit. &amp;quot;low&amp;quot; indicates bits 7..0, &amp;quot;high&amp;quot;indicates bits 15..8. &lt;br /&gt;
&lt;br /&gt;
6. This byte represents the inputs to PPI port A regardless of the input/output setting of this port. &lt;br /&gt;
&lt;br /&gt;
7. This byte represents the inputs to PPI port B regardless of the input/output setting of this port. &lt;br /&gt;
&lt;br /&gt;
8. This byte represents the outputs from port C regardless of the input/output setting of this port. &lt;br /&gt;
&lt;br /&gt;
9. This byte represents the PPI control byte which defines the input/output and mode of each port and not the last value written to this port. For CPCEMU compatibility bit 7 of this byte must be set to &amp;quot;1&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
10. This byte in the snapshot represents the selected pen register of the Gate-Array. This byte is the last value written to this port. Bit 7,6,5 should be set to &amp;quot;0&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
11. This byte in the snapshot represents the multi-configuration register of the Gate-Array. This byte is the last byte written to this register. For CPCEMU compatibility, bit 7 should be set to &amp;quot;1&amp;quot; and bit 6 and bit 5 set to &amp;quot;0&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
12. These bytes are the current palette. For CPCEMU compatibility, these bytes should have bit 7=bit 6=bit 5=&amp;quot;0&amp;quot;. Bits 4..0 define the colour using the hardware colour code. The colours are stored in the order pen 0, pen1, pen 2,...,pen 15 followed by border colour. &lt;br /&gt;
&lt;br /&gt;
13. This byte represents a ram configuration for a Dk'Tronics/Dobbertin/Amstrad compatible RAM expansion, or the built in RAM expansion of the CPC6128 and CPC6128+. Bits 5..0 define the ram expansion code. For CPCEMU compatibility, bit 7 and bit 6 of this byte should be set to &amp;quot;0&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
14. This byte in the snapshot represents the index of the currently selected CRTC register. For compatibility with CPCEMU this value should be in the range 0-31. &lt;br /&gt;
&lt;br /&gt;
15. These bytes represent the data of the CRTC's registers. &lt;br /&gt;
&lt;br /&gt;
16. This byte in the snapshot represents the last byte written to the &amp;quot;ROM select&amp;quot; I/O port. &lt;br /&gt;
&lt;br /&gt;
17. This byte in the snapshot represents the index of the currently selected PSG register. For CPCEMU compatibility, this byte should be in the range 0-15. &lt;br /&gt;
&lt;br /&gt;
18. the memory dump can have size 0 in version 3 and in this case all RAM is described in additional blocks (MEM0-MEM8). If a memory dump has a non-zero size, then it is uncompressed and describes the main 64KB ram immediately followed by the second 64KB ram (if present) (this ram is inside 128KB machines or machines with 64KB from a Dk'Tronics/Dobbertin/Amstrad compatible RAM expansion. Note that CPCEMU can only write a 64K or 128K snapshot.&lt;br /&gt;
&lt;br /&gt;
19. JavaCPC uses e0-ff to store an emulator ID (see snapshot V3 for more details)&lt;br /&gt;
&lt;br /&gt;
= Changes and additions in Version 2 from Version 1  =&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 1&lt;br /&gt;
| snapshot version (2)&lt;br /&gt;
|-&lt;br /&gt;
| 6d&lt;br /&gt;
| 1&lt;br /&gt;
| CPC Type: &lt;br /&gt;
*0 = CPC464 &lt;br /&gt;
*1 = CPC664 &lt;br /&gt;
*2 = CPC6128 &lt;br /&gt;
*3 = unknown&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 6e&lt;br /&gt;
| 1&lt;br /&gt;
| interrupt number (0..5) (note 1a)&lt;br /&gt;
|-&lt;br /&gt;
| 6f-74&lt;br /&gt;
| 6&lt;br /&gt;
| 6 multimode bytes (note 1b)&lt;br /&gt;
|-&lt;br /&gt;
| 75-ff&lt;br /&gt;
| x&lt;br /&gt;
| (not used)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes  ==&lt;br /&gt;
&lt;br /&gt;
1. If standard CPC raster interrupts are used, interrupts are acknowledged and &amp;quot;executed&amp;quot; at the time they are requested, then there will be 6 interrupts executed per screen update cycle. &lt;br /&gt;
&lt;br /&gt;
*CPCEMU uses a simple system to emulate the interrupts. It is assumed there are exactly 6 interrupts per screen update cycle (the interrupts are assumed to occur at a frequency of 300Hz). This byte records the interrupt number in the current screen update cycle. More accurate emulators use the correct interrupt generation method and may ignore this byte. For CPCEMU compatibility, these emulators should set this byte to &amp;quot;0&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*CPCEMU uses a simple system to emulate the screen display. It allows the mode to be changed in each of the 6 interrupts that occur during a single 50Hz/60Hz period. These bytes represent the mode in each of these sections, i.e. the screen modes (0,1 or 2) for the interrupts 0..5. More accurate emulators support changing of the screen mode at any point supported by the Amstrad hardware, these emulators should write &amp;quot;0&amp;quot; for all these bytes.&lt;br /&gt;
&lt;br /&gt;
2. A version 2 snapshot describes Dk'Tronics/Dobbertin compatible RAM in addition to the 64KB base ram. This is a type of RAM expansion which uses the same port and paging mechanism as the extra 64KB inside the 6128. However, the RAM *MUST* be continuous, therefore it's limited to 64KB, 256KB or 512KB additional RAM. The Dk'Tronics silicon disk can't be described on it's own because it's RAM configurations do not start at C4.&lt;br /&gt;
&lt;br /&gt;
The following configurations can be described:&lt;br /&gt;
* 64KB base + 64KB extra RAM (e.g. Dk'Tronics 64KB RAM Expansion)&lt;br /&gt;
* 64KB base + 256KB extra RAM (e.g. Dk'Tronics 256KB RAM Expansion)&lt;br /&gt;
* 64KB base + 512KB extra RAM (e.g. Dk'Tronics 256KB RAM Expansion &amp;amp; Dk'Tronics 256KB Silicon Disk OR X-MEM OR Symbiface 2 OR other device which provides 512KB)&lt;br /&gt;
&lt;br /&gt;
JavaCPC uses this value to store up to 4MB of RAM. (e.g. [[CPC4MB]]). This type of ram is Dk'Tronics compatible and has multiple banks of 512KB. This value could be used to describe a 1MB or 2MB expansion as long as it is fully Dk'tronics compatible (e.g. rpalmer's 2MB).&lt;br /&gt;
&lt;br /&gt;
3. JavaCPC uses e0-ff to store an emulator ID (see snapshot V3 for more details)&lt;br /&gt;
&lt;br /&gt;
= Changes and additions in Version 3 from Version 2  =&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 1&lt;br /&gt;
| snapshot version (3)&lt;br /&gt;
|-&lt;br /&gt;
| 6d&lt;br /&gt;
| 1&lt;br /&gt;
| CPC Type: &lt;br /&gt;
*0 = CPC464 &lt;br /&gt;
*1 = CPC664 &lt;br /&gt;
*2 = CPC6128 &lt;br /&gt;
*3 = unknown &lt;br /&gt;
*4 = 6128 Plus &lt;br /&gt;
*5 = 464 Plus &lt;br /&gt;
*6 = GX4000&lt;br /&gt;
|-&lt;br /&gt;
| 75&lt;br /&gt;
| n&lt;br /&gt;
| Disc drive A filename (No$CPC only)&lt;br /&gt;
|-&lt;br /&gt;
| 99&lt;br /&gt;
| 1&lt;br /&gt;
| Monitor VHold Value (-45 to +85)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9a&lt;br /&gt;
| 1&lt;br /&gt;
| Memory Expansion Enable (when Bit 7 is set)&lt;br /&gt;
*Bit 0 = 128K memory (Banks C4..C7)&lt;br /&gt;
*Bit 1 = 256K memory (Banks C4..DF)&lt;br /&gt;
*Bit 2 = 256K silicon disc (Banks E4..FF)&lt;br /&gt;
*Bit 3 = 4M expansion&lt;br /&gt;
*Bit 7 = Always set if this is valid &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9b&lt;br /&gt;
| 1&lt;br /&gt;
| Fast Disc emulation mode (0=off, 1=on) (WinAPE)&lt;br /&gt;
|-&lt;br /&gt;
| 9c&lt;br /&gt;
| 1&lt;br /&gt;
| FDD motor drive state (0=off, 1=on)&lt;br /&gt;
|-&lt;br /&gt;
| 9d-a0&lt;br /&gt;
| 4&lt;br /&gt;
| FDD current physical track (note 15)&lt;br /&gt;
|-&lt;br /&gt;
| a1&lt;br /&gt;
| 1&lt;br /&gt;
| Printer Data/Strobe Register (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| a2-a3&lt;br /&gt;
| 2&lt;br /&gt;
| Current frame scan line since monitor retrace (note16)&lt;br /&gt;
|-&lt;br /&gt;
| a4&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC type: &lt;br /&gt;
*0 = HD6845S/UM6845 &lt;br /&gt;
*1 = UM6845R &lt;br /&gt;
*2 = MC6845 &lt;br /&gt;
*3 = 6845 in CPC+ ASIC &lt;br /&gt;
*4 = 6845 in Pre-ASIC&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| a9&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC horizontal character counter register (note 11)&lt;br /&gt;
|-&lt;br /&gt;
| aa&lt;br /&gt;
| 1&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| ab&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC character-line counter register (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| ac&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC raster-line counter register (note 3)&lt;br /&gt;
|-&lt;br /&gt;
| ad&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC vertical total adjust counter register (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| ae&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC horizontal sync width counter (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| af&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC vertical sync width counter (note 6)&lt;br /&gt;
|-&lt;br /&gt;
| b0-b1&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Bit''&lt;br /&gt;
| ''Function''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| if &amp;quot;1&amp;quot; VSYNC is active, if &amp;quot;0&amp;quot; VSYNC is inactive (note 8)&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| if &amp;quot;1&amp;quot; HSYNC is active, if &amp;quot;0&amp;quot; HSYNC is inactive (note 9)&lt;br /&gt;
|-&lt;br /&gt;
| 2-6&lt;br /&gt;
| reserved&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| if &amp;quot;1&amp;quot; Vertical Total Adjust is active, if &amp;quot;0&amp;quot; Vertical Total Adjust is inactive (note 10)&lt;br /&gt;
|-&lt;br /&gt;
| 8-14&lt;br /&gt;
| Reserved (0)&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| if &amp;quot;1&amp;quot; use extended Interrupt Control Status Register (WinAPE)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| b2&lt;br /&gt;
| 1&lt;br /&gt;
| GA vsync delay counter (note 14)&lt;br /&gt;
|-&lt;br /&gt;
| b3&lt;br /&gt;
| 1&lt;br /&gt;
| GA interrupt scanline counter (note 12)&lt;br /&gt;
|-&lt;br /&gt;
| b4&lt;br /&gt;
| 1&lt;br /&gt;
| interrupt request flag (0=no interrupt requested, 1=interrupt requested) (note 13)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| b5&lt;br /&gt;
| 1&lt;br /&gt;
| Interrupt Control Status Register (WinAPE) (note 17)&lt;br /&gt;
|-&lt;br /&gt;
| b6&lt;br /&gt;
| 1&lt;br /&gt;
| Plus features disabled (0=enabled, 1=disabled)&lt;br /&gt;
|-&lt;br /&gt;
| b7&lt;br /&gt;
| 1&lt;br /&gt;
| Plus PPI Emulation (0=Standard 8255 emulation, 1=Plus PPI emulation)&lt;br /&gt;
|-&lt;br /&gt;
| b8-df&lt;br /&gt;
| 28&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| e0&lt;br /&gt;
| 20&lt;br /&gt;
| Emulator ID String&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes  ==&lt;br /&gt;
&lt;br /&gt;
1. This byte in the snapshot represents the last byte written to the printer I/O port (this byte does not include the automatic inversion of the strobe caused by the Amstrad hardware). &lt;br /&gt;
&lt;br /&gt;
2. This register is internal to the CRTC and counts the number of character-lines. The counter counts up. This value is in the range 0-127. (This counter is compared against CRTC register 4). &lt;br /&gt;
&lt;br /&gt;
3. This register is internal to the CRTC and counts the number of raster-lines. The counter counts up. This value is in the range 0-31. (This counter is compared against CRTC register 9). &lt;br /&gt;
&lt;br /&gt;
4. This register is internal to the CRTC and counts the number of raster-lines during vertical adjust. The counter counts up. This value is in the range 0-31. This should be ignored if the CRTC is not &amp;quot;executing&amp;quot; vertical. adjust.(This counter is compared against CRTC register 5). &lt;br /&gt;
&lt;br /&gt;
5. This register is internal to the CRTC and counts the number of characters during horizontal sync. This counter counts up. This value is in the range 0-16. This should be ignored if the CRTC is not &amp;quot;executing&amp;quot; horizontal sync. (This counter is compared against CRTC register 3). &lt;br /&gt;
&lt;br /&gt;
6. This register is internal to the CRTC and counts the number of scan-lines during vertical sync. This counter counts up. This value is in the range 0-16. This should be ignored if the CRTC is not &amp;quot;executing&amp;quot; vertical sync. (This counter is compared against CRTC register 3). &lt;br /&gt;
&lt;br /&gt;
7. These bytes define the internal state of the CRTC. Each bit in these bytes represents a state. &lt;br /&gt;
&lt;br /&gt;
8. When VSYNC is active, the CRTC is &amp;quot;executing&amp;quot; vertical sync, and the vertical sync width counter in the snapshot is used. &lt;br /&gt;
&lt;br /&gt;
9. When HSYNC is active, the CRTC is &amp;quot;executing&amp;quot; horizontal sync width counter in the snapshot is used. &lt;br /&gt;
&lt;br /&gt;
10. When Vertical total adjust is active, the CRTC is &amp;quot;executing&amp;quot; vertical total adjust and the vertical total adjust counter in the snapshot is used. &lt;br /&gt;
&lt;br /&gt;
11. This register is internal to the CRTC and counts the number of characters. This counter counts up. This value is in the range 0-255. (This counter is compared against CRTC register 0). &lt;br /&gt;
&lt;br /&gt;
12. This counter is internal to the GA and counts the number of HSYNCs. This counter is used to generate CPC raster interrupts. This counter counts up. This value is in the range 0-51. &lt;br /&gt;
&lt;br /&gt;
13. This flag is &amp;quot;1&amp;quot; if a interrupt request has been sent to the Z80 and it has not yet been acknowledged by the Z80. (A interrupt request is sent by the GA for standard CPC raster interrupts or by the ASIC for raster or dma interrupts). &lt;br /&gt;
&lt;br /&gt;
14. This is a counter internal to the GA and counts the number of HSYNCs since the start of the VSYNC and it is used to reset the interrupt counter to synchronise interrupts with the VSYNC. This counter counts up. This value is between 0 and 2. If this value is 0, the counter is inactive. If this counter is 1 or 2 the counter is active.&lt;br /&gt;
&lt;br /&gt;
15. This is the current cylinder for each of 4 drives.&lt;br /&gt;
&lt;br /&gt;
16. In WinAPE this counter is reset if a VSYNC occurs which causes the monitor to retrace vertically. This occurs if the VSYNC signal is active and this counter is greater than a threshold set by the V-Hold (normally 295 when V-Hold is 0), or if the counter reaches the maximum value (normally 351 when V-Hold is 0).&lt;br /&gt;
&lt;br /&gt;
17. Since Plus emulation requires more information than simply whether an interrupt is active, this value (as used internally by WinAPE) contains: &lt;br /&gt;
* Bit 7 - Gate Array (or PRI) interrupt. &lt;br /&gt;
* Bit 6 - DMA Channel 0 interrupt. &lt;br /&gt;
* Bit 5 - DMA Channel 1 interrupt. &lt;br /&gt;
* Bit 4 - DMA Channel 2 interrupt. &lt;br /&gt;
&lt;br /&gt;
It can be a combination of all or any interrupt sources. Interrupts are executed in the order raster, DMA 2, DMA 1, DMA 0.&lt;br /&gt;
&lt;br /&gt;
Immediately following the memory dump there is optional data which is separated into chunks. &lt;br /&gt;
&lt;br /&gt;
Each chunk of data has a header and this is followed by the data in the chunk. The header has the following format: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 4&lt;br /&gt;
| Chunk name (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| Chunk data length (note 2)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes: &lt;br /&gt;
&lt;br /&gt;
1. The chunks are defined with 4-byte character codes. (e.g. &amp;quot;CPC+&amp;quot;). In this example, the 4-byte character code would be stored in the file as 'C' then 'P' then 'C' then '+'. &lt;br /&gt;
&lt;br /&gt;
2. The &amp;quot;Chunk data length&amp;quot; defines the length of data following the header and does not include the size of the header. This number is stored in little endian format. &lt;br /&gt;
&lt;br /&gt;
3. If a emulator finds a chunk which it does not support then it should skip the chunk and continue with the next chunk in the file. Therefore an emulator author may add emulator specific chunks to the file and it will not prevent the snapshot from being used with other emulators that do not recognise the added chunks. &lt;br /&gt;
&lt;br /&gt;
4. There is not a terminator chunk. The snapshot reader should determine if there are more chunks based on the size of data remaining to be read from the file. &lt;br /&gt;
&lt;br /&gt;
=Version 3 Chunks=&lt;br /&gt;
&lt;br /&gt;
The following chunks are currently defined: &lt;br /&gt;
&lt;br /&gt;
== CPC+ ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by Arnold, WinAPE, No$CPC and ACE. Arnold, WinAPE and ACE will save the block when Plus configuration enabled. No$CPC will save the block if the Plus features have been unlocked.&lt;br /&gt;
&lt;br /&gt;
When creating a snapshot with several chunks, it is usually a good idea to place the CPC+ one in first position, because some (old) tools and emulators are relying on this.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Addr in ASIC register-ram''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 000-7FF&lt;br /&gt;
| 800&lt;br /&gt;
| 4000-4FFF&lt;br /&gt;
| Sprite Bitmaps (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 800-87F&lt;br /&gt;
| 8*16&lt;br /&gt;
| 6000-607F&lt;br /&gt;
| Sprite Attributes (see below) (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 880-8BF&lt;br /&gt;
| 32*2&lt;br /&gt;
| 6400-643F&lt;br /&gt;
| Palettes (note 3)&lt;br /&gt;
|-&lt;br /&gt;
| 8C0&lt;br /&gt;
| 1&lt;br /&gt;
| 6800&lt;br /&gt;
| Programmable Raster Interrupt (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C1&lt;br /&gt;
| 1&lt;br /&gt;
| 6801&lt;br /&gt;
| Screen split scan-line (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C2&lt;br /&gt;
| 2&lt;br /&gt;
| 6802-6803&lt;br /&gt;
| Screen split secondary screen-address (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C4&lt;br /&gt;
| 1&lt;br /&gt;
| 6804&lt;br /&gt;
| Soft scroll control register (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C5&lt;br /&gt;
| 1&lt;br /&gt;
| 6805&lt;br /&gt;
| Interrupt vector (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C6&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| gate array A0 register value (note 8a) &lt;br /&gt;
|-&lt;br /&gt;
| 8C6-8C7&lt;br /&gt;
| 1&lt;br /&gt;
| -&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| 8C8-8CF&lt;br /&gt;
| 8&lt;br /&gt;
| 6808-680f&lt;br /&gt;
| Analogue input channels 0-7 (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 8D0-8DB&lt;br /&gt;
| 3*4&lt;br /&gt;
| 6C00-6C0B&lt;br /&gt;
| Sound DMA channel attributes 0-2 (see below) (note 6)&lt;br /&gt;
|-&lt;br /&gt;
| 8DC-8DE&lt;br /&gt;
| 3&lt;br /&gt;
| -&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| 8DF&lt;br /&gt;
| 1&lt;br /&gt;
| 6C0F&lt;br /&gt;
| DMA Control/Status (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8E0-8F4&lt;br /&gt;
| 3*7&lt;br /&gt;
| Internal&lt;br /&gt;
| DMA channel 0-2 internal registers (see below) (note 7)&lt;br /&gt;
|-&lt;br /&gt;
| 8F5&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| gate array A0 register value (note 8b)&lt;br /&gt;
|-&lt;br /&gt;
| 8F6&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| gate array A0 lock: 0 -&amp;gt; locked, !=0 -&amp;gt; unlocked (note 9)&lt;br /&gt;
|-&lt;br /&gt;
| 8F7&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| ASIC unlock sequence state (note 10)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes  ===&lt;br /&gt;
&lt;br /&gt;
1. The sprite data is packed, with two sprite pixels per byte. Bits 7..4 define the first pixel and bits 3..0 define the second pixel. &lt;br /&gt;
&lt;br /&gt;
2. The attributes for each sprite take 8 bytes. Each attribute block has the following format: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 2&lt;br /&gt;
| Sprite X (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| Sprite Y (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| Sprite Magnification (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 5-7&lt;br /&gt;
| 3&lt;br /&gt;
| unused (0)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: the Sprite X, Y and magnification are in the same order as the ASIC registers &lt;br /&gt;
&lt;br /&gt;
3. This is a direct copy of the palette in CPC+ ASIC Ram. There are 32 colours each with 2-bytes per colour. &lt;br /&gt;
&lt;br /&gt;
4. These bytes in the snapshot represent the last value written to these ASIC registers. &lt;br /&gt;
&lt;br /&gt;
5. These bytes represent the inputs to the analogue channels. &lt;br /&gt;
&lt;br /&gt;
6. The attributes for each DMA channel take 4 bytes. Each attribute block has the following format: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 2&lt;br /&gt;
| DMA Channel address (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 1&lt;br /&gt;
| DMA Channel prescalar (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 1&lt;br /&gt;
| unused (0)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: the DMA address and prescalar are in the same order as the ASIC registers. &lt;br /&gt;
&lt;br /&gt;
7 These registers are internal to the CPC+ and define the current DMA operation: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 2&lt;br /&gt;
| loop counter (note a)&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| loop address (note b)&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| pause count (note c)&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| 1&lt;br /&gt;
| pause prescalar count (note d)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
a. This value represents the number of loops remaining. 0 = none. This count is between 0..0FFF. This counter counts down. &lt;br /&gt;
&lt;br /&gt;
b. This is the Amstrad memory address to loop back to. It is a pointer to the DMA instruction after the last REPEAT instruction. &lt;br /&gt;
&lt;br /&gt;
c. This value represents the pause count and the count is between 0...0FFF. (TO BE CHECKED: down counter? what exactly does it represent) &lt;br /&gt;
&lt;br /&gt;
d. This value represents the pause prescalar count and the count is between 0..FF. (TO BE CHECKED: down counter? what exactly does it represent) &lt;br /&gt;
&lt;br /&gt;
8. This value represents the last value written to this I/O port. Winape uses 8a and not 8b. This value has bits 7,6,5 set to 1,0 and 1 respectively. 8b is in the original specification and is written by both ACE and No$CPC.&lt;br /&gt;
&lt;br /&gt;
9. This value represents the lock status of RMR2. If locked, RMR2 can't be accessed otherwise it can.&lt;br /&gt;
&lt;br /&gt;
10. This value represents the current unlock sequence state. &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''State ID''&lt;br /&gt;
| ''Synchronised State''&lt;br /&gt;
| ''Note''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| Not synchronised&lt;br /&gt;
| ASIC is waiting for first non-zero byte to be written, this is the first synchronisation byte required&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Not synchronised&lt;br /&gt;
| ASIC is waiting for zero byte to be written, this is the second synchronisation byte required&lt;br /&gt;
|-&lt;br /&gt;
| 2..10&lt;br /&gt;
| synchronised&lt;br /&gt;
| ASIC is waiting for byte from unlock sequence. e.g. if &amp;quot;2&amp;quot;, ASIC is waiting for &amp;amp;amp;FF, the first byte of the unlock sequence. if &amp;quot;3&amp;quot; ASIC is waiting for &amp;amp;amp;77, the second byte of the unlock sequence.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSCA,DSCB ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by WinAPE and ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
The DSCA block contains the filename of the disc image inserted into drive A. The filename is stored as 8-bit ASCII (any Unicode characters with codes 0x100 or above will be translated to ? and therefore filenames with these characters can't be stored in Snapshots). The length of the block is the length of the filename in bytes.&lt;br /&gt;
&lt;br /&gt;
DSCB is similar to DSCA but stores the filename of the disc image inserted into drive B.&lt;br /&gt;
&lt;br /&gt;
== TAPE ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
The TAPE block contains the filename of the tape image inserted. The filename is stored as 8-bit ASCII (any Unicode characters with codes 0x100 or above will be translated to ? and therefore filenames with these characters can't be stored in Snapshots). The length of the block is the length of the filename in bytes.&lt;br /&gt;
&lt;br /&gt;
== ROMS ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by WinAPE and ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
This block contains a list of filenames for each ROM (and cartridge) that is defined. The length of the block is the length for all strings.&lt;br /&gt;
&lt;br /&gt;
If a ROM is not defined, a single NUL (0) byte is present, otherwise there is a null terminated 8-bit ASCII string.&lt;br /&gt;
&lt;br /&gt;
First in the list is the filename (or internal name) for the cartridge (prefixed with a 'A' character), followed by lower rom and then upper roms 0-31 (WinAPE) or 0-255 (ACE).&lt;br /&gt;
&lt;br /&gt;
WinAPE lists internal ROMs by their internal name (the name listed in the drop down when you configure the roms, e.g. OS464).&lt;br /&gt;
ACE always put the actual file name, even for internal ROMs (e.g. System/Firmware_v3.rom).&lt;br /&gt;
&lt;br /&gt;
After the list of the upper ROMs, ACE also put the names of the internal Basic and AMSDOS ROMs.&lt;br /&gt;
Then, the presence of the &amp;quot;CartridgeKeepExtROM&amp;quot; let ACE know if the cartridge ROMs should disable installed external upper ROMs or not (depending on user preferences).&lt;br /&gt;
&lt;br /&gt;
NOTE: The selected Multiface ROM is not saved in the snapshot.&lt;br /&gt;
&lt;br /&gt;
== INFO ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by No$CPC. It contains an 8-bit ASCII string with the version information for No$CPC.&lt;br /&gt;
&lt;br /&gt;
== MEM0-8 ==&lt;br /&gt;
&lt;br /&gt;
The MEM0-8 chunks contain at most 64KB of data. The data may be compressed or stored uncompressed. If the size is exactly 65536 bytes the data is uncompressed, otherwise it is compressed. Up to 512KB additional RAM can be stored in a snapshot. &lt;br /&gt;
&lt;br /&gt;
The compression scheme is RLE with 0x0e5 as the control byte.&lt;br /&gt;
&lt;br /&gt;
Data is encoded as:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;byte&amp;gt; for a single occurrence of a byte (not 0x0e5) (e.g. 0x013)&lt;br /&gt;
* 0x0e5,&amp;lt;count&amp;gt;,&amp;lt;byte&amp;gt; for multiple occurances of a byte (e. 0x0e5,0x04,0x013 for 0x013 repeated 4 times)&lt;br /&gt;
* 0x0e5,0 for a single 0x0e5 byte (e.g. 0x0e5)&lt;br /&gt;
&lt;br /&gt;
The blocks are:&lt;br /&gt;
&lt;br /&gt;
* MEM0 - main 64KB ram&lt;br /&gt;
* MEM1 - c4,c5,c6,c7 configurations (extra 64KB ram in 128KB machines) (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM2 - cc,cd,ce,cf configurations (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM3 - d4,d5,d6,d7 configurations (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM4 - dc,dd,de,df configurations (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM5 - e4,e5,e6,e7 configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
* MEM6 - ec,ed,ee,ef configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
* MEM7 - f4,f5,f6,f7 configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
* MEM8 - fc,fd,fe,ff configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
1. A snapshot may contain a mix of &amp;quot;standard&amp;quot; memory data (e.g. the data follows the header and is uncompressed) and additional MEM blocks as required.&lt;br /&gt;
&lt;br /&gt;
2. If the snapshot is not compressed, then up to 128KB will be stored as &amp;quot;standard&amp;quot; memory data, the additional RAM stored in MEM2-MEM8 blocks.&lt;br /&gt;
&lt;br /&gt;
3. If the snapshot is compressed, then the &amp;quot;standard&amp;quot; memory data will have 0 size and there will be a MEM0 in addition to the additional memory blocks.&lt;br /&gt;
&lt;br /&gt;
4. Version 3 doesn't require memory to be continuous. A Dk'tronics silicon disk on it's own can be described with this version.&lt;br /&gt;
&lt;br /&gt;
5. WinAPE allows a 4MB RAM expansion to be enabled but doesn't save the additional RAM in the snapshot.&lt;br /&gt;
&lt;br /&gt;
6. ACE can save additional memory in snapshots (up to 4MB) using the MX?? chunks.&lt;br /&gt;
&lt;br /&gt;
== MX09-40 ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE.&lt;br /&gt;
&lt;br /&gt;
MX?? chunks allow snapshots to store up to 4160KB ram.&lt;br /&gt;
&lt;br /&gt;
MX?? chunks are following MEM0-8 chunks. They are numbered from 09 to 40 (hexadecimal numbering).&lt;br /&gt;
Information are stored compressed like in MEM0-8 chunks.&lt;br /&gt;
&lt;br /&gt;
== BRKC ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by ACE when some breakpoints are set. When loading a snapshot, the breakpoints found in this chunk are added to the one already installed.&lt;br /&gt;
The number of stored breakpoints in the chunk is given by the chunk size divided by 216 (the size on one breakpoint data structure).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint type (0:Execution, 1:Memory, 2:I/O port)&lt;br /&gt;
|-&lt;br /&gt;
| 01&lt;br /&gt;
| 1&lt;br /&gt;
| Memory access mode (0:R/W, 1:R/O, 2:W/O)&lt;br /&gt;
|-&lt;br /&gt;
| 02&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint runtime mode (0:Break, 1:Watch)&lt;br /&gt;
|-&lt;br /&gt;
| 03&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint map type (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 04&lt;br /&gt;
| 2&lt;br /&gt;
| Breakable memory/port (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 06&lt;br /&gt;
| 2&lt;br /&gt;
| Breakable memory/port mask (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 08&lt;br /&gt;
| 1&lt;br /&gt;
| Match value&lt;br /&gt;
|-&lt;br /&gt;
| 09&lt;br /&gt;
| 1&lt;br /&gt;
| Match value mask&lt;br /&gt;
|-&lt;br /&gt;
| 0A&lt;br /&gt;
| 2&lt;br /&gt;
| Breakable memory size (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 0C&lt;br /&gt;
| 4&lt;br /&gt;
| Breakpoint activation step (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 128&lt;br /&gt;
| Breakpoint condition to match (NULL terminated string) (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 90&lt;br /&gt;
| 64&lt;br /&gt;
| Breakpoint user name (NULL terminated string)&lt;br /&gt;
|-&lt;br /&gt;
| D0&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint map bank (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| D1&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint map page (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| D2&lt;br /&gt;
| 6&lt;br /&gt;
| Reserved&lt;br /&gt;
|-&lt;br /&gt;
| D8&lt;br /&gt;
| ...&lt;br /&gt;
| Same sequence repeated for each breakpoint&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
&lt;br /&gt;
1. The condition is expressed using ACE syntax (similar to BASIC with AND/OR/XOR/NOT/+/-/=...).&lt;br /&gt;
Allowed additional syntaxes are:&lt;br /&gt;
*&amp;amp;, # or 0x for a hexadecimal number.&lt;br /&gt;
*% or &amp;amp;x for a binary number.&lt;br /&gt;
*AF, BC, HL, IX... for a 16-bit Z80 register.&lt;br /&gt;
*A, B, D, IXh, IXl... for an 8-bit Z80 register.&lt;br /&gt;
*FlagC, FlagNC, FlagM... for a Z80 flag.&lt;br /&gt;
*LineCount for the line number.&lt;br /&gt;
*LineCycle for the µs count on the current line.&lt;br /&gt;
*MemPage for the 64K expansion memory page (0-63).&lt;br /&gt;
*MemBankMode for the 16K expansion memory bank paging mode (0-7).&lt;br /&gt;
*UpperROMOn for the paging state of the upper ROM.&lt;br /&gt;
*UpperROMNum for the selected upper ROM number.&lt;br /&gt;
*LowerROMOn for the paging state of the lower ROM.&lt;br /&gt;
*LowerROMNum for the selected lower ROM number.&lt;br /&gt;
*ASICPageOn for the paging state of the I/O ASIC registers page.&lt;br /&gt;
&lt;br /&gt;
''Example : FlagC AND (HL=DE OR HL=&amp;amp;5000)''&lt;br /&gt;
&lt;br /&gt;
2. The map type determines the memory layout for which the breakpoint is valid.&lt;br /&gt;
The meaning of the values for map bank and map page depends on the map type value.&lt;br /&gt;
Possible values fir map type are:&lt;br /&gt;
* 0: Undefined. Map bank and page are ignored (always 0).&lt;br /&gt;
* 1: Main RAM. If map bank is 0, then linear main RAM is considered. If map bank is 1, then main RAM from &amp;amp;c000-&amp;amp;ffff mapped as &amp;amp;4000-&amp;amp;7fff is considered. Map page is ignored (always 0). &lt;br /&gt;
* 2: Extension RAM. Map bank is the 16K extension bank number (0-3). Map page is the 64K extension page number (0-31).&lt;br /&gt;
* 3: Extension ROM. Map bank is the ROM slot id (0-255). Map page is ignored (always 0).&lt;br /&gt;
* 4: Firmware ROM. Map bank and page are ignored (always 0).&lt;br /&gt;
* 5: Cartridge ROM. Map bank is the 16K ROM bank number (0-31). Map page is ignored (always 0).&lt;br /&gt;
* 6: ASIC I/O Page. Map bank and page are ignored (always 0).&lt;br /&gt;
&lt;br /&gt;
== SYMB ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by ACE when some symbols are declared. When loading a snapshot, the symbols found in this chunk are added to the alreading existing ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 1&lt;br /&gt;
| Length on the symbol name (n). 0 is an invalid value.&lt;br /&gt;
|-&lt;br /&gt;
| 01&lt;br /&gt;
| n&lt;br /&gt;
| Symbol name (note 1).&lt;br /&gt;
|-&lt;br /&gt;
| n+1&lt;br /&gt;
| 1&lt;br /&gt;
| Symbol memory map type (note 2).&lt;br /&gt;
|-&lt;br /&gt;
| n+2&lt;br /&gt;
| 1&lt;br /&gt;
| Symbol memory map bank (note 2).&lt;br /&gt;
|-&lt;br /&gt;
| n+3&lt;br /&gt;
| 1&lt;br /&gt;
| Symbol memory map page (note 2).&lt;br /&gt;
|-&lt;br /&gt;
| n+4&lt;br /&gt;
| 2&lt;br /&gt;
| Reserved for future usage, always 0 for now.&lt;br /&gt;
|-&lt;br /&gt;
| n+6&lt;br /&gt;
| 1&lt;br /&gt;
| Symbol type (0: absolute, 1: relative).&lt;br /&gt;
|-&lt;br /&gt;
| n+7&lt;br /&gt;
| 2&lt;br /&gt;
| Address of the symbol (MSB first).&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
| Same sequence repeated until the end of the chunk is reached.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
&lt;br /&gt;
1. Symbol are (obviously) limited to 255 characters, cannot begin with a number (0-9), and only a limited set of ASCII char is allowed (a-z, A-Z, 0-9, _).&lt;br /&gt;
2. The map type determines the memory layout for which the symbol is valid. The meaning of the values for map bank and map page depends on the map type value.&lt;br /&gt;
Possible values fir map type are:&lt;br /&gt;
* 0: Undefined. Map bank and page are ignored (always 0).&lt;br /&gt;
* 1: Main RAM. If map bank is 0, then linear main RAM is considered. If map bank is 1, then main RAM from &amp;amp;c000-&amp;amp;ffff mapped as &amp;amp;4000-&amp;amp;7fff is considered. Map page is ignored (always 0). &lt;br /&gt;
* 2: Extension RAM. Map bank is the 16K extension bank number (0-3). Map page is the 64K extension page number (0-31).&lt;br /&gt;
* 3: Extension ROM. Map bank is the ROM slot id (0-255). Map page is ignored (always 0).&lt;br /&gt;
* 4: Firmware ROM. Map bank and page are ignored (always 0).&lt;br /&gt;
* 5: Cartridge ROM. Map bank is the 16K ROM bank number (0-31). Map page is ignored (always 0).&lt;br /&gt;
* 6: ASIC I/O Page. Map bank and page are ignored (always 0).&lt;br /&gt;
&lt;br /&gt;
== BRKS ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by WinAPE when some breakpoints are set.&lt;br /&gt;
ACE can import breakpoints from this chunk but won't create it (BRKC is used instead).&lt;br /&gt;
&lt;br /&gt;
The chunk contains 1 or more breakpoints.&lt;br /&gt;
&lt;br /&gt;
Each breakpoint has the form:&lt;br /&gt;
  * 2 bytes: address (LSB first)&lt;br /&gt;
  * 1 byte: location (0: base 64K RAM, 1: extended RAM)&lt;br /&gt;
  * 2 bytes: condition (?)&lt;br /&gt;
&lt;br /&gt;
== WABP ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by WinAPE when some breakpoints are set. &lt;br /&gt;
The exact details are begin worked out.&lt;br /&gt;
&lt;br /&gt;
It seems to be:&lt;br /&gt;
&lt;br /&gt;
4 bytes - number of user breakpoints&lt;br /&gt;
&lt;br /&gt;
Each user breakpoint:&lt;br /&gt;
&lt;br /&gt;
type,&lt;br /&gt;
4 byte address&lt;br /&gt;
&lt;br /&gt;
Then,  4 bytes - number of memory breakpoints&lt;br /&gt;
&lt;br /&gt;
Each memory breakpoint:&lt;br /&gt;
&lt;br /&gt;
Then, 4 bytes - number of i/o breakpoints:&lt;br /&gt;
&lt;br /&gt;
Each i/o breakpoint:&lt;br /&gt;
&lt;br /&gt;
 2 bytes flags? (6000 read, a400 write)&lt;br /&gt;
 2 bytes port addr mask&lt;br /&gt;
 2 bytes port addr&lt;br /&gt;
 4 bytes counter&lt;br /&gt;
 4 bytes condition string length, followed by condition string (not null terminated)&lt;br /&gt;
&lt;br /&gt;
== DARS ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by WinAPE when some data areas are set. &lt;br /&gt;
&lt;br /&gt;
The number of stored data areas in the chunk is given by the chunk size divided by 10 (the size of one data area data structure).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 4&lt;br /&gt;
| Address (LSB first) (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 04&lt;br /&gt;
| 4&lt;br /&gt;
| Area size (LSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 08&lt;br /&gt;
| 1&lt;br /&gt;
| Data type (0=byte,1=word)&lt;br /&gt;
|-&lt;br /&gt;
| 09&lt;br /&gt;
| 1&lt;br /&gt;
| Labels (1=marked by user as having labels)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
1. Winape's addressing scheme is 4 bytes. The upper 16-bits effectively define the internal 64KB pages it uses.&lt;br /&gt;
&lt;br /&gt;
== REMU ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written RASM and contains information about symbols and breakpoints.&lt;br /&gt;
ACE will import informations from this chunk but won't write it (SYMB and BRKC are used instead).&lt;br /&gt;
&lt;br /&gt;
== RM00-FF ==&lt;br /&gt;
&lt;br /&gt;
This chunk was introduced by RASM and is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
The RM00-FF chunks contain at most 16KB of data representing the contents of the related external upper ROMs number. The data may be compressed or stored uncompressed. If the size is exactly 16384 bytes the data is uncompressed, otherwise it is compressed. Up to 2MB of external upper ROMs can be stored in a snapshot. &lt;br /&gt;
&lt;br /&gt;
The compression scheme is identical to the one from MEM0-7 chunks.&lt;br /&gt;
&lt;br /&gt;
== LOWR ==&lt;br /&gt;
&lt;br /&gt;
This chunk was introduced by RASM and is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
It is similar to the RM00-FF chunks but stored the internal firmware ROM contents.&lt;br /&gt;
&lt;br /&gt;
== BASR ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
It is similar to the RM00-FF chunks but stored the internal Basic ROM contents.&lt;br /&gt;
&lt;br /&gt;
== DOSR ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
It is similar to the RM00-FF chunks but stored the internal AMSDOS ROM contents.&lt;br /&gt;
&lt;br /&gt;
== CART ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
It stores the contents of the inserted cartridge ROM. Extended cartridges are also supported.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 1&lt;br /&gt;
| Type of compression (0: uncompressed, &amp;amp;5E: RLE compressed)&lt;br /&gt;
|-&lt;br /&gt;
| 01&lt;br /&gt;
| 4&lt;br /&gt;
| Physical size of the cartridge in bytes, must be 16, 32, 64, 128, 256 or 512KB (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 05&lt;br /&gt;
| 2&lt;br /&gt;
| Number of cartridges, 1: for normal cartridges, extended cartridges otherwise (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 07&lt;br /&gt;
| 2&lt;br /&gt;
| Flags, bit 0 set if the external upper ROMs must be disabled, other bits set to 0 (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 09&lt;br /&gt;
| x&lt;br /&gt;
| Cartridge data contents (either compressed or not depending on type of compression)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== PLUG ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
This chunk stores the names of the plugins which should be enabled for the snapshot.&lt;br /&gt;
&lt;br /&gt;
All names are stored one after the other, in the form of binary strings (first byte containing the plugin name length followed by the the actual string).&lt;br /&gt;
The names stored are the actual names of the plugins libraries (e.g. &amp;quot;multiface2.acepansion&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
[[Snapshot Archive]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Programming]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Emulators&amp;diff=113806</id>
		<title>Emulators</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Emulators&amp;diff=113806"/>
				<updated>2024-01-02T23:04:39Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: /* Alternative OS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Vote for your favorite emulator =&lt;br /&gt;
&lt;br /&gt;
[https://www.cpcwiki.eu/forum/emulators/which-emulator-s-do-you-use/ There is a poll on CPCWiki forum]&lt;br /&gt;
&lt;br /&gt;
= Software Platforms (Full OS independance) =&lt;br /&gt;
&lt;br /&gt;
== Java Platform  ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnold Jnr|Arnold Jnr]]&lt;br /&gt;
| [https://web.archive.org/web/20160727011826/http://www.arnoldemu.freeserve.co.uk/]&lt;br /&gt;
| &lt;br /&gt;
| Aug 27, 2001&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[JavaCPC|JavaCPC Desktop]]&lt;br /&gt;
| [https://sourceforge.net/projects/javacpc/] [http://sourceforge.net/projects/javagx4000/ JavaGX4000] [http://sourceforge.net/projects/cpcinajar/ CPCInAJar]&lt;br /&gt;
| 3.0.2&lt;br /&gt;
| Apr 8, 2022&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[JEMU|JEMU]]&lt;br /&gt;
| [http://jemu.winape.net/]&lt;br /&gt;
| &lt;br /&gt;
| Feb 19, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]], [[ZX80/81]], [[BBC Micro]], [[VZ-300]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[WebCPC|WebCPC]]&lt;br /&gt;
| [http://sourceforge.net/projects/webcpc/] [https://web.archive.org/web/20110903132520/http://java.cpc-live.com/ JavaCPC Applet]&lt;br /&gt;
| r15&lt;br /&gt;
| Dec 31, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== JS / Wasm / Web Platform ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCBox|CPCBox]] &lt;br /&gt;
| [https://www.retroshowcase.gr/cpcbox-master/] [https://web.archive.org/web/20190702084943/http://www.cpcbox.com/] [https://bzhgames.xyz/index.php BZH Games]&lt;br /&gt;
| beta &lt;br /&gt;
| Dec 28, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[CrocoDS|CrocoDS]] &lt;br /&gt;
| [https://crocods.org/web/] [https://github.com/redbug26/crocods Repo]&lt;br /&gt;
| &lt;br /&gt;
| Jun 9, 2020&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[MAME|Emularity (MAME)]] &lt;br /&gt;
| [https://github.com/db48x/emularity] [http://jsmess.textfiles.com/ JSMESS] [https://classicreload.com/platform/amstrad%20cpc Classic Reload]&lt;br /&gt;
[https://archive.org/details/softwarelibrary_cpc_games CPC Games] [https://archive.org/details/softwarelibrary_cpc_demos CPC Demos] on Internet Archive&lt;br /&gt;
| &lt;br /&gt;
| Oct 1, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| Lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Roland javascript emulator|Roland]] &lt;br /&gt;
| [https://web.archive.org/web/20190308142014/http://roland.retrolandia.net/]&lt;br /&gt;
| &lt;br /&gt;
| Sep 24, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Ronald|Ronald]] &lt;br /&gt;
| [https://ronald.migge.io] [https://github.com/mdm/ronald Repo]&lt;br /&gt;
| &lt;br /&gt;
| Sep 25, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[RVMplayer|RVMplayer]] &lt;br /&gt;
| [https://www.retrovirtualmachine.org/rvmplayer/]&lt;br /&gt;
| 0.1.1&lt;br /&gt;
| May 6, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]]&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[Tiny Emus]]&lt;br /&gt;
| [https://floooh.github.io/tiny8bit/] [https://floooh.github.io/tiny8bit/cpc-ui.html] [http://floooh.github.io/virtualkc/ yakc] [https://online.oldgames.sk/play/cpc Online Old Games]&lt;br /&gt;
[https://devilmarkus.de/ WebGL 3d 8-bit] [https://www.amstradcpcgames.eu/ Amstrad CPC Games] [http://cpc.novidee.com/ zpz]&lt;br /&gt;
| &lt;br /&gt;
| Nov 4, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| [[KC Compact]], [[ZX Spectrum]], [[VIC-20]], [[Commodore 64]], [[Acorn Atom]], [[KC 85]], [[KC 87]], [[Z9001]], [[Z1013]], [[LC80]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Griffin CPC emulator|Xiragon]]&lt;br /&gt;
| [https://web.archive.org/web/20191027200008/http://xiragon.com/]&lt;br /&gt;
| &lt;br /&gt;
| Nov 28, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== LibRetro (API for emulators) ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! Type&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[libretro-cap32]]&lt;br /&gt;
| Emulation core&lt;br /&gt;
| [https://github.com/libretro/libretro-cap32]&lt;br /&gt;
| 4.5.3&lt;br /&gt;
| Mar 16, 2022&lt;br /&gt;
| -&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[libretro-crocods]]&lt;br /&gt;
| Emulation core&lt;br /&gt;
| [https://github.com/libretro/libretro-crocods]&lt;br /&gt;
| 0.1&lt;br /&gt;
| Feb 28, 2017&lt;br /&gt;
| -&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[MAME|MESS 2015]]&lt;br /&gt;
| Emulation core&lt;br /&gt;
| [https://docs.libretro.com/meta/core-list/]&lt;br /&gt;
| 0.160&lt;br /&gt;
| circa 2015&lt;br /&gt;
| -&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[SugarLibRetro]]&lt;br /&gt;
| Emulation core&lt;br /&gt;
| [https://github.com/Tom1975/SugarLibRetro] (wraps independent lib [https://github.com/Tom1975/CPCCore CPCCore])&lt;br /&gt;
| git&lt;br /&gt;
| Jan 10, 2020&lt;br /&gt;
| -&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[EmuVR]]&lt;br /&gt;
| Frontend&lt;br /&gt;
| [https://www.emuvr.net/]&lt;br /&gt;
| &lt;br /&gt;
| Dec 25, 2022&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Depends on emulation cores&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[Hackable Console]]&lt;br /&gt;
| Frontend&lt;br /&gt;
| [https://github.com/leiradel/hackable-console]&lt;br /&gt;
| &lt;br /&gt;
| Mar 27, 2022&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Depends on emulation cores&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[RetroArch]]&lt;br /&gt;
| Frontend&lt;br /&gt;
| [https://www.retroarch.com/] [https://www.retroarch.com/?page=achievements RetroAchievements]&lt;br /&gt;
| 1.16.0&lt;br /&gt;
| Sep 22, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Depends on emulation cores&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Current Operating Systems =&lt;br /&gt;
&lt;br /&gt;
== Desktop ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Windows&lt;br /&gt;
! macOS&lt;br /&gt;
! Linux&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[ACE-DL]]&lt;br /&gt;
| [http://www.roudoudou.com/ACE-DL] [https://discord.gg/rKxFPndHPw Discord] [http://ace.cpcscene.net Based on ACE]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| &lt;br /&gt;
| Dec 17, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[AMSpiriT|AMSpiriT]]&lt;br /&gt;
| [https://www.amspirit.fr/] [https://forum.system-cfg.com/viewtopic.php?f=24&amp;amp;t=11535 Forum]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 0.967b&lt;br /&gt;
| Dec 6, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnimedes|Arnimedes]] &lt;br /&gt;
| [http://www.arnimedes.de/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.02&lt;br /&gt;
| Jul 7, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnold_(Emulator)|Arnold]] &lt;br /&gt;
| [http://www.cpcwiki.eu/forum/emulators/arnold-wip/msg144749/#msg144749] [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]&lt;br /&gt;
| ✅&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ⚠️&lt;br /&gt;
| [http://www.cpcwiki.eu/imgs/d/dd/Arnoldwip_src.tar.bz2 WIP]&lt;br /&gt;
| May 13, 2017&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Caprice Forever]] &lt;br /&gt;
| [http://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 23.11&lt;br /&gt;
| Nov 11, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware &amp;amp; Outdated sources&lt;br /&gt;
|-&lt;br /&gt;
| [[CaPriCe|Caprice32]] &lt;br /&gt;
| [https://github.com/ColinPitrat/caprice32/releases] [http://sourceforge.net/projects/caprice32/ Old repo] [https://snapcraft.io/caprice32 Linux] [http://aleste520.narod.ru/caprice.html Aleste] [https://code.google.com/archive/p/cpcsdk/ Reloaded]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 4.6.0&lt;br /&gt;
| Oct 8, 2022&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Clock Signal|Clock Signal]] &lt;br /&gt;
| [https://github.com/TomHarte/CLK/releases] [https://snapcraft.io/clock-signal Linux]&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| &lt;br /&gt;
| Dec 28, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]], [[ZX80/81]], [[Enterprise]], [[MSX]], [[Oric 1/Atmos|Oric]], [[ColecoVision]], [[Acorn Electron]], [[Apple II]], [[VIC-20]], [[Atari 2600]], [[Atari ST]], [[Macintosh]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CoPaCabana|CoPaCabana]]&lt;br /&gt;
| [http://copacabana.emuunlim.com/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 0.74&lt;br /&gt;
| Apr 12, 2006&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[CPC++|CPC++]] &lt;br /&gt;
| [http://bricerive.free.fr/cpc/cpcpp.html]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ⚠️&lt;br /&gt;
| b700&lt;br /&gt;
| May 31, 2015&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[cpc4x|cpc4x]] &lt;br /&gt;
| [http://www.ulrich-cordes.de/cpc/english/cpcemu.htm]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| 0.26&lt;br /&gt;
| Dec 11, 2004&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEC|CPCEC]] &lt;br /&gt;
| [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]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| &lt;br /&gt;
| Aug 6, 2022&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[ZX Spectrum]], [[Commodore 64]], [https://www.youtube.com/watch?v=5LwCy0gRAEc MSX (unreleased)]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEC|cpcec-gtk]] &lt;br /&gt;
| [https://bitbucket.org/norecess464/cpcec-gtk/]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| &lt;br /&gt;
| Feb 4, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCemu|CPCemu]] &lt;br /&gt;
| [http://www.cpc-emu.org/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 2.5&lt;br /&gt;
| Aug 13, 2022&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEPower|CPCEPower]] &lt;br /&gt;
| [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 2105&lt;br /&gt;
| Jun 4, 2021&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCSharp|CPCSharp]] &lt;br /&gt;
| [https://github.com/dolbz/CPCSharp/releases/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.0.0-beta1&lt;br /&gt;
| Apr 7, 2021&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPvC|CPvC]]&lt;br /&gt;
| [https://github.com/alybaek2/cpvc]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| &lt;br /&gt;
| Sep 30, 2022&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CrocoDS|CrocoDS]]&lt;br /&gt;
| [https://crazypiri.eu/crocods/] [https://github.com/redbug26/crocods Repo]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| 4.0 beta3&lt;br /&gt;
| Dec 10, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[DSP|DSP]]&lt;br /&gt;
| [https://github.com/leniad/dsp-emulator/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ⚠️&lt;br /&gt;
| 0.22&lt;br /&gt;
| Nov 15, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| [[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]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[ep128emu|ep128emu]]&lt;br /&gt;
| [https://github.com/istvan-v/ep128emu]&lt;br /&gt;
| ✅&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ⚠️&lt;br /&gt;
| 2.0.11.2&lt;br /&gt;
| Apr 19, 2019&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]], [[Enterprise]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[MESS|MAME]]&lt;br /&gt;
| [http://mamedev.org/release.html] [http://sdlmame.lngn.net/ macOS] [http://wiki.mamedev.org/index.php/SDL_Supported_Platforms Other ports] &lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 0.261&lt;br /&gt;
| Nov 29, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[NO$CPC|NO$CPC]]&lt;br /&gt;
| [http://problemkaputt.de/cpc.htm]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.8&lt;br /&gt;
| Nov 2, 2000&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[PC-CPC|PC-CPC]] &lt;br /&gt;
| [http://cpcrulez.fr/emulateurs_download-WIN-PC-CPC.htm] [https://github.com/DemoniakLudo/PC-CPC Repo]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 0.1at b29&lt;br /&gt;
| Nov 17, 2011&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Retro Virtual Machine|Retro Virtual Machine]]&lt;br /&gt;
| [https://www.retrovirtualmachine.org]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 2.1.11&lt;br /&gt;
| Nov 13, 2023&lt;br /&gt;
| ❌ Removed&lt;br /&gt;
| ✅&lt;br /&gt;
| [[ZX Spectrum]], [[MSX|MSX 1]], [[ColecoVision]], [[SG-1000]], [[Master System]]&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[Roland Emulator|Roland]] &lt;br /&gt;
| [https://www.rolandemu.de/en/downloads.html] [https://github.com/raldus/roland Repo]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| 0.70&lt;br /&gt;
| Apr 20, 2017&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Ronald|Ronald]] &lt;br /&gt;
| [https://github.com/mdm/ronald]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| &lt;br /&gt;
| Sep 25, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[SugarBox|SugarBox]]&lt;br /&gt;
| [https://github.com/Tom1975/SugarboxV2] [http://sugarbox.free.fr/ Old site]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 2.0.2&lt;br /&gt;
| Nov 29, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[VirtualCPC|Virtual CPC]] &lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-WIN-virtual_cpc.htm] [https://web.archive.org/web/20200112094913/http://users.otenet.gr/~sulfonic/cpc/ Archive] &lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.1&lt;br /&gt;
| Aug 8, 2011&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[WinApe|WinAPE]] &lt;br /&gt;
| [http://www.winape.net/] [https://www-ftp.lip6.fr/pub/amstrad/emulator/CPCWIN10.ZIP CPCwin]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 2.0b2&lt;br /&gt;
| Jan 5, 2016&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[WinCPC|WinCPC]] / [[MacCPC|MacCPC]]&lt;br /&gt;
| [http://www.wincpc.ch/index.php?topic=projects] [https://web.archive.org/web/20050409133618/http://www.easypoint.ch/vbcpc/ vbCPC]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| 0.9.2&lt;br /&gt;
| Jan 22, 2010&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[XCPC|Xcpc]]&lt;br /&gt;
| [https://www.xcpc-emulator.net/]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| 0.38.1&lt;br /&gt;
| Apr 8, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[XNACPC|XNACPC]]&lt;br /&gt;
| [http://www.gavpugh.com/2011/11/11/xnacpc-xbox-360-amstrad-cpc-emulator-released/] [https://www.gavpugh.com/old-code/ CPC3D]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.0&lt;br /&gt;
| Nov 11, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[YACE|YACE]]&lt;br /&gt;
| [http://www.youtube.com/watch?v=uxQkljwc0i4]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| &lt;br /&gt;
| Nov 12, 2014&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| ❌ Unreleased&lt;br /&gt;
|-&lt;br /&gt;
| [[ZEsarUX|ZEsarUX]]&lt;br /&gt;
| [https://github.com/chernandezba/zesarux]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| X&lt;br /&gt;
| Sep 8, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| [[PCW]], [[ZX Spectrum]], [[ZX80/81]], [[MSX|MSX 1]], [[ColecoVision]], [[Spectravideo]], [[Jupiter ACE]], [[Sam Coupe]], [[SG-1000]], [[Master System]], [[Sinclair QL]], [[MK14]], [[Z88]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Alternative OS ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! AmigaOS&lt;br /&gt;
! MorphOS&lt;br /&gt;
! Haiku&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[ACE_(Emulator)|ACE]]&lt;br /&gt;
| [http://ace.cpcscene.net/] [https://framagit.org/users/offset/projects Repo]&lt;br /&gt;
|&lt;br /&gt;
| v1.26 Jan 1, 2024&lt;br /&gt;
| v1.25.1 Oct 15, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| Dozens of CPC hardware expansions thru plugins&lt;br /&gt;
| Freeware (plugins are Open Source)&lt;br /&gt;
|-&lt;br /&gt;
| [[AdvanceMAME|AdvanceMAME]]&lt;br /&gt;
| [https://depot.haiku-os.org/#!/pkg/advancemame_x86]&lt;br /&gt;
| v3.9-1 Feb 3, 2020&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnold|Arnold]]&lt;br /&gt;
| [http://hirudov.com/amiga/Arnold.php]&lt;br /&gt;
| v1.15 Dec 17, 2012&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[MESS|MESS]]&lt;br /&gt;
| [http://se.os4depot.net/index.php?function=showfile&amp;amp;file=emulation/computer/sdl_mess.lha] [http://fabportnawak.free.fr/mame/]&lt;br /&gt;
| v0.146u4 Aug 19, 2012&lt;br /&gt;
| v0.113 Nov 1, 2007&lt;br /&gt;
|&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Mobile ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[andcpc]]&lt;br /&gt;
| [http://code.google.com/p/andcpc/]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Apr 4, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[Azimuth]]&lt;br /&gt;
| [https://play.google.com/store/apps/details?id=johnidis.azimuth]&lt;br /&gt;
| 1.11&lt;br /&gt;
| Aug 22, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Adware and in-app purchases💲&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[CPCDroid]]&lt;br /&gt;
| [https://fmsdevel.wisecoding.es/cpcdroid-amstrad-cpc-on-android-phone-2/]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Mar 2, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[CPCemu|CPCemu]] &lt;br /&gt;
| [https://play.google.com/store/apps/details?id=com.loritznet.softwarecreations.cpcemu]&lt;br /&gt;
| 2.5&lt;br /&gt;
| Aug 14, 2022&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[Droid-CPC]]&lt;br /&gt;
| [http://play.google.com/store/apps/details?id=com.kokak.droidcpc]&lt;br /&gt;
| 1.1.01&lt;br /&gt;
| Dec 15, 2016&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Commercial💲&lt;br /&gt;
|-&lt;br /&gt;
| iOS&lt;br /&gt;
| [[CPCemu|CPCemu]]&lt;br /&gt;
| [http://www.cpc-emu.org/]&lt;br /&gt;
| 2.5&lt;br /&gt;
| Aug 13, 2022&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Software available on request&lt;br /&gt;
|-&lt;br /&gt;
| iOS&lt;br /&gt;
| [[CrocoDS]]&lt;br /&gt;
| [https://crazypiri.eu/crocods/] [https://github.com/redbug26/crocods-ios Repo]&lt;br /&gt;
| 2.1&lt;br /&gt;
| Jun 21, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Discontinued Operating Systems =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| Acorn RISC OS&lt;br /&gt;
| [[!CPC|!CPC]]&lt;br /&gt;
| [https://www-ftp.lip6.fr/pub/amstrad/emulator/CPC0728.ZIP] [http://ftp2.fr.openbsd.org/ftp/pub/amstrad/emulator/CPCS1124.ZIP]&lt;br /&gt;
| &lt;br /&gt;
| Jul 28, 1996&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Acorn RISC OS&lt;br /&gt;
| [[!CPCemu|!CPCemu]]&lt;br /&gt;
| [http://huggers-world.de/mops.html]&lt;br /&gt;
| 1.21&lt;br /&gt;
| Mar 22, 2016&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS m68k&lt;br /&gt;
| [[A-CPC|A-CPC]]&lt;br /&gt;
| [https://cpctech.cpcwiki.de/download/a-cpc.lha]&lt;br /&gt;
| 2.0&lt;br /&gt;
| Mar 30, 2002&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS m68k&lt;br /&gt;
| [[Ami-cpc|Ami-cpc]]&lt;br /&gt;
| [http://deplanque.chez.com/] [http://deplanque.chez.com/download_fr.html Ami-cpc2]&lt;br /&gt;
| 0.46&lt;br /&gt;
| Jan 21, 1998&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS m68k&lt;br /&gt;
| [[CPE|CPE]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-AMIGA-CPE.htm]&lt;br /&gt;
| &lt;br /&gt;
| Feb 24, 1995&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS m68k&lt;br /&gt;
| [[Emu-CPC|EmuCPC]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-AMIGA-emucpc.htm]&lt;br /&gt;
| 0.7&lt;br /&gt;
| Sep 15, 1996&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| BlackBerry OS&lt;br /&gt;
| [[BB-CPC|BB-CPC]]&lt;br /&gt;
| [http://appworld.blackberry.com/webstore/content/30963891/] (dead link)&lt;br /&gt;
| 1.0.1.3&lt;br /&gt;
| Jul 15, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Commercial💲&lt;br /&gt;
|-&lt;br /&gt;
| Classic Mac OS&lt;br /&gt;
| [[CPCplusplus|CPC++]]&lt;br /&gt;
| [http://bricerive.free.fr/cpc/cpcpp.html]&lt;br /&gt;
| 1.3.2&lt;br /&gt;
| Oct 6, 1997&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Shareware💲&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[AdvanceMESS|AdvanceMESS]]&lt;br /&gt;
| [https://www.advancemame.it/readme]&lt;br /&gt;
| 3.9&lt;br /&gt;
| Sep 8, 2018&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[Arnimedes|Arnimedes]]&lt;br /&gt;
| [http://www.arnimedes.de/]&lt;br /&gt;
| 0.8a&lt;br /&gt;
| Apr 15, 2000&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[Caprice32]] &lt;br /&gt;
| [https://ftp.nvg.ntnu.no/pub/cpc/emulator/msdos/capriced.zip]&lt;br /&gt;
| 1.11&lt;br /&gt;
| Sep 20, 1999&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPC]] &lt;br /&gt;
| [https://www-ftp.lip6.fr/pub/amstrad/emulator/CPC055B.ZIP]&lt;br /&gt;
| 0.55b&lt;br /&gt;
| May 16, 1997&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPC-em|CPC-em]] &lt;br /&gt;
| [http://cpc-em.emuunlim.com/]&lt;br /&gt;
| 0.4&lt;br /&gt;
| Jul 7, 2004&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPCE|CPCE]]&lt;br /&gt;
| [http://cngsoft.no-ip.org/cpce/]&lt;br /&gt;
| 1.94&lt;br /&gt;
| Jun 2, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPCemu|CPCemu]]&lt;br /&gt;
| [http://www.cpc-emu.org/]&lt;br /&gt;
| 1.5&lt;br /&gt;
| Jul 7, 1998&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPE|CPE]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-DOS-CPE.htm]&lt;br /&gt;
| 5.2&lt;br /&gt;
| Apr 21, 1997&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[NO$CPC|NO$CPC]]&lt;br /&gt;
| [http://problemkaputt.de/cpc.htm]&lt;br /&gt;
| 1.8&lt;br /&gt;
| Nov 2, 2000&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[PC-CPC|PC-CPC]] &lt;br /&gt;
| [http://deplanque.chez.com/download_fr.html]&lt;br /&gt;
| &lt;br /&gt;
| Feb 3, 1998&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPCEMU (RWCPC)|RWCPC]]&lt;br /&gt;
| [https://www-ftp.lip6.fr/pub/amstrad/emulator/RWCPC.ZIP]&lt;br /&gt;
| &lt;br /&gt;
| Mar 23, 1995&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[SIMCPC|SIMCPC]]&lt;br /&gt;
| [https://www-ftp.lip6.fr/pub/amstrad/emulator/SIMCPC.ZIP]&lt;br /&gt;
| &lt;br /&gt;
| Dec 10, 1989&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Shareware💲&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[YAGE|YAGE]]&lt;br /&gt;
| [https://www.zophar.net/cpc/yage.html]&lt;br /&gt;
| 0.91&lt;br /&gt;
| Oct 24, 1998&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| EXOS&lt;br /&gt;
| [[Software CPC Emulator|Software CPC Emulator]]&lt;br /&gt;
| [http://www.ep128.hu/Ep_Util/Prg/Amstrad_CPC_Emulator_13.rar] [http://www.ep128.hu/Ep_Util/Amstrad_CPC_emu.htm]&lt;br /&gt;
| 1.3&lt;br /&gt;
| Jan 11, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Maemo&lt;br /&gt;
| [[CPCm]]&lt;br /&gt;
| [http://maemo.org/downloads/product/Maemo5/cpcm/]&lt;br /&gt;
| 1.20-1&lt;br /&gt;
| Apr 27, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| MSX-DOS&lt;br /&gt;
| [[EMU6CPC|EMU6CPC]]&lt;br /&gt;
| [http://romu6.blogspot.com/2018/12/emu6cpc-emulador-de-amstrad-cpc-6128.html]&lt;br /&gt;
| &lt;br /&gt;
| Dec 17, 2018&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Palm OS&lt;br /&gt;
| [[CaPriCe for Palm OS|CaPriCe for Palm OS]]&lt;br /&gt;
| [https://web.archive.org/web/20230127143354/https://coste.frederic.free.fr/cpc/cpc_en.htm]&lt;br /&gt;
| 2.8&lt;br /&gt;
| Jun 28, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Palm OS&lt;br /&gt;
| [[CoPaCabana|CoPaCabana]]&lt;br /&gt;
| [http://copacabana.emuunlim.com/]&lt;br /&gt;
| 0.75&lt;br /&gt;
| Dec 4, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Pocket PC&lt;br /&gt;
| [[CaPriCe|PocketCaprice]]&lt;br /&gt;
| [https://web.archive.org/web/20160506010209/http://www.clubic.com/telecharger-fiche44888-pocketcaprice.html]&lt;br /&gt;
| 0.9&lt;br /&gt;
| Aug 19, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| SunOS&lt;br /&gt;
| [[CPCplusplus|CPC++]]&lt;br /&gt;
| [http://bricerive.free.fr/cpc/cpcpp.html]&lt;br /&gt;
| 1.3.0&lt;br /&gt;
| Feb 22, 1997&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Shareware💲&lt;br /&gt;
|-&lt;br /&gt;
| Symbian&lt;br /&gt;
| [[S60-CPC|S60-CPC]]&lt;br /&gt;
| [http://kokak.free.fr/s60cpc.htm]&lt;br /&gt;
| 0.74&lt;br /&gt;
| Feb 21, 2006&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Windows 9x&lt;br /&gt;
| [[CPC-em|CPC-em]] &lt;br /&gt;
| [http://cpc-em.emuunlim.com/]&lt;br /&gt;
| 0.3&lt;br /&gt;
| Jan 22, 2004&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Windows 9x&lt;br /&gt;
| [[MTMW|MTMW]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-WIN-MTMW.htm]&lt;br /&gt;
| 1.30B&lt;br /&gt;
| Jan 11, 2000&lt;br /&gt;
| ✅&lt;br /&gt;
| [[ZX Spectrum]], [[ZX80/81]], [[Enterprise]], [[Jupiter ACE]]&lt;br /&gt;
| Freeware&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Home Consoles =&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| Microsoft XBOX&lt;br /&gt;
| [[Arnold|ArnoldX]]&lt;br /&gt;
| [https://web.archive.org/web/20120705163939/http://forums.xbox-scene.com/index.php?showtopic=711667] [https://cpcrulez.fr/emulateurs_download-XBOX-ARNOLDX.htm]&lt;br /&gt;
| v5&lt;br /&gt;
| Apr 20, 2010&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Microsoft XBOX&lt;br /&gt;
| [[CoinOPS|CoinOPS (RetroFE)]]&lt;br /&gt;
| [https://web.archive.org/web/20160518183115/https://coinopsproject.freeforums.org/viewtopic.php?f=0&amp;amp;t=1213]&lt;br /&gt;
| 5&lt;br /&gt;
| Oct 18, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| Lots of other computer systems&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Microsoft Xbox 360&lt;br /&gt;
| [[XNACPC|XNACPC]]&lt;br /&gt;
| [http://www.gavpugh.com/2011/11/11/xnacpc-xbox-360-amstrad-cpc-emulator-released/]&lt;br /&gt;
| 1.0&lt;br /&gt;
| Nov 11, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo Wii&lt;br /&gt;
| [[Wiituka|Wiituka]]&lt;br /&gt;
| [http://wiituka.dantoine.org/]&lt;br /&gt;
| 0.98.8&lt;br /&gt;
| May 15, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Sega Dreamcast&lt;br /&gt;
| [[CPCast|CPCast]]&lt;br /&gt;
| [http://www.dcemu.co.uk/vbulletin/showthread.php?t=24100]&lt;br /&gt;
| &lt;br /&gt;
| May 6, 2006&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Sega Dreamcast&lt;br /&gt;
| [[DreamCPC|DreamCPC]]&lt;br /&gt;
| [https://www.jm1200.fr/index.php?r=2]&lt;br /&gt;
| Alpha 3&lt;br /&gt;
| Oct 16, 2005&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Sony PS2&lt;br /&gt;
| [[CPC-em|CPC-em]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-ps2-CPC-EM.htm]&lt;br /&gt;
| 0.4&lt;br /&gt;
| Dec 22, 2004&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Sony PS3&lt;br /&gt;
| [[Caprice32|Caprice32]]&lt;br /&gt;
| [https://web.archive.org/web/20171003153204/http://psx-scene.com/forums/content/caprice32-4-1-0-dbg-emulator-ps3-2119/]&lt;br /&gt;
| 4.1.0 DBG&lt;br /&gt;
| Apr 9, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Handheld Consoles =&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 and OpenDingux'''. Or you can use these stand-alone CPC emulators:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| Dingoo A320 / A330&lt;br /&gt;
| [[Pituka|Pituka Dingux]]&lt;br /&gt;
| [http://david.dantoine.org/proyecto/4/]&lt;br /&gt;
| 0.8pre&lt;br /&gt;
| Aug 19, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Dingoo A320 / A330&lt;br /&gt;
| [[Caprice|Dingux-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/105-Amstrad/]&lt;br /&gt;
| 1.1.2&lt;br /&gt;
| Oct 17, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark Caanoo&lt;br /&gt;
| [[Caprice|Caanoo-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/165-Amstrad/]&lt;br /&gt;
| 1.1.3&lt;br /&gt;
| Apr 24, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark GP2x&lt;br /&gt;
| [[Caprice|CapriceGP2x]]&lt;br /&gt;
| [https://web.archive.org/web/20130315195529/http://wiki.gp2x.org/wiki/CapriceGP2x]&lt;br /&gt;
| 0.5&lt;br /&gt;
| Feb 22, 2006&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark GP2x&lt;br /&gt;
| [[Caprice|GP2X-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/42-Amstrad/]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Aug 29, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark GP32&lt;br /&gt;
| [[Pituka|Pituka GP32]]&lt;br /&gt;
| [http://david.dantoine.org/proyecto/4/]&lt;br /&gt;
| 1d&lt;br /&gt;
| May 15, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark Wiz&lt;br /&gt;
| [[Caprice|Wiz-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/89-Amstrad/]&lt;br /&gt;
| 1.1.0&lt;br /&gt;
| Aug 29, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GCW Zero&lt;br /&gt;
| [[Caprice|Dingux-CAP32]]&lt;br /&gt;
| [https://github.com/kerheol/dingux-cap32]&lt;br /&gt;
| 1.1.2&lt;br /&gt;
| May 25, 2014&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| JXD S5110 / S601 &amp;amp; Yinlips G18&lt;br /&gt;
| [[Caprice|JXD-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/206-Amstrad/]&lt;br /&gt;
| 1.1.1&lt;br /&gt;
| Oct 27, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo DS&lt;br /&gt;
| [[AmeDS|AmeDS]] &lt;br /&gt;
| [https://web.archive.org/web/20131021073302/http://www.portabledev.com/pages/ds/jeuxdev.-perso/ameds.php]&lt;br /&gt;
| 4.0&lt;br /&gt;
| Apr 25, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo DS&lt;br /&gt;
| [[CrocoDS|CrocoDS]]&lt;br /&gt;
| [http://www.kyuran.be/blog/2007/11/09/crocods-20-2/] [https://github.com/redbug26/crocods-nds Repo]&lt;br /&gt;
| 2.0&lt;br /&gt;
| Nov 9, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo GameBoy Advance&lt;br /&gt;
| [[Mini Amstrad Emulator|Mini Amstrad Emulator]] &lt;br /&gt;
| [https://playeradvance.org/forum/showthread.php?t=765]&lt;br /&gt;
| &lt;br /&gt;
| Dec 26, 2005&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Odroid GO&lt;br /&gt;
| [[CapriceESP32|CapriceESP32]] &lt;br /&gt;
| [https://github.com/grantrismo/CapriceESP32]&lt;br /&gt;
| &lt;br /&gt;
| Dec 3, 2020&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| OpenDingux&lt;br /&gt;
| [[CrocoDS|CrocoDS]]&lt;br /&gt;
| [https://crazypiri.eu/crocods/] [https://github.com/redbug26/crocods Repo]&lt;br /&gt;
| &lt;br /&gt;
| Jan 15, 2020&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Pandora&lt;br /&gt;
| [[Caprice|Pandora-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/131-Amstrad/]&lt;br /&gt;
| 1.1.0&lt;br /&gt;
| Jun 27, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Sony PSP&lt;br /&gt;
| [[Caprice32 PSP]]&lt;br /&gt;
| [http://psp.akop.org/caprice32]&lt;br /&gt;
| 4.2.0.2&lt;br /&gt;
| Nov 28, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Sony PSP&lt;br /&gt;
| [[CPCPSP|CPCPSP]]&lt;br /&gt;
| [https://web.archive.org/web/20130325143915/http://dl.qj.net/psp/emulators/cpcpsp-v01.html]&lt;br /&gt;
| 0.1&lt;br /&gt;
| Dec 24, 2005&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Sony PSP&lt;br /&gt;
| [[PSPCAP32|PSPCAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/3-Amstrad/]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Aug 21, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Trimui Model S&lt;br /&gt;
| [[Arnold|Arnold Trimui]]&lt;br /&gt;
| [https://github.com/liartes/arnold_gcw0]&lt;br /&gt;
| &lt;br /&gt;
| Oct 19, 2021&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Single-Board Computers / Raspberry Pi =&lt;br /&gt;
&lt;br /&gt;
[https://www.libretro.com/index.php/powered-by-libretro/ LibRetro / RetroArch] is used as the foundation of [https://www.lakka.tv/ Lakka], [https://wiki.recalbox.com/en/advanced-usage/retroarch Recalbox], [https://batocera.org/ Batocera] and [https://retropie.org.uk/ RetroPie] alternative OSes for the Raspberry Pi and other SBC.&lt;br /&gt;
But you can also use [https://www.retroarch.com/index.php?page=platforms RetroArch] for Amstrad CPC emulation on a stock Raspberry Pi OS. Or you can use these stand-alone CPC emulators:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[CPC4Rpi|#CPC4Rpi]]&lt;br /&gt;
| [https://web.archive.org/web/20150321200308/http://store.raspberrypi.com/projects/cpc4rpi]&lt;br /&gt;
| 1.1&lt;br /&gt;
| Dec 19, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Commercial💲&lt;br /&gt;
|-&lt;br /&gt;
| [[CapriceRPI|CapriceRPI]]&lt;br /&gt;
| [https://github.com/KaosOverride/CapriceRPI]&lt;br /&gt;
| 1.3d&lt;br /&gt;
| Feb 28, 2016&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Clock Signal|Clock Signal]] &lt;br /&gt;
| [https://snapcraft.io/install/clock-signal/raspbian]&lt;br /&gt;
| &lt;br /&gt;
| Dec 28, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]], [[ZX80/81]], [[Enterprise]], [[MSX]], [[Oric 1/Atmos|Oric]], [[ColecoVision]], [[Acorn Electron]], [[Apple II]], [[VIC-20]], [[Atari 2600]], [[Atari ST]], [[Macintosh]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEPower|CPCEPower]] &lt;br /&gt;
| [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73]&lt;br /&gt;
| 2105&lt;br /&gt;
| Jun 4, 2021&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[MESS|MAME]]&lt;br /&gt;
| [https://stickfreaks.com/mame/]&lt;br /&gt;
| 0.261&lt;br /&gt;
| Nov 29, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[SugarPi|SugarPi]]&lt;br /&gt;
| [https://github.com/Tom1975/SugarPi]&lt;br /&gt;
| 1.2.0&lt;br /&gt;
| Feb 3, 2021&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[ZEsarUX|ZEsarUX]]&lt;br /&gt;
| [https://github.com/chernandezba/zesarux]&lt;br /&gt;
| X&lt;br /&gt;
| Sep 8, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| [[PCW]], [[ZX Spectrum]], [[ZX80/81]], [[MSX|MSX 1]], [[ColecoVision]], [[Spectravideo]], [[Jupiter ACE]], [[Sam Coupe]], [[SG-1000]], [[Master System]], [[Sinclair QL]], [[MK14]], [[Z88]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Hardware =&lt;br /&gt;
&lt;br /&gt;
*[[CPC TREX|CPC TREX]] [[C-ONE|CPC-ONE]] TurboCPC core running on a FPGA board&lt;br /&gt;
*[http://ralferoo.blogspot.fr/ CPC FPGA] CPC emulation running on a custom made FPGA board&lt;br /&gt;
*[[FPGAmstrad|FPGAmstrad]] [https://github.com/renaudhelias/CoreAmstrad CoreAmstrad] [https://github.com/mist-devel/mist-board/wiki/CoreDocAmstrad CoreDocAmstrad] [https://github.com/mist-devel/mist-binaries/tree/master/cores/amstrad_alt CPC for MIST and MISTer] Translation of JavaCPC from Java into VHDL on a MiST board&lt;br /&gt;
*[https://intelligenttoasters.blog/cpc2-project-index/ CPC2 Project] CPC emulation running on a Cyclone V FPGA board&lt;br /&gt;
*[https://github.com/rpsubc8/ESP32TinyCPC/ ESP32 TinyCPC] Port from CPC-em emulator to TTGO VGA32 v1.x board with ESP32&lt;br /&gt;
*[https://github.com/codedchip/AMSGateArray AMSGateArray] Reverse engineered Gate Array from decapped chips&lt;br /&gt;
*[[SDiskEmul]] Floppy-drive emulator released in 2007. Abandoned now. Supports DSK, EDSK disk-images&lt;br /&gt;
*[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]&lt;br /&gt;
*[https://github.com/keirf/flashfloppy/ FlashFloppy] Open source floppy-drive emulator for the ubiquitous Gotek hardware. Supports DSK, EDSK, HFE disk-images&lt;br /&gt;
*[https://cpcrulez.fr/forum/viewtopic.php?f=5&amp;amp;t=100&amp;amp;start=690#p55437 Pauline] FPGA-based floppy-drive dumper and emulator&lt;br /&gt;
*[https://hobbyretro.com/en/retro/tzxduino TZXduino] Arduino-based tape deck emulator. Supports many formats of tape-images including CDT and TZX&lt;br /&gt;
*[https://pelrun.github.io/PlayUEF/ PlayUEF] Web-browser based tape deck emulator, supporting CDT and TZX tape-images&lt;br /&gt;
*[https://github.com/dasta400/ACPCPE Amstrad CPC Printer Emulator] Arduino-based CPC printer emulator&lt;br /&gt;
&lt;br /&gt;
= Mass-storage =&lt;br /&gt;
Emulator support for mass-storage expansions is as follows:&lt;br /&gt;
*[[Dobbertin Harddisc]] is emulated by MAME&lt;br /&gt;
*[[UIDE Universal IDE adapter cards for Z-80 computers|uIDE]] is emulated by Arnold&lt;br /&gt;
*[[Symbiface II]] IDE/PATA interface or compatible ([[X-Mass]], [https://github.com/salafek/cyboard-for-cpc Cyboard]) is emulated by ACE, Caprice Forever, MAME, WinAPE, WinCPC, Arnold, Virtual CPC&lt;br /&gt;
*[[Albireo]] is emulated by ACE, Caprice Forever&lt;br /&gt;
*[[M4 Board]] is emulated by CPCemu&lt;br /&gt;
*[[Vortex Winchester Drive]], [[ULIfAC|USIfAC / ULIfAC]] and [[Symbiface 3|Symbiface3 / RSF3]] are not supported by emulators&lt;br /&gt;
&lt;br /&gt;
= CPC cartridge slot =&lt;br /&gt;
Emulator support for a CPC cartridge slot is as follows:&lt;br /&gt;
*[[Dandanator]] brings a non-standard physical cartridge port and a very exotic non-standard memory mapper that spies on Z80 instructions (sacrificing compatibility without any justification). It is emulated by ACE, Retro Virtual Machine, CPCEC, ZEsarUX, DSP&lt;br /&gt;
*[[Plus2CPC]] brings a standard physical Plus cartridge port to the CPC. It is not supported by emulators&lt;br /&gt;
*[[Play2CPC]] is an evolution of the [[Plus2CPC]], adding RMR2 Plus mapping, R/W cartridge support, CRTC cursor raster interrupt and a 3-channel soundchip conforming to the [[PlayCity]] base spec. Play2CPC is emulated by ACE&lt;br /&gt;
*[[M4 Board]] simulates a standard Plus cartridge port on the CPC and handles standard CPR files. M4 Board is emulated by CPCemu&lt;br /&gt;
&lt;br /&gt;
= Audio devices =&lt;br /&gt;
Emulator support is as follows:&lt;br /&gt;
*[[Amstrad SSA-1 Speech Synthesizer|SSA-1 speech synthesizer]] is emulated by ACE, Caprice Forever, JavaCPC, MAME&lt;br /&gt;
*[[Dk'tronics Speech Synthesizer|Dk'Tronics speech synthesizer]] is emulated by ACE, Caprice Forever, JavaCPC, MAME&lt;br /&gt;
*[[TMPI speech synthesizer|Techni-Musique speech synthesizer]] is emulated by ACE, Caprice Forever&lt;br /&gt;
*[[Amdrum]] is emulated by ACE, JavaCPC, MAME, WinAPE&lt;br /&gt;
*[[Digiblaster]] is emulated by ACE, Caprice Forever, JavaCPC, MAME, WinAPE, CPCEC, CPCEPower, WinCPC, Virtual CPC&lt;br /&gt;
*[[PlayCity]] is fully emulated by ACE, MAME, Arnold, SugarBox. The audio part of [[PlayCity]] is emulated by Caprice Forever, JavaCPC, CPCEC&lt;br /&gt;
*[[Play2CPC]] implements the PlayCity base spec (aka Arcade Sound System). It has one additional soundchip instead of two and no CTC chip. It is emulated by ACE&lt;br /&gt;
*[[Willy|Willy OPL3]] is emulated by ACE&lt;br /&gt;
*[[Willy|Willy MIDI]] is emulated only by ACE for Haiku&lt;br /&gt;
*[[Music Machine]], [https://github.com/lambdamikel/Speak-SID Speak&amp;amp;SID], [https://github.com/lambdamikel/LambdaSpeak3 LambdaSpeak], [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/amsdap-amstrad-msx-adapter-connecting-any-msx-io-hardware-to-the-cpc/ Amsdap (SE-One, Moonsound, etc...)] are not supported by emulators&lt;br /&gt;
&lt;br /&gt;
= Rewind feature =&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
At the moment, 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.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= Emulator accuracy checking tools =&lt;br /&gt;
== Quick evaluation==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;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]]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19308 DSC #4 demo] with reference images (CRTC 1): [[Media:DSC4 reference1.png]] [[Media:DSC4 reference2.png]]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7737 Camembert 4 demo] with reference images (CRTC 0/1/3/4): [[Media:Camembert-real.jpg]] [[Media:Camembert 4 Pixel Precise.jpg]]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9029 BSC7 Interlace demo] with reference image (CRTC 0/2/3/4): [[Media:BSC7 reference.png]]&lt;br /&gt;
&lt;br /&gt;
== Z80 CPU ==&lt;br /&gt;
*[https://cpcrulez.fr/applications_util-zexall.htm ZEXALL (CP/M)] [https://cpcrulez.fr/applications_util-zexdoc.htm ZEXDOC (CP/M)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12883 Z80 Full Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12881 Z80 Doc Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12882 Z80 Flags Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12880 Z80 Doc Flags Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12884 Z80 MEMPTR Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12879 Z80 CCF Test] Z80 CPU instruction set exercisers&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=298 Arkanoid (using Z80 Interrupt Mode 2)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=427 L'anneau de Zengara (using Z80 register R)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1299 Light Corridor (Z80 useless instruction prefixes)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=735 Dogsbody (accessing non-standard I/O ports)]&lt;br /&gt;
*[https://wikiti.brandonw.net/?title=Z80_Instruction_Set Z80 instruction set] [https://zx-pk.ru/attachment.php?attachmentid=2989&amp;amp;d=1143656567 Z80 MEMPTR (aka WZ) internal register] [https://github.com/hoglet67/Z80Decoder/wiki/Undocumented-Flags Even weirder Z80 behaviour] [https://zxe.io/software/Z80/documentation/latest/Thanks.html To get to the bottom of it] [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/z80-cpu-nmos-or-cmos/ Z80 is always NMOS on CPC and Plus] How the Z80 behaves&lt;br /&gt;
*[https://floooh.github.io/2021/12/06/z80-instruction-timing.html Z80 T-state timings] [https://baltazarstudios.com/zilog-z80-undocumented-behavior/ Other source about T-state timings] Ultra accurate timing behaviour&lt;br /&gt;
&lt;br /&gt;
== Diagnostics ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5113 Official Amstrad CPC hardware diagnostics] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17932 Non-official Amstrad Diagnostics] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6545 STS SysInfo] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=test%crtc%v Tests CRTC type] [http://cpc.sylvestre.org/technique/technique_identifier_crtc.html Identifying CRTC visually]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6987 RAM Expansion Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14833 MemTest] [https://www.cpc-power.com/index.php?page=detail&amp;amp;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&amp;amp;num=15739 RAM Check] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13386 Testprogram For All ERAM] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19185 Xenon 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12188 Take On Me] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14339 Trololo Experiments] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19406 Still The One] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16084 Post Scriptum] [https://cpcrulez.fr/info-chany-enhanced_edition.htm Chany 512K cracks] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=151 Expanded RAM software list] RAM exercisers&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15975 FutureOS] [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/464-and-ram-extension/ Behaviour of RAM mode &amp;amp;C3] [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/upgrading-a-cpc-464-in-2022/ More on the issue] RAM expansion bug on CPC464/664&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=135 Batman The Movie] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2318 Turrican] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=80 Technical explanation] CPC keyboard clash&lt;br /&gt;
*[https://www.cpcwiki.eu/forum/emulators/amstrad-cpc-'acid'-test/ &amp;quot;Acid&amp;quot; test suite] [https://cpctech.cpcwiki.de/download/test.zip] [http://ace.cpcscene.net/tests:arnold_test_suite Tests results in ACE] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17738 PPI tests] Chips tests by arnoldemu&lt;br /&gt;
*[http://www.winape.net/downloads.jsp Plus Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15242] CPC and CPC+ Emulator test suite (including Instruction and Interrupt timing tests)&lt;br /&gt;
&lt;br /&gt;
== Amstrad Plus ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9627 Official Plus diagnostics cartridge] [[File:Roudoudou CPR tests.zip]] [https://www.cpcwiki.eu/forum/emulators/amstrad-cpc-'acid'-test/75/] Plus testing tools&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8308 4096 Colors Preview] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7407 CPC+ First Demo]  [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8443 Simply The Bests] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7411 ASM Intro 1] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18789 Veteran] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9472 Revival'n Impact coop] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3959 Fluff] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3622 Space Gun] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1682 Prehistorik 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3575 No Exit] ASIC effects&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3788 Frogger] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4721 Rick Dangerous 6128+] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17818 La culotte de Zelda] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12013 Flappy Rulez] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13363 Picrocs] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14639 Sudoplus] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15142 Ghosts'n Goblins] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18946 Goldorak Versus] Homebrews&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8874 6128 Plus Dma] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14939 Eerie Forest] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14940 CRTC3] [https://cpcrulez.fr/demostestDO_fairy-breakpoint_2010.htm Fairy] [https://soundtrackerdma.cpcscene.net/doku.php?id=en:download Soundtracker DMA] To test DMA and to compare the PSG output with the output from a real Amstrad Plus&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18016 Bulles] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7532 X-Mas 2008] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8588 Synergy] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7410 Mir Station] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13142 BarBar] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7530 Delirium Tremens] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9169 Funerapolis] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7935 Sappy] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19239 USS Cygnus 192] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17979 GX8K] To test hardware sprites emulation&lt;br /&gt;
&lt;br /&gt;
== Colorimetry ==&lt;br /&gt;
*[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&lt;br /&gt;
*Major difference in colorimetry between the real Amstrad CTM644 display and emulators display:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Border 8 - real CPC display.png|Border 8 on real CPC&lt;br /&gt;
Border 8 - real Plus display.png|Border 8 on real Plus&lt;br /&gt;
Border 8 - emulator display.png|Border 8 on emulators&lt;br /&gt;
Palette - real CPC.png|Palette on real CPC&lt;br /&gt;
Palette - real Plus.png|Palette on real Plus&lt;br /&gt;
Palette - emulator.png|Palette on emulators&lt;br /&gt;
True CTM colorimetry.png|Colorimetry on real CPC&lt;br /&gt;
CTM Emulator Shader colorimetry.png|Colorimetry on emulators&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Graphics ==&lt;br /&gt;
*[https://shaker.logonsystem.eu/ Shakerland] Ultra accurate CRTC documentation and its associated CPC testing tool&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8524 Equalizor] [https://forum.system-cfg.com/viewtopic.php?p=229698#p229698 Revolog] [https://forum.system-cfg.com/viewtopic.php?f=24&amp;amp;t=11535&amp;amp;start=285 Technical explanation] Unpredictable behaviour of the real CRTC type 1 chip. We can classify these behaviours as CRTC types 1a and 1b&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12906 HSYNC test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16466 Split-Rasters Test CRTC1] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15519 Les split-rasters] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=cote%gamers Côté Gamers] [https://www.cpc-power.com/index.php?page=detail&amp;amp;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&amp;amp;num=15280 CRTC software] CRTC testing tools&lt;br /&gt;
*[http://logon.system.free.fr/down/shaker_addon.dsk Pixel 1 Horizontal Hard Scroll for all CRTCs] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9102 Vertical Hard Scroll 100%] [https://cpcrulez.fr/coding_src-demo-smooth_crtc_register_3_scrolling_test.htm Smooth CRTC Register 3 scrolling test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1949 Skate Wars] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1211 Jinks] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=68 Out of this World] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=159 Killer Cobra] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10465 Edge Grinder] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10072 Relentless] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1982 Warhawk] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=99 Mission Genocide] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1028 Axys] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15809 Red Sunset] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18843 Hyperdrive] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=974 Ghosts'n Goblins] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1290 Legend of Kage] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1698 Profanation] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2119 Super Cauldron] Smooth CRTC R3/R5 hardware scrolling&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7514 BSC 91] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8772 Voyage 1993] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7751 OVL '96] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7662 Byte 98] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8623 Unique] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7910 Paradise] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8621 Power System] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8875 Prodatron] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7744 Longshot] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7668 Amazing] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7479 Madness] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8259 Chany Dream End] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8615 Welcom-X 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7591 S&amp;amp;Koh] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8041 Other World 3] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7648 Big'O Full'O Dem'O] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7765 Not Dead] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7543 Odyssey] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7736 Croco Chanel] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7828 Tire Au Flan]  Early demos, so they were developed without CPC emulator bias&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2799 Battro] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15298 Still Scrolling] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15102 PhX] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9181 Bloc Us] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9248 Wake Up] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19313 Stand Up] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9589 Yet Another Plasma] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14225 Logon's Run] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9970 Still Rising] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=onescreen Onescreen Colonies] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16067 Gloire à Piou] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7729 DTC] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12683 Points Barres] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16068 Octopus Pocus] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18794 FMR CPC] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8552 Synergy 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15209 Scroll Factory] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19024 The One] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7728 DemoIzArt] CRTC effects&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=76 Les Mondes Parallèles] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=66 Paranoia] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=78 Molecularr 2] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=megablasters Megablasters] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12649 Quadraster] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2369 Groops] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3963 Sudoku Master] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10009 Overkoban] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17786 Prince Dastan Sokoban Within] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17610 Deva Drifter] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17197 Hexavirus v0] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15985 A tribute to the sisters] True overscan games&lt;br /&gt;
*[https://www.cpcwiki.eu/forum/programming/mode-3/ Mode 3 Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12905 &amp;quot;Mode 5&amp;quot; Viewer] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18680 Pixel Free] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14259 Test interlace color] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13136 Interlace viewer] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7701 Climax] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13139 Perfect Pix Paint] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13359 Imperial Mahjong] Special graphics modes&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16027 Mire] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16722 Mir'Color] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7826 Climax-G] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7937 Fatal Beauties] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8307 4 Sins] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7897 Twinblast] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8081 MCS 6] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7593 Schadel] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2224 Thunder Blade] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2318 Turrican] To test the VDU&lt;br /&gt;
&lt;br /&gt;
== Peripherals ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=hardware_magnum Magnum Light Phaser] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3583 SkeetShoot] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3584 The Enforcer] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3992 Dk'Tronics Light Pen] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4955 Light Pen Mark II] To test lightguns and lightpens connected to expansion port&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=hardware_phaser_loriciels West Phaser] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=hardware_gunstick Gunstick] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4303 Trojan LP-1] To test lightguns and lightpens connected to joystick port&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=SSA-1 SSA-1 software list] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=DK%27Tronics%20Speech%20Synthesizer Dk'Tronics software list] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=TMPI%20speech%20synthesizer TMPI software list] To test speech synthesizers emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7535 Digital Orgasm] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=Digitracker Digitracker] [[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&amp;amp;lemot=Amdrum Amdrum] To test [[Digiblaster]] and [[Amdrum]] soundcards emulation&lt;br /&gt;
*[[SymAmp]] [https://framagit.org/shinra/vgmplay VGMplay] [http://www.roudoudou.com/ACE-DL/ 4200 VGM musicfiles pack] [https://github.com/lambdamikel/BluePillCPC/tree/main/cpc/s2p BluePillCPC] To test [[Willy]] OPL3 and MIDI emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12589 ProText] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4670 ProSpell] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4668 ProPrint] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5551 Impr'Image] To test printer emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4012 Advanced OCP Art Studio] To test [[AMX Mouse|AMX]] and [[Kempston Mouse|Kempston mouse]] emulation&lt;br /&gt;
*[[HDCPM]] [[UniDOS]] [http://www.roudoudou.com/ACE-DL/ UniLOAD 60MB archive] [http://www.roudoudou.com/ACE-DL/ SymbOS 45MB disk-image] To test mass-storage, RTC and modern mouse (scroll wheel) emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12972 X-MEM FW] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19236 CatRun] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18901 CowSay] [http://impdraw.wikidot.com iMPsuite] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=11578 GOS+] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6353 Utopia] To test ROMboard emulation&lt;br /&gt;
*[https://abalore.com/alcon2020.html Alcon 2020] [[Converted GX4000 Software]] To test the [[Play2CPC]] emulation&lt;br /&gt;
*[http://theswordofianna.retroworks.es/ The Sword of Ianna] [http://retroworks.es/php/game_en.php?id=11 Brunilda] [http://www.dandare.es/Proyectos_Dandare/Descargas.html MojonTwins romset] To test the [[Dandanator]] emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=protection&amp;amp;lenom=Multiface%202%20Protection Anti-Multiface II software list] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1980 War in Middle Earth] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1322 Zap't'Balls advanced] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5266 The Insider] To test [[Multiface II]] emulation&lt;br /&gt;
&lt;br /&gt;
== Copy-protection ==&lt;br /&gt;
*[https://cpctech.cpcwiki.de/download/fdctest.zip FDC test suite] [https://cpctech.cpcwiki.de/download/drivetest.zip Disk drive tests] [https://cpctech.cpcwiki.de/download/cdttst.zip CDT/TZX test suite for emulators] Set of tests by arnoldemu&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5002 Tape Head Azimuth] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4194 Ultra Son] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10475 Soft-Lok] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4718 Bonzo Super Meddler] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5059 SpeedTrans] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5803 Transformateur] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6057 Deconnect] [https://www.cpc-power.com/index.php?page=protection&amp;amp;lenom=NoAMSDOS NoAMSDOS software list] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3871 Computer Hits] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1359 Marmelade] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1412 Mickey Mouse] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=83 Astro Marine Corps] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=773 Druid] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10585 Breaking Baud] To test Tape emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19368 FatMag 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9211 Backtro] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7405 5KB 3] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8746 The Demo] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13108 CPC 30th Anniversary] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7542 Midline Process] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17902 Can Robots Take Control] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10030 Phortem] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9156 Batman Forever] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16736 Pinball Dreams] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7174 R-Type] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6661 Nheredia] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13426 Doomsday Lost Echoes] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4025 Orion Prime] Musical loader, Multi-drives, 3.5 inch (dual-head and 80 tracks) floppy drives support&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10029 RPM] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15518 DskTest] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14201 Crazy] [https://cpcrulez.fr/applications_disc-dlfrsilver_dump_tool_test_suite.htm Dlfrsilver Dump Tool Test Suite] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4812 Format II] [[ParaDOS]] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4933 Xexor] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6118 Discology] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4179 Hercule II] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16060 UltraDisc] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5244 Disc'o'Magic] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9297 Multi Mark] To test FDC emulation&lt;br /&gt;
*[https://cpcrulez.fr/demostestDM_fatmag_01.htm FatMag] The HFE trackload version is designed to rigorously test the FDC emulation [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17853 Open Tower Defense] Emulator detection through a FDC test [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=931 Fugitif] Disk swapping detection&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12051 Demonstration of KBI protection] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1589 Pacific] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1650 Platoon] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1814 Robinson Crusoe] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=660 Daley Thompson's Olympic Challenge] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4064 Les Hits de l'Aventure] Protection based on weak bits&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=839 E.X.I.T] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1501 Le Nécromancien] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2195 Tensions] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1784 Wild Streets] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1958 Skyx] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=111 Turbo Cup] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2024 Sphaira] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=780 Dwarf] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1873 Sapiens] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=612 Corsarios] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=582 Cobra] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=744 Eden Blues] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1390 M'enfin] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1420 Mike &amp;amp; Moko] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4089 Equinoxe] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5545 Vocabulaire CM] Protection based on custom GAPS data&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=741 Donkey Kong] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1887 Scott Winder Reporter] Destructive copy-protection [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1716 Puffy's Saga] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=699 Defender of the Crown] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1354 Le Maraudeur] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1699 Profession Détective] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1730 Qin] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1005 Basun] Some other copy-protected disk-images&lt;br /&gt;
*[https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;cat=12 Protection schemes documented] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=9 Lenslok] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=207 Gaps] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=384 Latis] [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&amp;amp;num=435 Anti-copy bug] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=375 Baudload and Trackload list] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=38 Autoboot] Technical explanations&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=41 Trantor] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=204 3D Starfighter] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=726 Treasure Island Dizzy] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=971 Ghost Hunters] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2132 Super Robin Hood] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=237 Advanced Pinball Simulator] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1200 Jet Bike Simulator] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1002 Grand Prix Simulator] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=183 Darts 180] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1243 Killapede] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1194 Jail Break] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1815 Robocop] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=100 Chase HQ] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1926 Shinobi] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8892 4-Bit Digi Try] Software English vocal digits&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1349 Le Manoir de Mortvielle] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1098 Hold-Up] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=910 Forteresse] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=511 Canadair] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1140 L'île] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1199 Jaws] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1102 Holocauste] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=132 Afteroids] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=879 Fire &amp;amp; Forget] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1433 Xyphoes Fantasy] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17000 Space Race] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7456 Yao demo] Other software sound effects&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9179 Now that's what I call Chip Tunes] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18904 Amstream music-disk] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10467 We Are All Old] [https://www.cpc-power.com/index.php?page=detail&amp;amp;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&amp;amp;num=18265 Sintetizador de Sonidos] To test the PSG emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19283 Raytracing in BASIC] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15685 Julia Fractal] To benchmark emulators using their fullspeed mode&lt;br /&gt;
&lt;br /&gt;
= File format specifications =&lt;br /&gt;
&lt;br /&gt;
*[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&amp;amp;num=386 CTRAW] [https://www.cbmstuff.com/downloads/scp/scp_image_specs.txt SCP] File formats of disk-image&lt;br /&gt;
*[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] [http://soundfile.sapp.org/doc/WaveFormat/ WAV] File formats of tape-image&lt;br /&gt;
*[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&lt;br /&gt;
*[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&amp;amp;num=10 Archive of SNR sessions]&lt;br /&gt;
*[http://leonard.oxg.free.fr/ymformat.html YM] [https://www.cpcwiki.eu/index.php/AYC AYC] [https://vgmrips.net/wiki/VGM_Specification VGM] Soundchip logging file formats&lt;br /&gt;
*[https://en.wikipedia.org/wiki/IMG_(file_format) IMG] [https://web.archive.org/web/20120202144328/http://download.microsoft.com/download/f/f/e/ffef50a5-07dd-4cf8-aaa3-442c0673a029/Virtual%20Hard%20Disk%20Format%20Spec_10_18_06.doc VHD] [https://github.com/gasman/hdfmonkey HDF] File formats of flat hard-drive image&lt;br /&gt;
*[https://shaker.logonsystem.eu/sslcsl CSL] Cpc Scripting Language, a macro/scripting system to automate emulators&lt;br /&gt;
&lt;br /&gt;
= Emulation Tools  =&lt;br /&gt;
&lt;br /&gt;
*[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] [[Dsktools|Dsktools]] [[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] Set of tools about disk-images&lt;br /&gt;
*[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://cpctech.cpcwiki.de/download/2cdt.zip 2CDT] [http://cngsoft.no-ip.org/csw2cdt.htm CSW2CDT] [https://cpcrulez.fr/emulateurs_UTIL-CDT-CDT2WAV.htm CDT2WAV] [https://github.com/shred/tzxtools tzxtools] Set of tools about tape-images&lt;br /&gt;
*[http://www.cpcmania.com/news.htm CPRTools] Edit Amstrad Plus CPR cartridge-images&lt;br /&gt;
*[https://bochs.sourceforge.io/doc/docbook/user/winimage.html WinImage, DiskExplorer, Mtools] [https://www.fysnet.net/ultimate/index.htm Ultimate Imager] [https://github.com/ProgrammingHobby/CPM_Image-File_Explorer CP/M Image File Explorer] Access and edit IMG hard-drive images. No need of tools for VHD images with FAT filesystem, they are supported directly in Windows Explorer: it works the same way as ISO files&lt;br /&gt;
*[[CPCGamesCD-CPCLoader|CPCGamesCD-CPCLoader]] CDROM containing a navigable database with all the games of the Amstrad CPC&lt;br /&gt;
*[https://colourclash.co.uk/cpc-analyser/ CPC Analyser] Help reverse engineer Amstrad CPC games&lt;br /&gt;
*[[Emulator tooling]] UI screenshots of tooling in CPC emulators&lt;br /&gt;
*[[WinApe|WinAPE]] [[WinCPC]] [[JavaCPC]] [https://code.google.com/archive/p/cpcsdk/ Caprice Reloaded] [http://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73 Caprice Forever] Emulators with an integrated Z80 Assembler&lt;br /&gt;
*[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] [https://marketplace.visualstudio.com/items?itemName=floooh.vscode-kcide KC IDE] Tools for CPC cross-development in Z80 Assembler&lt;br /&gt;
*[https://ccz80.webcindario.com/ccz80en.html ccz80] [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] [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&lt;br /&gt;
*[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] A complete suite (IDE, compiler, resource editor) for developing CPC games/demos in Pascal&lt;br /&gt;
*[https://cpcbasic.webcindario.com/CPCBasicEn.html CPC Basic] [https://github.com/benchmarko/CPCBasic CPCBasic Unchained] [https://marketplace.visualstudio.com/items?itemName=cebe74.amstrad-basic-helper-vscode Amstrad Basic Helper] [https://www.cpcalive.com/cpcalive_en.html CpcAlive] [https://ugbasic.iwashere.eu/ ugBASIC] Cross-platform CPC development in BASIC&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12875 8BP] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4159 Graphic City] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4649 Sprites Alive] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4245 Laser Basic] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4705 FAst BAsic COMpiler] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6042 TurboBASIC compiler] [[B-ASIC]] Useful CPC tools (compilers and RSX) to beef up the Amstrad BASIC&lt;br /&gt;
*[http://ldeplanque.free.fr/ConvImgCpc/new/ ConvImgCPC] [https://github.com/AugustoRuiz/Img2CPC img2cpc] [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&lt;br /&gt;
*[http://grafx2.chez.com/ GrafX2] [http://multipaint.kameli.net/ Multipaint] [[Retro Game Asset Studio]] [http://gcajdev.epizy.com/sprite_creator.php Sprite Creator] Cross-platform CPC pixel art editors&lt;br /&gt;
*[http://cngsoft.no-ip.org/chipnsfx.htm CHIPNSFX] [https://github.com/AugustoRuiz/WYZTracker WYZTracker] [https://www.julien-nevo.com/arkostracker/ Arkos Tracker 2] [https://tildearrow.org/furnace/ Furnace] Cross-platform CPC music creation suites&lt;br /&gt;
&lt;br /&gt;
= Emulator Detection =&lt;br /&gt;
&lt;br /&gt;
If you want to promote usage of real CPC computers, you can detect CPC emulators by:&lt;br /&gt;
*Checking if the memory is initialized with zeroes, as real machines have random memory values at boot&lt;br /&gt;
*Focusing on the minute details in Z80, CRTC and PPI chips. They are most often wrong in emulators&lt;br /&gt;
*Examining the FDC chip. It is only replicated more or less superficially in all emulators because the internals of the chip are still unknown&lt;br /&gt;
&lt;br /&gt;
Combining these methods will definitely get you a 100% success rate in detecting emulators, even the toughest ones.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Emulator undetected.png|Emulator undetected&lt;br /&gt;
Emulator detected.png|Emulator detected&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is also this initiative for emulators who willingly want to be detected: [[Emulator_IDs|Emulator IDs]]&lt;br /&gt;
&lt;br /&gt;
= Emulators running on the Amstrad CPC =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! License&lt;br /&gt;
! Emulates&lt;br /&gt;
|-&lt;br /&gt;
| [[Amstrad BBC BASIC]]&lt;br /&gt;
| [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9862]&lt;br /&gt;
| 2.30&lt;br /&gt;
| Apr 2, 1986&lt;br /&gt;
| Commercial💲&lt;br /&gt;
| [[BBC BASIC]]&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCZVM]]&lt;br /&gt;
| [https://www.cpcwiki.eu/index.php/Z-Machine]&lt;br /&gt;
| &lt;br /&gt;
| Jul 6, 2019&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Z-Machine]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Pac-Man]]&lt;br /&gt;
| [http://www.cpcwiki.eu/forum/games/speed-up-patch-for-pac-man-emulator-for-cpc-by-syx-toto/msg81222/#msg81222]&lt;br /&gt;
| 1.1&lt;br /&gt;
| Jun 5, 2014&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Pac-Man arcade|Pac-Man arcade]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Phoenix]]&lt;br /&gt;
| [https://norbertkehrer.github.io/phoenix_cpc.html]&lt;br /&gt;
| &lt;br /&gt;
| Jan 6, 2019&lt;br /&gt;
| Freeware&lt;br /&gt;
| [[Phoenix arcade|Phoenix arcade]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Space Invaders|Space Invaders]]&lt;br /&gt;
| [http://www.cpcwiki.eu/forum/games/space-invaders-arcade-emulator-for-amstrad-cpc/]&lt;br /&gt;
| 1.0&lt;br /&gt;
| Jun 11, 2016&lt;br /&gt;
| Freeware&lt;br /&gt;
| [[Space Invaders arcade|Space Invaders arcade]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Vezza]]&lt;br /&gt;
| [https://gitlab.com/sijnstra1/vezza]&lt;br /&gt;
| &lt;br /&gt;
| Oct 7, 2023&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Z-Machine]]&lt;br /&gt;
|-&lt;br /&gt;
| [[ZXM]]&lt;br /&gt;
| [https://cpcrulez.fr/applications_util-ZXm.htm]&lt;br /&gt;
| &lt;br /&gt;
| 1993&lt;br /&gt;
| Freeware&lt;br /&gt;
| [[ZX Spectrum|ZX Spectrum]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Zym]]&lt;br /&gt;
| [http://www.symbos.org/appinfo.htm?00054]&lt;br /&gt;
| 0.9&lt;br /&gt;
| Feb 19, 2022&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Z-Machine]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Emulator| ]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Emulators&amp;diff=113805</id>
		<title>Emulators</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Emulators&amp;diff=113805"/>
				<updated>2024-01-02T22:54:18Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: /* Alternative OS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Vote for your favorite emulator =&lt;br /&gt;
&lt;br /&gt;
[https://www.cpcwiki.eu/forum/emulators/which-emulator-s-do-you-use/ There is a poll on CPCWiki forum]&lt;br /&gt;
&lt;br /&gt;
= Software Platforms (Full OS independance) =&lt;br /&gt;
&lt;br /&gt;
== Java Platform  ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnold Jnr|Arnold Jnr]]&lt;br /&gt;
| [https://web.archive.org/web/20160727011826/http://www.arnoldemu.freeserve.co.uk/]&lt;br /&gt;
| &lt;br /&gt;
| Aug 27, 2001&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[JavaCPC|JavaCPC Desktop]]&lt;br /&gt;
| [https://sourceforge.net/projects/javacpc/] [http://sourceforge.net/projects/javagx4000/ JavaGX4000] [http://sourceforge.net/projects/cpcinajar/ CPCInAJar]&lt;br /&gt;
| 3.0.2&lt;br /&gt;
| Apr 8, 2022&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[JEMU|JEMU]]&lt;br /&gt;
| [http://jemu.winape.net/]&lt;br /&gt;
| &lt;br /&gt;
| Feb 19, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]], [[ZX80/81]], [[BBC Micro]], [[VZ-300]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[WebCPC|WebCPC]]&lt;br /&gt;
| [http://sourceforge.net/projects/webcpc/] [https://web.archive.org/web/20110903132520/http://java.cpc-live.com/ JavaCPC Applet]&lt;br /&gt;
| r15&lt;br /&gt;
| Dec 31, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== JS / Wasm / Web Platform ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCBox|CPCBox]] &lt;br /&gt;
| [https://www.retroshowcase.gr/cpcbox-master/] [https://web.archive.org/web/20190702084943/http://www.cpcbox.com/] [https://bzhgames.xyz/index.php BZH Games]&lt;br /&gt;
| beta &lt;br /&gt;
| Dec 28, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[CrocoDS|CrocoDS]] &lt;br /&gt;
| [https://crocods.org/web/] [https://github.com/redbug26/crocods Repo]&lt;br /&gt;
| &lt;br /&gt;
| Jun 9, 2020&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[MAME|Emularity (MAME)]] &lt;br /&gt;
| [https://github.com/db48x/emularity] [http://jsmess.textfiles.com/ JSMESS] [https://classicreload.com/platform/amstrad%20cpc Classic Reload]&lt;br /&gt;
[https://archive.org/details/softwarelibrary_cpc_games CPC Games] [https://archive.org/details/softwarelibrary_cpc_demos CPC Demos] on Internet Archive&lt;br /&gt;
| &lt;br /&gt;
| Oct 1, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| Lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Roland javascript emulator|Roland]] &lt;br /&gt;
| [https://web.archive.org/web/20190308142014/http://roland.retrolandia.net/]&lt;br /&gt;
| &lt;br /&gt;
| Sep 24, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Ronald|Ronald]] &lt;br /&gt;
| [https://ronald.migge.io] [https://github.com/mdm/ronald Repo]&lt;br /&gt;
| &lt;br /&gt;
| Sep 25, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[RVMplayer|RVMplayer]] &lt;br /&gt;
| [https://www.retrovirtualmachine.org/rvmplayer/]&lt;br /&gt;
| 0.1.1&lt;br /&gt;
| May 6, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]]&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[Tiny Emus]]&lt;br /&gt;
| [https://floooh.github.io/tiny8bit/] [https://floooh.github.io/tiny8bit/cpc-ui.html] [http://floooh.github.io/virtualkc/ yakc] [https://online.oldgames.sk/play/cpc Online Old Games]&lt;br /&gt;
[https://devilmarkus.de/ WebGL 3d 8-bit] [https://www.amstradcpcgames.eu/ Amstrad CPC Games] [http://cpc.novidee.com/ zpz]&lt;br /&gt;
| &lt;br /&gt;
| Nov 4, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| [[KC Compact]], [[ZX Spectrum]], [[VIC-20]], [[Commodore 64]], [[Acorn Atom]], [[KC 85]], [[KC 87]], [[Z9001]], [[Z1013]], [[LC80]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Griffin CPC emulator|Xiragon]]&lt;br /&gt;
| [https://web.archive.org/web/20191027200008/http://xiragon.com/]&lt;br /&gt;
| &lt;br /&gt;
| Nov 28, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== LibRetro (API for emulators) ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! Type&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[libretro-cap32]]&lt;br /&gt;
| Emulation core&lt;br /&gt;
| [https://github.com/libretro/libretro-cap32]&lt;br /&gt;
| 4.5.3&lt;br /&gt;
| Mar 16, 2022&lt;br /&gt;
| -&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[libretro-crocods]]&lt;br /&gt;
| Emulation core&lt;br /&gt;
| [https://github.com/libretro/libretro-crocods]&lt;br /&gt;
| 0.1&lt;br /&gt;
| Feb 28, 2017&lt;br /&gt;
| -&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[MAME|MESS 2015]]&lt;br /&gt;
| Emulation core&lt;br /&gt;
| [https://docs.libretro.com/meta/core-list/]&lt;br /&gt;
| 0.160&lt;br /&gt;
| circa 2015&lt;br /&gt;
| -&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[SugarLibRetro]]&lt;br /&gt;
| Emulation core&lt;br /&gt;
| [https://github.com/Tom1975/SugarLibRetro] (wraps independent lib [https://github.com/Tom1975/CPCCore CPCCore])&lt;br /&gt;
| git&lt;br /&gt;
| Jan 10, 2020&lt;br /&gt;
| -&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[EmuVR]]&lt;br /&gt;
| Frontend&lt;br /&gt;
| [https://www.emuvr.net/]&lt;br /&gt;
| &lt;br /&gt;
| Dec 25, 2022&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Depends on emulation cores&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[Hackable Console]]&lt;br /&gt;
| Frontend&lt;br /&gt;
| [https://github.com/leiradel/hackable-console]&lt;br /&gt;
| &lt;br /&gt;
| Mar 27, 2022&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Depends on emulation cores&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[RetroArch]]&lt;br /&gt;
| Frontend&lt;br /&gt;
| [https://www.retroarch.com/] [https://www.retroarch.com/?page=achievements RetroAchievements]&lt;br /&gt;
| 1.16.0&lt;br /&gt;
| Sep 22, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Depends on emulation cores&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Current Operating Systems =&lt;br /&gt;
&lt;br /&gt;
== Desktop ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Windows&lt;br /&gt;
! macOS&lt;br /&gt;
! Linux&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[ACE-DL]]&lt;br /&gt;
| [http://www.roudoudou.com/ACE-DL] [https://discord.gg/rKxFPndHPw Discord] [http://ace.cpcscene.net Based on ACE]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| &lt;br /&gt;
| Dec 17, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[AMSpiriT|AMSpiriT]]&lt;br /&gt;
| [https://www.amspirit.fr/] [https://forum.system-cfg.com/viewtopic.php?f=24&amp;amp;t=11535 Forum]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 0.967b&lt;br /&gt;
| Dec 6, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnimedes|Arnimedes]] &lt;br /&gt;
| [http://www.arnimedes.de/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.02&lt;br /&gt;
| Jul 7, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnold_(Emulator)|Arnold]] &lt;br /&gt;
| [http://www.cpcwiki.eu/forum/emulators/arnold-wip/msg144749/#msg144749] [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]&lt;br /&gt;
| ✅&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ⚠️&lt;br /&gt;
| [http://www.cpcwiki.eu/imgs/d/dd/Arnoldwip_src.tar.bz2 WIP]&lt;br /&gt;
| May 13, 2017&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Caprice Forever]] &lt;br /&gt;
| [http://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 23.11&lt;br /&gt;
| Nov 11, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware &amp;amp; Outdated sources&lt;br /&gt;
|-&lt;br /&gt;
| [[CaPriCe|Caprice32]] &lt;br /&gt;
| [https://github.com/ColinPitrat/caprice32/releases] [http://sourceforge.net/projects/caprice32/ Old repo] [https://snapcraft.io/caprice32 Linux] [http://aleste520.narod.ru/caprice.html Aleste] [https://code.google.com/archive/p/cpcsdk/ Reloaded]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 4.6.0&lt;br /&gt;
| Oct 8, 2022&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Clock Signal|Clock Signal]] &lt;br /&gt;
| [https://github.com/TomHarte/CLK/releases] [https://snapcraft.io/clock-signal Linux]&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| &lt;br /&gt;
| Dec 28, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]], [[ZX80/81]], [[Enterprise]], [[MSX]], [[Oric 1/Atmos|Oric]], [[ColecoVision]], [[Acorn Electron]], [[Apple II]], [[VIC-20]], [[Atari 2600]], [[Atari ST]], [[Macintosh]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CoPaCabana|CoPaCabana]]&lt;br /&gt;
| [http://copacabana.emuunlim.com/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 0.74&lt;br /&gt;
| Apr 12, 2006&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[CPC++|CPC++]] &lt;br /&gt;
| [http://bricerive.free.fr/cpc/cpcpp.html]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ⚠️&lt;br /&gt;
| b700&lt;br /&gt;
| May 31, 2015&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[cpc4x|cpc4x]] &lt;br /&gt;
| [http://www.ulrich-cordes.de/cpc/english/cpcemu.htm]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| 0.26&lt;br /&gt;
| Dec 11, 2004&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEC|CPCEC]] &lt;br /&gt;
| [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]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| &lt;br /&gt;
| Aug 6, 2022&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[ZX Spectrum]], [[Commodore 64]], [https://www.youtube.com/watch?v=5LwCy0gRAEc MSX (unreleased)]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEC|cpcec-gtk]] &lt;br /&gt;
| [https://bitbucket.org/norecess464/cpcec-gtk/]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| &lt;br /&gt;
| Feb 4, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCemu|CPCemu]] &lt;br /&gt;
| [http://www.cpc-emu.org/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 2.5&lt;br /&gt;
| Aug 13, 2022&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEPower|CPCEPower]] &lt;br /&gt;
| [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 2105&lt;br /&gt;
| Jun 4, 2021&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCSharp|CPCSharp]] &lt;br /&gt;
| [https://github.com/dolbz/CPCSharp/releases/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.0.0-beta1&lt;br /&gt;
| Apr 7, 2021&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPvC|CPvC]]&lt;br /&gt;
| [https://github.com/alybaek2/cpvc]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| &lt;br /&gt;
| Sep 30, 2022&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CrocoDS|CrocoDS]]&lt;br /&gt;
| [https://crazypiri.eu/crocods/] [https://github.com/redbug26/crocods Repo]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| 4.0 beta3&lt;br /&gt;
| Dec 10, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[DSP|DSP]]&lt;br /&gt;
| [https://github.com/leniad/dsp-emulator/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ⚠️&lt;br /&gt;
| 0.22&lt;br /&gt;
| Nov 15, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| [[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]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[ep128emu|ep128emu]]&lt;br /&gt;
| [https://github.com/istvan-v/ep128emu]&lt;br /&gt;
| ✅&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ⚠️&lt;br /&gt;
| 2.0.11.2&lt;br /&gt;
| Apr 19, 2019&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]], [[Enterprise]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[MESS|MAME]]&lt;br /&gt;
| [http://mamedev.org/release.html] [http://sdlmame.lngn.net/ macOS] [http://wiki.mamedev.org/index.php/SDL_Supported_Platforms Other ports] &lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 0.261&lt;br /&gt;
| Nov 29, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[NO$CPC|NO$CPC]]&lt;br /&gt;
| [http://problemkaputt.de/cpc.htm]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.8&lt;br /&gt;
| Nov 2, 2000&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[PC-CPC|PC-CPC]] &lt;br /&gt;
| [http://cpcrulez.fr/emulateurs_download-WIN-PC-CPC.htm] [https://github.com/DemoniakLudo/PC-CPC Repo]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 0.1at b29&lt;br /&gt;
| Nov 17, 2011&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Retro Virtual Machine|Retro Virtual Machine]]&lt;br /&gt;
| [https://www.retrovirtualmachine.org]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 2.1.11&lt;br /&gt;
| Nov 13, 2023&lt;br /&gt;
| ❌ Removed&lt;br /&gt;
| ✅&lt;br /&gt;
| [[ZX Spectrum]], [[MSX|MSX 1]], [[ColecoVision]], [[SG-1000]], [[Master System]]&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[Roland Emulator|Roland]] &lt;br /&gt;
| [https://www.rolandemu.de/en/downloads.html] [https://github.com/raldus/roland Repo]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| 0.70&lt;br /&gt;
| Apr 20, 2017&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Ronald|Ronald]] &lt;br /&gt;
| [https://github.com/mdm/ronald]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| &lt;br /&gt;
| Sep 25, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[SugarBox|SugarBox]]&lt;br /&gt;
| [https://github.com/Tom1975/SugarboxV2] [http://sugarbox.free.fr/ Old site]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 2.0.2&lt;br /&gt;
| Nov 29, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[VirtualCPC|Virtual CPC]] &lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-WIN-virtual_cpc.htm] [https://web.archive.org/web/20200112094913/http://users.otenet.gr/~sulfonic/cpc/ Archive] &lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.1&lt;br /&gt;
| Aug 8, 2011&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[WinApe|WinAPE]] &lt;br /&gt;
| [http://www.winape.net/] [https://www-ftp.lip6.fr/pub/amstrad/emulator/CPCWIN10.ZIP CPCwin]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 2.0b2&lt;br /&gt;
| Jan 5, 2016&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[WinCPC|WinCPC]] / [[MacCPC|MacCPC]]&lt;br /&gt;
| [http://www.wincpc.ch/index.php?topic=projects] [https://web.archive.org/web/20050409133618/http://www.easypoint.ch/vbcpc/ vbCPC]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| 0.9.2&lt;br /&gt;
| Jan 22, 2010&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[XCPC|Xcpc]]&lt;br /&gt;
| [https://www.xcpc-emulator.net/]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| 0.38.1&lt;br /&gt;
| Apr 8, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[XNACPC|XNACPC]]&lt;br /&gt;
| [http://www.gavpugh.com/2011/11/11/xnacpc-xbox-360-amstrad-cpc-emulator-released/] [https://www.gavpugh.com/old-code/ CPC3D]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.0&lt;br /&gt;
| Nov 11, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[YACE|YACE]]&lt;br /&gt;
| [http://www.youtube.com/watch?v=uxQkljwc0i4]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| &lt;br /&gt;
| Nov 12, 2014&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| ❌ Unreleased&lt;br /&gt;
|-&lt;br /&gt;
| [[ZEsarUX|ZEsarUX]]&lt;br /&gt;
| [https://github.com/chernandezba/zesarux]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| X&lt;br /&gt;
| Sep 8, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| [[PCW]], [[ZX Spectrum]], [[ZX80/81]], [[MSX|MSX 1]], [[ColecoVision]], [[Spectravideo]], [[Jupiter ACE]], [[Sam Coupe]], [[SG-1000]], [[Master System]], [[Sinclair QL]], [[MK14]], [[Z88]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Alternative OS ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! AmigaOS&lt;br /&gt;
! MorphOS&lt;br /&gt;
! Haiku&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[ACE_(Emulator)|ACE]]&lt;br /&gt;
| [http://ace.cpcscene.net/] [https://framagit.org/users/offset/projects Repo]&lt;br /&gt;
|&lt;br /&gt;
| v1.26 Jan 1, 2024&lt;br /&gt;
| v1.25.1 Oct 15, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware (plugins are Open Source)&lt;br /&gt;
|-&lt;br /&gt;
| [[AdvanceMAME|AdvanceMAME]]&lt;br /&gt;
| [https://depot.haiku-os.org/#!/pkg/advancemame_x86]&lt;br /&gt;
| v3.9-1 Feb 3, 2020&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnold|Arnold]]&lt;br /&gt;
| [http://hirudov.com/amiga/Arnold.php]&lt;br /&gt;
| v1.15 Dec 17, 2012&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[MESS|MESS]]&lt;br /&gt;
| [http://se.os4depot.net/index.php?function=showfile&amp;amp;file=emulation/computer/sdl_mess.lha] [http://fabportnawak.free.fr/mame/]&lt;br /&gt;
| v0.146u4 Aug 19, 2012&lt;br /&gt;
| v0.113 Nov 1, 2007&lt;br /&gt;
|&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Mobile ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[andcpc]]&lt;br /&gt;
| [http://code.google.com/p/andcpc/]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Apr 4, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[Azimuth]]&lt;br /&gt;
| [https://play.google.com/store/apps/details?id=johnidis.azimuth]&lt;br /&gt;
| 1.11&lt;br /&gt;
| Aug 22, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Adware and in-app purchases💲&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[CPCDroid]]&lt;br /&gt;
| [https://fmsdevel.wisecoding.es/cpcdroid-amstrad-cpc-on-android-phone-2/]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Mar 2, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[CPCemu|CPCemu]] &lt;br /&gt;
| [https://play.google.com/store/apps/details?id=com.loritznet.softwarecreations.cpcemu]&lt;br /&gt;
| 2.5&lt;br /&gt;
| Aug 14, 2022&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[Droid-CPC]]&lt;br /&gt;
| [http://play.google.com/store/apps/details?id=com.kokak.droidcpc]&lt;br /&gt;
| 1.1.01&lt;br /&gt;
| Dec 15, 2016&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Commercial💲&lt;br /&gt;
|-&lt;br /&gt;
| iOS&lt;br /&gt;
| [[CPCemu|CPCemu]]&lt;br /&gt;
| [http://www.cpc-emu.org/]&lt;br /&gt;
| 2.5&lt;br /&gt;
| Aug 13, 2022&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Software available on request&lt;br /&gt;
|-&lt;br /&gt;
| iOS&lt;br /&gt;
| [[CrocoDS]]&lt;br /&gt;
| [https://crazypiri.eu/crocods/] [https://github.com/redbug26/crocods-ios Repo]&lt;br /&gt;
| 2.1&lt;br /&gt;
| Jun 21, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Discontinued Operating Systems =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| Acorn RISC OS&lt;br /&gt;
| [[!CPC|!CPC]]&lt;br /&gt;
| [https://www-ftp.lip6.fr/pub/amstrad/emulator/CPC0728.ZIP] [http://ftp2.fr.openbsd.org/ftp/pub/amstrad/emulator/CPCS1124.ZIP]&lt;br /&gt;
| &lt;br /&gt;
| Jul 28, 1996&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Acorn RISC OS&lt;br /&gt;
| [[!CPCemu|!CPCemu]]&lt;br /&gt;
| [http://huggers-world.de/mops.html]&lt;br /&gt;
| 1.21&lt;br /&gt;
| Mar 22, 2016&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS m68k&lt;br /&gt;
| [[A-CPC|A-CPC]]&lt;br /&gt;
| [https://cpctech.cpcwiki.de/download/a-cpc.lha]&lt;br /&gt;
| 2.0&lt;br /&gt;
| Mar 30, 2002&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS m68k&lt;br /&gt;
| [[Ami-cpc|Ami-cpc]]&lt;br /&gt;
| [http://deplanque.chez.com/] [http://deplanque.chez.com/download_fr.html Ami-cpc2]&lt;br /&gt;
| 0.46&lt;br /&gt;
| Jan 21, 1998&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS m68k&lt;br /&gt;
| [[CPE|CPE]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-AMIGA-CPE.htm]&lt;br /&gt;
| &lt;br /&gt;
| Feb 24, 1995&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS m68k&lt;br /&gt;
| [[Emu-CPC|EmuCPC]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-AMIGA-emucpc.htm]&lt;br /&gt;
| 0.7&lt;br /&gt;
| Sep 15, 1996&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| BlackBerry OS&lt;br /&gt;
| [[BB-CPC|BB-CPC]]&lt;br /&gt;
| [http://appworld.blackberry.com/webstore/content/30963891/] (dead link)&lt;br /&gt;
| 1.0.1.3&lt;br /&gt;
| Jul 15, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Commercial💲&lt;br /&gt;
|-&lt;br /&gt;
| Classic Mac OS&lt;br /&gt;
| [[CPCplusplus|CPC++]]&lt;br /&gt;
| [http://bricerive.free.fr/cpc/cpcpp.html]&lt;br /&gt;
| 1.3.2&lt;br /&gt;
| Oct 6, 1997&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Shareware💲&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[AdvanceMESS|AdvanceMESS]]&lt;br /&gt;
| [https://www.advancemame.it/readme]&lt;br /&gt;
| 3.9&lt;br /&gt;
| Sep 8, 2018&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[Arnimedes|Arnimedes]]&lt;br /&gt;
| [http://www.arnimedes.de/]&lt;br /&gt;
| 0.8a&lt;br /&gt;
| Apr 15, 2000&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[Caprice32]] &lt;br /&gt;
| [https://ftp.nvg.ntnu.no/pub/cpc/emulator/msdos/capriced.zip]&lt;br /&gt;
| 1.11&lt;br /&gt;
| Sep 20, 1999&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPC]] &lt;br /&gt;
| [https://www-ftp.lip6.fr/pub/amstrad/emulator/CPC055B.ZIP]&lt;br /&gt;
| 0.55b&lt;br /&gt;
| May 16, 1997&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPC-em|CPC-em]] &lt;br /&gt;
| [http://cpc-em.emuunlim.com/]&lt;br /&gt;
| 0.4&lt;br /&gt;
| Jul 7, 2004&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPCE|CPCE]]&lt;br /&gt;
| [http://cngsoft.no-ip.org/cpce/]&lt;br /&gt;
| 1.94&lt;br /&gt;
| Jun 2, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPCemu|CPCemu]]&lt;br /&gt;
| [http://www.cpc-emu.org/]&lt;br /&gt;
| 1.5&lt;br /&gt;
| Jul 7, 1998&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPE|CPE]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-DOS-CPE.htm]&lt;br /&gt;
| 5.2&lt;br /&gt;
| Apr 21, 1997&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[NO$CPC|NO$CPC]]&lt;br /&gt;
| [http://problemkaputt.de/cpc.htm]&lt;br /&gt;
| 1.8&lt;br /&gt;
| Nov 2, 2000&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[PC-CPC|PC-CPC]] &lt;br /&gt;
| [http://deplanque.chez.com/download_fr.html]&lt;br /&gt;
| &lt;br /&gt;
| Feb 3, 1998&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPCEMU (RWCPC)|RWCPC]]&lt;br /&gt;
| [https://www-ftp.lip6.fr/pub/amstrad/emulator/RWCPC.ZIP]&lt;br /&gt;
| &lt;br /&gt;
| Mar 23, 1995&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[SIMCPC|SIMCPC]]&lt;br /&gt;
| [https://www-ftp.lip6.fr/pub/amstrad/emulator/SIMCPC.ZIP]&lt;br /&gt;
| &lt;br /&gt;
| Dec 10, 1989&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Shareware💲&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[YAGE|YAGE]]&lt;br /&gt;
| [https://www.zophar.net/cpc/yage.html]&lt;br /&gt;
| 0.91&lt;br /&gt;
| Oct 24, 1998&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| EXOS&lt;br /&gt;
| [[Software CPC Emulator|Software CPC Emulator]]&lt;br /&gt;
| [http://www.ep128.hu/Ep_Util/Prg/Amstrad_CPC_Emulator_13.rar] [http://www.ep128.hu/Ep_Util/Amstrad_CPC_emu.htm]&lt;br /&gt;
| 1.3&lt;br /&gt;
| Jan 11, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Maemo&lt;br /&gt;
| [[CPCm]]&lt;br /&gt;
| [http://maemo.org/downloads/product/Maemo5/cpcm/]&lt;br /&gt;
| 1.20-1&lt;br /&gt;
| Apr 27, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| MSX-DOS&lt;br /&gt;
| [[EMU6CPC|EMU6CPC]]&lt;br /&gt;
| [http://romu6.blogspot.com/2018/12/emu6cpc-emulador-de-amstrad-cpc-6128.html]&lt;br /&gt;
| &lt;br /&gt;
| Dec 17, 2018&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Palm OS&lt;br /&gt;
| [[CaPriCe for Palm OS|CaPriCe for Palm OS]]&lt;br /&gt;
| [https://web.archive.org/web/20230127143354/https://coste.frederic.free.fr/cpc/cpc_en.htm]&lt;br /&gt;
| 2.8&lt;br /&gt;
| Jun 28, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Palm OS&lt;br /&gt;
| [[CoPaCabana|CoPaCabana]]&lt;br /&gt;
| [http://copacabana.emuunlim.com/]&lt;br /&gt;
| 0.75&lt;br /&gt;
| Dec 4, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Pocket PC&lt;br /&gt;
| [[CaPriCe|PocketCaprice]]&lt;br /&gt;
| [https://web.archive.org/web/20160506010209/http://www.clubic.com/telecharger-fiche44888-pocketcaprice.html]&lt;br /&gt;
| 0.9&lt;br /&gt;
| Aug 19, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| SunOS&lt;br /&gt;
| [[CPCplusplus|CPC++]]&lt;br /&gt;
| [http://bricerive.free.fr/cpc/cpcpp.html]&lt;br /&gt;
| 1.3.0&lt;br /&gt;
| Feb 22, 1997&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Shareware💲&lt;br /&gt;
|-&lt;br /&gt;
| Symbian&lt;br /&gt;
| [[S60-CPC|S60-CPC]]&lt;br /&gt;
| [http://kokak.free.fr/s60cpc.htm]&lt;br /&gt;
| 0.74&lt;br /&gt;
| Feb 21, 2006&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Windows 9x&lt;br /&gt;
| [[CPC-em|CPC-em]] &lt;br /&gt;
| [http://cpc-em.emuunlim.com/]&lt;br /&gt;
| 0.3&lt;br /&gt;
| Jan 22, 2004&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Windows 9x&lt;br /&gt;
| [[MTMW|MTMW]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-WIN-MTMW.htm]&lt;br /&gt;
| 1.30B&lt;br /&gt;
| Jan 11, 2000&lt;br /&gt;
| ✅&lt;br /&gt;
| [[ZX Spectrum]], [[ZX80/81]], [[Enterprise]], [[Jupiter ACE]]&lt;br /&gt;
| Freeware&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Home Consoles =&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| Microsoft XBOX&lt;br /&gt;
| [[Arnold|ArnoldX]]&lt;br /&gt;
| [https://web.archive.org/web/20120705163939/http://forums.xbox-scene.com/index.php?showtopic=711667] [https://cpcrulez.fr/emulateurs_download-XBOX-ARNOLDX.htm]&lt;br /&gt;
| v5&lt;br /&gt;
| Apr 20, 2010&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Microsoft XBOX&lt;br /&gt;
| [[CoinOPS|CoinOPS (RetroFE)]]&lt;br /&gt;
| [https://web.archive.org/web/20160518183115/https://coinopsproject.freeforums.org/viewtopic.php?f=0&amp;amp;t=1213]&lt;br /&gt;
| 5&lt;br /&gt;
| Oct 18, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| Lots of other computer systems&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Microsoft Xbox 360&lt;br /&gt;
| [[XNACPC|XNACPC]]&lt;br /&gt;
| [http://www.gavpugh.com/2011/11/11/xnacpc-xbox-360-amstrad-cpc-emulator-released/]&lt;br /&gt;
| 1.0&lt;br /&gt;
| Nov 11, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo Wii&lt;br /&gt;
| [[Wiituka|Wiituka]]&lt;br /&gt;
| [http://wiituka.dantoine.org/]&lt;br /&gt;
| 0.98.8&lt;br /&gt;
| May 15, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Sega Dreamcast&lt;br /&gt;
| [[CPCast|CPCast]]&lt;br /&gt;
| [http://www.dcemu.co.uk/vbulletin/showthread.php?t=24100]&lt;br /&gt;
| &lt;br /&gt;
| May 6, 2006&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Sega Dreamcast&lt;br /&gt;
| [[DreamCPC|DreamCPC]]&lt;br /&gt;
| [https://www.jm1200.fr/index.php?r=2]&lt;br /&gt;
| Alpha 3&lt;br /&gt;
| Oct 16, 2005&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Sony PS2&lt;br /&gt;
| [[CPC-em|CPC-em]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-ps2-CPC-EM.htm]&lt;br /&gt;
| 0.4&lt;br /&gt;
| Dec 22, 2004&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Sony PS3&lt;br /&gt;
| [[Caprice32|Caprice32]]&lt;br /&gt;
| [https://web.archive.org/web/20171003153204/http://psx-scene.com/forums/content/caprice32-4-1-0-dbg-emulator-ps3-2119/]&lt;br /&gt;
| 4.1.0 DBG&lt;br /&gt;
| Apr 9, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Handheld Consoles =&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 and OpenDingux'''. Or you can use these stand-alone CPC emulators:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| Dingoo A320 / A330&lt;br /&gt;
| [[Pituka|Pituka Dingux]]&lt;br /&gt;
| [http://david.dantoine.org/proyecto/4/]&lt;br /&gt;
| 0.8pre&lt;br /&gt;
| Aug 19, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Dingoo A320 / A330&lt;br /&gt;
| [[Caprice|Dingux-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/105-Amstrad/]&lt;br /&gt;
| 1.1.2&lt;br /&gt;
| Oct 17, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark Caanoo&lt;br /&gt;
| [[Caprice|Caanoo-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/165-Amstrad/]&lt;br /&gt;
| 1.1.3&lt;br /&gt;
| Apr 24, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark GP2x&lt;br /&gt;
| [[Caprice|CapriceGP2x]]&lt;br /&gt;
| [https://web.archive.org/web/20130315195529/http://wiki.gp2x.org/wiki/CapriceGP2x]&lt;br /&gt;
| 0.5&lt;br /&gt;
| Feb 22, 2006&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark GP2x&lt;br /&gt;
| [[Caprice|GP2X-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/42-Amstrad/]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Aug 29, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark GP32&lt;br /&gt;
| [[Pituka|Pituka GP32]]&lt;br /&gt;
| [http://david.dantoine.org/proyecto/4/]&lt;br /&gt;
| 1d&lt;br /&gt;
| May 15, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark Wiz&lt;br /&gt;
| [[Caprice|Wiz-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/89-Amstrad/]&lt;br /&gt;
| 1.1.0&lt;br /&gt;
| Aug 29, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GCW Zero&lt;br /&gt;
| [[Caprice|Dingux-CAP32]]&lt;br /&gt;
| [https://github.com/kerheol/dingux-cap32]&lt;br /&gt;
| 1.1.2&lt;br /&gt;
| May 25, 2014&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| JXD S5110 / S601 &amp;amp; Yinlips G18&lt;br /&gt;
| [[Caprice|JXD-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/206-Amstrad/]&lt;br /&gt;
| 1.1.1&lt;br /&gt;
| Oct 27, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo DS&lt;br /&gt;
| [[AmeDS|AmeDS]] &lt;br /&gt;
| [https://web.archive.org/web/20131021073302/http://www.portabledev.com/pages/ds/jeuxdev.-perso/ameds.php]&lt;br /&gt;
| 4.0&lt;br /&gt;
| Apr 25, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo DS&lt;br /&gt;
| [[CrocoDS|CrocoDS]]&lt;br /&gt;
| [http://www.kyuran.be/blog/2007/11/09/crocods-20-2/] [https://github.com/redbug26/crocods-nds Repo]&lt;br /&gt;
| 2.0&lt;br /&gt;
| Nov 9, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo GameBoy Advance&lt;br /&gt;
| [[Mini Amstrad Emulator|Mini Amstrad Emulator]] &lt;br /&gt;
| [https://playeradvance.org/forum/showthread.php?t=765]&lt;br /&gt;
| &lt;br /&gt;
| Dec 26, 2005&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Odroid GO&lt;br /&gt;
| [[CapriceESP32|CapriceESP32]] &lt;br /&gt;
| [https://github.com/grantrismo/CapriceESP32]&lt;br /&gt;
| &lt;br /&gt;
| Dec 3, 2020&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| OpenDingux&lt;br /&gt;
| [[CrocoDS|CrocoDS]]&lt;br /&gt;
| [https://crazypiri.eu/crocods/] [https://github.com/redbug26/crocods Repo]&lt;br /&gt;
| &lt;br /&gt;
| Jan 15, 2020&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Pandora&lt;br /&gt;
| [[Caprice|Pandora-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/131-Amstrad/]&lt;br /&gt;
| 1.1.0&lt;br /&gt;
| Jun 27, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Sony PSP&lt;br /&gt;
| [[Caprice32 PSP]]&lt;br /&gt;
| [http://psp.akop.org/caprice32]&lt;br /&gt;
| 4.2.0.2&lt;br /&gt;
| Nov 28, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Sony PSP&lt;br /&gt;
| [[CPCPSP|CPCPSP]]&lt;br /&gt;
| [https://web.archive.org/web/20130325143915/http://dl.qj.net/psp/emulators/cpcpsp-v01.html]&lt;br /&gt;
| 0.1&lt;br /&gt;
| Dec 24, 2005&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Sony PSP&lt;br /&gt;
| [[PSPCAP32|PSPCAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/3-Amstrad/]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Aug 21, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Trimui Model S&lt;br /&gt;
| [[Arnold|Arnold Trimui]]&lt;br /&gt;
| [https://github.com/liartes/arnold_gcw0]&lt;br /&gt;
| &lt;br /&gt;
| Oct 19, 2021&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Single-Board Computers / Raspberry Pi =&lt;br /&gt;
&lt;br /&gt;
[https://www.libretro.com/index.php/powered-by-libretro/ LibRetro / RetroArch] is used as the foundation of [https://www.lakka.tv/ Lakka], [https://wiki.recalbox.com/en/advanced-usage/retroarch Recalbox], [https://batocera.org/ Batocera] and [https://retropie.org.uk/ RetroPie] alternative OSes for the Raspberry Pi and other SBC.&lt;br /&gt;
But you can also use [https://www.retroarch.com/index.php?page=platforms RetroArch] for Amstrad CPC emulation on a stock Raspberry Pi OS. Or you can use these stand-alone CPC emulators:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[CPC4Rpi|#CPC4Rpi]]&lt;br /&gt;
| [https://web.archive.org/web/20150321200308/http://store.raspberrypi.com/projects/cpc4rpi]&lt;br /&gt;
| 1.1&lt;br /&gt;
| Dec 19, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Commercial💲&lt;br /&gt;
|-&lt;br /&gt;
| [[CapriceRPI|CapriceRPI]]&lt;br /&gt;
| [https://github.com/KaosOverride/CapriceRPI]&lt;br /&gt;
| 1.3d&lt;br /&gt;
| Feb 28, 2016&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Clock Signal|Clock Signal]] &lt;br /&gt;
| [https://snapcraft.io/install/clock-signal/raspbian]&lt;br /&gt;
| &lt;br /&gt;
| Dec 28, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]], [[ZX80/81]], [[Enterprise]], [[MSX]], [[Oric 1/Atmos|Oric]], [[ColecoVision]], [[Acorn Electron]], [[Apple II]], [[VIC-20]], [[Atari 2600]], [[Atari ST]], [[Macintosh]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEPower|CPCEPower]] &lt;br /&gt;
| [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73]&lt;br /&gt;
| 2105&lt;br /&gt;
| Jun 4, 2021&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[MESS|MAME]]&lt;br /&gt;
| [https://stickfreaks.com/mame/]&lt;br /&gt;
| 0.261&lt;br /&gt;
| Nov 29, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[SugarPi|SugarPi]]&lt;br /&gt;
| [https://github.com/Tom1975/SugarPi]&lt;br /&gt;
| 1.2.0&lt;br /&gt;
| Feb 3, 2021&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[ZEsarUX|ZEsarUX]]&lt;br /&gt;
| [https://github.com/chernandezba/zesarux]&lt;br /&gt;
| X&lt;br /&gt;
| Sep 8, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| [[PCW]], [[ZX Spectrum]], [[ZX80/81]], [[MSX|MSX 1]], [[ColecoVision]], [[Spectravideo]], [[Jupiter ACE]], [[Sam Coupe]], [[SG-1000]], [[Master System]], [[Sinclair QL]], [[MK14]], [[Z88]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Hardware =&lt;br /&gt;
&lt;br /&gt;
*[[CPC TREX|CPC TREX]] [[C-ONE|CPC-ONE]] TurboCPC core running on a FPGA board&lt;br /&gt;
*[http://ralferoo.blogspot.fr/ CPC FPGA] CPC emulation running on a custom made FPGA board&lt;br /&gt;
*[[FPGAmstrad|FPGAmstrad]] [https://github.com/renaudhelias/CoreAmstrad CoreAmstrad] [https://github.com/mist-devel/mist-board/wiki/CoreDocAmstrad CoreDocAmstrad] [https://github.com/mist-devel/mist-binaries/tree/master/cores/amstrad_alt CPC for MIST and MISTer] Translation of JavaCPC from Java into VHDL on a MiST board&lt;br /&gt;
*[https://intelligenttoasters.blog/cpc2-project-index/ CPC2 Project] CPC emulation running on a Cyclone V FPGA board&lt;br /&gt;
*[https://github.com/rpsubc8/ESP32TinyCPC/ ESP32 TinyCPC] Port from CPC-em emulator to TTGO VGA32 v1.x board with ESP32&lt;br /&gt;
*[https://github.com/codedchip/AMSGateArray AMSGateArray] Reverse engineered Gate Array from decapped chips&lt;br /&gt;
*[[SDiskEmul]] Floppy-drive emulator released in 2007. Abandoned now. Supports DSK, EDSK disk-images&lt;br /&gt;
*[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]&lt;br /&gt;
*[https://github.com/keirf/flashfloppy/ FlashFloppy] Open source floppy-drive emulator for the ubiquitous Gotek hardware. Supports DSK, EDSK, HFE disk-images&lt;br /&gt;
*[https://cpcrulez.fr/forum/viewtopic.php?f=5&amp;amp;t=100&amp;amp;start=690#p55437 Pauline] FPGA-based floppy-drive dumper and emulator&lt;br /&gt;
*[https://hobbyretro.com/en/retro/tzxduino TZXduino] Arduino-based tape deck emulator. Supports many formats of tape-images including CDT and TZX&lt;br /&gt;
*[https://pelrun.github.io/PlayUEF/ PlayUEF] Web-browser based tape deck emulator, supporting CDT and TZX tape-images&lt;br /&gt;
*[https://github.com/dasta400/ACPCPE Amstrad CPC Printer Emulator] Arduino-based CPC printer emulator&lt;br /&gt;
&lt;br /&gt;
= Mass-storage =&lt;br /&gt;
Emulator support for mass-storage expansions is as follows:&lt;br /&gt;
*[[Dobbertin Harddisc]] is emulated by MAME&lt;br /&gt;
*[[UIDE Universal IDE adapter cards for Z-80 computers|uIDE]] is emulated by Arnold&lt;br /&gt;
*[[Symbiface II]] IDE/PATA interface or compatible ([[X-Mass]], [https://github.com/salafek/cyboard-for-cpc Cyboard]) is emulated by ACE, Caprice Forever, MAME, WinAPE, WinCPC, Arnold, Virtual CPC&lt;br /&gt;
*[[Albireo]] is emulated by ACE, Caprice Forever&lt;br /&gt;
*[[M4 Board]] is emulated by CPCemu&lt;br /&gt;
*[[Vortex Winchester Drive]], [[ULIfAC|USIfAC / ULIfAC]] and [[Symbiface 3|Symbiface3 / RSF3]] are not supported by emulators&lt;br /&gt;
&lt;br /&gt;
= CPC cartridge slot =&lt;br /&gt;
Emulator support for a CPC cartridge slot is as follows:&lt;br /&gt;
*[[Dandanator]] brings a non-standard physical cartridge port and a very exotic non-standard memory mapper that spies on Z80 instructions (sacrificing compatibility without any justification). It is emulated by ACE, Retro Virtual Machine, CPCEC, ZEsarUX, DSP&lt;br /&gt;
*[[Plus2CPC]] brings a standard physical Plus cartridge port to the CPC. It is not supported by emulators&lt;br /&gt;
*[[Play2CPC]] is an evolution of the [[Plus2CPC]], adding RMR2 Plus mapping, R/W cartridge support, CRTC cursor raster interrupt and a 3-channel soundchip conforming to the [[PlayCity]] base spec. Play2CPC is emulated by ACE&lt;br /&gt;
*[[M4 Board]] simulates a standard Plus cartridge port on the CPC and handles standard CPR files. M4 Board is emulated by CPCemu&lt;br /&gt;
&lt;br /&gt;
= Audio devices =&lt;br /&gt;
Emulator support is as follows:&lt;br /&gt;
*[[Amstrad SSA-1 Speech Synthesizer|SSA-1 speech synthesizer]] is emulated by ACE, Caprice Forever, JavaCPC, MAME&lt;br /&gt;
*[[Dk'tronics Speech Synthesizer|Dk'Tronics speech synthesizer]] is emulated by ACE, Caprice Forever, JavaCPC, MAME&lt;br /&gt;
*[[TMPI speech synthesizer|Techni-Musique speech synthesizer]] is emulated by ACE, Caprice Forever&lt;br /&gt;
*[[Amdrum]] is emulated by ACE, JavaCPC, MAME, WinAPE&lt;br /&gt;
*[[Digiblaster]] is emulated by ACE, Caprice Forever, JavaCPC, MAME, WinAPE, CPCEC, CPCEPower, WinCPC, Virtual CPC&lt;br /&gt;
*[[PlayCity]] is fully emulated by ACE, MAME, Arnold, SugarBox. The audio part of [[PlayCity]] is emulated by Caprice Forever, JavaCPC, CPCEC&lt;br /&gt;
*[[Play2CPC]] implements the PlayCity base spec (aka Arcade Sound System). It has one additional soundchip instead of two and no CTC chip. It is emulated by ACE&lt;br /&gt;
*[[Willy|Willy OPL3]] is emulated by ACE&lt;br /&gt;
*[[Willy|Willy MIDI]] is emulated only by ACE for Haiku&lt;br /&gt;
*[[Music Machine]], [https://github.com/lambdamikel/Speak-SID Speak&amp;amp;SID], [https://github.com/lambdamikel/LambdaSpeak3 LambdaSpeak], [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/amsdap-amstrad-msx-adapter-connecting-any-msx-io-hardware-to-the-cpc/ Amsdap (SE-One, Moonsound, etc...)] are not supported by emulators&lt;br /&gt;
&lt;br /&gt;
= Rewind feature =&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
At the moment, 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.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= Emulator accuracy checking tools =&lt;br /&gt;
== Quick evaluation==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;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]]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19308 DSC #4 demo] with reference images (CRTC 1): [[Media:DSC4 reference1.png]] [[Media:DSC4 reference2.png]]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7737 Camembert 4 demo] with reference images (CRTC 0/1/3/4): [[Media:Camembert-real.jpg]] [[Media:Camembert 4 Pixel Precise.jpg]]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9029 BSC7 Interlace demo] with reference image (CRTC 0/2/3/4): [[Media:BSC7 reference.png]]&lt;br /&gt;
&lt;br /&gt;
== Z80 CPU ==&lt;br /&gt;
*[https://cpcrulez.fr/applications_util-zexall.htm ZEXALL (CP/M)] [https://cpcrulez.fr/applications_util-zexdoc.htm ZEXDOC (CP/M)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12883 Z80 Full Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12881 Z80 Doc Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12882 Z80 Flags Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12880 Z80 Doc Flags Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12884 Z80 MEMPTR Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12879 Z80 CCF Test] Z80 CPU instruction set exercisers&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=298 Arkanoid (using Z80 Interrupt Mode 2)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=427 L'anneau de Zengara (using Z80 register R)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1299 Light Corridor (Z80 useless instruction prefixes)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=735 Dogsbody (accessing non-standard I/O ports)]&lt;br /&gt;
*[https://wikiti.brandonw.net/?title=Z80_Instruction_Set Z80 instruction set] [https://zx-pk.ru/attachment.php?attachmentid=2989&amp;amp;d=1143656567 Z80 MEMPTR (aka WZ) internal register] [https://github.com/hoglet67/Z80Decoder/wiki/Undocumented-Flags Even weirder Z80 behaviour] [https://zxe.io/software/Z80/documentation/latest/Thanks.html To get to the bottom of it] [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/z80-cpu-nmos-or-cmos/ Z80 is always NMOS on CPC and Plus] How the Z80 behaves&lt;br /&gt;
*[https://floooh.github.io/2021/12/06/z80-instruction-timing.html Z80 T-state timings] [https://baltazarstudios.com/zilog-z80-undocumented-behavior/ Other source about T-state timings] Ultra accurate timing behaviour&lt;br /&gt;
&lt;br /&gt;
== Diagnostics ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5113 Official Amstrad CPC hardware diagnostics] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17932 Non-official Amstrad Diagnostics] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6545 STS SysInfo] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=test%crtc%v Tests CRTC type] [http://cpc.sylvestre.org/technique/technique_identifier_crtc.html Identifying CRTC visually]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6987 RAM Expansion Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14833 MemTest] [https://www.cpc-power.com/index.php?page=detail&amp;amp;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&amp;amp;num=15739 RAM Check] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13386 Testprogram For All ERAM] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19185 Xenon 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12188 Take On Me] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14339 Trololo Experiments] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19406 Still The One] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16084 Post Scriptum] [https://cpcrulez.fr/info-chany-enhanced_edition.htm Chany 512K cracks] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=151 Expanded RAM software list] RAM exercisers&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15975 FutureOS] [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/464-and-ram-extension/ Behaviour of RAM mode &amp;amp;C3] [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/upgrading-a-cpc-464-in-2022/ More on the issue] RAM expansion bug on CPC464/664&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=135 Batman The Movie] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2318 Turrican] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=80 Technical explanation] CPC keyboard clash&lt;br /&gt;
*[https://www.cpcwiki.eu/forum/emulators/amstrad-cpc-'acid'-test/ &amp;quot;Acid&amp;quot; test suite] [https://cpctech.cpcwiki.de/download/test.zip] [http://ace.cpcscene.net/tests:arnold_test_suite Tests results in ACE] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17738 PPI tests] Chips tests by arnoldemu&lt;br /&gt;
*[http://www.winape.net/downloads.jsp Plus Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15242] CPC and CPC+ Emulator test suite (including Instruction and Interrupt timing tests)&lt;br /&gt;
&lt;br /&gt;
== Amstrad Plus ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9627 Official Plus diagnostics cartridge] [[File:Roudoudou CPR tests.zip]] [https://www.cpcwiki.eu/forum/emulators/amstrad-cpc-'acid'-test/75/] Plus testing tools&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8308 4096 Colors Preview] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7407 CPC+ First Demo]  [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8443 Simply The Bests] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7411 ASM Intro 1] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18789 Veteran] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9472 Revival'n Impact coop] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3959 Fluff] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3622 Space Gun] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1682 Prehistorik 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3575 No Exit] ASIC effects&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3788 Frogger] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4721 Rick Dangerous 6128+] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17818 La culotte de Zelda] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12013 Flappy Rulez] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13363 Picrocs] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14639 Sudoplus] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15142 Ghosts'n Goblins] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18946 Goldorak Versus] Homebrews&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8874 6128 Plus Dma] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14939 Eerie Forest] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14940 CRTC3] [https://cpcrulez.fr/demostestDO_fairy-breakpoint_2010.htm Fairy] [https://soundtrackerdma.cpcscene.net/doku.php?id=en:download Soundtracker DMA] To test DMA and to compare the PSG output with the output from a real Amstrad Plus&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18016 Bulles] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7532 X-Mas 2008] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8588 Synergy] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7410 Mir Station] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13142 BarBar] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7530 Delirium Tremens] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9169 Funerapolis] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7935 Sappy] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19239 USS Cygnus 192] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17979 GX8K] To test hardware sprites emulation&lt;br /&gt;
&lt;br /&gt;
== Colorimetry ==&lt;br /&gt;
*[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&lt;br /&gt;
*Major difference in colorimetry between the real Amstrad CTM644 display and emulators display:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Border 8 - real CPC display.png|Border 8 on real CPC&lt;br /&gt;
Border 8 - real Plus display.png|Border 8 on real Plus&lt;br /&gt;
Border 8 - emulator display.png|Border 8 on emulators&lt;br /&gt;
Palette - real CPC.png|Palette on real CPC&lt;br /&gt;
Palette - real Plus.png|Palette on real Plus&lt;br /&gt;
Palette - emulator.png|Palette on emulators&lt;br /&gt;
True CTM colorimetry.png|Colorimetry on real CPC&lt;br /&gt;
CTM Emulator Shader colorimetry.png|Colorimetry on emulators&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Graphics ==&lt;br /&gt;
*[https://shaker.logonsystem.eu/ Shakerland] Ultra accurate CRTC documentation and its associated CPC testing tool&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8524 Equalizor] [https://forum.system-cfg.com/viewtopic.php?p=229698#p229698 Revolog] [https://forum.system-cfg.com/viewtopic.php?f=24&amp;amp;t=11535&amp;amp;start=285 Technical explanation] Unpredictable behaviour of the real CRTC type 1 chip. We can classify these behaviours as CRTC types 1a and 1b&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12906 HSYNC test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16466 Split-Rasters Test CRTC1] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15519 Les split-rasters] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=cote%gamers Côté Gamers] [https://www.cpc-power.com/index.php?page=detail&amp;amp;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&amp;amp;num=15280 CRTC software] CRTC testing tools&lt;br /&gt;
*[http://logon.system.free.fr/down/shaker_addon.dsk Pixel 1 Horizontal Hard Scroll for all CRTCs] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9102 Vertical Hard Scroll 100%] [https://cpcrulez.fr/coding_src-demo-smooth_crtc_register_3_scrolling_test.htm Smooth CRTC Register 3 scrolling test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1949 Skate Wars] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1211 Jinks] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=68 Out of this World] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=159 Killer Cobra] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10465 Edge Grinder] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10072 Relentless] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1982 Warhawk] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=99 Mission Genocide] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1028 Axys] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15809 Red Sunset] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18843 Hyperdrive] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=974 Ghosts'n Goblins] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1290 Legend of Kage] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1698 Profanation] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2119 Super Cauldron] Smooth CRTC R3/R5 hardware scrolling&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7514 BSC 91] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8772 Voyage 1993] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7751 OVL '96] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7662 Byte 98] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8623 Unique] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7910 Paradise] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8621 Power System] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8875 Prodatron] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7744 Longshot] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7668 Amazing] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7479 Madness] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8259 Chany Dream End] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8615 Welcom-X 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7591 S&amp;amp;Koh] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8041 Other World 3] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7648 Big'O Full'O Dem'O] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7765 Not Dead] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7543 Odyssey] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7736 Croco Chanel] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7828 Tire Au Flan]  Early demos, so they were developed without CPC emulator bias&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2799 Battro] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15298 Still Scrolling] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15102 PhX] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9181 Bloc Us] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9248 Wake Up] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19313 Stand Up] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9589 Yet Another Plasma] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14225 Logon's Run] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9970 Still Rising] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=onescreen Onescreen Colonies] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16067 Gloire à Piou] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7729 DTC] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12683 Points Barres] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16068 Octopus Pocus] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18794 FMR CPC] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8552 Synergy 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15209 Scroll Factory] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19024 The One] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7728 DemoIzArt] CRTC effects&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=76 Les Mondes Parallèles] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=66 Paranoia] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=78 Molecularr 2] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=megablasters Megablasters] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12649 Quadraster] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2369 Groops] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3963 Sudoku Master] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10009 Overkoban] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17786 Prince Dastan Sokoban Within] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17610 Deva Drifter] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17197 Hexavirus v0] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15985 A tribute to the sisters] True overscan games&lt;br /&gt;
*[https://www.cpcwiki.eu/forum/programming/mode-3/ Mode 3 Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12905 &amp;quot;Mode 5&amp;quot; Viewer] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18680 Pixel Free] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14259 Test interlace color] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13136 Interlace viewer] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7701 Climax] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13139 Perfect Pix Paint] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13359 Imperial Mahjong] Special graphics modes&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16027 Mire] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16722 Mir'Color] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7826 Climax-G] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7937 Fatal Beauties] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8307 4 Sins] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7897 Twinblast] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8081 MCS 6] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7593 Schadel] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2224 Thunder Blade] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2318 Turrican] To test the VDU&lt;br /&gt;
&lt;br /&gt;
== Peripherals ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=hardware_magnum Magnum Light Phaser] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3583 SkeetShoot] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3584 The Enforcer] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3992 Dk'Tronics Light Pen] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4955 Light Pen Mark II] To test lightguns and lightpens connected to expansion port&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=hardware_phaser_loriciels West Phaser] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=hardware_gunstick Gunstick] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4303 Trojan LP-1] To test lightguns and lightpens connected to joystick port&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=SSA-1 SSA-1 software list] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=DK%27Tronics%20Speech%20Synthesizer Dk'Tronics software list] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=TMPI%20speech%20synthesizer TMPI software list] To test speech synthesizers emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7535 Digital Orgasm] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=Digitracker Digitracker] [[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&amp;amp;lemot=Amdrum Amdrum] To test [[Digiblaster]] and [[Amdrum]] soundcards emulation&lt;br /&gt;
*[[SymAmp]] [https://framagit.org/shinra/vgmplay VGMplay] [http://www.roudoudou.com/ACE-DL/ 4200 VGM musicfiles pack] [https://github.com/lambdamikel/BluePillCPC/tree/main/cpc/s2p BluePillCPC] To test [[Willy]] OPL3 and MIDI emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12589 ProText] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4670 ProSpell] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4668 ProPrint] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5551 Impr'Image] To test printer emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4012 Advanced OCP Art Studio] To test [[AMX Mouse|AMX]] and [[Kempston Mouse|Kempston mouse]] emulation&lt;br /&gt;
*[[HDCPM]] [[UniDOS]] [http://www.roudoudou.com/ACE-DL/ UniLOAD 60MB archive] [http://www.roudoudou.com/ACE-DL/ SymbOS 45MB disk-image] To test mass-storage, RTC and modern mouse (scroll wheel) emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12972 X-MEM FW] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19236 CatRun] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18901 CowSay] [http://impdraw.wikidot.com iMPsuite] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=11578 GOS+] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6353 Utopia] To test ROMboard emulation&lt;br /&gt;
*[https://abalore.com/alcon2020.html Alcon 2020] [[Converted GX4000 Software]] To test the [[Play2CPC]] emulation&lt;br /&gt;
*[http://theswordofianna.retroworks.es/ The Sword of Ianna] [http://retroworks.es/php/game_en.php?id=11 Brunilda] [http://www.dandare.es/Proyectos_Dandare/Descargas.html MojonTwins romset] To test the [[Dandanator]] emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=protection&amp;amp;lenom=Multiface%202%20Protection Anti-Multiface II software list] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1980 War in Middle Earth] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1322 Zap't'Balls advanced] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5266 The Insider] To test [[Multiface II]] emulation&lt;br /&gt;
&lt;br /&gt;
== Copy-protection ==&lt;br /&gt;
*[https://cpctech.cpcwiki.de/download/fdctest.zip FDC test suite] [https://cpctech.cpcwiki.de/download/drivetest.zip Disk drive tests] [https://cpctech.cpcwiki.de/download/cdttst.zip CDT/TZX test suite for emulators] Set of tests by arnoldemu&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5002 Tape Head Azimuth] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4194 Ultra Son] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10475 Soft-Lok] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4718 Bonzo Super Meddler] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5059 SpeedTrans] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5803 Transformateur] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6057 Deconnect] [https://www.cpc-power.com/index.php?page=protection&amp;amp;lenom=NoAMSDOS NoAMSDOS software list] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3871 Computer Hits] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1359 Marmelade] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1412 Mickey Mouse] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=83 Astro Marine Corps] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=773 Druid] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10585 Breaking Baud] To test Tape emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19368 FatMag 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9211 Backtro] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7405 5KB 3] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8746 The Demo] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13108 CPC 30th Anniversary] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7542 Midline Process] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17902 Can Robots Take Control] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10030 Phortem] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9156 Batman Forever] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16736 Pinball Dreams] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7174 R-Type] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6661 Nheredia] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13426 Doomsday Lost Echoes] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4025 Orion Prime] Musical loader, Multi-drives, 3.5 inch (dual-head and 80 tracks) floppy drives support&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10029 RPM] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15518 DskTest] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14201 Crazy] [https://cpcrulez.fr/applications_disc-dlfrsilver_dump_tool_test_suite.htm Dlfrsilver Dump Tool Test Suite] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4812 Format II] [[ParaDOS]] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4933 Xexor] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6118 Discology] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4179 Hercule II] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16060 UltraDisc] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5244 Disc'o'Magic] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9297 Multi Mark] To test FDC emulation&lt;br /&gt;
*[https://cpcrulez.fr/demostestDM_fatmag_01.htm FatMag] The HFE trackload version is designed to rigorously test the FDC emulation [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17853 Open Tower Defense] Emulator detection through a FDC test [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=931 Fugitif] Disk swapping detection&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12051 Demonstration of KBI protection] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1589 Pacific] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1650 Platoon] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1814 Robinson Crusoe] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=660 Daley Thompson's Olympic Challenge] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4064 Les Hits de l'Aventure] Protection based on weak bits&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=839 E.X.I.T] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1501 Le Nécromancien] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2195 Tensions] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1784 Wild Streets] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1958 Skyx] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=111 Turbo Cup] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2024 Sphaira] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=780 Dwarf] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1873 Sapiens] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=612 Corsarios] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=582 Cobra] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=744 Eden Blues] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1390 M'enfin] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1420 Mike &amp;amp; Moko] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4089 Equinoxe] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5545 Vocabulaire CM] Protection based on custom GAPS data&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=741 Donkey Kong] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1887 Scott Winder Reporter] Destructive copy-protection [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1716 Puffy's Saga] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=699 Defender of the Crown] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1354 Le Maraudeur] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1699 Profession Détective] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1730 Qin] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1005 Basun] Some other copy-protected disk-images&lt;br /&gt;
*[https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;cat=12 Protection schemes documented] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=9 Lenslok] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=207 Gaps] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=384 Latis] [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&amp;amp;num=435 Anti-copy bug] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=375 Baudload and Trackload list] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=38 Autoboot] Technical explanations&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=41 Trantor] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=204 3D Starfighter] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=726 Treasure Island Dizzy] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=971 Ghost Hunters] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2132 Super Robin Hood] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=237 Advanced Pinball Simulator] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1200 Jet Bike Simulator] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1002 Grand Prix Simulator] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=183 Darts 180] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1243 Killapede] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1194 Jail Break] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1815 Robocop] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=100 Chase HQ] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1926 Shinobi] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8892 4-Bit Digi Try] Software English vocal digits&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1349 Le Manoir de Mortvielle] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1098 Hold-Up] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=910 Forteresse] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=511 Canadair] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1140 L'île] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1199 Jaws] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1102 Holocauste] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=132 Afteroids] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=879 Fire &amp;amp; Forget] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1433 Xyphoes Fantasy] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17000 Space Race] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7456 Yao demo] Other software sound effects&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9179 Now that's what I call Chip Tunes] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18904 Amstream music-disk] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10467 We Are All Old] [https://www.cpc-power.com/index.php?page=detail&amp;amp;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&amp;amp;num=18265 Sintetizador de Sonidos] To test the PSG emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19283 Raytracing in BASIC] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15685 Julia Fractal] To benchmark emulators using their fullspeed mode&lt;br /&gt;
&lt;br /&gt;
= File format specifications =&lt;br /&gt;
&lt;br /&gt;
*[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&amp;amp;num=386 CTRAW] [https://www.cbmstuff.com/downloads/scp/scp_image_specs.txt SCP] File formats of disk-image&lt;br /&gt;
*[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] [http://soundfile.sapp.org/doc/WaveFormat/ WAV] File formats of tape-image&lt;br /&gt;
*[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&lt;br /&gt;
*[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&amp;amp;num=10 Archive of SNR sessions]&lt;br /&gt;
*[http://leonard.oxg.free.fr/ymformat.html YM] [https://www.cpcwiki.eu/index.php/AYC AYC] [https://vgmrips.net/wiki/VGM_Specification VGM] Soundchip logging file formats&lt;br /&gt;
*[https://en.wikipedia.org/wiki/IMG_(file_format) IMG] [https://web.archive.org/web/20120202144328/http://download.microsoft.com/download/f/f/e/ffef50a5-07dd-4cf8-aaa3-442c0673a029/Virtual%20Hard%20Disk%20Format%20Spec_10_18_06.doc VHD] [https://github.com/gasman/hdfmonkey HDF] File formats of flat hard-drive image&lt;br /&gt;
*[https://shaker.logonsystem.eu/sslcsl CSL] Cpc Scripting Language, a macro/scripting system to automate emulators&lt;br /&gt;
&lt;br /&gt;
= Emulation Tools  =&lt;br /&gt;
&lt;br /&gt;
*[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] [[Dsktools|Dsktools]] [[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] Set of tools about disk-images&lt;br /&gt;
*[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://cpctech.cpcwiki.de/download/2cdt.zip 2CDT] [http://cngsoft.no-ip.org/csw2cdt.htm CSW2CDT] [https://cpcrulez.fr/emulateurs_UTIL-CDT-CDT2WAV.htm CDT2WAV] [https://github.com/shred/tzxtools tzxtools] Set of tools about tape-images&lt;br /&gt;
*[http://www.cpcmania.com/news.htm CPRTools] Edit Amstrad Plus CPR cartridge-images&lt;br /&gt;
*[https://bochs.sourceforge.io/doc/docbook/user/winimage.html WinImage, DiskExplorer, Mtools] [https://www.fysnet.net/ultimate/index.htm Ultimate Imager] [https://github.com/ProgrammingHobby/CPM_Image-File_Explorer CP/M Image File Explorer] Access and edit IMG hard-drive images. No need of tools for VHD images with FAT filesystem, they are supported directly in Windows Explorer: it works the same way as ISO files&lt;br /&gt;
*[[CPCGamesCD-CPCLoader|CPCGamesCD-CPCLoader]] CDROM containing a navigable database with all the games of the Amstrad CPC&lt;br /&gt;
*[https://colourclash.co.uk/cpc-analyser/ CPC Analyser] Help reverse engineer Amstrad CPC games&lt;br /&gt;
*[[Emulator tooling]] UI screenshots of tooling in CPC emulators&lt;br /&gt;
*[[WinApe|WinAPE]] [[WinCPC]] [[JavaCPC]] [https://code.google.com/archive/p/cpcsdk/ Caprice Reloaded] [http://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73 Caprice Forever] Emulators with an integrated Z80 Assembler&lt;br /&gt;
*[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] [https://marketplace.visualstudio.com/items?itemName=floooh.vscode-kcide KC IDE] Tools for CPC cross-development in Z80 Assembler&lt;br /&gt;
*[https://ccz80.webcindario.com/ccz80en.html ccz80] [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] [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&lt;br /&gt;
*[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] A complete suite (IDE, compiler, resource editor) for developing CPC games/demos in Pascal&lt;br /&gt;
*[https://cpcbasic.webcindario.com/CPCBasicEn.html CPC Basic] [https://github.com/benchmarko/CPCBasic CPCBasic Unchained] [https://marketplace.visualstudio.com/items?itemName=cebe74.amstrad-basic-helper-vscode Amstrad Basic Helper] [https://www.cpcalive.com/cpcalive_en.html CpcAlive] [https://ugbasic.iwashere.eu/ ugBASIC] Cross-platform CPC development in BASIC&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12875 8BP] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4159 Graphic City] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4649 Sprites Alive] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4245 Laser Basic] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4705 FAst BAsic COMpiler] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6042 TurboBASIC compiler] [[B-ASIC]] Useful CPC tools (compilers and RSX) to beef up the Amstrad BASIC&lt;br /&gt;
*[http://ldeplanque.free.fr/ConvImgCpc/new/ ConvImgCPC] [https://github.com/AugustoRuiz/Img2CPC img2cpc] [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&lt;br /&gt;
*[http://grafx2.chez.com/ GrafX2] [http://multipaint.kameli.net/ Multipaint] [[Retro Game Asset Studio]] [http://gcajdev.epizy.com/sprite_creator.php Sprite Creator] Cross-platform CPC pixel art editors&lt;br /&gt;
*[http://cngsoft.no-ip.org/chipnsfx.htm CHIPNSFX] [https://github.com/AugustoRuiz/WYZTracker WYZTracker] [https://www.julien-nevo.com/arkostracker/ Arkos Tracker 2] [https://tildearrow.org/furnace/ Furnace] Cross-platform CPC music creation suites&lt;br /&gt;
&lt;br /&gt;
= Emulator Detection =&lt;br /&gt;
&lt;br /&gt;
If you want to promote usage of real CPC computers, you can detect CPC emulators by:&lt;br /&gt;
*Checking if the memory is initialized with zeroes, as real machines have random memory values at boot&lt;br /&gt;
*Focusing on the minute details in Z80, CRTC and PPI chips. They are most often wrong in emulators&lt;br /&gt;
*Examining the FDC chip. It is only replicated more or less superficially in all emulators because the internals of the chip are still unknown&lt;br /&gt;
&lt;br /&gt;
Combining these methods will definitely get you a 100% success rate in detecting emulators, even the toughest ones.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Emulator undetected.png|Emulator undetected&lt;br /&gt;
Emulator detected.png|Emulator detected&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is also this initiative for emulators who willingly want to be detected: [[Emulator_IDs|Emulator IDs]]&lt;br /&gt;
&lt;br /&gt;
= Emulators running on the Amstrad CPC =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! License&lt;br /&gt;
! Emulates&lt;br /&gt;
|-&lt;br /&gt;
| [[Amstrad BBC BASIC]]&lt;br /&gt;
| [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9862]&lt;br /&gt;
| 2.30&lt;br /&gt;
| Apr 2, 1986&lt;br /&gt;
| Commercial💲&lt;br /&gt;
| [[BBC BASIC]]&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCZVM]]&lt;br /&gt;
| [https://www.cpcwiki.eu/index.php/Z-Machine]&lt;br /&gt;
| &lt;br /&gt;
| Jul 6, 2019&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Z-Machine]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Pac-Man]]&lt;br /&gt;
| [http://www.cpcwiki.eu/forum/games/speed-up-patch-for-pac-man-emulator-for-cpc-by-syx-toto/msg81222/#msg81222]&lt;br /&gt;
| 1.1&lt;br /&gt;
| Jun 5, 2014&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Pac-Man arcade|Pac-Man arcade]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Phoenix]]&lt;br /&gt;
| [https://norbertkehrer.github.io/phoenix_cpc.html]&lt;br /&gt;
| &lt;br /&gt;
| Jan 6, 2019&lt;br /&gt;
| Freeware&lt;br /&gt;
| [[Phoenix arcade|Phoenix arcade]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Space Invaders|Space Invaders]]&lt;br /&gt;
| [http://www.cpcwiki.eu/forum/games/space-invaders-arcade-emulator-for-amstrad-cpc/]&lt;br /&gt;
| 1.0&lt;br /&gt;
| Jun 11, 2016&lt;br /&gt;
| Freeware&lt;br /&gt;
| [[Space Invaders arcade|Space Invaders arcade]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Vezza]]&lt;br /&gt;
| [https://gitlab.com/sijnstra1/vezza]&lt;br /&gt;
| &lt;br /&gt;
| Oct 7, 2023&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Z-Machine]]&lt;br /&gt;
|-&lt;br /&gt;
| [[ZXM]]&lt;br /&gt;
| [https://cpcrulez.fr/applications_util-ZXm.htm]&lt;br /&gt;
| &lt;br /&gt;
| 1993&lt;br /&gt;
| Freeware&lt;br /&gt;
| [[ZX Spectrum|ZX Spectrum]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Zym]]&lt;br /&gt;
| [http://www.symbos.org/appinfo.htm?00054]&lt;br /&gt;
| 0.9&lt;br /&gt;
| Feb 19, 2022&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Z-Machine]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Emulator| ]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Emulators&amp;diff=113804</id>
		<title>Emulators</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Emulators&amp;diff=113804"/>
				<updated>2024-01-02T22:45:00Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: Avoid duplicates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Vote for your favorite emulator =&lt;br /&gt;
&lt;br /&gt;
[https://www.cpcwiki.eu/forum/emulators/which-emulator-s-do-you-use/ There is a poll on CPCWiki forum]&lt;br /&gt;
&lt;br /&gt;
= Software Platforms (Full OS independance) =&lt;br /&gt;
&lt;br /&gt;
== Java Platform  ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnold Jnr|Arnold Jnr]]&lt;br /&gt;
| [https://web.archive.org/web/20160727011826/http://www.arnoldemu.freeserve.co.uk/]&lt;br /&gt;
| &lt;br /&gt;
| Aug 27, 2001&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[JavaCPC|JavaCPC Desktop]]&lt;br /&gt;
| [https://sourceforge.net/projects/javacpc/] [http://sourceforge.net/projects/javagx4000/ JavaGX4000] [http://sourceforge.net/projects/cpcinajar/ CPCInAJar]&lt;br /&gt;
| 3.0.2&lt;br /&gt;
| Apr 8, 2022&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[JEMU|JEMU]]&lt;br /&gt;
| [http://jemu.winape.net/]&lt;br /&gt;
| &lt;br /&gt;
| Feb 19, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]], [[ZX80/81]], [[BBC Micro]], [[VZ-300]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[WebCPC|WebCPC]]&lt;br /&gt;
| [http://sourceforge.net/projects/webcpc/] [https://web.archive.org/web/20110903132520/http://java.cpc-live.com/ JavaCPC Applet]&lt;br /&gt;
| r15&lt;br /&gt;
| Dec 31, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== JS / Wasm / Web Platform ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCBox|CPCBox]] &lt;br /&gt;
| [https://www.retroshowcase.gr/cpcbox-master/] [https://web.archive.org/web/20190702084943/http://www.cpcbox.com/] [https://bzhgames.xyz/index.php BZH Games]&lt;br /&gt;
| beta &lt;br /&gt;
| Dec 28, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[CrocoDS|CrocoDS]] &lt;br /&gt;
| [https://crocods.org/web/] [https://github.com/redbug26/crocods Repo]&lt;br /&gt;
| &lt;br /&gt;
| Jun 9, 2020&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[MAME|Emularity (MAME)]] &lt;br /&gt;
| [https://github.com/db48x/emularity] [http://jsmess.textfiles.com/ JSMESS] [https://classicreload.com/platform/amstrad%20cpc Classic Reload]&lt;br /&gt;
[https://archive.org/details/softwarelibrary_cpc_games CPC Games] [https://archive.org/details/softwarelibrary_cpc_demos CPC Demos] on Internet Archive&lt;br /&gt;
| &lt;br /&gt;
| Oct 1, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| Lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Roland javascript emulator|Roland]] &lt;br /&gt;
| [https://web.archive.org/web/20190308142014/http://roland.retrolandia.net/]&lt;br /&gt;
| &lt;br /&gt;
| Sep 24, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Ronald|Ronald]] &lt;br /&gt;
| [https://ronald.migge.io] [https://github.com/mdm/ronald Repo]&lt;br /&gt;
| &lt;br /&gt;
| Sep 25, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[RVMplayer|RVMplayer]] &lt;br /&gt;
| [https://www.retrovirtualmachine.org/rvmplayer/]&lt;br /&gt;
| 0.1.1&lt;br /&gt;
| May 6, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]]&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[Tiny Emus]]&lt;br /&gt;
| [https://floooh.github.io/tiny8bit/] [https://floooh.github.io/tiny8bit/cpc-ui.html] [http://floooh.github.io/virtualkc/ yakc] [https://online.oldgames.sk/play/cpc Online Old Games]&lt;br /&gt;
[https://devilmarkus.de/ WebGL 3d 8-bit] [https://www.amstradcpcgames.eu/ Amstrad CPC Games] [http://cpc.novidee.com/ zpz]&lt;br /&gt;
| &lt;br /&gt;
| Nov 4, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| [[KC Compact]], [[ZX Spectrum]], [[VIC-20]], [[Commodore 64]], [[Acorn Atom]], [[KC 85]], [[KC 87]], [[Z9001]], [[Z1013]], [[LC80]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Griffin CPC emulator|Xiragon]]&lt;br /&gt;
| [https://web.archive.org/web/20191027200008/http://xiragon.com/]&lt;br /&gt;
| &lt;br /&gt;
| Nov 28, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== LibRetro (API for emulators) ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! Type&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[libretro-cap32]]&lt;br /&gt;
| Emulation core&lt;br /&gt;
| [https://github.com/libretro/libretro-cap32]&lt;br /&gt;
| 4.5.3&lt;br /&gt;
| Mar 16, 2022&lt;br /&gt;
| -&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[libretro-crocods]]&lt;br /&gt;
| Emulation core&lt;br /&gt;
| [https://github.com/libretro/libretro-crocods]&lt;br /&gt;
| 0.1&lt;br /&gt;
| Feb 28, 2017&lt;br /&gt;
| -&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[MAME|MESS 2015]]&lt;br /&gt;
| Emulation core&lt;br /&gt;
| [https://docs.libretro.com/meta/core-list/]&lt;br /&gt;
| 0.160&lt;br /&gt;
| circa 2015&lt;br /&gt;
| -&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[SugarLibRetro]]&lt;br /&gt;
| Emulation core&lt;br /&gt;
| [https://github.com/Tom1975/SugarLibRetro] (wraps independent lib [https://github.com/Tom1975/CPCCore CPCCore])&lt;br /&gt;
| git&lt;br /&gt;
| Jan 10, 2020&lt;br /&gt;
| -&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[EmuVR]]&lt;br /&gt;
| Frontend&lt;br /&gt;
| [https://www.emuvr.net/]&lt;br /&gt;
| &lt;br /&gt;
| Dec 25, 2022&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Depends on emulation cores&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[Hackable Console]]&lt;br /&gt;
| Frontend&lt;br /&gt;
| [https://github.com/leiradel/hackable-console]&lt;br /&gt;
| &lt;br /&gt;
| Mar 27, 2022&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Depends on emulation cores&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[RetroArch]]&lt;br /&gt;
| Frontend&lt;br /&gt;
| [https://www.retroarch.com/] [https://www.retroarch.com/?page=achievements RetroAchievements]&lt;br /&gt;
| 1.16.0&lt;br /&gt;
| Sep 22, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Depends on emulation cores&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Current Operating Systems =&lt;br /&gt;
&lt;br /&gt;
== Desktop ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Windows&lt;br /&gt;
! macOS&lt;br /&gt;
! Linux&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[ACE-DL]]&lt;br /&gt;
| [http://www.roudoudou.com/ACE-DL] [https://discord.gg/rKxFPndHPw Discord] [http://ace.cpcscene.net Based on ACE]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| &lt;br /&gt;
| Dec 17, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[AMSpiriT|AMSpiriT]]&lt;br /&gt;
| [https://www.amspirit.fr/] [https://forum.system-cfg.com/viewtopic.php?f=24&amp;amp;t=11535 Forum]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 0.967b&lt;br /&gt;
| Dec 6, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnimedes|Arnimedes]] &lt;br /&gt;
| [http://www.arnimedes.de/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.02&lt;br /&gt;
| Jul 7, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnold_(Emulator)|Arnold]] &lt;br /&gt;
| [http://www.cpcwiki.eu/forum/emulators/arnold-wip/msg144749/#msg144749] [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]&lt;br /&gt;
| ✅&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ⚠️&lt;br /&gt;
| [http://www.cpcwiki.eu/imgs/d/dd/Arnoldwip_src.tar.bz2 WIP]&lt;br /&gt;
| May 13, 2017&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Caprice Forever]] &lt;br /&gt;
| [http://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 23.11&lt;br /&gt;
| Nov 11, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware &amp;amp; Outdated sources&lt;br /&gt;
|-&lt;br /&gt;
| [[CaPriCe|Caprice32]] &lt;br /&gt;
| [https://github.com/ColinPitrat/caprice32/releases] [http://sourceforge.net/projects/caprice32/ Old repo] [https://snapcraft.io/caprice32 Linux] [http://aleste520.narod.ru/caprice.html Aleste] [https://code.google.com/archive/p/cpcsdk/ Reloaded]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 4.6.0&lt;br /&gt;
| Oct 8, 2022&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Clock Signal|Clock Signal]] &lt;br /&gt;
| [https://github.com/TomHarte/CLK/releases] [https://snapcraft.io/clock-signal Linux]&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| &lt;br /&gt;
| Dec 28, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]], [[ZX80/81]], [[Enterprise]], [[MSX]], [[Oric 1/Atmos|Oric]], [[ColecoVision]], [[Acorn Electron]], [[Apple II]], [[VIC-20]], [[Atari 2600]], [[Atari ST]], [[Macintosh]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CoPaCabana|CoPaCabana]]&lt;br /&gt;
| [http://copacabana.emuunlim.com/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 0.74&lt;br /&gt;
| Apr 12, 2006&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[CPC++|CPC++]] &lt;br /&gt;
| [http://bricerive.free.fr/cpc/cpcpp.html]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ⚠️&lt;br /&gt;
| b700&lt;br /&gt;
| May 31, 2015&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[cpc4x|cpc4x]] &lt;br /&gt;
| [http://www.ulrich-cordes.de/cpc/english/cpcemu.htm]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| 0.26&lt;br /&gt;
| Dec 11, 2004&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEC|CPCEC]] &lt;br /&gt;
| [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]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| &lt;br /&gt;
| Aug 6, 2022&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[ZX Spectrum]], [[Commodore 64]], [https://www.youtube.com/watch?v=5LwCy0gRAEc MSX (unreleased)]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEC|cpcec-gtk]] &lt;br /&gt;
| [https://bitbucket.org/norecess464/cpcec-gtk/]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| &lt;br /&gt;
| Feb 4, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCemu|CPCemu]] &lt;br /&gt;
| [http://www.cpc-emu.org/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 2.5&lt;br /&gt;
| Aug 13, 2022&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEPower|CPCEPower]] &lt;br /&gt;
| [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 2105&lt;br /&gt;
| Jun 4, 2021&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCSharp|CPCSharp]] &lt;br /&gt;
| [https://github.com/dolbz/CPCSharp/releases/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.0.0-beta1&lt;br /&gt;
| Apr 7, 2021&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPvC|CPvC]]&lt;br /&gt;
| [https://github.com/alybaek2/cpvc]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| &lt;br /&gt;
| Sep 30, 2022&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CrocoDS|CrocoDS]]&lt;br /&gt;
| [https://crazypiri.eu/crocods/] [https://github.com/redbug26/crocods Repo]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| 4.0 beta3&lt;br /&gt;
| Dec 10, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[DSP|DSP]]&lt;br /&gt;
| [https://github.com/leniad/dsp-emulator/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ⚠️&lt;br /&gt;
| 0.22&lt;br /&gt;
| Nov 15, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| [[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]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[ep128emu|ep128emu]]&lt;br /&gt;
| [https://github.com/istvan-v/ep128emu]&lt;br /&gt;
| ✅&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ⚠️&lt;br /&gt;
| 2.0.11.2&lt;br /&gt;
| Apr 19, 2019&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]], [[Enterprise]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[MESS|MAME]]&lt;br /&gt;
| [http://mamedev.org/release.html] [http://sdlmame.lngn.net/ macOS] [http://wiki.mamedev.org/index.php/SDL_Supported_Platforms Other ports] &lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 0.261&lt;br /&gt;
| Nov 29, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[NO$CPC|NO$CPC]]&lt;br /&gt;
| [http://problemkaputt.de/cpc.htm]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.8&lt;br /&gt;
| Nov 2, 2000&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[PC-CPC|PC-CPC]] &lt;br /&gt;
| [http://cpcrulez.fr/emulateurs_download-WIN-PC-CPC.htm] [https://github.com/DemoniakLudo/PC-CPC Repo]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 0.1at b29&lt;br /&gt;
| Nov 17, 2011&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Retro Virtual Machine|Retro Virtual Machine]]&lt;br /&gt;
| [https://www.retrovirtualmachine.org]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 2.1.11&lt;br /&gt;
| Nov 13, 2023&lt;br /&gt;
| ❌ Removed&lt;br /&gt;
| ✅&lt;br /&gt;
| [[ZX Spectrum]], [[MSX|MSX 1]], [[ColecoVision]], [[SG-1000]], [[Master System]]&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[Roland Emulator|Roland]] &lt;br /&gt;
| [https://www.rolandemu.de/en/downloads.html] [https://github.com/raldus/roland Repo]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| 0.70&lt;br /&gt;
| Apr 20, 2017&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Ronald|Ronald]] &lt;br /&gt;
| [https://github.com/mdm/ronald]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| &lt;br /&gt;
| Sep 25, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[SugarBox|SugarBox]]&lt;br /&gt;
| [https://github.com/Tom1975/SugarboxV2] [http://sugarbox.free.fr/ Old site]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 2.0.2&lt;br /&gt;
| Nov 29, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[VirtualCPC|Virtual CPC]] &lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-WIN-virtual_cpc.htm] [https://web.archive.org/web/20200112094913/http://users.otenet.gr/~sulfonic/cpc/ Archive] &lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.1&lt;br /&gt;
| Aug 8, 2011&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[WinApe|WinAPE]] &lt;br /&gt;
| [http://www.winape.net/] [https://www-ftp.lip6.fr/pub/amstrad/emulator/CPCWIN10.ZIP CPCwin]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 2.0b2&lt;br /&gt;
| Jan 5, 2016&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[WinCPC|WinCPC]] / [[MacCPC|MacCPC]]&lt;br /&gt;
| [http://www.wincpc.ch/index.php?topic=projects] [https://web.archive.org/web/20050409133618/http://www.easypoint.ch/vbcpc/ vbCPC]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| 0.9.2&lt;br /&gt;
| Jan 22, 2010&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[XCPC|Xcpc]]&lt;br /&gt;
| [https://www.xcpc-emulator.net/]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| 0.38.1&lt;br /&gt;
| Apr 8, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[XNACPC|XNACPC]]&lt;br /&gt;
| [http://www.gavpugh.com/2011/11/11/xnacpc-xbox-360-amstrad-cpc-emulator-released/] [https://www.gavpugh.com/old-code/ CPC3D]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.0&lt;br /&gt;
| Nov 11, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[YACE|YACE]]&lt;br /&gt;
| [http://www.youtube.com/watch?v=uxQkljwc0i4]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| &lt;br /&gt;
| Nov 12, 2014&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| ❌ Unreleased&lt;br /&gt;
|-&lt;br /&gt;
| [[ZEsarUX|ZEsarUX]]&lt;br /&gt;
| [https://github.com/chernandezba/zesarux]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| X&lt;br /&gt;
| Sep 8, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| [[PCW]], [[ZX Spectrum]], [[ZX80/81]], [[MSX|MSX 1]], [[ColecoVision]], [[Spectravideo]], [[Jupiter ACE]], [[Sam Coupe]], [[SG-1000]], [[Master System]], [[Sinclair QL]], [[MK14]], [[Z88]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Alternative OS ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! AmigaOS&lt;br /&gt;
! MorphOS&lt;br /&gt;
! Haiku&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[ACE_(Emulator)|ACE]]&lt;br /&gt;
| [http://ace.cpcscene.net/] [https://framagit.org/users/offset/projects Repo]&lt;br /&gt;
|&lt;br /&gt;
| v1.26 Jan 1, 2024&lt;br /&gt;
| v1.25.1 Oct 15, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware (plugins are Open Source)&lt;br /&gt;
|-&lt;br /&gt;
| [[AdvanceMAME|AdvanceMAME]]&lt;br /&gt;
| [https://depot.haiku-os.org/#!/pkg/advancemame_x86]&lt;br /&gt;
| v3.9-1 Feb 3, 2020&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnold|Arnold]]&lt;br /&gt;
| [http://hirudov.com/amiga/Arnold.php]&lt;br /&gt;
| v1.15 Dec 17, 2012&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[MESS|MESS]]&lt;br /&gt;
| [http://fabportnawak.free.fr/mame/]&lt;br /&gt;
| v0.146u4 Aug 19, 2012&lt;br /&gt;
| v0.113 Nov 1, 2007&lt;br /&gt;
|&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Mobile ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[andcpc]]&lt;br /&gt;
| [http://code.google.com/p/andcpc/]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Apr 4, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[Azimuth]]&lt;br /&gt;
| [https://play.google.com/store/apps/details?id=johnidis.azimuth]&lt;br /&gt;
| 1.11&lt;br /&gt;
| Aug 22, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Adware and in-app purchases💲&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[CPCDroid]]&lt;br /&gt;
| [https://fmsdevel.wisecoding.es/cpcdroid-amstrad-cpc-on-android-phone-2/]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Mar 2, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[CPCemu|CPCemu]] &lt;br /&gt;
| [https://play.google.com/store/apps/details?id=com.loritznet.softwarecreations.cpcemu]&lt;br /&gt;
| 2.5&lt;br /&gt;
| Aug 14, 2022&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[Droid-CPC]]&lt;br /&gt;
| [http://play.google.com/store/apps/details?id=com.kokak.droidcpc]&lt;br /&gt;
| 1.1.01&lt;br /&gt;
| Dec 15, 2016&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Commercial💲&lt;br /&gt;
|-&lt;br /&gt;
| iOS&lt;br /&gt;
| [[CPCemu|CPCemu]]&lt;br /&gt;
| [http://www.cpc-emu.org/]&lt;br /&gt;
| 2.5&lt;br /&gt;
| Aug 13, 2022&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Software available on request&lt;br /&gt;
|-&lt;br /&gt;
| iOS&lt;br /&gt;
| [[CrocoDS]]&lt;br /&gt;
| [https://crazypiri.eu/crocods/] [https://github.com/redbug26/crocods-ios Repo]&lt;br /&gt;
| 2.1&lt;br /&gt;
| Jun 21, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Discontinued Operating Systems =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| Acorn RISC OS&lt;br /&gt;
| [[!CPC|!CPC]]&lt;br /&gt;
| [https://www-ftp.lip6.fr/pub/amstrad/emulator/CPC0728.ZIP] [http://ftp2.fr.openbsd.org/ftp/pub/amstrad/emulator/CPCS1124.ZIP]&lt;br /&gt;
| &lt;br /&gt;
| Jul 28, 1996&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Acorn RISC OS&lt;br /&gt;
| [[!CPCemu|!CPCemu]]&lt;br /&gt;
| [http://huggers-world.de/mops.html]&lt;br /&gt;
| 1.21&lt;br /&gt;
| Mar 22, 2016&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS m68k&lt;br /&gt;
| [[A-CPC|A-CPC]]&lt;br /&gt;
| [https://cpctech.cpcwiki.de/download/a-cpc.lha]&lt;br /&gt;
| 2.0&lt;br /&gt;
| Mar 30, 2002&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS m68k&lt;br /&gt;
| [[Ami-cpc|Ami-cpc]]&lt;br /&gt;
| [http://deplanque.chez.com/] [http://deplanque.chez.com/download_fr.html Ami-cpc2]&lt;br /&gt;
| 0.46&lt;br /&gt;
| Jan 21, 1998&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS m68k&lt;br /&gt;
| [[CPE|CPE]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-AMIGA-CPE.htm]&lt;br /&gt;
| &lt;br /&gt;
| Feb 24, 1995&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS m68k&lt;br /&gt;
| [[Emu-CPC|EmuCPC]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-AMIGA-emucpc.htm]&lt;br /&gt;
| 0.7&lt;br /&gt;
| Sep 15, 1996&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| BlackBerry OS&lt;br /&gt;
| [[BB-CPC|BB-CPC]]&lt;br /&gt;
| [http://appworld.blackberry.com/webstore/content/30963891/] (dead link)&lt;br /&gt;
| 1.0.1.3&lt;br /&gt;
| Jul 15, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Commercial💲&lt;br /&gt;
|-&lt;br /&gt;
| Classic Mac OS&lt;br /&gt;
| [[CPCplusplus|CPC++]]&lt;br /&gt;
| [http://bricerive.free.fr/cpc/cpcpp.html]&lt;br /&gt;
| 1.3.2&lt;br /&gt;
| Oct 6, 1997&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Shareware💲&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[AdvanceMESS|AdvanceMESS]]&lt;br /&gt;
| [https://www.advancemame.it/readme]&lt;br /&gt;
| 3.9&lt;br /&gt;
| Sep 8, 2018&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[Arnimedes|Arnimedes]]&lt;br /&gt;
| [http://www.arnimedes.de/]&lt;br /&gt;
| 0.8a&lt;br /&gt;
| Apr 15, 2000&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[Caprice32]] &lt;br /&gt;
| [https://ftp.nvg.ntnu.no/pub/cpc/emulator/msdos/capriced.zip]&lt;br /&gt;
| 1.11&lt;br /&gt;
| Sep 20, 1999&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPC]] &lt;br /&gt;
| [https://www-ftp.lip6.fr/pub/amstrad/emulator/CPC055B.ZIP]&lt;br /&gt;
| 0.55b&lt;br /&gt;
| May 16, 1997&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPC-em|CPC-em]] &lt;br /&gt;
| [http://cpc-em.emuunlim.com/]&lt;br /&gt;
| 0.4&lt;br /&gt;
| Jul 7, 2004&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPCE|CPCE]]&lt;br /&gt;
| [http://cngsoft.no-ip.org/cpce/]&lt;br /&gt;
| 1.94&lt;br /&gt;
| Jun 2, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPCemu|CPCemu]]&lt;br /&gt;
| [http://www.cpc-emu.org/]&lt;br /&gt;
| 1.5&lt;br /&gt;
| Jul 7, 1998&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPE|CPE]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-DOS-CPE.htm]&lt;br /&gt;
| 5.2&lt;br /&gt;
| Apr 21, 1997&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[NO$CPC|NO$CPC]]&lt;br /&gt;
| [http://problemkaputt.de/cpc.htm]&lt;br /&gt;
| 1.8&lt;br /&gt;
| Nov 2, 2000&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[PC-CPC|PC-CPC]] &lt;br /&gt;
| [http://deplanque.chez.com/download_fr.html]&lt;br /&gt;
| &lt;br /&gt;
| Feb 3, 1998&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPCEMU (RWCPC)|RWCPC]]&lt;br /&gt;
| [https://www-ftp.lip6.fr/pub/amstrad/emulator/RWCPC.ZIP]&lt;br /&gt;
| &lt;br /&gt;
| Mar 23, 1995&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[SIMCPC|SIMCPC]]&lt;br /&gt;
| [https://www-ftp.lip6.fr/pub/amstrad/emulator/SIMCPC.ZIP]&lt;br /&gt;
| &lt;br /&gt;
| Dec 10, 1989&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Shareware💲&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[YAGE|YAGE]]&lt;br /&gt;
| [https://www.zophar.net/cpc/yage.html]&lt;br /&gt;
| 0.91&lt;br /&gt;
| Oct 24, 1998&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| EXOS&lt;br /&gt;
| [[Software CPC Emulator|Software CPC Emulator]]&lt;br /&gt;
| [http://www.ep128.hu/Ep_Util/Prg/Amstrad_CPC_Emulator_13.rar] [http://www.ep128.hu/Ep_Util/Amstrad_CPC_emu.htm]&lt;br /&gt;
| 1.3&lt;br /&gt;
| Jan 11, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Maemo&lt;br /&gt;
| [[CPCm]]&lt;br /&gt;
| [http://maemo.org/downloads/product/Maemo5/cpcm/]&lt;br /&gt;
| 1.20-1&lt;br /&gt;
| Apr 27, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| MSX-DOS&lt;br /&gt;
| [[EMU6CPC|EMU6CPC]]&lt;br /&gt;
| [http://romu6.blogspot.com/2018/12/emu6cpc-emulador-de-amstrad-cpc-6128.html]&lt;br /&gt;
| &lt;br /&gt;
| Dec 17, 2018&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Palm OS&lt;br /&gt;
| [[CaPriCe for Palm OS|CaPriCe for Palm OS]]&lt;br /&gt;
| [https://web.archive.org/web/20230127143354/https://coste.frederic.free.fr/cpc/cpc_en.htm]&lt;br /&gt;
| 2.8&lt;br /&gt;
| Jun 28, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Palm OS&lt;br /&gt;
| [[CoPaCabana|CoPaCabana]]&lt;br /&gt;
| [http://copacabana.emuunlim.com/]&lt;br /&gt;
| 0.75&lt;br /&gt;
| Dec 4, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Pocket PC&lt;br /&gt;
| [[CaPriCe|PocketCaprice]]&lt;br /&gt;
| [https://web.archive.org/web/20160506010209/http://www.clubic.com/telecharger-fiche44888-pocketcaprice.html]&lt;br /&gt;
| 0.9&lt;br /&gt;
| Aug 19, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| SunOS&lt;br /&gt;
| [[CPCplusplus|CPC++]]&lt;br /&gt;
| [http://bricerive.free.fr/cpc/cpcpp.html]&lt;br /&gt;
| 1.3.0&lt;br /&gt;
| Feb 22, 1997&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Shareware💲&lt;br /&gt;
|-&lt;br /&gt;
| Symbian&lt;br /&gt;
| [[S60-CPC|S60-CPC]]&lt;br /&gt;
| [http://kokak.free.fr/s60cpc.htm]&lt;br /&gt;
| 0.74&lt;br /&gt;
| Feb 21, 2006&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Windows 9x&lt;br /&gt;
| [[CPC-em|CPC-em]] &lt;br /&gt;
| [http://cpc-em.emuunlim.com/]&lt;br /&gt;
| 0.3&lt;br /&gt;
| Jan 22, 2004&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Windows 9x&lt;br /&gt;
| [[MTMW|MTMW]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-WIN-MTMW.htm]&lt;br /&gt;
| 1.30B&lt;br /&gt;
| Jan 11, 2000&lt;br /&gt;
| ✅&lt;br /&gt;
| [[ZX Spectrum]], [[ZX80/81]], [[Enterprise]], [[Jupiter ACE]]&lt;br /&gt;
| Freeware&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Home Consoles =&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| Microsoft XBOX&lt;br /&gt;
| [[Arnold|ArnoldX]]&lt;br /&gt;
| [https://web.archive.org/web/20120705163939/http://forums.xbox-scene.com/index.php?showtopic=711667] [https://cpcrulez.fr/emulateurs_download-XBOX-ARNOLDX.htm]&lt;br /&gt;
| v5&lt;br /&gt;
| Apr 20, 2010&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Microsoft XBOX&lt;br /&gt;
| [[CoinOPS|CoinOPS (RetroFE)]]&lt;br /&gt;
| [https://web.archive.org/web/20160518183115/https://coinopsproject.freeforums.org/viewtopic.php?f=0&amp;amp;t=1213]&lt;br /&gt;
| 5&lt;br /&gt;
| Oct 18, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| Lots of other computer systems&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Microsoft Xbox 360&lt;br /&gt;
| [[XNACPC|XNACPC]]&lt;br /&gt;
| [http://www.gavpugh.com/2011/11/11/xnacpc-xbox-360-amstrad-cpc-emulator-released/]&lt;br /&gt;
| 1.0&lt;br /&gt;
| Nov 11, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo Wii&lt;br /&gt;
| [[Wiituka|Wiituka]]&lt;br /&gt;
| [http://wiituka.dantoine.org/]&lt;br /&gt;
| 0.98.8&lt;br /&gt;
| May 15, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Sega Dreamcast&lt;br /&gt;
| [[CPCast|CPCast]]&lt;br /&gt;
| [http://www.dcemu.co.uk/vbulletin/showthread.php?t=24100]&lt;br /&gt;
| &lt;br /&gt;
| May 6, 2006&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Sega Dreamcast&lt;br /&gt;
| [[DreamCPC|DreamCPC]]&lt;br /&gt;
| [https://www.jm1200.fr/index.php?r=2]&lt;br /&gt;
| Alpha 3&lt;br /&gt;
| Oct 16, 2005&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Sony PS2&lt;br /&gt;
| [[CPC-em|CPC-em]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-ps2-CPC-EM.htm]&lt;br /&gt;
| 0.4&lt;br /&gt;
| Dec 22, 2004&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Sony PS3&lt;br /&gt;
| [[Caprice32|Caprice32]]&lt;br /&gt;
| [https://web.archive.org/web/20171003153204/http://psx-scene.com/forums/content/caprice32-4-1-0-dbg-emulator-ps3-2119/]&lt;br /&gt;
| 4.1.0 DBG&lt;br /&gt;
| Apr 9, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Handheld Consoles =&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 and OpenDingux'''. Or you can use these stand-alone CPC emulators:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| Dingoo A320 / A330&lt;br /&gt;
| [[Pituka|Pituka Dingux]]&lt;br /&gt;
| [http://david.dantoine.org/proyecto/4/]&lt;br /&gt;
| 0.8pre&lt;br /&gt;
| Aug 19, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Dingoo A320 / A330&lt;br /&gt;
| [[Caprice|Dingux-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/105-Amstrad/]&lt;br /&gt;
| 1.1.2&lt;br /&gt;
| Oct 17, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark Caanoo&lt;br /&gt;
| [[Caprice|Caanoo-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/165-Amstrad/]&lt;br /&gt;
| 1.1.3&lt;br /&gt;
| Apr 24, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark GP2x&lt;br /&gt;
| [[Caprice|CapriceGP2x]]&lt;br /&gt;
| [https://web.archive.org/web/20130315195529/http://wiki.gp2x.org/wiki/CapriceGP2x]&lt;br /&gt;
| 0.5&lt;br /&gt;
| Feb 22, 2006&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark GP2x&lt;br /&gt;
| [[Caprice|GP2X-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/42-Amstrad/]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Aug 29, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark GP32&lt;br /&gt;
| [[Pituka|Pituka GP32]]&lt;br /&gt;
| [http://david.dantoine.org/proyecto/4/]&lt;br /&gt;
| 1d&lt;br /&gt;
| May 15, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark Wiz&lt;br /&gt;
| [[Caprice|Wiz-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/89-Amstrad/]&lt;br /&gt;
| 1.1.0&lt;br /&gt;
| Aug 29, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GCW Zero&lt;br /&gt;
| [[Caprice|Dingux-CAP32]]&lt;br /&gt;
| [https://github.com/kerheol/dingux-cap32]&lt;br /&gt;
| 1.1.2&lt;br /&gt;
| May 25, 2014&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| JXD S5110 / S601 &amp;amp; Yinlips G18&lt;br /&gt;
| [[Caprice|JXD-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/206-Amstrad/]&lt;br /&gt;
| 1.1.1&lt;br /&gt;
| Oct 27, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo DS&lt;br /&gt;
| [[AmeDS|AmeDS]] &lt;br /&gt;
| [https://web.archive.org/web/20131021073302/http://www.portabledev.com/pages/ds/jeuxdev.-perso/ameds.php]&lt;br /&gt;
| 4.0&lt;br /&gt;
| Apr 25, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo DS&lt;br /&gt;
| [[CrocoDS|CrocoDS]]&lt;br /&gt;
| [http://www.kyuran.be/blog/2007/11/09/crocods-20-2/] [https://github.com/redbug26/crocods-nds Repo]&lt;br /&gt;
| 2.0&lt;br /&gt;
| Nov 9, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo GameBoy Advance&lt;br /&gt;
| [[Mini Amstrad Emulator|Mini Amstrad Emulator]] &lt;br /&gt;
| [https://playeradvance.org/forum/showthread.php?t=765]&lt;br /&gt;
| &lt;br /&gt;
| Dec 26, 2005&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Odroid GO&lt;br /&gt;
| [[CapriceESP32|CapriceESP32]] &lt;br /&gt;
| [https://github.com/grantrismo/CapriceESP32]&lt;br /&gt;
| &lt;br /&gt;
| Dec 3, 2020&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| OpenDingux&lt;br /&gt;
| [[CrocoDS|CrocoDS]]&lt;br /&gt;
| [https://crazypiri.eu/crocods/] [https://github.com/redbug26/crocods Repo]&lt;br /&gt;
| &lt;br /&gt;
| Jan 15, 2020&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Pandora&lt;br /&gt;
| [[Caprice|Pandora-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/131-Amstrad/]&lt;br /&gt;
| 1.1.0&lt;br /&gt;
| Jun 27, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Sony PSP&lt;br /&gt;
| [[Caprice32 PSP]]&lt;br /&gt;
| [http://psp.akop.org/caprice32]&lt;br /&gt;
| 4.2.0.2&lt;br /&gt;
| Nov 28, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Sony PSP&lt;br /&gt;
| [[CPCPSP|CPCPSP]]&lt;br /&gt;
| [https://web.archive.org/web/20130325143915/http://dl.qj.net/psp/emulators/cpcpsp-v01.html]&lt;br /&gt;
| 0.1&lt;br /&gt;
| Dec 24, 2005&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Sony PSP&lt;br /&gt;
| [[PSPCAP32|PSPCAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/3-Amstrad/]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Aug 21, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Trimui Model S&lt;br /&gt;
| [[Arnold|Arnold Trimui]]&lt;br /&gt;
| [https://github.com/liartes/arnold_gcw0]&lt;br /&gt;
| &lt;br /&gt;
| Oct 19, 2021&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Single-Board Computers / Raspberry Pi =&lt;br /&gt;
&lt;br /&gt;
[https://www.libretro.com/index.php/powered-by-libretro/ LibRetro / RetroArch] is used as the foundation of [https://www.lakka.tv/ Lakka], [https://wiki.recalbox.com/en/advanced-usage/retroarch Recalbox], [https://batocera.org/ Batocera] and [https://retropie.org.uk/ RetroPie] alternative OSes for the Raspberry Pi and other SBC.&lt;br /&gt;
But you can also use [https://www.retroarch.com/index.php?page=platforms RetroArch] for Amstrad CPC emulation on a stock Raspberry Pi OS. Or you can use these stand-alone CPC emulators:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[CPC4Rpi|#CPC4Rpi]]&lt;br /&gt;
| [https://web.archive.org/web/20150321200308/http://store.raspberrypi.com/projects/cpc4rpi]&lt;br /&gt;
| 1.1&lt;br /&gt;
| Dec 19, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Commercial💲&lt;br /&gt;
|-&lt;br /&gt;
| [[CapriceRPI|CapriceRPI]]&lt;br /&gt;
| [https://github.com/KaosOverride/CapriceRPI]&lt;br /&gt;
| 1.3d&lt;br /&gt;
| Feb 28, 2016&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Clock Signal|Clock Signal]] &lt;br /&gt;
| [https://snapcraft.io/install/clock-signal/raspbian]&lt;br /&gt;
| &lt;br /&gt;
| Dec 28, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]], [[ZX80/81]], [[Enterprise]], [[MSX]], [[Oric 1/Atmos|Oric]], [[ColecoVision]], [[Acorn Electron]], [[Apple II]], [[VIC-20]], [[Atari 2600]], [[Atari ST]], [[Macintosh]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEPower|CPCEPower]] &lt;br /&gt;
| [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73]&lt;br /&gt;
| 2105&lt;br /&gt;
| Jun 4, 2021&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[MESS|MAME]]&lt;br /&gt;
| [https://stickfreaks.com/mame/]&lt;br /&gt;
| 0.261&lt;br /&gt;
| Nov 29, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[SugarPi|SugarPi]]&lt;br /&gt;
| [https://github.com/Tom1975/SugarPi]&lt;br /&gt;
| 1.2.0&lt;br /&gt;
| Feb 3, 2021&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[ZEsarUX|ZEsarUX]]&lt;br /&gt;
| [https://github.com/chernandezba/zesarux]&lt;br /&gt;
| X&lt;br /&gt;
| Sep 8, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| [[PCW]], [[ZX Spectrum]], [[ZX80/81]], [[MSX|MSX 1]], [[ColecoVision]], [[Spectravideo]], [[Jupiter ACE]], [[Sam Coupe]], [[SG-1000]], [[Master System]], [[Sinclair QL]], [[MK14]], [[Z88]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Hardware =&lt;br /&gt;
&lt;br /&gt;
*[[CPC TREX|CPC TREX]] [[C-ONE|CPC-ONE]] TurboCPC core running on a FPGA board&lt;br /&gt;
*[http://ralferoo.blogspot.fr/ CPC FPGA] CPC emulation running on a custom made FPGA board&lt;br /&gt;
*[[FPGAmstrad|FPGAmstrad]] [https://github.com/renaudhelias/CoreAmstrad CoreAmstrad] [https://github.com/mist-devel/mist-board/wiki/CoreDocAmstrad CoreDocAmstrad] [https://github.com/mist-devel/mist-binaries/tree/master/cores/amstrad_alt CPC for MIST and MISTer] Translation of JavaCPC from Java into VHDL on a MiST board&lt;br /&gt;
*[https://intelligenttoasters.blog/cpc2-project-index/ CPC2 Project] CPC emulation running on a Cyclone V FPGA board&lt;br /&gt;
*[https://github.com/rpsubc8/ESP32TinyCPC/ ESP32 TinyCPC] Port from CPC-em emulator to TTGO VGA32 v1.x board with ESP32&lt;br /&gt;
*[https://github.com/codedchip/AMSGateArray AMSGateArray] Reverse engineered Gate Array from decapped chips&lt;br /&gt;
*[[SDiskEmul]] Floppy-drive emulator released in 2007. Abandoned now. Supports DSK, EDSK disk-images&lt;br /&gt;
*[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]&lt;br /&gt;
*[https://github.com/keirf/flashfloppy/ FlashFloppy] Open source floppy-drive emulator for the ubiquitous Gotek hardware. Supports DSK, EDSK, HFE disk-images&lt;br /&gt;
*[https://cpcrulez.fr/forum/viewtopic.php?f=5&amp;amp;t=100&amp;amp;start=690#p55437 Pauline] FPGA-based floppy-drive dumper and emulator&lt;br /&gt;
*[https://hobbyretro.com/en/retro/tzxduino TZXduino] Arduino-based tape deck emulator. Supports many formats of tape-images including CDT and TZX&lt;br /&gt;
*[https://pelrun.github.io/PlayUEF/ PlayUEF] Web-browser based tape deck emulator, supporting CDT and TZX tape-images&lt;br /&gt;
*[https://github.com/dasta400/ACPCPE Amstrad CPC Printer Emulator] Arduino-based CPC printer emulator&lt;br /&gt;
&lt;br /&gt;
= Mass-storage =&lt;br /&gt;
Emulator support for mass-storage expansions is as follows:&lt;br /&gt;
*[[Dobbertin Harddisc]] is emulated by MAME&lt;br /&gt;
*[[UIDE Universal IDE adapter cards for Z-80 computers|uIDE]] is emulated by Arnold&lt;br /&gt;
*[[Symbiface II]] IDE/PATA interface or compatible ([[X-Mass]], [https://github.com/salafek/cyboard-for-cpc Cyboard]) is emulated by ACE, Caprice Forever, MAME, WinAPE, WinCPC, Arnold, Virtual CPC&lt;br /&gt;
*[[Albireo]] is emulated by ACE, Caprice Forever&lt;br /&gt;
*[[M4 Board]] is emulated by CPCemu&lt;br /&gt;
*[[Vortex Winchester Drive]], [[ULIfAC|USIfAC / ULIfAC]] and [[Symbiface 3|Symbiface3 / RSF3]] are not supported by emulators&lt;br /&gt;
&lt;br /&gt;
= CPC cartridge slot =&lt;br /&gt;
Emulator support for a CPC cartridge slot is as follows:&lt;br /&gt;
*[[Dandanator]] brings a non-standard physical cartridge port and a very exotic non-standard memory mapper that spies on Z80 instructions (sacrificing compatibility without any justification). It is emulated by ACE, Retro Virtual Machine, CPCEC, ZEsarUX, DSP&lt;br /&gt;
*[[Plus2CPC]] brings a standard physical Plus cartridge port to the CPC. It is not supported by emulators&lt;br /&gt;
*[[Play2CPC]] is an evolution of the [[Plus2CPC]], adding RMR2 Plus mapping, R/W cartridge support, CRTC cursor raster interrupt and a 3-channel soundchip conforming to the [[PlayCity]] base spec. Play2CPC is emulated by ACE&lt;br /&gt;
*[[M4 Board]] simulates a standard Plus cartridge port on the CPC and handles standard CPR files. M4 Board is emulated by CPCemu&lt;br /&gt;
&lt;br /&gt;
= Audio devices =&lt;br /&gt;
Emulator support is as follows:&lt;br /&gt;
*[[Amstrad SSA-1 Speech Synthesizer|SSA-1 speech synthesizer]] is emulated by ACE, Caprice Forever, JavaCPC, MAME&lt;br /&gt;
*[[Dk'tronics Speech Synthesizer|Dk'Tronics speech synthesizer]] is emulated by ACE, Caprice Forever, JavaCPC, MAME&lt;br /&gt;
*[[TMPI speech synthesizer|Techni-Musique speech synthesizer]] is emulated by ACE, Caprice Forever&lt;br /&gt;
*[[Amdrum]] is emulated by ACE, JavaCPC, MAME, WinAPE&lt;br /&gt;
*[[Digiblaster]] is emulated by ACE, Caprice Forever, JavaCPC, MAME, WinAPE, CPCEC, CPCEPower, WinCPC, Virtual CPC&lt;br /&gt;
*[[PlayCity]] is fully emulated by ACE, MAME, Arnold, SugarBox. The audio part of [[PlayCity]] is emulated by Caprice Forever, JavaCPC, CPCEC&lt;br /&gt;
*[[Play2CPC]] implements the PlayCity base spec (aka Arcade Sound System). It has one additional soundchip instead of two and no CTC chip. It is emulated by ACE&lt;br /&gt;
*[[Willy|Willy OPL3]] is emulated by ACE&lt;br /&gt;
*[[Willy|Willy MIDI]] is emulated only by ACE for Haiku&lt;br /&gt;
*[[Music Machine]], [https://github.com/lambdamikel/Speak-SID Speak&amp;amp;SID], [https://github.com/lambdamikel/LambdaSpeak3 LambdaSpeak], [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/amsdap-amstrad-msx-adapter-connecting-any-msx-io-hardware-to-the-cpc/ Amsdap (SE-One, Moonsound, etc...)] are not supported by emulators&lt;br /&gt;
&lt;br /&gt;
= Rewind feature =&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
At the moment, 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.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= Emulator accuracy checking tools =&lt;br /&gt;
== Quick evaluation==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;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]]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19308 DSC #4 demo] with reference images (CRTC 1): [[Media:DSC4 reference1.png]] [[Media:DSC4 reference2.png]]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7737 Camembert 4 demo] with reference images (CRTC 0/1/3/4): [[Media:Camembert-real.jpg]] [[Media:Camembert 4 Pixel Precise.jpg]]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9029 BSC7 Interlace demo] with reference image (CRTC 0/2/3/4): [[Media:BSC7 reference.png]]&lt;br /&gt;
&lt;br /&gt;
== Z80 CPU ==&lt;br /&gt;
*[https://cpcrulez.fr/applications_util-zexall.htm ZEXALL (CP/M)] [https://cpcrulez.fr/applications_util-zexdoc.htm ZEXDOC (CP/M)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12883 Z80 Full Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12881 Z80 Doc Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12882 Z80 Flags Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12880 Z80 Doc Flags Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12884 Z80 MEMPTR Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12879 Z80 CCF Test] Z80 CPU instruction set exercisers&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=298 Arkanoid (using Z80 Interrupt Mode 2)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=427 L'anneau de Zengara (using Z80 register R)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1299 Light Corridor (Z80 useless instruction prefixes)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=735 Dogsbody (accessing non-standard I/O ports)]&lt;br /&gt;
*[https://wikiti.brandonw.net/?title=Z80_Instruction_Set Z80 instruction set] [https://zx-pk.ru/attachment.php?attachmentid=2989&amp;amp;d=1143656567 Z80 MEMPTR (aka WZ) internal register] [https://github.com/hoglet67/Z80Decoder/wiki/Undocumented-Flags Even weirder Z80 behaviour] [https://zxe.io/software/Z80/documentation/latest/Thanks.html To get to the bottom of it] [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/z80-cpu-nmos-or-cmos/ Z80 is always NMOS on CPC and Plus] How the Z80 behaves&lt;br /&gt;
*[https://floooh.github.io/2021/12/06/z80-instruction-timing.html Z80 T-state timings] [https://baltazarstudios.com/zilog-z80-undocumented-behavior/ Other source about T-state timings] Ultra accurate timing behaviour&lt;br /&gt;
&lt;br /&gt;
== Diagnostics ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5113 Official Amstrad CPC hardware diagnostics] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17932 Non-official Amstrad Diagnostics] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6545 STS SysInfo] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=test%crtc%v Tests CRTC type] [http://cpc.sylvestre.org/technique/technique_identifier_crtc.html Identifying CRTC visually]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6987 RAM Expansion Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14833 MemTest] [https://www.cpc-power.com/index.php?page=detail&amp;amp;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&amp;amp;num=15739 RAM Check] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13386 Testprogram For All ERAM] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19185 Xenon 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12188 Take On Me] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14339 Trololo Experiments] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19406 Still The One] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16084 Post Scriptum] [https://cpcrulez.fr/info-chany-enhanced_edition.htm Chany 512K cracks] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=151 Expanded RAM software list] RAM exercisers&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15975 FutureOS] [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/464-and-ram-extension/ Behaviour of RAM mode &amp;amp;C3] [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/upgrading-a-cpc-464-in-2022/ More on the issue] RAM expansion bug on CPC464/664&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=135 Batman The Movie] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2318 Turrican] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=80 Technical explanation] CPC keyboard clash&lt;br /&gt;
*[https://www.cpcwiki.eu/forum/emulators/amstrad-cpc-'acid'-test/ &amp;quot;Acid&amp;quot; test suite] [https://cpctech.cpcwiki.de/download/test.zip] [http://ace.cpcscene.net/tests:arnold_test_suite Tests results in ACE] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17738 PPI tests] Chips tests by arnoldemu&lt;br /&gt;
*[http://www.winape.net/downloads.jsp Plus Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15242] CPC and CPC+ Emulator test suite (including Instruction and Interrupt timing tests)&lt;br /&gt;
&lt;br /&gt;
== Amstrad Plus ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9627 Official Plus diagnostics cartridge] [[File:Roudoudou CPR tests.zip]] [https://www.cpcwiki.eu/forum/emulators/amstrad-cpc-'acid'-test/75/] Plus testing tools&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8308 4096 Colors Preview] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7407 CPC+ First Demo]  [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8443 Simply The Bests] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7411 ASM Intro 1] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18789 Veteran] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9472 Revival'n Impact coop] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3959 Fluff] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3622 Space Gun] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1682 Prehistorik 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3575 No Exit] ASIC effects&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3788 Frogger] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4721 Rick Dangerous 6128+] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17818 La culotte de Zelda] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12013 Flappy Rulez] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13363 Picrocs] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14639 Sudoplus] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15142 Ghosts'n Goblins] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18946 Goldorak Versus] Homebrews&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8874 6128 Plus Dma] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14939 Eerie Forest] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14940 CRTC3] [https://cpcrulez.fr/demostestDO_fairy-breakpoint_2010.htm Fairy] [https://soundtrackerdma.cpcscene.net/doku.php?id=en:download Soundtracker DMA] To test DMA and to compare the PSG output with the output from a real Amstrad Plus&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18016 Bulles] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7532 X-Mas 2008] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8588 Synergy] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7410 Mir Station] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13142 BarBar] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7530 Delirium Tremens] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9169 Funerapolis] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7935 Sappy] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19239 USS Cygnus 192] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17979 GX8K] To test hardware sprites emulation&lt;br /&gt;
&lt;br /&gt;
== Colorimetry ==&lt;br /&gt;
*[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&lt;br /&gt;
*Major difference in colorimetry between the real Amstrad CTM644 display and emulators display:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Border 8 - real CPC display.png|Border 8 on real CPC&lt;br /&gt;
Border 8 - real Plus display.png|Border 8 on real Plus&lt;br /&gt;
Border 8 - emulator display.png|Border 8 on emulators&lt;br /&gt;
Palette - real CPC.png|Palette on real CPC&lt;br /&gt;
Palette - real Plus.png|Palette on real Plus&lt;br /&gt;
Palette - emulator.png|Palette on emulators&lt;br /&gt;
True CTM colorimetry.png|Colorimetry on real CPC&lt;br /&gt;
CTM Emulator Shader colorimetry.png|Colorimetry on emulators&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Graphics ==&lt;br /&gt;
*[https://shaker.logonsystem.eu/ Shakerland] Ultra accurate CRTC documentation and its associated CPC testing tool&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8524 Equalizor] [https://forum.system-cfg.com/viewtopic.php?p=229698#p229698 Revolog] [https://forum.system-cfg.com/viewtopic.php?f=24&amp;amp;t=11535&amp;amp;start=285 Technical explanation] Unpredictable behaviour of the real CRTC type 1 chip. We can classify these behaviours as CRTC types 1a and 1b&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12906 HSYNC test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16466 Split-Rasters Test CRTC1] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15519 Les split-rasters] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=cote%gamers Côté Gamers] [https://www.cpc-power.com/index.php?page=detail&amp;amp;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&amp;amp;num=15280 CRTC software] CRTC testing tools&lt;br /&gt;
*[http://logon.system.free.fr/down/shaker_addon.dsk Pixel 1 Horizontal Hard Scroll for all CRTCs] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9102 Vertical Hard Scroll 100%] [https://cpcrulez.fr/coding_src-demo-smooth_crtc_register_3_scrolling_test.htm Smooth CRTC Register 3 scrolling test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1949 Skate Wars] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1211 Jinks] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=68 Out of this World] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=159 Killer Cobra] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10465 Edge Grinder] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10072 Relentless] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1982 Warhawk] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=99 Mission Genocide] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1028 Axys] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15809 Red Sunset] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18843 Hyperdrive] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=974 Ghosts'n Goblins] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1290 Legend of Kage] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1698 Profanation] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2119 Super Cauldron] Smooth CRTC R3/R5 hardware scrolling&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7514 BSC 91] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8772 Voyage 1993] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7751 OVL '96] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7662 Byte 98] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8623 Unique] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7910 Paradise] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8621 Power System] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8875 Prodatron] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7744 Longshot] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7668 Amazing] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7479 Madness] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8259 Chany Dream End] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8615 Welcom-X 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7591 S&amp;amp;Koh] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8041 Other World 3] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7648 Big'O Full'O Dem'O] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7765 Not Dead] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7543 Odyssey] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7736 Croco Chanel] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7828 Tire Au Flan]  Early demos, so they were developed without CPC emulator bias&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2799 Battro] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15298 Still Scrolling] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15102 PhX] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9181 Bloc Us] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9248 Wake Up] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19313 Stand Up] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9589 Yet Another Plasma] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14225 Logon's Run] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9970 Still Rising] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=onescreen Onescreen Colonies] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16067 Gloire à Piou] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7729 DTC] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12683 Points Barres] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16068 Octopus Pocus] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18794 FMR CPC] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8552 Synergy 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15209 Scroll Factory] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19024 The One] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7728 DemoIzArt] CRTC effects&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=76 Les Mondes Parallèles] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=66 Paranoia] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=78 Molecularr 2] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=megablasters Megablasters] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12649 Quadraster] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2369 Groops] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3963 Sudoku Master] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10009 Overkoban] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17786 Prince Dastan Sokoban Within] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17610 Deva Drifter] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17197 Hexavirus v0] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15985 A tribute to the sisters] True overscan games&lt;br /&gt;
*[https://www.cpcwiki.eu/forum/programming/mode-3/ Mode 3 Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12905 &amp;quot;Mode 5&amp;quot; Viewer] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18680 Pixel Free] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14259 Test interlace color] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13136 Interlace viewer] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7701 Climax] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13139 Perfect Pix Paint] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13359 Imperial Mahjong] Special graphics modes&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16027 Mire] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16722 Mir'Color] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7826 Climax-G] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7937 Fatal Beauties] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8307 4 Sins] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7897 Twinblast] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8081 MCS 6] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7593 Schadel] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2224 Thunder Blade] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2318 Turrican] To test the VDU&lt;br /&gt;
&lt;br /&gt;
== Peripherals ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=hardware_magnum Magnum Light Phaser] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3583 SkeetShoot] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3584 The Enforcer] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3992 Dk'Tronics Light Pen] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4955 Light Pen Mark II] To test lightguns and lightpens connected to expansion port&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=hardware_phaser_loriciels West Phaser] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=hardware_gunstick Gunstick] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4303 Trojan LP-1] To test lightguns and lightpens connected to joystick port&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=SSA-1 SSA-1 software list] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=DK%27Tronics%20Speech%20Synthesizer Dk'Tronics software list] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=TMPI%20speech%20synthesizer TMPI software list] To test speech synthesizers emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7535 Digital Orgasm] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=Digitracker Digitracker] [[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&amp;amp;lemot=Amdrum Amdrum] To test [[Digiblaster]] and [[Amdrum]] soundcards emulation&lt;br /&gt;
*[[SymAmp]] [https://framagit.org/shinra/vgmplay VGMplay] [http://www.roudoudou.com/ACE-DL/ 4200 VGM musicfiles pack] [https://github.com/lambdamikel/BluePillCPC/tree/main/cpc/s2p BluePillCPC] To test [[Willy]] OPL3 and MIDI emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12589 ProText] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4670 ProSpell] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4668 ProPrint] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5551 Impr'Image] To test printer emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4012 Advanced OCP Art Studio] To test [[AMX Mouse|AMX]] and [[Kempston Mouse|Kempston mouse]] emulation&lt;br /&gt;
*[[HDCPM]] [[UniDOS]] [http://www.roudoudou.com/ACE-DL/ UniLOAD 60MB archive] [http://www.roudoudou.com/ACE-DL/ SymbOS 45MB disk-image] To test mass-storage, RTC and modern mouse (scroll wheel) emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12972 X-MEM FW] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19236 CatRun] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18901 CowSay] [http://impdraw.wikidot.com iMPsuite] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=11578 GOS+] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6353 Utopia] To test ROMboard emulation&lt;br /&gt;
*[https://abalore.com/alcon2020.html Alcon 2020] [[Converted GX4000 Software]] To test the [[Play2CPC]] emulation&lt;br /&gt;
*[http://theswordofianna.retroworks.es/ The Sword of Ianna] [http://retroworks.es/php/game_en.php?id=11 Brunilda] [http://www.dandare.es/Proyectos_Dandare/Descargas.html MojonTwins romset] To test the [[Dandanator]] emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=protection&amp;amp;lenom=Multiface%202%20Protection Anti-Multiface II software list] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1980 War in Middle Earth] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1322 Zap't'Balls advanced] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5266 The Insider] To test [[Multiface II]] emulation&lt;br /&gt;
&lt;br /&gt;
== Copy-protection ==&lt;br /&gt;
*[https://cpctech.cpcwiki.de/download/fdctest.zip FDC test suite] [https://cpctech.cpcwiki.de/download/drivetest.zip Disk drive tests] [https://cpctech.cpcwiki.de/download/cdttst.zip CDT/TZX test suite for emulators] Set of tests by arnoldemu&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5002 Tape Head Azimuth] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4194 Ultra Son] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10475 Soft-Lok] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4718 Bonzo Super Meddler] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5059 SpeedTrans] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5803 Transformateur] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6057 Deconnect] [https://www.cpc-power.com/index.php?page=protection&amp;amp;lenom=NoAMSDOS NoAMSDOS software list] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3871 Computer Hits] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1359 Marmelade] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1412 Mickey Mouse] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=83 Astro Marine Corps] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=773 Druid] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10585 Breaking Baud] To test Tape emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19368 FatMag 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9211 Backtro] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7405 5KB 3] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8746 The Demo] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13108 CPC 30th Anniversary] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7542 Midline Process] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17902 Can Robots Take Control] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10030 Phortem] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9156 Batman Forever] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16736 Pinball Dreams] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7174 R-Type] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6661 Nheredia] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13426 Doomsday Lost Echoes] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4025 Orion Prime] Musical loader, Multi-drives, 3.5 inch (dual-head and 80 tracks) floppy drives support&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10029 RPM] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15518 DskTest] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14201 Crazy] [https://cpcrulez.fr/applications_disc-dlfrsilver_dump_tool_test_suite.htm Dlfrsilver Dump Tool Test Suite] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4812 Format II] [[ParaDOS]] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4933 Xexor] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6118 Discology] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4179 Hercule II] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16060 UltraDisc] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5244 Disc'o'Magic] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9297 Multi Mark] To test FDC emulation&lt;br /&gt;
*[https://cpcrulez.fr/demostestDM_fatmag_01.htm FatMag] The HFE trackload version is designed to rigorously test the FDC emulation [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17853 Open Tower Defense] Emulator detection through a FDC test [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=931 Fugitif] Disk swapping detection&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12051 Demonstration of KBI protection] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1589 Pacific] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1650 Platoon] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1814 Robinson Crusoe] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=660 Daley Thompson's Olympic Challenge] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4064 Les Hits de l'Aventure] Protection based on weak bits&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=839 E.X.I.T] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1501 Le Nécromancien] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2195 Tensions] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1784 Wild Streets] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1958 Skyx] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=111 Turbo Cup] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2024 Sphaira] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=780 Dwarf] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1873 Sapiens] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=612 Corsarios] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=582 Cobra] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=744 Eden Blues] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1390 M'enfin] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1420 Mike &amp;amp; Moko] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4089 Equinoxe] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5545 Vocabulaire CM] Protection based on custom GAPS data&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=741 Donkey Kong] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1887 Scott Winder Reporter] Destructive copy-protection [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1716 Puffy's Saga] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=699 Defender of the Crown] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1354 Le Maraudeur] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1699 Profession Détective] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1730 Qin] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1005 Basun] Some other copy-protected disk-images&lt;br /&gt;
*[https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;cat=12 Protection schemes documented] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=9 Lenslok] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=207 Gaps] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=384 Latis] [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&amp;amp;num=435 Anti-copy bug] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=375 Baudload and Trackload list] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=38 Autoboot] Technical explanations&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=41 Trantor] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=204 3D Starfighter] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=726 Treasure Island Dizzy] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=971 Ghost Hunters] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2132 Super Robin Hood] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=237 Advanced Pinball Simulator] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1200 Jet Bike Simulator] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1002 Grand Prix Simulator] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=183 Darts 180] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1243 Killapede] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1194 Jail Break] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1815 Robocop] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=100 Chase HQ] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1926 Shinobi] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8892 4-Bit Digi Try] Software English vocal digits&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1349 Le Manoir de Mortvielle] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1098 Hold-Up] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=910 Forteresse] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=511 Canadair] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1140 L'île] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1199 Jaws] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1102 Holocauste] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=132 Afteroids] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=879 Fire &amp;amp; Forget] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1433 Xyphoes Fantasy] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17000 Space Race] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7456 Yao demo] Other software sound effects&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9179 Now that's what I call Chip Tunes] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18904 Amstream music-disk] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10467 We Are All Old] [https://www.cpc-power.com/index.php?page=detail&amp;amp;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&amp;amp;num=18265 Sintetizador de Sonidos] To test the PSG emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19283 Raytracing in BASIC] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15685 Julia Fractal] To benchmark emulators using their fullspeed mode&lt;br /&gt;
&lt;br /&gt;
= File format specifications =&lt;br /&gt;
&lt;br /&gt;
*[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&amp;amp;num=386 CTRAW] [https://www.cbmstuff.com/downloads/scp/scp_image_specs.txt SCP] File formats of disk-image&lt;br /&gt;
*[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] [http://soundfile.sapp.org/doc/WaveFormat/ WAV] File formats of tape-image&lt;br /&gt;
*[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&lt;br /&gt;
*[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&amp;amp;num=10 Archive of SNR sessions]&lt;br /&gt;
*[http://leonard.oxg.free.fr/ymformat.html YM] [https://www.cpcwiki.eu/index.php/AYC AYC] [https://vgmrips.net/wiki/VGM_Specification VGM] Soundchip logging file formats&lt;br /&gt;
*[https://en.wikipedia.org/wiki/IMG_(file_format) IMG] [https://web.archive.org/web/20120202144328/http://download.microsoft.com/download/f/f/e/ffef50a5-07dd-4cf8-aaa3-442c0673a029/Virtual%20Hard%20Disk%20Format%20Spec_10_18_06.doc VHD] [https://github.com/gasman/hdfmonkey HDF] File formats of flat hard-drive image&lt;br /&gt;
*[https://shaker.logonsystem.eu/sslcsl CSL] Cpc Scripting Language, a macro/scripting system to automate emulators&lt;br /&gt;
&lt;br /&gt;
= Emulation Tools  =&lt;br /&gt;
&lt;br /&gt;
*[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] [[Dsktools|Dsktools]] [[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] Set of tools about disk-images&lt;br /&gt;
*[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://cpctech.cpcwiki.de/download/2cdt.zip 2CDT] [http://cngsoft.no-ip.org/csw2cdt.htm CSW2CDT] [https://cpcrulez.fr/emulateurs_UTIL-CDT-CDT2WAV.htm CDT2WAV] [https://github.com/shred/tzxtools tzxtools] Set of tools about tape-images&lt;br /&gt;
*[http://www.cpcmania.com/news.htm CPRTools] Edit Amstrad Plus CPR cartridge-images&lt;br /&gt;
*[https://bochs.sourceforge.io/doc/docbook/user/winimage.html WinImage, DiskExplorer, Mtools] [https://www.fysnet.net/ultimate/index.htm Ultimate Imager] [https://github.com/ProgrammingHobby/CPM_Image-File_Explorer CP/M Image File Explorer] Access and edit IMG hard-drive images. No need of tools for VHD images with FAT filesystem, they are supported directly in Windows Explorer: it works the same way as ISO files&lt;br /&gt;
*[[CPCGamesCD-CPCLoader|CPCGamesCD-CPCLoader]] CDROM containing a navigable database with all the games of the Amstrad CPC&lt;br /&gt;
*[https://colourclash.co.uk/cpc-analyser/ CPC Analyser] Help reverse engineer Amstrad CPC games&lt;br /&gt;
*[[Emulator tooling]] UI screenshots of tooling in CPC emulators&lt;br /&gt;
*[[WinApe|WinAPE]] [[WinCPC]] [[JavaCPC]] [https://code.google.com/archive/p/cpcsdk/ Caprice Reloaded] [http://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73 Caprice Forever] Emulators with an integrated Z80 Assembler&lt;br /&gt;
*[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] [https://marketplace.visualstudio.com/items?itemName=floooh.vscode-kcide KC IDE] Tools for CPC cross-development in Z80 Assembler&lt;br /&gt;
*[https://ccz80.webcindario.com/ccz80en.html ccz80] [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] [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&lt;br /&gt;
*[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] A complete suite (IDE, compiler, resource editor) for developing CPC games/demos in Pascal&lt;br /&gt;
*[https://cpcbasic.webcindario.com/CPCBasicEn.html CPC Basic] [https://github.com/benchmarko/CPCBasic CPCBasic Unchained] [https://marketplace.visualstudio.com/items?itemName=cebe74.amstrad-basic-helper-vscode Amstrad Basic Helper] [https://www.cpcalive.com/cpcalive_en.html CpcAlive] [https://ugbasic.iwashere.eu/ ugBASIC] Cross-platform CPC development in BASIC&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12875 8BP] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4159 Graphic City] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4649 Sprites Alive] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4245 Laser Basic] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4705 FAst BAsic COMpiler] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6042 TurboBASIC compiler] [[B-ASIC]] Useful CPC tools (compilers and RSX) to beef up the Amstrad BASIC&lt;br /&gt;
*[http://ldeplanque.free.fr/ConvImgCpc/new/ ConvImgCPC] [https://github.com/AugustoRuiz/Img2CPC img2cpc] [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&lt;br /&gt;
*[http://grafx2.chez.com/ GrafX2] [http://multipaint.kameli.net/ Multipaint] [[Retro Game Asset Studio]] [http://gcajdev.epizy.com/sprite_creator.php Sprite Creator] Cross-platform CPC pixel art editors&lt;br /&gt;
*[http://cngsoft.no-ip.org/chipnsfx.htm CHIPNSFX] [https://github.com/AugustoRuiz/WYZTracker WYZTracker] [https://www.julien-nevo.com/arkostracker/ Arkos Tracker 2] [https://tildearrow.org/furnace/ Furnace] Cross-platform CPC music creation suites&lt;br /&gt;
&lt;br /&gt;
= Emulator Detection =&lt;br /&gt;
&lt;br /&gt;
If you want to promote usage of real CPC computers, you can detect CPC emulators by:&lt;br /&gt;
*Checking if the memory is initialized with zeroes, as real machines have random memory values at boot&lt;br /&gt;
*Focusing on the minute details in Z80, CRTC and PPI chips. They are most often wrong in emulators&lt;br /&gt;
*Examining the FDC chip. It is only replicated more or less superficially in all emulators because the internals of the chip are still unknown&lt;br /&gt;
&lt;br /&gt;
Combining these methods will definitely get you a 100% success rate in detecting emulators, even the toughest ones.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Emulator undetected.png|Emulator undetected&lt;br /&gt;
Emulator detected.png|Emulator detected&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is also this initiative for emulators who willingly want to be detected: [[Emulator_IDs|Emulator IDs]]&lt;br /&gt;
&lt;br /&gt;
= Emulators running on the Amstrad CPC =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! License&lt;br /&gt;
! Emulates&lt;br /&gt;
|-&lt;br /&gt;
| [[Amstrad BBC BASIC]]&lt;br /&gt;
| [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9862]&lt;br /&gt;
| 2.30&lt;br /&gt;
| Apr 2, 1986&lt;br /&gt;
| Commercial💲&lt;br /&gt;
| [[BBC BASIC]]&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCZVM]]&lt;br /&gt;
| [https://www.cpcwiki.eu/index.php/Z-Machine]&lt;br /&gt;
| &lt;br /&gt;
| Jul 6, 2019&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Z-Machine]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Pac-Man]]&lt;br /&gt;
| [http://www.cpcwiki.eu/forum/games/speed-up-patch-for-pac-man-emulator-for-cpc-by-syx-toto/msg81222/#msg81222]&lt;br /&gt;
| 1.1&lt;br /&gt;
| Jun 5, 2014&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Pac-Man arcade|Pac-Man arcade]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Phoenix]]&lt;br /&gt;
| [https://norbertkehrer.github.io/phoenix_cpc.html]&lt;br /&gt;
| &lt;br /&gt;
| Jan 6, 2019&lt;br /&gt;
| Freeware&lt;br /&gt;
| [[Phoenix arcade|Phoenix arcade]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Space Invaders|Space Invaders]]&lt;br /&gt;
| [http://www.cpcwiki.eu/forum/games/space-invaders-arcade-emulator-for-amstrad-cpc/]&lt;br /&gt;
| 1.0&lt;br /&gt;
| Jun 11, 2016&lt;br /&gt;
| Freeware&lt;br /&gt;
| [[Space Invaders arcade|Space Invaders arcade]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Vezza]]&lt;br /&gt;
| [https://gitlab.com/sijnstra1/vezza]&lt;br /&gt;
| &lt;br /&gt;
| Oct 7, 2023&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Z-Machine]]&lt;br /&gt;
|-&lt;br /&gt;
| [[ZXM]]&lt;br /&gt;
| [https://cpcrulez.fr/applications_util-ZXm.htm]&lt;br /&gt;
| &lt;br /&gt;
| 1993&lt;br /&gt;
| Freeware&lt;br /&gt;
| [[ZX Spectrum|ZX Spectrum]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Zym]]&lt;br /&gt;
| [http://www.symbos.org/appinfo.htm?00054]&lt;br /&gt;
| 0.9&lt;br /&gt;
| Feb 19, 2022&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Z-Machine]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Emulator| ]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Emulators&amp;diff=113803</id>
		<title>Emulators</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Emulators&amp;diff=113803"/>
				<updated>2024-01-02T21:57:10Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: /* Desktop */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Vote for your favorite emulator =&lt;br /&gt;
&lt;br /&gt;
[https://www.cpcwiki.eu/forum/emulators/which-emulator-s-do-you-use/ There is a poll on CPCWiki forum]&lt;br /&gt;
&lt;br /&gt;
= Software Platforms (Full OS independance) =&lt;br /&gt;
&lt;br /&gt;
== Java Platform  ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnold Jnr|Arnold Jnr]]&lt;br /&gt;
| [https://web.archive.org/web/20160727011826/http://www.arnoldemu.freeserve.co.uk/]&lt;br /&gt;
| &lt;br /&gt;
| Aug 27, 2001&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[JavaCPC|JavaCPC Desktop]]&lt;br /&gt;
| [https://sourceforge.net/projects/javacpc/] [http://sourceforge.net/projects/javagx4000/ JavaGX4000] [http://sourceforge.net/projects/cpcinajar/ CPCInAJar]&lt;br /&gt;
| 3.0.2&lt;br /&gt;
| Apr 8, 2022&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[JEMU|JEMU]]&lt;br /&gt;
| [http://jemu.winape.net/]&lt;br /&gt;
| &lt;br /&gt;
| Feb 19, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]], [[ZX80/81]], [[BBC Micro]], [[VZ-300]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[WebCPC|WebCPC]]&lt;br /&gt;
| [http://sourceforge.net/projects/webcpc/] [https://web.archive.org/web/20110903132520/http://java.cpc-live.com/ JavaCPC Applet]&lt;br /&gt;
| r15&lt;br /&gt;
| Dec 31, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== JS / Wasm / Web Platform ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCBox|CPCBox]] &lt;br /&gt;
| [https://www.retroshowcase.gr/cpcbox-master/] [https://web.archive.org/web/20190702084943/http://www.cpcbox.com/] [https://bzhgames.xyz/index.php BZH Games]&lt;br /&gt;
| beta &lt;br /&gt;
| Dec 28, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[CrocoDS|CrocoDS]] &lt;br /&gt;
| [https://crocods.org/web/] [https://github.com/redbug26/crocods Repo]&lt;br /&gt;
| &lt;br /&gt;
| Jun 9, 2020&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[MAME|Emularity (MAME)]] &lt;br /&gt;
| [https://github.com/db48x/emularity] [http://jsmess.textfiles.com/ JSMESS] [https://classicreload.com/platform/amstrad%20cpc Classic Reload]&lt;br /&gt;
[https://archive.org/details/softwarelibrary_cpc_games CPC Games] [https://archive.org/details/softwarelibrary_cpc_demos CPC Demos] on Internet Archive&lt;br /&gt;
| &lt;br /&gt;
| Oct 1, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| Lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Roland javascript emulator|Roland]] &lt;br /&gt;
| [https://web.archive.org/web/20190308142014/http://roland.retrolandia.net/]&lt;br /&gt;
| &lt;br /&gt;
| Sep 24, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Ronald|Ronald]] &lt;br /&gt;
| [https://ronald.migge.io] [https://github.com/mdm/ronald Repo]&lt;br /&gt;
| &lt;br /&gt;
| Sep 25, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[RVMplayer|RVMplayer]] &lt;br /&gt;
| [https://www.retrovirtualmachine.org/rvmplayer/]&lt;br /&gt;
| 0.1.1&lt;br /&gt;
| May 6, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]]&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[Tiny Emus]]&lt;br /&gt;
| [https://floooh.github.io/tiny8bit/] [https://floooh.github.io/tiny8bit/cpc-ui.html] [http://floooh.github.io/virtualkc/ yakc] [https://online.oldgames.sk/play/cpc Online Old Games]&lt;br /&gt;
[https://devilmarkus.de/ WebGL 3d 8-bit] [https://www.amstradcpcgames.eu/ Amstrad CPC Games] [http://cpc.novidee.com/ zpz]&lt;br /&gt;
| &lt;br /&gt;
| Nov 4, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| [[KC Compact]], [[ZX Spectrum]], [[VIC-20]], [[Commodore 64]], [[Acorn Atom]], [[KC 85]], [[KC 87]], [[Z9001]], [[Z1013]], [[LC80]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Griffin CPC emulator|Xiragon]]&lt;br /&gt;
| [https://web.archive.org/web/20191027200008/http://xiragon.com/]&lt;br /&gt;
| &lt;br /&gt;
| Nov 28, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== LibRetro (API for emulators) ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! Type&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[libretro-cap32]]&lt;br /&gt;
| Emulation core&lt;br /&gt;
| [https://github.com/libretro/libretro-cap32]&lt;br /&gt;
| 4.5.3&lt;br /&gt;
| Mar 16, 2022&lt;br /&gt;
| -&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[libretro-crocods]]&lt;br /&gt;
| Emulation core&lt;br /&gt;
| [https://github.com/libretro/libretro-crocods]&lt;br /&gt;
| 0.1&lt;br /&gt;
| Feb 28, 2017&lt;br /&gt;
| -&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[MAME|MESS 2015]]&lt;br /&gt;
| Emulation core&lt;br /&gt;
| [https://docs.libretro.com/meta/core-list/]&lt;br /&gt;
| 0.160&lt;br /&gt;
| circa 2015&lt;br /&gt;
| -&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[SugarLibRetro]]&lt;br /&gt;
| Emulation core&lt;br /&gt;
| [https://github.com/Tom1975/SugarLibRetro] (wraps independent lib [https://github.com/Tom1975/CPCCore CPCCore])&lt;br /&gt;
| git&lt;br /&gt;
| Jan 10, 2020&lt;br /&gt;
| -&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[EmuVR]]&lt;br /&gt;
| Frontend&lt;br /&gt;
| [https://www.emuvr.net/]&lt;br /&gt;
| &lt;br /&gt;
| Dec 25, 2022&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Depends on emulation cores&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[Hackable Console]]&lt;br /&gt;
| Frontend&lt;br /&gt;
| [https://github.com/leiradel/hackable-console]&lt;br /&gt;
| &lt;br /&gt;
| Mar 27, 2022&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Depends on emulation cores&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[RetroArch]]&lt;br /&gt;
| Frontend&lt;br /&gt;
| [https://www.retroarch.com/] [https://www.retroarch.com/?page=achievements RetroAchievements]&lt;br /&gt;
| 1.16.0&lt;br /&gt;
| Sep 22, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Depends on emulation cores&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Current Operating Systems =&lt;br /&gt;
&lt;br /&gt;
== Desktop ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Windows&lt;br /&gt;
! macOS&lt;br /&gt;
! Linux&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[ACE-DL]]&lt;br /&gt;
| [http://www.roudoudou.com/ACE-DL] [https://discord.gg/rKxFPndHPw Discord] [http://ace.cpcscene.net Based on ACE]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| &lt;br /&gt;
| Dec 17, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[AMSpiriT|AMSpiriT]]&lt;br /&gt;
| [https://www.amspirit.fr/] [https://forum.system-cfg.com/viewtopic.php?f=24&amp;amp;t=11535 Forum]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 0.967b&lt;br /&gt;
| Dec 6, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnimedes|Arnimedes]] &lt;br /&gt;
| [http://www.arnimedes.de/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.02&lt;br /&gt;
| Jul 7, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnold_(Emulator)|Arnold]] &lt;br /&gt;
| [http://www.cpcwiki.eu/forum/emulators/arnold-wip/msg144749/#msg144749] [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]&lt;br /&gt;
| ✅&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ⚠️&lt;br /&gt;
| [http://www.cpcwiki.eu/imgs/d/dd/Arnoldwip_src.tar.bz2 WIP]&lt;br /&gt;
| May 13, 2017&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Caprice Forever]] &lt;br /&gt;
| [http://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 23.11&lt;br /&gt;
| Nov 11, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware &amp;amp; Outdated sources&lt;br /&gt;
|-&lt;br /&gt;
| [[CaPriCe|Caprice32]] &lt;br /&gt;
| [https://github.com/ColinPitrat/caprice32/releases] [http://sourceforge.net/projects/caprice32/ Old repo] [https://snapcraft.io/caprice32 Linux] [http://aleste520.narod.ru/caprice.html Aleste] [https://code.google.com/archive/p/cpcsdk/ Reloaded]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 4.6.0&lt;br /&gt;
| Oct 8, 2022&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Clock Signal|Clock Signal]] &lt;br /&gt;
| [https://github.com/TomHarte/CLK/releases] [https://snapcraft.io/clock-signal Linux]&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| &lt;br /&gt;
| Dec 28, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]], [[ZX80/81]], [[Enterprise]], [[MSX]], [[Oric 1/Atmos|Oric]], [[ColecoVision]], [[Acorn Electron]], [[Apple II]], [[VIC-20]], [[Atari 2600]], [[Atari ST]], [[Macintosh]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CoPaCabana|CoPaCabana]]&lt;br /&gt;
| [http://copacabana.emuunlim.com/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 0.74&lt;br /&gt;
| Apr 12, 2006&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[CPC++|CPC++]] &lt;br /&gt;
| [http://bricerive.free.fr/cpc/cpcpp.html]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ⚠️&lt;br /&gt;
| b700&lt;br /&gt;
| May 31, 2015&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[cpc4x|cpc4x]] &lt;br /&gt;
| [http://www.ulrich-cordes.de/cpc/english/cpcemu.htm]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| 0.26&lt;br /&gt;
| Dec 11, 2004&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEC|CPCEC]] &lt;br /&gt;
| [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]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| &lt;br /&gt;
| Aug 6, 2022&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[ZX Spectrum]], [[Commodore 64]], [https://www.youtube.com/watch?v=5LwCy0gRAEc MSX (unreleased)]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEC|cpcec-gtk]] &lt;br /&gt;
| [https://bitbucket.org/norecess464/cpcec-gtk/]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| &lt;br /&gt;
| Feb 4, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCemu|CPCemu]] &lt;br /&gt;
| [http://www.cpc-emu.org/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 2.5&lt;br /&gt;
| Aug 13, 2022&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEPower|CPCEPower]] &lt;br /&gt;
| [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 2105&lt;br /&gt;
| Jun 4, 2021&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCSharp|CPCSharp]] &lt;br /&gt;
| [https://github.com/dolbz/CPCSharp/releases/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.0.0-beta1&lt;br /&gt;
| Apr 7, 2021&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPvC|CPvC]]&lt;br /&gt;
| [https://github.com/alybaek2/cpvc]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| &lt;br /&gt;
| Sep 30, 2022&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CrocoDS|CrocoDS]]&lt;br /&gt;
| [https://crazypiri.eu/crocods/] [https://github.com/redbug26/crocods Repo]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| 4.0 beta3&lt;br /&gt;
| Dec 10, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[DSP|DSP]]&lt;br /&gt;
| [https://github.com/leniad/dsp-emulator/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ⚠️&lt;br /&gt;
| 0.22&lt;br /&gt;
| Nov 15, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| [[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]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[ep128emu|ep128emu]]&lt;br /&gt;
| [https://github.com/istvan-v/ep128emu]&lt;br /&gt;
| ✅&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ⚠️&lt;br /&gt;
| 2.0.11.2&lt;br /&gt;
| Apr 19, 2019&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]], [[Enterprise]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[MESS|MAME]]&lt;br /&gt;
| [http://mamedev.org/release.html] [http://sdlmame.lngn.net/ macOS] [http://wiki.mamedev.org/index.php/SDL_Supported_Platforms Other ports] &lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 0.261&lt;br /&gt;
| Nov 29, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[NO$CPC|NO$CPC]]&lt;br /&gt;
| [http://problemkaputt.de/cpc.htm]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.8&lt;br /&gt;
| Nov 2, 2000&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[PC-CPC|PC-CPC]] &lt;br /&gt;
| [http://cpcrulez.fr/emulateurs_download-WIN-PC-CPC.htm] [https://github.com/DemoniakLudo/PC-CPC Repo]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 0.1at b29&lt;br /&gt;
| Nov 17, 2011&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Retro Virtual Machine|Retro Virtual Machine]]&lt;br /&gt;
| [https://www.retrovirtualmachine.org]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 2.1.11&lt;br /&gt;
| Nov 13, 2023&lt;br /&gt;
| ❌ Removed&lt;br /&gt;
| ✅&lt;br /&gt;
| [[ZX Spectrum]], [[MSX|MSX 1]], [[ColecoVision]], [[SG-1000]], [[Master System]]&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[Roland Emulator|Roland]] &lt;br /&gt;
| [https://www.rolandemu.de/en/downloads.html] [https://github.com/raldus/roland Repo]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| 0.70&lt;br /&gt;
| Apr 20, 2017&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Ronald|Ronald]] &lt;br /&gt;
| [https://github.com/mdm/ronald]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| &lt;br /&gt;
| Sep 25, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[SugarBox|SugarBox]]&lt;br /&gt;
| [https://github.com/Tom1975/SugarboxV2] [http://sugarbox.free.fr/ Old site]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 2.0.2&lt;br /&gt;
| Nov 29, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[VirtualCPC|Virtual CPC]] &lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-WIN-virtual_cpc.htm] [https://web.archive.org/web/20200112094913/http://users.otenet.gr/~sulfonic/cpc/ Archive] &lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.1&lt;br /&gt;
| Aug 8, 2011&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[WinApe|WinAPE]] &lt;br /&gt;
| [http://www.winape.net/] [https://www-ftp.lip6.fr/pub/amstrad/emulator/CPCWIN10.ZIP CPCwin]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 2.0b2&lt;br /&gt;
| Jan 5, 2016&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[WinCPC|WinCPC]] / [[MacCPC|MacCPC]]&lt;br /&gt;
| [http://www.wincpc.ch/index.php?topic=projects] [https://web.archive.org/web/20050409133618/http://www.easypoint.ch/vbcpc/ vbCPC]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| 0.9.2&lt;br /&gt;
| Jan 22, 2010&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[XCPC|Xcpc]]&lt;br /&gt;
| [https://www.xcpc-emulator.net/]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| 0.38.1&lt;br /&gt;
| Apr 8, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[XNACPC|XNACPC]]&lt;br /&gt;
| [http://www.gavpugh.com/2011/11/11/xnacpc-xbox-360-amstrad-cpc-emulator-released/] [https://www.gavpugh.com/old-code/ CPC3D]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.0&lt;br /&gt;
| Nov 11, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[YACE|YACE]]&lt;br /&gt;
| [http://www.youtube.com/watch?v=uxQkljwc0i4]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| &lt;br /&gt;
| Nov 12, 2014&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| ❌ Unreleased&lt;br /&gt;
|-&lt;br /&gt;
| [[ZEsarUX|ZEsarUX]]&lt;br /&gt;
| [https://github.com/chernandezba/zesarux]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| X&lt;br /&gt;
| Sep 8, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| [[PCW]], [[ZX Spectrum]], [[ZX80/81]], [[MSX|MSX 1]], [[ColecoVision]], [[Spectravideo]], [[Jupiter ACE]], [[Sam Coupe]], [[SG-1000]], [[Master System]], [[Sinclair QL]], [[MK14]], [[Z88]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Alternative OS ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS PPC&lt;br /&gt;
| [[Arnold|Arnold]]&lt;br /&gt;
| [http://hirudov.com/amiga/Arnold.php]&lt;br /&gt;
| 1.15&lt;br /&gt;
| Dec 17, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS PPC&lt;br /&gt;
| [[MESS|SDLMESS]]&lt;br /&gt;
| [http://se.os4depot.net/index.php?function=showfile&amp;amp;file=emulation/computer/sdl_mess.lha]&lt;br /&gt;
| 0.146u4&lt;br /&gt;
| Aug 19, 2012&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Haiku&lt;br /&gt;
| [[ACE_(Emulator)|ACE]]&lt;br /&gt;
| [http://www.cpcwiki.eu/forum/emulators/ace-for-haiku/] [http://ace.cpcscene.net/]&lt;br /&gt;
| 1.25.1&lt;br /&gt;
| Oct 15, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Haiku&lt;br /&gt;
| [[AdvanceMAME|AdvanceMAME]]&lt;br /&gt;
| [https://depot.haiku-os.org/#!/pkg/advancemame_x86]&lt;br /&gt;
| 3.9-1&lt;br /&gt;
| Feb 3, 2020&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| MorphOS&lt;br /&gt;
| [[ACE_(Emulator)|ACE]]&lt;br /&gt;
| [http://ace.cpcscene.net/] [https://framagit.org/users/offset/projects Repo]&lt;br /&gt;
| 1.26&lt;br /&gt;
| Jan 1, 2024&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| MorphOS&lt;br /&gt;
| [[MESS|MESS]]&lt;br /&gt;
| [http://fabportnawak.free.fr/mame/]&lt;br /&gt;
| 0.113&lt;br /&gt;
| Nov 1, 2007&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Mobile ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[andcpc]]&lt;br /&gt;
| [http://code.google.com/p/andcpc/]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Apr 4, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[Azimuth]]&lt;br /&gt;
| [https://play.google.com/store/apps/details?id=johnidis.azimuth]&lt;br /&gt;
| 1.11&lt;br /&gt;
| Aug 22, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Adware and in-app purchases💲&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[CPCDroid]]&lt;br /&gt;
| [https://fmsdevel.wisecoding.es/cpcdroid-amstrad-cpc-on-android-phone-2/]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Mar 2, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[CPCemu|CPCemu]] &lt;br /&gt;
| [https://play.google.com/store/apps/details?id=com.loritznet.softwarecreations.cpcemu]&lt;br /&gt;
| 2.5&lt;br /&gt;
| Aug 14, 2022&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[Droid-CPC]]&lt;br /&gt;
| [http://play.google.com/store/apps/details?id=com.kokak.droidcpc]&lt;br /&gt;
| 1.1.01&lt;br /&gt;
| Dec 15, 2016&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Commercial💲&lt;br /&gt;
|-&lt;br /&gt;
| iOS&lt;br /&gt;
| [[CPCemu|CPCemu]]&lt;br /&gt;
| [http://www.cpc-emu.org/]&lt;br /&gt;
| 2.5&lt;br /&gt;
| Aug 13, 2022&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Software available on request&lt;br /&gt;
|-&lt;br /&gt;
| iOS&lt;br /&gt;
| [[CrocoDS]]&lt;br /&gt;
| [https://crazypiri.eu/crocods/] [https://github.com/redbug26/crocods-ios Repo]&lt;br /&gt;
| 2.1&lt;br /&gt;
| Jun 21, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Discontinued Operating Systems =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| Acorn RISC OS&lt;br /&gt;
| [[!CPC|!CPC]]&lt;br /&gt;
| [https://www-ftp.lip6.fr/pub/amstrad/emulator/CPC0728.ZIP] [http://ftp2.fr.openbsd.org/ftp/pub/amstrad/emulator/CPCS1124.ZIP]&lt;br /&gt;
| &lt;br /&gt;
| Jul 28, 1996&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Acorn RISC OS&lt;br /&gt;
| [[!CPCemu|!CPCemu]]&lt;br /&gt;
| [http://huggers-world.de/mops.html]&lt;br /&gt;
| 1.21&lt;br /&gt;
| Mar 22, 2016&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS m68k&lt;br /&gt;
| [[A-CPC|A-CPC]]&lt;br /&gt;
| [https://cpctech.cpcwiki.de/download/a-cpc.lha]&lt;br /&gt;
| 2.0&lt;br /&gt;
| Mar 30, 2002&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS m68k&lt;br /&gt;
| [[Ami-cpc|Ami-cpc]]&lt;br /&gt;
| [http://deplanque.chez.com/] [http://deplanque.chez.com/download_fr.html Ami-cpc2]&lt;br /&gt;
| 0.46&lt;br /&gt;
| Jan 21, 1998&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS m68k&lt;br /&gt;
| [[CPE|CPE]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-AMIGA-CPE.htm]&lt;br /&gt;
| &lt;br /&gt;
| Feb 24, 1995&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS m68k&lt;br /&gt;
| [[Emu-CPC|EmuCPC]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-AMIGA-emucpc.htm]&lt;br /&gt;
| 0.7&lt;br /&gt;
| Sep 15, 1996&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| BlackBerry OS&lt;br /&gt;
| [[BB-CPC|BB-CPC]]&lt;br /&gt;
| [http://appworld.blackberry.com/webstore/content/30963891/] (dead link)&lt;br /&gt;
| 1.0.1.3&lt;br /&gt;
| Jul 15, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Commercial💲&lt;br /&gt;
|-&lt;br /&gt;
| Classic Mac OS&lt;br /&gt;
| [[CPCplusplus|CPC++]]&lt;br /&gt;
| [http://bricerive.free.fr/cpc/cpcpp.html]&lt;br /&gt;
| 1.3.2&lt;br /&gt;
| Oct 6, 1997&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Shareware💲&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[AdvanceMESS|AdvanceMESS]]&lt;br /&gt;
| [https://www.advancemame.it/readme]&lt;br /&gt;
| 3.9&lt;br /&gt;
| Sep 8, 2018&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[Arnimedes|Arnimedes]]&lt;br /&gt;
| [http://www.arnimedes.de/]&lt;br /&gt;
| 0.8a&lt;br /&gt;
| Apr 15, 2000&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[Caprice32]] &lt;br /&gt;
| [https://ftp.nvg.ntnu.no/pub/cpc/emulator/msdos/capriced.zip]&lt;br /&gt;
| 1.11&lt;br /&gt;
| Sep 20, 1999&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPC]] &lt;br /&gt;
| [https://www-ftp.lip6.fr/pub/amstrad/emulator/CPC055B.ZIP]&lt;br /&gt;
| 0.55b&lt;br /&gt;
| May 16, 1997&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPC-em|CPC-em]] &lt;br /&gt;
| [http://cpc-em.emuunlim.com/]&lt;br /&gt;
| 0.4&lt;br /&gt;
| Jul 7, 2004&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPCE|CPCE]]&lt;br /&gt;
| [http://cngsoft.no-ip.org/cpce/]&lt;br /&gt;
| 1.94&lt;br /&gt;
| Jun 2, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPCemu|CPCemu]]&lt;br /&gt;
| [http://www.cpc-emu.org/]&lt;br /&gt;
| 1.5&lt;br /&gt;
| Jul 7, 1998&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPE|CPE]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-DOS-CPE.htm]&lt;br /&gt;
| 5.2&lt;br /&gt;
| Apr 21, 1997&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[NO$CPC|NO$CPC]]&lt;br /&gt;
| [http://problemkaputt.de/cpc.htm]&lt;br /&gt;
| 1.8&lt;br /&gt;
| Nov 2, 2000&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[PC-CPC|PC-CPC]] &lt;br /&gt;
| [http://deplanque.chez.com/download_fr.html]&lt;br /&gt;
| &lt;br /&gt;
| Feb 3, 1998&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPCEMU (RWCPC)|RWCPC]]&lt;br /&gt;
| [https://www-ftp.lip6.fr/pub/amstrad/emulator/RWCPC.ZIP]&lt;br /&gt;
| &lt;br /&gt;
| Mar 23, 1995&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[SIMCPC|SIMCPC]]&lt;br /&gt;
| [https://www-ftp.lip6.fr/pub/amstrad/emulator/SIMCPC.ZIP]&lt;br /&gt;
| &lt;br /&gt;
| Dec 10, 1989&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Shareware💲&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[YAGE|YAGE]]&lt;br /&gt;
| [https://www.zophar.net/cpc/yage.html]&lt;br /&gt;
| 0.91&lt;br /&gt;
| Oct 24, 1998&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| EXOS&lt;br /&gt;
| [[Software CPC Emulator|Software CPC Emulator]]&lt;br /&gt;
| [http://www.ep128.hu/Ep_Util/Prg/Amstrad_CPC_Emulator_13.rar] [http://www.ep128.hu/Ep_Util/Amstrad_CPC_emu.htm]&lt;br /&gt;
| 1.3&lt;br /&gt;
| Jan 11, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Maemo&lt;br /&gt;
| [[CPCm]]&lt;br /&gt;
| [http://maemo.org/downloads/product/Maemo5/cpcm/]&lt;br /&gt;
| 1.20-1&lt;br /&gt;
| Apr 27, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| MSX-DOS&lt;br /&gt;
| [[EMU6CPC|EMU6CPC]]&lt;br /&gt;
| [http://romu6.blogspot.com/2018/12/emu6cpc-emulador-de-amstrad-cpc-6128.html]&lt;br /&gt;
| &lt;br /&gt;
| Dec 17, 2018&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Palm OS&lt;br /&gt;
| [[CaPriCe for Palm OS|CaPriCe for Palm OS]]&lt;br /&gt;
| [https://web.archive.org/web/20230127143354/https://coste.frederic.free.fr/cpc/cpc_en.htm]&lt;br /&gt;
| 2.8&lt;br /&gt;
| Jun 28, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Palm OS&lt;br /&gt;
| [[CoPaCabana|CoPaCabana]]&lt;br /&gt;
| [http://copacabana.emuunlim.com/]&lt;br /&gt;
| 0.75&lt;br /&gt;
| Dec 4, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Pocket PC&lt;br /&gt;
| [[CaPriCe|PocketCaprice]]&lt;br /&gt;
| [https://web.archive.org/web/20160506010209/http://www.clubic.com/telecharger-fiche44888-pocketcaprice.html]&lt;br /&gt;
| 0.9&lt;br /&gt;
| Aug 19, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| SunOS&lt;br /&gt;
| [[CPCplusplus|CPC++]]&lt;br /&gt;
| [http://bricerive.free.fr/cpc/cpcpp.html]&lt;br /&gt;
| 1.3.0&lt;br /&gt;
| Feb 22, 1997&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Shareware💲&lt;br /&gt;
|-&lt;br /&gt;
| Symbian&lt;br /&gt;
| [[S60-CPC|S60-CPC]]&lt;br /&gt;
| [http://kokak.free.fr/s60cpc.htm]&lt;br /&gt;
| 0.74&lt;br /&gt;
| Feb 21, 2006&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Windows 9x&lt;br /&gt;
| [[CPC-em|CPC-em]] &lt;br /&gt;
| [http://cpc-em.emuunlim.com/]&lt;br /&gt;
| 0.3&lt;br /&gt;
| Jan 22, 2004&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Windows 9x&lt;br /&gt;
| [[MTMW|MTMW]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-WIN-MTMW.htm]&lt;br /&gt;
| 1.30B&lt;br /&gt;
| Jan 11, 2000&lt;br /&gt;
| ✅&lt;br /&gt;
| [[ZX Spectrum]], [[ZX80/81]], [[Enterprise]], [[Jupiter ACE]]&lt;br /&gt;
| Freeware&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Home Consoles =&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| Microsoft XBOX&lt;br /&gt;
| [[Arnold|ArnoldX]]&lt;br /&gt;
| [https://web.archive.org/web/20120705163939/http://forums.xbox-scene.com/index.php?showtopic=711667] [https://cpcrulez.fr/emulateurs_download-XBOX-ARNOLDX.htm]&lt;br /&gt;
| v5&lt;br /&gt;
| Apr 20, 2010&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Microsoft XBOX&lt;br /&gt;
| [[CoinOPS|CoinOPS (RetroFE)]]&lt;br /&gt;
| [https://web.archive.org/web/20160518183115/https://coinopsproject.freeforums.org/viewtopic.php?f=0&amp;amp;t=1213]&lt;br /&gt;
| 5&lt;br /&gt;
| Oct 18, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| Lots of other computer systems&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Microsoft Xbox 360&lt;br /&gt;
| [[XNACPC|XNACPC]]&lt;br /&gt;
| [http://www.gavpugh.com/2011/11/11/xnacpc-xbox-360-amstrad-cpc-emulator-released/]&lt;br /&gt;
| 1.0&lt;br /&gt;
| Nov 11, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo Wii&lt;br /&gt;
| [[Wiituka|Wiituka]]&lt;br /&gt;
| [http://wiituka.dantoine.org/]&lt;br /&gt;
| 0.98.8&lt;br /&gt;
| May 15, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Sega Dreamcast&lt;br /&gt;
| [[CPCast|CPCast]]&lt;br /&gt;
| [http://www.dcemu.co.uk/vbulletin/showthread.php?t=24100]&lt;br /&gt;
| &lt;br /&gt;
| May 6, 2006&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Sega Dreamcast&lt;br /&gt;
| [[DreamCPC|DreamCPC]]&lt;br /&gt;
| [https://www.jm1200.fr/index.php?r=2]&lt;br /&gt;
| Alpha 3&lt;br /&gt;
| Oct 16, 2005&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Sony PS2&lt;br /&gt;
| [[CPC-em|CPC-em]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-ps2-CPC-EM.htm]&lt;br /&gt;
| 0.4&lt;br /&gt;
| Dec 22, 2004&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Sony PS3&lt;br /&gt;
| [[Caprice32|Caprice32]]&lt;br /&gt;
| [https://web.archive.org/web/20171003153204/http://psx-scene.com/forums/content/caprice32-4-1-0-dbg-emulator-ps3-2119/]&lt;br /&gt;
| 4.1.0 DBG&lt;br /&gt;
| Apr 9, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Handheld Consoles =&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 and OpenDingux'''. Or you can use these stand-alone CPC emulators:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| Dingoo A320 / A330&lt;br /&gt;
| [[Pituka|Pituka Dingux]]&lt;br /&gt;
| [http://david.dantoine.org/proyecto/4/]&lt;br /&gt;
| 0.8pre&lt;br /&gt;
| Aug 19, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Dingoo A320 / A330&lt;br /&gt;
| [[Caprice|Dingux-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/105-Amstrad/]&lt;br /&gt;
| 1.1.2&lt;br /&gt;
| Oct 17, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark Caanoo&lt;br /&gt;
| [[Caprice|Caanoo-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/165-Amstrad/]&lt;br /&gt;
| 1.1.3&lt;br /&gt;
| Apr 24, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark GP2x&lt;br /&gt;
| [[Caprice|CapriceGP2x]]&lt;br /&gt;
| [https://web.archive.org/web/20130315195529/http://wiki.gp2x.org/wiki/CapriceGP2x]&lt;br /&gt;
| 0.5&lt;br /&gt;
| Feb 22, 2006&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark GP2x&lt;br /&gt;
| [[Caprice|GP2X-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/42-Amstrad/]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Aug 29, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark GP32&lt;br /&gt;
| [[Pituka|Pituka GP32]]&lt;br /&gt;
| [http://david.dantoine.org/proyecto/4/]&lt;br /&gt;
| 1d&lt;br /&gt;
| May 15, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark Wiz&lt;br /&gt;
| [[Caprice|Wiz-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/89-Amstrad/]&lt;br /&gt;
| 1.1.0&lt;br /&gt;
| Aug 29, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GCW Zero&lt;br /&gt;
| [[Caprice|Dingux-CAP32]]&lt;br /&gt;
| [https://github.com/kerheol/dingux-cap32]&lt;br /&gt;
| 1.1.2&lt;br /&gt;
| May 25, 2014&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| JXD S5110 / S601 &amp;amp; Yinlips G18&lt;br /&gt;
| [[Caprice|JXD-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/206-Amstrad/]&lt;br /&gt;
| 1.1.1&lt;br /&gt;
| Oct 27, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo DS&lt;br /&gt;
| [[AmeDS|AmeDS]] &lt;br /&gt;
| [https://web.archive.org/web/20131021073302/http://www.portabledev.com/pages/ds/jeuxdev.-perso/ameds.php]&lt;br /&gt;
| 4.0&lt;br /&gt;
| Apr 25, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo DS&lt;br /&gt;
| [[CrocoDS|CrocoDS]]&lt;br /&gt;
| [http://www.kyuran.be/blog/2007/11/09/crocods-20-2/] [https://github.com/redbug26/crocods-nds Repo]&lt;br /&gt;
| 2.0&lt;br /&gt;
| Nov 9, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo GameBoy Advance&lt;br /&gt;
| [[Mini Amstrad Emulator|Mini Amstrad Emulator]] &lt;br /&gt;
| [https://playeradvance.org/forum/showthread.php?t=765]&lt;br /&gt;
| &lt;br /&gt;
| Dec 26, 2005&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Odroid GO&lt;br /&gt;
| [[CapriceESP32|CapriceESP32]] &lt;br /&gt;
| [https://github.com/grantrismo/CapriceESP32]&lt;br /&gt;
| &lt;br /&gt;
| Dec 3, 2020&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| OpenDingux&lt;br /&gt;
| [[CrocoDS|CrocoDS]]&lt;br /&gt;
| [https://crazypiri.eu/crocods/] [https://github.com/redbug26/crocods Repo]&lt;br /&gt;
| &lt;br /&gt;
| Jan 15, 2020&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Pandora&lt;br /&gt;
| [[Caprice|Pandora-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/131-Amstrad/]&lt;br /&gt;
| 1.1.0&lt;br /&gt;
| Jun 27, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Sony PSP&lt;br /&gt;
| [[Caprice32 PSP]]&lt;br /&gt;
| [http://psp.akop.org/caprice32]&lt;br /&gt;
| 4.2.0.2&lt;br /&gt;
| Nov 28, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Sony PSP&lt;br /&gt;
| [[CPCPSP|CPCPSP]]&lt;br /&gt;
| [https://web.archive.org/web/20130325143915/http://dl.qj.net/psp/emulators/cpcpsp-v01.html]&lt;br /&gt;
| 0.1&lt;br /&gt;
| Dec 24, 2005&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Sony PSP&lt;br /&gt;
| [[PSPCAP32|PSPCAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/3-Amstrad/]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Aug 21, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Trimui Model S&lt;br /&gt;
| [[Arnold|Arnold Trimui]]&lt;br /&gt;
| [https://github.com/liartes/arnold_gcw0]&lt;br /&gt;
| &lt;br /&gt;
| Oct 19, 2021&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Single-Board Computers / Raspberry Pi =&lt;br /&gt;
&lt;br /&gt;
[https://www.libretro.com/index.php/powered-by-libretro/ LibRetro / RetroArch] is used as the foundation of [https://www.lakka.tv/ Lakka], [https://wiki.recalbox.com/en/advanced-usage/retroarch Recalbox], [https://batocera.org/ Batocera] and [https://retropie.org.uk/ RetroPie] alternative OSes for the Raspberry Pi and other SBC.&lt;br /&gt;
But you can also use [https://www.retroarch.com/index.php?page=platforms RetroArch] for Amstrad CPC emulation on a stock Raspberry Pi OS. Or you can use these stand-alone CPC emulators:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[CPC4Rpi|#CPC4Rpi]]&lt;br /&gt;
| [https://web.archive.org/web/20150321200308/http://store.raspberrypi.com/projects/cpc4rpi]&lt;br /&gt;
| 1.1&lt;br /&gt;
| Dec 19, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Commercial💲&lt;br /&gt;
|-&lt;br /&gt;
| [[CapriceRPI|CapriceRPI]]&lt;br /&gt;
| [https://github.com/KaosOverride/CapriceRPI]&lt;br /&gt;
| 1.3d&lt;br /&gt;
| Feb 28, 2016&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Clock Signal|Clock Signal]] &lt;br /&gt;
| [https://snapcraft.io/install/clock-signal/raspbian]&lt;br /&gt;
| &lt;br /&gt;
| Dec 28, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]], [[ZX80/81]], [[Enterprise]], [[MSX]], [[Oric 1/Atmos|Oric]], [[ColecoVision]], [[Acorn Electron]], [[Apple II]], [[VIC-20]], [[Atari 2600]], [[Atari ST]], [[Macintosh]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEPower|CPCEPower]] &lt;br /&gt;
| [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73]&lt;br /&gt;
| 2105&lt;br /&gt;
| Jun 4, 2021&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[MESS|MAME]]&lt;br /&gt;
| [https://stickfreaks.com/mame/]&lt;br /&gt;
| 0.261&lt;br /&gt;
| Nov 29, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[SugarPi|SugarPi]]&lt;br /&gt;
| [https://github.com/Tom1975/SugarPi]&lt;br /&gt;
| 1.2.0&lt;br /&gt;
| Feb 3, 2021&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[ZEsarUX|ZEsarUX]]&lt;br /&gt;
| [https://github.com/chernandezba/zesarux]&lt;br /&gt;
| X&lt;br /&gt;
| Sep 8, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| [[PCW]], [[ZX Spectrum]], [[ZX80/81]], [[MSX|MSX 1]], [[ColecoVision]], [[Spectravideo]], [[Jupiter ACE]], [[Sam Coupe]], [[SG-1000]], [[Master System]], [[Sinclair QL]], [[MK14]], [[Z88]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Hardware =&lt;br /&gt;
&lt;br /&gt;
*[[CPC TREX|CPC TREX]] [[C-ONE|CPC-ONE]] TurboCPC core running on a FPGA board&lt;br /&gt;
*[http://ralferoo.blogspot.fr/ CPC FPGA] CPC emulation running on a custom made FPGA board&lt;br /&gt;
*[[FPGAmstrad|FPGAmstrad]] [https://github.com/renaudhelias/CoreAmstrad CoreAmstrad] [https://github.com/mist-devel/mist-board/wiki/CoreDocAmstrad CoreDocAmstrad] [https://github.com/mist-devel/mist-binaries/tree/master/cores/amstrad_alt CPC for MIST and MISTer] Translation of JavaCPC from Java into VHDL on a MiST board&lt;br /&gt;
*[https://intelligenttoasters.blog/cpc2-project-index/ CPC2 Project] CPC emulation running on a Cyclone V FPGA board&lt;br /&gt;
*[https://github.com/rpsubc8/ESP32TinyCPC/ ESP32 TinyCPC] Port from CPC-em emulator to TTGO VGA32 v1.x board with ESP32&lt;br /&gt;
*[https://github.com/codedchip/AMSGateArray AMSGateArray] Reverse engineered Gate Array from decapped chips&lt;br /&gt;
*[[SDiskEmul]] Floppy-drive emulator released in 2007. Abandoned now. Supports DSK, EDSK disk-images&lt;br /&gt;
*[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]&lt;br /&gt;
*[https://github.com/keirf/flashfloppy/ FlashFloppy] Open source floppy-drive emulator for the ubiquitous Gotek hardware. Supports DSK, EDSK, HFE disk-images&lt;br /&gt;
*[https://cpcrulez.fr/forum/viewtopic.php?f=5&amp;amp;t=100&amp;amp;start=690#p55437 Pauline] FPGA-based floppy-drive dumper and emulator&lt;br /&gt;
*[https://hobbyretro.com/en/retro/tzxduino TZXduino] Arduino-based tape deck emulator. Supports many formats of tape-images including CDT and TZX&lt;br /&gt;
*[https://pelrun.github.io/PlayUEF/ PlayUEF] Web-browser based tape deck emulator, supporting CDT and TZX tape-images&lt;br /&gt;
*[https://github.com/dasta400/ACPCPE Amstrad CPC Printer Emulator] Arduino-based CPC printer emulator&lt;br /&gt;
&lt;br /&gt;
= Mass-storage =&lt;br /&gt;
Emulator support for mass-storage expansions is as follows:&lt;br /&gt;
*[[Dobbertin Harddisc]] is emulated by MAME&lt;br /&gt;
*[[UIDE Universal IDE adapter cards for Z-80 computers|uIDE]] is emulated by Arnold&lt;br /&gt;
*[[Symbiface II]] IDE/PATA interface or compatible ([[X-Mass]], [https://github.com/salafek/cyboard-for-cpc Cyboard]) is emulated by ACE, Caprice Forever, MAME, WinAPE, WinCPC, Arnold, Virtual CPC&lt;br /&gt;
*[[Albireo]] is emulated by ACE, Caprice Forever&lt;br /&gt;
*[[M4 Board]] is emulated by CPCemu&lt;br /&gt;
*[[Vortex Winchester Drive]], [[ULIfAC|USIfAC / ULIfAC]] and [[Symbiface 3|Symbiface3 / RSF3]] are not supported by emulators&lt;br /&gt;
&lt;br /&gt;
= CPC cartridge slot =&lt;br /&gt;
Emulator support for a CPC cartridge slot is as follows:&lt;br /&gt;
*[[Dandanator]] brings a non-standard physical cartridge port and a very exotic non-standard memory mapper that spies on Z80 instructions (sacrificing compatibility without any justification). It is emulated by ACE, Retro Virtual Machine, CPCEC, ZEsarUX, DSP&lt;br /&gt;
*[[Plus2CPC]] brings a standard physical Plus cartridge port to the CPC. It is not supported by emulators&lt;br /&gt;
*[[Play2CPC]] is an evolution of the [[Plus2CPC]], adding RMR2 Plus mapping, R/W cartridge support, CRTC cursor raster interrupt and a 3-channel soundchip conforming to the [[PlayCity]] base spec. Play2CPC is emulated by ACE&lt;br /&gt;
*[[M4 Board]] simulates a standard Plus cartridge port on the CPC and handles standard CPR files. M4 Board is emulated by CPCemu&lt;br /&gt;
&lt;br /&gt;
= Audio devices =&lt;br /&gt;
Emulator support is as follows:&lt;br /&gt;
*[[Amstrad SSA-1 Speech Synthesizer|SSA-1 speech synthesizer]] is emulated by ACE, Caprice Forever, JavaCPC, MAME&lt;br /&gt;
*[[Dk'tronics Speech Synthesizer|Dk'Tronics speech synthesizer]] is emulated by ACE, Caprice Forever, JavaCPC, MAME&lt;br /&gt;
*[[TMPI speech synthesizer|Techni-Musique speech synthesizer]] is emulated by ACE, Caprice Forever&lt;br /&gt;
*[[Amdrum]] is emulated by ACE, JavaCPC, MAME, WinAPE&lt;br /&gt;
*[[Digiblaster]] is emulated by ACE, Caprice Forever, JavaCPC, MAME, WinAPE, CPCEC, CPCEPower, WinCPC, Virtual CPC&lt;br /&gt;
*[[PlayCity]] is fully emulated by ACE, MAME, Arnold, SugarBox. The audio part of [[PlayCity]] is emulated by Caprice Forever, JavaCPC, CPCEC&lt;br /&gt;
*[[Play2CPC]] implements the PlayCity base spec (aka Arcade Sound System). It has one additional soundchip instead of two and no CTC chip. It is emulated by ACE&lt;br /&gt;
*[[Willy|Willy OPL3]] is emulated by ACE&lt;br /&gt;
*[[Willy|Willy MIDI]] is emulated only by ACE for Haiku&lt;br /&gt;
*[[Music Machine]], [https://github.com/lambdamikel/Speak-SID Speak&amp;amp;SID], [https://github.com/lambdamikel/LambdaSpeak3 LambdaSpeak], [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/amsdap-amstrad-msx-adapter-connecting-any-msx-io-hardware-to-the-cpc/ Amsdap (SE-One, Moonsound, etc...)] are not supported by emulators&lt;br /&gt;
&lt;br /&gt;
= Rewind feature =&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
At the moment, 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.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= Emulator accuracy checking tools =&lt;br /&gt;
== Quick evaluation==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;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]]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19308 DSC #4 demo] with reference images (CRTC 1): [[Media:DSC4 reference1.png]] [[Media:DSC4 reference2.png]]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7737 Camembert 4 demo] with reference images (CRTC 0/1/3/4): [[Media:Camembert-real.jpg]] [[Media:Camembert 4 Pixel Precise.jpg]]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9029 BSC7 Interlace demo] with reference image (CRTC 0/2/3/4): [[Media:BSC7 reference.png]]&lt;br /&gt;
&lt;br /&gt;
== Z80 CPU ==&lt;br /&gt;
*[https://cpcrulez.fr/applications_util-zexall.htm ZEXALL (CP/M)] [https://cpcrulez.fr/applications_util-zexdoc.htm ZEXDOC (CP/M)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12883 Z80 Full Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12881 Z80 Doc Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12882 Z80 Flags Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12880 Z80 Doc Flags Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12884 Z80 MEMPTR Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12879 Z80 CCF Test] Z80 CPU instruction set exercisers&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=298 Arkanoid (using Z80 Interrupt Mode 2)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=427 L'anneau de Zengara (using Z80 register R)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1299 Light Corridor (Z80 useless instruction prefixes)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=735 Dogsbody (accessing non-standard I/O ports)]&lt;br /&gt;
*[https://wikiti.brandonw.net/?title=Z80_Instruction_Set Z80 instruction set] [https://zx-pk.ru/attachment.php?attachmentid=2989&amp;amp;d=1143656567 Z80 MEMPTR (aka WZ) internal register] [https://github.com/hoglet67/Z80Decoder/wiki/Undocumented-Flags Even weirder Z80 behaviour] [https://zxe.io/software/Z80/documentation/latest/Thanks.html To get to the bottom of it] [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/z80-cpu-nmos-or-cmos/ Z80 is always NMOS on CPC and Plus] How the Z80 behaves&lt;br /&gt;
*[https://floooh.github.io/2021/12/06/z80-instruction-timing.html Z80 T-state timings] [https://baltazarstudios.com/zilog-z80-undocumented-behavior/ Other source about T-state timings] Ultra accurate timing behaviour&lt;br /&gt;
&lt;br /&gt;
== Diagnostics ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5113 Official Amstrad CPC hardware diagnostics] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17932 Non-official Amstrad Diagnostics] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6545 STS SysInfo] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=test%crtc%v Tests CRTC type] [http://cpc.sylvestre.org/technique/technique_identifier_crtc.html Identifying CRTC visually]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6987 RAM Expansion Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14833 MemTest] [https://www.cpc-power.com/index.php?page=detail&amp;amp;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&amp;amp;num=15739 RAM Check] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13386 Testprogram For All ERAM] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19185 Xenon 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12188 Take On Me] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14339 Trololo Experiments] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19406 Still The One] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16084 Post Scriptum] [https://cpcrulez.fr/info-chany-enhanced_edition.htm Chany 512K cracks] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=151 Expanded RAM software list] RAM exercisers&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15975 FutureOS] [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/464-and-ram-extension/ Behaviour of RAM mode &amp;amp;C3] [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/upgrading-a-cpc-464-in-2022/ More on the issue] RAM expansion bug on CPC464/664&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=135 Batman The Movie] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2318 Turrican] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=80 Technical explanation] CPC keyboard clash&lt;br /&gt;
*[https://www.cpcwiki.eu/forum/emulators/amstrad-cpc-'acid'-test/ &amp;quot;Acid&amp;quot; test suite] [https://cpctech.cpcwiki.de/download/test.zip] [http://ace.cpcscene.net/tests:arnold_test_suite Tests results in ACE] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17738 PPI tests] Chips tests by arnoldemu&lt;br /&gt;
*[http://www.winape.net/downloads.jsp Plus Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15242] CPC and CPC+ Emulator test suite (including Instruction and Interrupt timing tests)&lt;br /&gt;
&lt;br /&gt;
== Amstrad Plus ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9627 Official Plus diagnostics cartridge] [[File:Roudoudou CPR tests.zip]] [https://www.cpcwiki.eu/forum/emulators/amstrad-cpc-'acid'-test/75/] Plus testing tools&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8308 4096 Colors Preview] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7407 CPC+ First Demo]  [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8443 Simply The Bests] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7411 ASM Intro 1] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18789 Veteran] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9472 Revival'n Impact coop] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3959 Fluff] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3622 Space Gun] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1682 Prehistorik 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3575 No Exit] ASIC effects&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3788 Frogger] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4721 Rick Dangerous 6128+] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17818 La culotte de Zelda] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12013 Flappy Rulez] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13363 Picrocs] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14639 Sudoplus] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15142 Ghosts'n Goblins] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18946 Goldorak Versus] Homebrews&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8874 6128 Plus Dma] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14939 Eerie Forest] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14940 CRTC3] [https://cpcrulez.fr/demostestDO_fairy-breakpoint_2010.htm Fairy] [https://soundtrackerdma.cpcscene.net/doku.php?id=en:download Soundtracker DMA] To test DMA and to compare the PSG output with the output from a real Amstrad Plus&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18016 Bulles] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7532 X-Mas 2008] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8588 Synergy] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7410 Mir Station] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13142 BarBar] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7530 Delirium Tremens] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9169 Funerapolis] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7935 Sappy] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19239 USS Cygnus 192] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17979 GX8K] To test hardware sprites emulation&lt;br /&gt;
&lt;br /&gt;
== Colorimetry ==&lt;br /&gt;
*[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&lt;br /&gt;
*Major difference in colorimetry between the real Amstrad CTM644 display and emulators display:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Border 8 - real CPC display.png|Border 8 on real CPC&lt;br /&gt;
Border 8 - real Plus display.png|Border 8 on real Plus&lt;br /&gt;
Border 8 - emulator display.png|Border 8 on emulators&lt;br /&gt;
Palette - real CPC.png|Palette on real CPC&lt;br /&gt;
Palette - real Plus.png|Palette on real Plus&lt;br /&gt;
Palette - emulator.png|Palette on emulators&lt;br /&gt;
True CTM colorimetry.png|Colorimetry on real CPC&lt;br /&gt;
CTM Emulator Shader colorimetry.png|Colorimetry on emulators&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Graphics ==&lt;br /&gt;
*[https://shaker.logonsystem.eu/ Shakerland] Ultra accurate CRTC documentation and its associated CPC testing tool&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8524 Equalizor] [https://forum.system-cfg.com/viewtopic.php?p=229698#p229698 Revolog] [https://forum.system-cfg.com/viewtopic.php?f=24&amp;amp;t=11535&amp;amp;start=285 Technical explanation] Unpredictable behaviour of the real CRTC type 1 chip. We can classify these behaviours as CRTC types 1a and 1b&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12906 HSYNC test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16466 Split-Rasters Test CRTC1] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15519 Les split-rasters] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=cote%gamers Côté Gamers] [https://www.cpc-power.com/index.php?page=detail&amp;amp;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&amp;amp;num=15280 CRTC software] CRTC testing tools&lt;br /&gt;
*[http://logon.system.free.fr/down/shaker_addon.dsk Pixel 1 Horizontal Hard Scroll for all CRTCs] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9102 Vertical Hard Scroll 100%] [https://cpcrulez.fr/coding_src-demo-smooth_crtc_register_3_scrolling_test.htm Smooth CRTC Register 3 scrolling test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1949 Skate Wars] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1211 Jinks] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=68 Out of this World] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=159 Killer Cobra] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10465 Edge Grinder] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10072 Relentless] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1982 Warhawk] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=99 Mission Genocide] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1028 Axys] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15809 Red Sunset] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18843 Hyperdrive] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=974 Ghosts'n Goblins] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1290 Legend of Kage] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1698 Profanation] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2119 Super Cauldron] Smooth CRTC R3/R5 hardware scrolling&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7514 BSC 91] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8772 Voyage 1993] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7751 OVL '96] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7662 Byte 98] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8623 Unique] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7910 Paradise] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8621 Power System] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8875 Prodatron] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7744 Longshot] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7668 Amazing] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7479 Madness] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8259 Chany Dream End] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8615 Welcom-X 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7591 S&amp;amp;Koh] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8041 Other World 3] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7648 Big'O Full'O Dem'O] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7765 Not Dead] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7543 Odyssey] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7736 Croco Chanel] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7828 Tire Au Flan]  Early demos, so they were developed without CPC emulator bias&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2799 Battro] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15298 Still Scrolling] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15102 PhX] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9181 Bloc Us] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9248 Wake Up] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19313 Stand Up] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9589 Yet Another Plasma] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14225 Logon's Run] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9970 Still Rising] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=onescreen Onescreen Colonies] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16067 Gloire à Piou] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7729 DTC] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12683 Points Barres] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16068 Octopus Pocus] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18794 FMR CPC] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8552 Synergy 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15209 Scroll Factory] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19024 The One] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7728 DemoIzArt] CRTC effects&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=76 Les Mondes Parallèles] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=66 Paranoia] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=78 Molecularr 2] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=megablasters Megablasters] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12649 Quadraster] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2369 Groops] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3963 Sudoku Master] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10009 Overkoban] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17786 Prince Dastan Sokoban Within] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17610 Deva Drifter] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17197 Hexavirus v0] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15985 A tribute to the sisters] True overscan games&lt;br /&gt;
*[https://www.cpcwiki.eu/forum/programming/mode-3/ Mode 3 Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12905 &amp;quot;Mode 5&amp;quot; Viewer] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18680 Pixel Free] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14259 Test interlace color] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13136 Interlace viewer] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7701 Climax] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13139 Perfect Pix Paint] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13359 Imperial Mahjong] Special graphics modes&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16027 Mire] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16722 Mir'Color] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7826 Climax-G] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7937 Fatal Beauties] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8307 4 Sins] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7897 Twinblast] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8081 MCS 6] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7593 Schadel] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2224 Thunder Blade] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2318 Turrican] To test the VDU&lt;br /&gt;
&lt;br /&gt;
== Peripherals ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=hardware_magnum Magnum Light Phaser] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3583 SkeetShoot] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3584 The Enforcer] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3992 Dk'Tronics Light Pen] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4955 Light Pen Mark II] To test lightguns and lightpens connected to expansion port&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=hardware_phaser_loriciels West Phaser] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=hardware_gunstick Gunstick] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4303 Trojan LP-1] To test lightguns and lightpens connected to joystick port&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=SSA-1 SSA-1 software list] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=DK%27Tronics%20Speech%20Synthesizer Dk'Tronics software list] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=TMPI%20speech%20synthesizer TMPI software list] To test speech synthesizers emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7535 Digital Orgasm] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=Digitracker Digitracker] [[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&amp;amp;lemot=Amdrum Amdrum] To test [[Digiblaster]] and [[Amdrum]] soundcards emulation&lt;br /&gt;
*[[SymAmp]] [https://framagit.org/shinra/vgmplay VGMplay] [http://www.roudoudou.com/ACE-DL/ 4200 VGM musicfiles pack] [https://github.com/lambdamikel/BluePillCPC/tree/main/cpc/s2p BluePillCPC] To test [[Willy]] OPL3 and MIDI emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12589 ProText] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4670 ProSpell] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4668 ProPrint] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5551 Impr'Image] To test printer emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4012 Advanced OCP Art Studio] To test [[AMX Mouse|AMX]] and [[Kempston Mouse|Kempston mouse]] emulation&lt;br /&gt;
*[[HDCPM]] [[UniDOS]] [http://www.roudoudou.com/ACE-DL/ UniLOAD 60MB archive] [http://www.roudoudou.com/ACE-DL/ SymbOS 45MB disk-image] To test mass-storage, RTC and modern mouse (scroll wheel) emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12972 X-MEM FW] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19236 CatRun] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18901 CowSay] [http://impdraw.wikidot.com iMPsuite] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=11578 GOS+] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6353 Utopia] To test ROMboard emulation&lt;br /&gt;
*[https://abalore.com/alcon2020.html Alcon 2020] [[Converted GX4000 Software]] To test the [[Play2CPC]] emulation&lt;br /&gt;
*[http://theswordofianna.retroworks.es/ The Sword of Ianna] [http://retroworks.es/php/game_en.php?id=11 Brunilda] [http://www.dandare.es/Proyectos_Dandare/Descargas.html MojonTwins romset] To test the [[Dandanator]] emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=protection&amp;amp;lenom=Multiface%202%20Protection Anti-Multiface II software list] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1980 War in Middle Earth] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1322 Zap't'Balls advanced] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5266 The Insider] To test [[Multiface II]] emulation&lt;br /&gt;
&lt;br /&gt;
== Copy-protection ==&lt;br /&gt;
*[https://cpctech.cpcwiki.de/download/fdctest.zip FDC test suite] [https://cpctech.cpcwiki.de/download/drivetest.zip Disk drive tests] [https://cpctech.cpcwiki.de/download/cdttst.zip CDT/TZX test suite for emulators] Set of tests by arnoldemu&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5002 Tape Head Azimuth] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4194 Ultra Son] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10475 Soft-Lok] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4718 Bonzo Super Meddler] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5059 SpeedTrans] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5803 Transformateur] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6057 Deconnect] [https://www.cpc-power.com/index.php?page=protection&amp;amp;lenom=NoAMSDOS NoAMSDOS software list] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3871 Computer Hits] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1359 Marmelade] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1412 Mickey Mouse] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=83 Astro Marine Corps] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=773 Druid] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10585 Breaking Baud] To test Tape emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19368 FatMag 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9211 Backtro] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7405 5KB 3] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8746 The Demo] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13108 CPC 30th Anniversary] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7542 Midline Process] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17902 Can Robots Take Control] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10030 Phortem] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9156 Batman Forever] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16736 Pinball Dreams] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7174 R-Type] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6661 Nheredia] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13426 Doomsday Lost Echoes] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4025 Orion Prime] Musical loader, Multi-drives, 3.5 inch (dual-head and 80 tracks) floppy drives support&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10029 RPM] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15518 DskTest] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14201 Crazy] [https://cpcrulez.fr/applications_disc-dlfrsilver_dump_tool_test_suite.htm Dlfrsilver Dump Tool Test Suite] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4812 Format II] [[ParaDOS]] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4933 Xexor] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6118 Discology] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4179 Hercule II] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16060 UltraDisc] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5244 Disc'o'Magic] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9297 Multi Mark] To test FDC emulation&lt;br /&gt;
*[https://cpcrulez.fr/demostestDM_fatmag_01.htm FatMag] The HFE trackload version is designed to rigorously test the FDC emulation [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17853 Open Tower Defense] Emulator detection through a FDC test [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=931 Fugitif] Disk swapping detection&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12051 Demonstration of KBI protection] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1589 Pacific] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1650 Platoon] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1814 Robinson Crusoe] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=660 Daley Thompson's Olympic Challenge] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4064 Les Hits de l'Aventure] Protection based on weak bits&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=839 E.X.I.T] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1501 Le Nécromancien] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2195 Tensions] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1784 Wild Streets] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1958 Skyx] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=111 Turbo Cup] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2024 Sphaira] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=780 Dwarf] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1873 Sapiens] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=612 Corsarios] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=582 Cobra] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=744 Eden Blues] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1390 M'enfin] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1420 Mike &amp;amp; Moko] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4089 Equinoxe] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5545 Vocabulaire CM] Protection based on custom GAPS data&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=741 Donkey Kong] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1887 Scott Winder Reporter] Destructive copy-protection [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1716 Puffy's Saga] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=699 Defender of the Crown] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1354 Le Maraudeur] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1699 Profession Détective] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1730 Qin] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1005 Basun] Some other copy-protected disk-images&lt;br /&gt;
*[https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;cat=12 Protection schemes documented] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=9 Lenslok] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=207 Gaps] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=384 Latis] [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&amp;amp;num=435 Anti-copy bug] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=375 Baudload and Trackload list] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=38 Autoboot] Technical explanations&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=41 Trantor] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=204 3D Starfighter] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=726 Treasure Island Dizzy] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=971 Ghost Hunters] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2132 Super Robin Hood] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=237 Advanced Pinball Simulator] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1200 Jet Bike Simulator] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1002 Grand Prix Simulator] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=183 Darts 180] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1243 Killapede] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1194 Jail Break] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1815 Robocop] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=100 Chase HQ] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1926 Shinobi] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8892 4-Bit Digi Try] Software English vocal digits&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1349 Le Manoir de Mortvielle] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1098 Hold-Up] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=910 Forteresse] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=511 Canadair] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1140 L'île] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1199 Jaws] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1102 Holocauste] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=132 Afteroids] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=879 Fire &amp;amp; Forget] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1433 Xyphoes Fantasy] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17000 Space Race] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7456 Yao demo] Other software sound effects&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9179 Now that's what I call Chip Tunes] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18904 Amstream music-disk] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10467 We Are All Old] [https://www.cpc-power.com/index.php?page=detail&amp;amp;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&amp;amp;num=18265 Sintetizador de Sonidos] To test the PSG emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19283 Raytracing in BASIC] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15685 Julia Fractal] To benchmark emulators using their fullspeed mode&lt;br /&gt;
&lt;br /&gt;
= File format specifications =&lt;br /&gt;
&lt;br /&gt;
*[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&amp;amp;num=386 CTRAW] [https://www.cbmstuff.com/downloads/scp/scp_image_specs.txt SCP] File formats of disk-image&lt;br /&gt;
*[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] [http://soundfile.sapp.org/doc/WaveFormat/ WAV] File formats of tape-image&lt;br /&gt;
*[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&lt;br /&gt;
*[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&amp;amp;num=10 Archive of SNR sessions]&lt;br /&gt;
*[http://leonard.oxg.free.fr/ymformat.html YM] [https://www.cpcwiki.eu/index.php/AYC AYC] [https://vgmrips.net/wiki/VGM_Specification VGM] Soundchip logging file formats&lt;br /&gt;
*[https://en.wikipedia.org/wiki/IMG_(file_format) IMG] [https://web.archive.org/web/20120202144328/http://download.microsoft.com/download/f/f/e/ffef50a5-07dd-4cf8-aaa3-442c0673a029/Virtual%20Hard%20Disk%20Format%20Spec_10_18_06.doc VHD] [https://github.com/gasman/hdfmonkey HDF] File formats of flat hard-drive image&lt;br /&gt;
*[https://shaker.logonsystem.eu/sslcsl CSL] Cpc Scripting Language, a macro/scripting system to automate emulators&lt;br /&gt;
&lt;br /&gt;
= Emulation Tools  =&lt;br /&gt;
&lt;br /&gt;
*[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] [[Dsktools|Dsktools]] [[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] Set of tools about disk-images&lt;br /&gt;
*[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://cpctech.cpcwiki.de/download/2cdt.zip 2CDT] [http://cngsoft.no-ip.org/csw2cdt.htm CSW2CDT] [https://cpcrulez.fr/emulateurs_UTIL-CDT-CDT2WAV.htm CDT2WAV] [https://github.com/shred/tzxtools tzxtools] Set of tools about tape-images&lt;br /&gt;
*[http://www.cpcmania.com/news.htm CPRTools] Edit Amstrad Plus CPR cartridge-images&lt;br /&gt;
*[https://bochs.sourceforge.io/doc/docbook/user/winimage.html WinImage, DiskExplorer, Mtools] [https://www.fysnet.net/ultimate/index.htm Ultimate Imager] [https://github.com/ProgrammingHobby/CPM_Image-File_Explorer CP/M Image File Explorer] Access and edit IMG hard-drive images. No need of tools for VHD images with FAT filesystem, they are supported directly in Windows Explorer: it works the same way as ISO files&lt;br /&gt;
*[[CPCGamesCD-CPCLoader|CPCGamesCD-CPCLoader]] CDROM containing a navigable database with all the games of the Amstrad CPC&lt;br /&gt;
*[https://colourclash.co.uk/cpc-analyser/ CPC Analyser] Help reverse engineer Amstrad CPC games&lt;br /&gt;
*[[Emulator tooling]] UI screenshots of tooling in CPC emulators&lt;br /&gt;
*[[WinApe|WinAPE]] [[WinCPC]] [[JavaCPC]] [https://code.google.com/archive/p/cpcsdk/ Caprice Reloaded] [http://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73 Caprice Forever] Emulators with an integrated Z80 Assembler&lt;br /&gt;
*[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] [https://marketplace.visualstudio.com/items?itemName=floooh.vscode-kcide KC IDE] Tools for CPC cross-development in Z80 Assembler&lt;br /&gt;
*[https://ccz80.webcindario.com/ccz80en.html ccz80] [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] [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&lt;br /&gt;
*[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] A complete suite (IDE, compiler, resource editor) for developing CPC games/demos in Pascal&lt;br /&gt;
*[https://cpcbasic.webcindario.com/CPCBasicEn.html CPC Basic] [https://github.com/benchmarko/CPCBasic CPCBasic Unchained] [https://marketplace.visualstudio.com/items?itemName=cebe74.amstrad-basic-helper-vscode Amstrad Basic Helper] [https://www.cpcalive.com/cpcalive_en.html CpcAlive] [https://ugbasic.iwashere.eu/ ugBASIC] Cross-platform CPC development in BASIC&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12875 8BP] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4159 Graphic City] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4649 Sprites Alive] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4245 Laser Basic] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4705 FAst BAsic COMpiler] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6042 TurboBASIC compiler] [[B-ASIC]] Useful CPC tools (compilers and RSX) to beef up the Amstrad BASIC&lt;br /&gt;
*[http://ldeplanque.free.fr/ConvImgCpc/new/ ConvImgCPC] [https://github.com/AugustoRuiz/Img2CPC img2cpc] [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&lt;br /&gt;
*[http://grafx2.chez.com/ GrafX2] [http://multipaint.kameli.net/ Multipaint] [[Retro Game Asset Studio]] [http://gcajdev.epizy.com/sprite_creator.php Sprite Creator] Cross-platform CPC pixel art editors&lt;br /&gt;
*[http://cngsoft.no-ip.org/chipnsfx.htm CHIPNSFX] [https://github.com/AugustoRuiz/WYZTracker WYZTracker] [https://www.julien-nevo.com/arkostracker/ Arkos Tracker 2] [https://tildearrow.org/furnace/ Furnace] Cross-platform CPC music creation suites&lt;br /&gt;
&lt;br /&gt;
= Emulator Detection =&lt;br /&gt;
&lt;br /&gt;
If you want to promote usage of real CPC computers, you can detect CPC emulators by:&lt;br /&gt;
*Checking if the memory is initialized with zeroes, as real machines have random memory values at boot&lt;br /&gt;
*Focusing on the minute details in Z80, CRTC and PPI chips. They are most often wrong in emulators&lt;br /&gt;
*Examining the FDC chip. It is only replicated more or less superficially in all emulators because the internals of the chip are still unknown&lt;br /&gt;
&lt;br /&gt;
Combining these methods will definitely get you a 100% success rate in detecting emulators, even the toughest ones.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Emulator undetected.png|Emulator undetected&lt;br /&gt;
Emulator detected.png|Emulator detected&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is also this initiative for emulators who willingly want to be detected: [[Emulator_IDs|Emulator IDs]]&lt;br /&gt;
&lt;br /&gt;
= Emulators running on the Amstrad CPC =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! License&lt;br /&gt;
! Emulates&lt;br /&gt;
|-&lt;br /&gt;
| [[Amstrad BBC BASIC]]&lt;br /&gt;
| [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9862]&lt;br /&gt;
| 2.30&lt;br /&gt;
| Apr 2, 1986&lt;br /&gt;
| Commercial💲&lt;br /&gt;
| [[BBC BASIC]]&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCZVM]]&lt;br /&gt;
| [https://www.cpcwiki.eu/index.php/Z-Machine]&lt;br /&gt;
| &lt;br /&gt;
| Jul 6, 2019&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Z-Machine]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Pac-Man]]&lt;br /&gt;
| [http://www.cpcwiki.eu/forum/games/speed-up-patch-for-pac-man-emulator-for-cpc-by-syx-toto/msg81222/#msg81222]&lt;br /&gt;
| 1.1&lt;br /&gt;
| Jun 5, 2014&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Pac-Man arcade|Pac-Man arcade]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Phoenix]]&lt;br /&gt;
| [https://norbertkehrer.github.io/phoenix_cpc.html]&lt;br /&gt;
| &lt;br /&gt;
| Jan 6, 2019&lt;br /&gt;
| Freeware&lt;br /&gt;
| [[Phoenix arcade|Phoenix arcade]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Space Invaders|Space Invaders]]&lt;br /&gt;
| [http://www.cpcwiki.eu/forum/games/space-invaders-arcade-emulator-for-amstrad-cpc/]&lt;br /&gt;
| 1.0&lt;br /&gt;
| Jun 11, 2016&lt;br /&gt;
| Freeware&lt;br /&gt;
| [[Space Invaders arcade|Space Invaders arcade]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Vezza]]&lt;br /&gt;
| [https://gitlab.com/sijnstra1/vezza]&lt;br /&gt;
| &lt;br /&gt;
| Oct 7, 2023&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Z-Machine]]&lt;br /&gt;
|-&lt;br /&gt;
| [[ZXM]]&lt;br /&gt;
| [https://cpcrulez.fr/applications_util-ZXm.htm]&lt;br /&gt;
| &lt;br /&gt;
| 1993&lt;br /&gt;
| Freeware&lt;br /&gt;
| [[ZX Spectrum|ZX Spectrum]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Zym]]&lt;br /&gt;
| [http://www.symbos.org/appinfo.htm?00054]&lt;br /&gt;
| 0.9&lt;br /&gt;
| Feb 19, 2022&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Z-Machine]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Emulator| ]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Emulators&amp;diff=113802</id>
		<title>Emulators</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Emulators&amp;diff=113802"/>
				<updated>2024-01-02T21:49:21Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: /* Desktop */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Vote for your favorite emulator =&lt;br /&gt;
&lt;br /&gt;
[https://www.cpcwiki.eu/forum/emulators/which-emulator-s-do-you-use/ There is a poll on CPCWiki forum]&lt;br /&gt;
&lt;br /&gt;
= Software Platforms (Full OS independance) =&lt;br /&gt;
&lt;br /&gt;
== Java Platform  ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnold Jnr|Arnold Jnr]]&lt;br /&gt;
| [https://web.archive.org/web/20160727011826/http://www.arnoldemu.freeserve.co.uk/]&lt;br /&gt;
| &lt;br /&gt;
| Aug 27, 2001&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[JavaCPC|JavaCPC Desktop]]&lt;br /&gt;
| [https://sourceforge.net/projects/javacpc/] [http://sourceforge.net/projects/javagx4000/ JavaGX4000] [http://sourceforge.net/projects/cpcinajar/ CPCInAJar]&lt;br /&gt;
| 3.0.2&lt;br /&gt;
| Apr 8, 2022&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[JEMU|JEMU]]&lt;br /&gt;
| [http://jemu.winape.net/]&lt;br /&gt;
| &lt;br /&gt;
| Feb 19, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]], [[ZX80/81]], [[BBC Micro]], [[VZ-300]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[WebCPC|WebCPC]]&lt;br /&gt;
| [http://sourceforge.net/projects/webcpc/] [https://web.archive.org/web/20110903132520/http://java.cpc-live.com/ JavaCPC Applet]&lt;br /&gt;
| r15&lt;br /&gt;
| Dec 31, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== JS / Wasm / Web Platform ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCBox|CPCBox]] &lt;br /&gt;
| [https://www.retroshowcase.gr/cpcbox-master/] [https://web.archive.org/web/20190702084943/http://www.cpcbox.com/] [https://bzhgames.xyz/index.php BZH Games]&lt;br /&gt;
| beta &lt;br /&gt;
| Dec 28, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[CrocoDS|CrocoDS]] &lt;br /&gt;
| [https://crocods.org/web/] [https://github.com/redbug26/crocods Repo]&lt;br /&gt;
| &lt;br /&gt;
| Jun 9, 2020&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[MAME|Emularity (MAME)]] &lt;br /&gt;
| [https://github.com/db48x/emularity] [http://jsmess.textfiles.com/ JSMESS] [https://classicreload.com/platform/amstrad%20cpc Classic Reload]&lt;br /&gt;
[https://archive.org/details/softwarelibrary_cpc_games CPC Games] [https://archive.org/details/softwarelibrary_cpc_demos CPC Demos] on Internet Archive&lt;br /&gt;
| &lt;br /&gt;
| Oct 1, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| Lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Roland javascript emulator|Roland]] &lt;br /&gt;
| [https://web.archive.org/web/20190308142014/http://roland.retrolandia.net/]&lt;br /&gt;
| &lt;br /&gt;
| Sep 24, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Ronald|Ronald]] &lt;br /&gt;
| [https://ronald.migge.io] [https://github.com/mdm/ronald Repo]&lt;br /&gt;
| &lt;br /&gt;
| Sep 25, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[RVMplayer|RVMplayer]] &lt;br /&gt;
| [https://www.retrovirtualmachine.org/rvmplayer/]&lt;br /&gt;
| 0.1.1&lt;br /&gt;
| May 6, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]]&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[Tiny Emus]]&lt;br /&gt;
| [https://floooh.github.io/tiny8bit/] [https://floooh.github.io/tiny8bit/cpc-ui.html] [http://floooh.github.io/virtualkc/ yakc] [https://online.oldgames.sk/play/cpc Online Old Games]&lt;br /&gt;
[https://devilmarkus.de/ WebGL 3d 8-bit] [https://www.amstradcpcgames.eu/ Amstrad CPC Games] [http://cpc.novidee.com/ zpz]&lt;br /&gt;
| &lt;br /&gt;
| Nov 4, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| [[KC Compact]], [[ZX Spectrum]], [[VIC-20]], [[Commodore 64]], [[Acorn Atom]], [[KC 85]], [[KC 87]], [[Z9001]], [[Z1013]], [[LC80]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Griffin CPC emulator|Xiragon]]&lt;br /&gt;
| [https://web.archive.org/web/20191027200008/http://xiragon.com/]&lt;br /&gt;
| &lt;br /&gt;
| Nov 28, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== LibRetro (API for emulators) ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! Type&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[libretro-cap32]]&lt;br /&gt;
| Emulation core&lt;br /&gt;
| [https://github.com/libretro/libretro-cap32]&lt;br /&gt;
| 4.5.3&lt;br /&gt;
| Mar 16, 2022&lt;br /&gt;
| -&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[libretro-crocods]]&lt;br /&gt;
| Emulation core&lt;br /&gt;
| [https://github.com/libretro/libretro-crocods]&lt;br /&gt;
| 0.1&lt;br /&gt;
| Feb 28, 2017&lt;br /&gt;
| -&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[MAME|MESS 2015]]&lt;br /&gt;
| Emulation core&lt;br /&gt;
| [https://docs.libretro.com/meta/core-list/]&lt;br /&gt;
| 0.160&lt;br /&gt;
| circa 2015&lt;br /&gt;
| -&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[SugarLibRetro]]&lt;br /&gt;
| Emulation core&lt;br /&gt;
| [https://github.com/Tom1975/SugarLibRetro] (wraps independent lib [https://github.com/Tom1975/CPCCore CPCCore])&lt;br /&gt;
| git&lt;br /&gt;
| Jan 10, 2020&lt;br /&gt;
| -&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[EmuVR]]&lt;br /&gt;
| Frontend&lt;br /&gt;
| [https://www.emuvr.net/]&lt;br /&gt;
| &lt;br /&gt;
| Dec 25, 2022&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Depends on emulation cores&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[Hackable Console]]&lt;br /&gt;
| Frontend&lt;br /&gt;
| [https://github.com/leiradel/hackable-console]&lt;br /&gt;
| &lt;br /&gt;
| Mar 27, 2022&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Depends on emulation cores&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[RetroArch]]&lt;br /&gt;
| Frontend&lt;br /&gt;
| [https://www.retroarch.com/] [https://www.retroarch.com/?page=achievements RetroAchievements]&lt;br /&gt;
| 1.16.0&lt;br /&gt;
| Sep 22, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Depends on emulation cores&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Current Operating Systems =&lt;br /&gt;
&lt;br /&gt;
== Desktop ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Windows&lt;br /&gt;
! macOS&lt;br /&gt;
! Linux&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[ACE-DL]]&lt;br /&gt;
| [http://www.roudoudou.com/ACE-DL] [https://discord.gg/rKxFPndHPw Discord] Based on [http://ace.cpcscene.net|ACE for MorphOS]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| &lt;br /&gt;
| Dec 17, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[AMSpiriT|AMSpiriT]]&lt;br /&gt;
| [https://www.amspirit.fr/] [https://forum.system-cfg.com/viewtopic.php?f=24&amp;amp;t=11535 Forum]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 0.967b&lt;br /&gt;
| Dec 6, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnimedes|Arnimedes]] &lt;br /&gt;
| [http://www.arnimedes.de/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.02&lt;br /&gt;
| Jul 7, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnold_(Emulator)|Arnold]] &lt;br /&gt;
| [http://www.cpcwiki.eu/forum/emulators/arnold-wip/msg144749/#msg144749] [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]&lt;br /&gt;
| ✅&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ⚠️&lt;br /&gt;
| [http://www.cpcwiki.eu/imgs/d/dd/Arnoldwip_src.tar.bz2 WIP]&lt;br /&gt;
| May 13, 2017&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Caprice Forever]] &lt;br /&gt;
| [http://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 23.11&lt;br /&gt;
| Nov 11, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware &amp;amp; Outdated sources&lt;br /&gt;
|-&lt;br /&gt;
| [[CaPriCe|Caprice32]] &lt;br /&gt;
| [https://github.com/ColinPitrat/caprice32/releases] [http://sourceforge.net/projects/caprice32/ Old repo] [https://snapcraft.io/caprice32 Linux] [http://aleste520.narod.ru/caprice.html Aleste] [https://code.google.com/archive/p/cpcsdk/ Reloaded]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 4.6.0&lt;br /&gt;
| Oct 8, 2022&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Clock Signal|Clock Signal]] &lt;br /&gt;
| [https://github.com/TomHarte/CLK/releases] [https://snapcraft.io/clock-signal Linux]&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| &lt;br /&gt;
| Dec 28, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]], [[ZX80/81]], [[Enterprise]], [[MSX]], [[Oric 1/Atmos|Oric]], [[ColecoVision]], [[Acorn Electron]], [[Apple II]], [[VIC-20]], [[Atari 2600]], [[Atari ST]], [[Macintosh]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CoPaCabana|CoPaCabana]]&lt;br /&gt;
| [http://copacabana.emuunlim.com/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 0.74&lt;br /&gt;
| Apr 12, 2006&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[CPC++|CPC++]] &lt;br /&gt;
| [http://bricerive.free.fr/cpc/cpcpp.html]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ⚠️&lt;br /&gt;
| b700&lt;br /&gt;
| May 31, 2015&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[cpc4x|cpc4x]] &lt;br /&gt;
| [http://www.ulrich-cordes.de/cpc/english/cpcemu.htm]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| 0.26&lt;br /&gt;
| Dec 11, 2004&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEC|CPCEC]] &lt;br /&gt;
| [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]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| &lt;br /&gt;
| Aug 6, 2022&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[ZX Spectrum]], [[Commodore 64]], [https://www.youtube.com/watch?v=5LwCy0gRAEc MSX (unreleased)]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEC|cpcec-gtk]] &lt;br /&gt;
| [https://bitbucket.org/norecess464/cpcec-gtk/]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| &lt;br /&gt;
| Feb 4, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCemu|CPCemu]] &lt;br /&gt;
| [http://www.cpc-emu.org/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 2.5&lt;br /&gt;
| Aug 13, 2022&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEPower|CPCEPower]] &lt;br /&gt;
| [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 2105&lt;br /&gt;
| Jun 4, 2021&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCSharp|CPCSharp]] &lt;br /&gt;
| [https://github.com/dolbz/CPCSharp/releases/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.0.0-beta1&lt;br /&gt;
| Apr 7, 2021&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPvC|CPvC]]&lt;br /&gt;
| [https://github.com/alybaek2/cpvc]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| &lt;br /&gt;
| Sep 30, 2022&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CrocoDS|CrocoDS]]&lt;br /&gt;
| [https://crazypiri.eu/crocods/] [https://github.com/redbug26/crocods Repo]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| 4.0 beta3&lt;br /&gt;
| Dec 10, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[DSP|DSP]]&lt;br /&gt;
| [https://github.com/leniad/dsp-emulator/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ⚠️&lt;br /&gt;
| 0.22&lt;br /&gt;
| Nov 15, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| [[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]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[ep128emu|ep128emu]]&lt;br /&gt;
| [https://github.com/istvan-v/ep128emu]&lt;br /&gt;
| ✅&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ⚠️&lt;br /&gt;
| 2.0.11.2&lt;br /&gt;
| Apr 19, 2019&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]], [[Enterprise]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[MESS|MAME]]&lt;br /&gt;
| [http://mamedev.org/release.html] [http://sdlmame.lngn.net/ macOS] [http://wiki.mamedev.org/index.php/SDL_Supported_Platforms Other ports] &lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 0.261&lt;br /&gt;
| Nov 29, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[NO$CPC|NO$CPC]]&lt;br /&gt;
| [http://problemkaputt.de/cpc.htm]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.8&lt;br /&gt;
| Nov 2, 2000&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[PC-CPC|PC-CPC]] &lt;br /&gt;
| [http://cpcrulez.fr/emulateurs_download-WIN-PC-CPC.htm] [https://github.com/DemoniakLudo/PC-CPC Repo]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 0.1at b29&lt;br /&gt;
| Nov 17, 2011&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Retro Virtual Machine|Retro Virtual Machine]]&lt;br /&gt;
| [https://www.retrovirtualmachine.org]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 2.1.11&lt;br /&gt;
| Nov 13, 2023&lt;br /&gt;
| ❌ Removed&lt;br /&gt;
| ✅&lt;br /&gt;
| [[ZX Spectrum]], [[MSX|MSX 1]], [[ColecoVision]], [[SG-1000]], [[Master System]]&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[Roland Emulator|Roland]] &lt;br /&gt;
| [https://www.rolandemu.de/en/downloads.html] [https://github.com/raldus/roland Repo]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| 0.70&lt;br /&gt;
| Apr 20, 2017&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Ronald|Ronald]] &lt;br /&gt;
| [https://github.com/mdm/ronald]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| &lt;br /&gt;
| Sep 25, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[SugarBox|SugarBox]]&lt;br /&gt;
| [https://github.com/Tom1975/SugarboxV2] [http://sugarbox.free.fr/ Old site]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 2.0.2&lt;br /&gt;
| Nov 29, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[VirtualCPC|Virtual CPC]] &lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-WIN-virtual_cpc.htm] [https://web.archive.org/web/20200112094913/http://users.otenet.gr/~sulfonic/cpc/ Archive] &lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.1&lt;br /&gt;
| Aug 8, 2011&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[WinApe|WinAPE]] &lt;br /&gt;
| [http://www.winape.net/] [https://www-ftp.lip6.fr/pub/amstrad/emulator/CPCWIN10.ZIP CPCwin]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 2.0b2&lt;br /&gt;
| Jan 5, 2016&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[WinCPC|WinCPC]] / [[MacCPC|MacCPC]]&lt;br /&gt;
| [http://www.wincpc.ch/index.php?topic=projects] [https://web.archive.org/web/20050409133618/http://www.easypoint.ch/vbcpc/ vbCPC]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| 0.9.2&lt;br /&gt;
| Jan 22, 2010&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[XCPC|Xcpc]]&lt;br /&gt;
| [https://www.xcpc-emulator.net/]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| 0.38.1&lt;br /&gt;
| Apr 8, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[XNACPC|XNACPC]]&lt;br /&gt;
| [http://www.gavpugh.com/2011/11/11/xnacpc-xbox-360-amstrad-cpc-emulator-released/] [https://www.gavpugh.com/old-code/ CPC3D]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.0&lt;br /&gt;
| Nov 11, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[YACE|YACE]]&lt;br /&gt;
| [http://www.youtube.com/watch?v=uxQkljwc0i4]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| &lt;br /&gt;
| Nov 12, 2014&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| ❌ Unreleased&lt;br /&gt;
|-&lt;br /&gt;
| [[ZEsarUX|ZEsarUX]]&lt;br /&gt;
| [https://github.com/chernandezba/zesarux]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| X&lt;br /&gt;
| Sep 8, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| [[PCW]], [[ZX Spectrum]], [[ZX80/81]], [[MSX|MSX 1]], [[ColecoVision]], [[Spectravideo]], [[Jupiter ACE]], [[Sam Coupe]], [[SG-1000]], [[Master System]], [[Sinclair QL]], [[MK14]], [[Z88]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Alternative OS ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS PPC&lt;br /&gt;
| [[Arnold|Arnold]]&lt;br /&gt;
| [http://hirudov.com/amiga/Arnold.php]&lt;br /&gt;
| 1.15&lt;br /&gt;
| Dec 17, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS PPC&lt;br /&gt;
| [[MESS|SDLMESS]]&lt;br /&gt;
| [http://se.os4depot.net/index.php?function=showfile&amp;amp;file=emulation/computer/sdl_mess.lha]&lt;br /&gt;
| 0.146u4&lt;br /&gt;
| Aug 19, 2012&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Haiku&lt;br /&gt;
| [[ACE_(Emulator)|ACE]]&lt;br /&gt;
| [http://www.cpcwiki.eu/forum/emulators/ace-for-haiku/] [http://ace.cpcscene.net/]&lt;br /&gt;
| 1.25.1&lt;br /&gt;
| Oct 15, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Haiku&lt;br /&gt;
| [[AdvanceMAME|AdvanceMAME]]&lt;br /&gt;
| [https://depot.haiku-os.org/#!/pkg/advancemame_x86]&lt;br /&gt;
| 3.9-1&lt;br /&gt;
| Feb 3, 2020&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| MorphOS&lt;br /&gt;
| [[ACE_(Emulator)|ACE]]&lt;br /&gt;
| [http://ace.cpcscene.net/] [https://framagit.org/users/offset/projects Repo]&lt;br /&gt;
| 1.26&lt;br /&gt;
| Jan 1, 2024&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| MorphOS&lt;br /&gt;
| [[MESS|MESS]]&lt;br /&gt;
| [http://fabportnawak.free.fr/mame/]&lt;br /&gt;
| 0.113&lt;br /&gt;
| Nov 1, 2007&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Mobile ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[andcpc]]&lt;br /&gt;
| [http://code.google.com/p/andcpc/]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Apr 4, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[Azimuth]]&lt;br /&gt;
| [https://play.google.com/store/apps/details?id=johnidis.azimuth]&lt;br /&gt;
| 1.11&lt;br /&gt;
| Aug 22, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Adware and in-app purchases💲&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[CPCDroid]]&lt;br /&gt;
| [https://fmsdevel.wisecoding.es/cpcdroid-amstrad-cpc-on-android-phone-2/]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Mar 2, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[CPCemu|CPCemu]] &lt;br /&gt;
| [https://play.google.com/store/apps/details?id=com.loritznet.softwarecreations.cpcemu]&lt;br /&gt;
| 2.5&lt;br /&gt;
| Aug 14, 2022&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[Droid-CPC]]&lt;br /&gt;
| [http://play.google.com/store/apps/details?id=com.kokak.droidcpc]&lt;br /&gt;
| 1.1.01&lt;br /&gt;
| Dec 15, 2016&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Commercial💲&lt;br /&gt;
|-&lt;br /&gt;
| iOS&lt;br /&gt;
| [[CPCemu|CPCemu]]&lt;br /&gt;
| [http://www.cpc-emu.org/]&lt;br /&gt;
| 2.5&lt;br /&gt;
| Aug 13, 2022&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Software available on request&lt;br /&gt;
|-&lt;br /&gt;
| iOS&lt;br /&gt;
| [[CrocoDS]]&lt;br /&gt;
| [https://crazypiri.eu/crocods/] [https://github.com/redbug26/crocods-ios Repo]&lt;br /&gt;
| 2.1&lt;br /&gt;
| Jun 21, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Discontinued Operating Systems =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| Acorn RISC OS&lt;br /&gt;
| [[!CPC|!CPC]]&lt;br /&gt;
| [https://www-ftp.lip6.fr/pub/amstrad/emulator/CPC0728.ZIP] [http://ftp2.fr.openbsd.org/ftp/pub/amstrad/emulator/CPCS1124.ZIP]&lt;br /&gt;
| &lt;br /&gt;
| Jul 28, 1996&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Acorn RISC OS&lt;br /&gt;
| [[!CPCemu|!CPCemu]]&lt;br /&gt;
| [http://huggers-world.de/mops.html]&lt;br /&gt;
| 1.21&lt;br /&gt;
| Mar 22, 2016&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS m68k&lt;br /&gt;
| [[A-CPC|A-CPC]]&lt;br /&gt;
| [https://cpctech.cpcwiki.de/download/a-cpc.lha]&lt;br /&gt;
| 2.0&lt;br /&gt;
| Mar 30, 2002&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS m68k&lt;br /&gt;
| [[Ami-cpc|Ami-cpc]]&lt;br /&gt;
| [http://deplanque.chez.com/] [http://deplanque.chez.com/download_fr.html Ami-cpc2]&lt;br /&gt;
| 0.46&lt;br /&gt;
| Jan 21, 1998&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS m68k&lt;br /&gt;
| [[CPE|CPE]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-AMIGA-CPE.htm]&lt;br /&gt;
| &lt;br /&gt;
| Feb 24, 1995&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS m68k&lt;br /&gt;
| [[Emu-CPC|EmuCPC]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-AMIGA-emucpc.htm]&lt;br /&gt;
| 0.7&lt;br /&gt;
| Sep 15, 1996&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| BlackBerry OS&lt;br /&gt;
| [[BB-CPC|BB-CPC]]&lt;br /&gt;
| [http://appworld.blackberry.com/webstore/content/30963891/] (dead link)&lt;br /&gt;
| 1.0.1.3&lt;br /&gt;
| Jul 15, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Commercial💲&lt;br /&gt;
|-&lt;br /&gt;
| Classic Mac OS&lt;br /&gt;
| [[CPCplusplus|CPC++]]&lt;br /&gt;
| [http://bricerive.free.fr/cpc/cpcpp.html]&lt;br /&gt;
| 1.3.2&lt;br /&gt;
| Oct 6, 1997&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Shareware💲&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[AdvanceMESS|AdvanceMESS]]&lt;br /&gt;
| [https://www.advancemame.it/readme]&lt;br /&gt;
| 3.9&lt;br /&gt;
| Sep 8, 2018&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[Arnimedes|Arnimedes]]&lt;br /&gt;
| [http://www.arnimedes.de/]&lt;br /&gt;
| 0.8a&lt;br /&gt;
| Apr 15, 2000&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[Caprice32]] &lt;br /&gt;
| [https://ftp.nvg.ntnu.no/pub/cpc/emulator/msdos/capriced.zip]&lt;br /&gt;
| 1.11&lt;br /&gt;
| Sep 20, 1999&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPC]] &lt;br /&gt;
| [https://www-ftp.lip6.fr/pub/amstrad/emulator/CPC055B.ZIP]&lt;br /&gt;
| 0.55b&lt;br /&gt;
| May 16, 1997&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPC-em|CPC-em]] &lt;br /&gt;
| [http://cpc-em.emuunlim.com/]&lt;br /&gt;
| 0.4&lt;br /&gt;
| Jul 7, 2004&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPCE|CPCE]]&lt;br /&gt;
| [http://cngsoft.no-ip.org/cpce/]&lt;br /&gt;
| 1.94&lt;br /&gt;
| Jun 2, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPCemu|CPCemu]]&lt;br /&gt;
| [http://www.cpc-emu.org/]&lt;br /&gt;
| 1.5&lt;br /&gt;
| Jul 7, 1998&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPE|CPE]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-DOS-CPE.htm]&lt;br /&gt;
| 5.2&lt;br /&gt;
| Apr 21, 1997&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[NO$CPC|NO$CPC]]&lt;br /&gt;
| [http://problemkaputt.de/cpc.htm]&lt;br /&gt;
| 1.8&lt;br /&gt;
| Nov 2, 2000&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[PC-CPC|PC-CPC]] &lt;br /&gt;
| [http://deplanque.chez.com/download_fr.html]&lt;br /&gt;
| &lt;br /&gt;
| Feb 3, 1998&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPCEMU (RWCPC)|RWCPC]]&lt;br /&gt;
| [https://www-ftp.lip6.fr/pub/amstrad/emulator/RWCPC.ZIP]&lt;br /&gt;
| &lt;br /&gt;
| Mar 23, 1995&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[SIMCPC|SIMCPC]]&lt;br /&gt;
| [https://www-ftp.lip6.fr/pub/amstrad/emulator/SIMCPC.ZIP]&lt;br /&gt;
| &lt;br /&gt;
| Dec 10, 1989&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Shareware💲&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[YAGE|YAGE]]&lt;br /&gt;
| [https://www.zophar.net/cpc/yage.html]&lt;br /&gt;
| 0.91&lt;br /&gt;
| Oct 24, 1998&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| EXOS&lt;br /&gt;
| [[Software CPC Emulator|Software CPC Emulator]]&lt;br /&gt;
| [http://www.ep128.hu/Ep_Util/Prg/Amstrad_CPC_Emulator_13.rar] [http://www.ep128.hu/Ep_Util/Amstrad_CPC_emu.htm]&lt;br /&gt;
| 1.3&lt;br /&gt;
| Jan 11, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Maemo&lt;br /&gt;
| [[CPCm]]&lt;br /&gt;
| [http://maemo.org/downloads/product/Maemo5/cpcm/]&lt;br /&gt;
| 1.20-1&lt;br /&gt;
| Apr 27, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| MSX-DOS&lt;br /&gt;
| [[EMU6CPC|EMU6CPC]]&lt;br /&gt;
| [http://romu6.blogspot.com/2018/12/emu6cpc-emulador-de-amstrad-cpc-6128.html]&lt;br /&gt;
| &lt;br /&gt;
| Dec 17, 2018&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Palm OS&lt;br /&gt;
| [[CaPriCe for Palm OS|CaPriCe for Palm OS]]&lt;br /&gt;
| [https://web.archive.org/web/20230127143354/https://coste.frederic.free.fr/cpc/cpc_en.htm]&lt;br /&gt;
| 2.8&lt;br /&gt;
| Jun 28, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Palm OS&lt;br /&gt;
| [[CoPaCabana|CoPaCabana]]&lt;br /&gt;
| [http://copacabana.emuunlim.com/]&lt;br /&gt;
| 0.75&lt;br /&gt;
| Dec 4, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Pocket PC&lt;br /&gt;
| [[CaPriCe|PocketCaprice]]&lt;br /&gt;
| [https://web.archive.org/web/20160506010209/http://www.clubic.com/telecharger-fiche44888-pocketcaprice.html]&lt;br /&gt;
| 0.9&lt;br /&gt;
| Aug 19, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| SunOS&lt;br /&gt;
| [[CPCplusplus|CPC++]]&lt;br /&gt;
| [http://bricerive.free.fr/cpc/cpcpp.html]&lt;br /&gt;
| 1.3.0&lt;br /&gt;
| Feb 22, 1997&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Shareware💲&lt;br /&gt;
|-&lt;br /&gt;
| Symbian&lt;br /&gt;
| [[S60-CPC|S60-CPC]]&lt;br /&gt;
| [http://kokak.free.fr/s60cpc.htm]&lt;br /&gt;
| 0.74&lt;br /&gt;
| Feb 21, 2006&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Windows 9x&lt;br /&gt;
| [[CPC-em|CPC-em]] &lt;br /&gt;
| [http://cpc-em.emuunlim.com/]&lt;br /&gt;
| 0.3&lt;br /&gt;
| Jan 22, 2004&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Windows 9x&lt;br /&gt;
| [[MTMW|MTMW]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-WIN-MTMW.htm]&lt;br /&gt;
| 1.30B&lt;br /&gt;
| Jan 11, 2000&lt;br /&gt;
| ✅&lt;br /&gt;
| [[ZX Spectrum]], [[ZX80/81]], [[Enterprise]], [[Jupiter ACE]]&lt;br /&gt;
| Freeware&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Home Consoles =&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| Microsoft XBOX&lt;br /&gt;
| [[Arnold|ArnoldX]]&lt;br /&gt;
| [https://web.archive.org/web/20120705163939/http://forums.xbox-scene.com/index.php?showtopic=711667] [https://cpcrulez.fr/emulateurs_download-XBOX-ARNOLDX.htm]&lt;br /&gt;
| v5&lt;br /&gt;
| Apr 20, 2010&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Microsoft XBOX&lt;br /&gt;
| [[CoinOPS|CoinOPS (RetroFE)]]&lt;br /&gt;
| [https://web.archive.org/web/20160518183115/https://coinopsproject.freeforums.org/viewtopic.php?f=0&amp;amp;t=1213]&lt;br /&gt;
| 5&lt;br /&gt;
| Oct 18, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| Lots of other computer systems&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Microsoft Xbox 360&lt;br /&gt;
| [[XNACPC|XNACPC]]&lt;br /&gt;
| [http://www.gavpugh.com/2011/11/11/xnacpc-xbox-360-amstrad-cpc-emulator-released/]&lt;br /&gt;
| 1.0&lt;br /&gt;
| Nov 11, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo Wii&lt;br /&gt;
| [[Wiituka|Wiituka]]&lt;br /&gt;
| [http://wiituka.dantoine.org/]&lt;br /&gt;
| 0.98.8&lt;br /&gt;
| May 15, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Sega Dreamcast&lt;br /&gt;
| [[CPCast|CPCast]]&lt;br /&gt;
| [http://www.dcemu.co.uk/vbulletin/showthread.php?t=24100]&lt;br /&gt;
| &lt;br /&gt;
| May 6, 2006&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Sega Dreamcast&lt;br /&gt;
| [[DreamCPC|DreamCPC]]&lt;br /&gt;
| [https://www.jm1200.fr/index.php?r=2]&lt;br /&gt;
| Alpha 3&lt;br /&gt;
| Oct 16, 2005&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Sony PS2&lt;br /&gt;
| [[CPC-em|CPC-em]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-ps2-CPC-EM.htm]&lt;br /&gt;
| 0.4&lt;br /&gt;
| Dec 22, 2004&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Sony PS3&lt;br /&gt;
| [[Caprice32|Caprice32]]&lt;br /&gt;
| [https://web.archive.org/web/20171003153204/http://psx-scene.com/forums/content/caprice32-4-1-0-dbg-emulator-ps3-2119/]&lt;br /&gt;
| 4.1.0 DBG&lt;br /&gt;
| Apr 9, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Handheld Consoles =&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 and OpenDingux'''. Or you can use these stand-alone CPC emulators:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| Dingoo A320 / A330&lt;br /&gt;
| [[Pituka|Pituka Dingux]]&lt;br /&gt;
| [http://david.dantoine.org/proyecto/4/]&lt;br /&gt;
| 0.8pre&lt;br /&gt;
| Aug 19, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Dingoo A320 / A330&lt;br /&gt;
| [[Caprice|Dingux-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/105-Amstrad/]&lt;br /&gt;
| 1.1.2&lt;br /&gt;
| Oct 17, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark Caanoo&lt;br /&gt;
| [[Caprice|Caanoo-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/165-Amstrad/]&lt;br /&gt;
| 1.1.3&lt;br /&gt;
| Apr 24, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark GP2x&lt;br /&gt;
| [[Caprice|CapriceGP2x]]&lt;br /&gt;
| [https://web.archive.org/web/20130315195529/http://wiki.gp2x.org/wiki/CapriceGP2x]&lt;br /&gt;
| 0.5&lt;br /&gt;
| Feb 22, 2006&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark GP2x&lt;br /&gt;
| [[Caprice|GP2X-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/42-Amstrad/]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Aug 29, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark GP32&lt;br /&gt;
| [[Pituka|Pituka GP32]]&lt;br /&gt;
| [http://david.dantoine.org/proyecto/4/]&lt;br /&gt;
| 1d&lt;br /&gt;
| May 15, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark Wiz&lt;br /&gt;
| [[Caprice|Wiz-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/89-Amstrad/]&lt;br /&gt;
| 1.1.0&lt;br /&gt;
| Aug 29, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GCW Zero&lt;br /&gt;
| [[Caprice|Dingux-CAP32]]&lt;br /&gt;
| [https://github.com/kerheol/dingux-cap32]&lt;br /&gt;
| 1.1.2&lt;br /&gt;
| May 25, 2014&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| JXD S5110 / S601 &amp;amp; Yinlips G18&lt;br /&gt;
| [[Caprice|JXD-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/206-Amstrad/]&lt;br /&gt;
| 1.1.1&lt;br /&gt;
| Oct 27, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo DS&lt;br /&gt;
| [[AmeDS|AmeDS]] &lt;br /&gt;
| [https://web.archive.org/web/20131021073302/http://www.portabledev.com/pages/ds/jeuxdev.-perso/ameds.php]&lt;br /&gt;
| 4.0&lt;br /&gt;
| Apr 25, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo DS&lt;br /&gt;
| [[CrocoDS|CrocoDS]]&lt;br /&gt;
| [http://www.kyuran.be/blog/2007/11/09/crocods-20-2/] [https://github.com/redbug26/crocods-nds Repo]&lt;br /&gt;
| 2.0&lt;br /&gt;
| Nov 9, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo GameBoy Advance&lt;br /&gt;
| [[Mini Amstrad Emulator|Mini Amstrad Emulator]] &lt;br /&gt;
| [https://playeradvance.org/forum/showthread.php?t=765]&lt;br /&gt;
| &lt;br /&gt;
| Dec 26, 2005&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Odroid GO&lt;br /&gt;
| [[CapriceESP32|CapriceESP32]] &lt;br /&gt;
| [https://github.com/grantrismo/CapriceESP32]&lt;br /&gt;
| &lt;br /&gt;
| Dec 3, 2020&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| OpenDingux&lt;br /&gt;
| [[CrocoDS|CrocoDS]]&lt;br /&gt;
| [https://crazypiri.eu/crocods/] [https://github.com/redbug26/crocods Repo]&lt;br /&gt;
| &lt;br /&gt;
| Jan 15, 2020&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Pandora&lt;br /&gt;
| [[Caprice|Pandora-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/131-Amstrad/]&lt;br /&gt;
| 1.1.0&lt;br /&gt;
| Jun 27, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Sony PSP&lt;br /&gt;
| [[Caprice32 PSP]]&lt;br /&gt;
| [http://psp.akop.org/caprice32]&lt;br /&gt;
| 4.2.0.2&lt;br /&gt;
| Nov 28, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Sony PSP&lt;br /&gt;
| [[CPCPSP|CPCPSP]]&lt;br /&gt;
| [https://web.archive.org/web/20130325143915/http://dl.qj.net/psp/emulators/cpcpsp-v01.html]&lt;br /&gt;
| 0.1&lt;br /&gt;
| Dec 24, 2005&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Sony PSP&lt;br /&gt;
| [[PSPCAP32|PSPCAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/3-Amstrad/]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Aug 21, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Trimui Model S&lt;br /&gt;
| [[Arnold|Arnold Trimui]]&lt;br /&gt;
| [https://github.com/liartes/arnold_gcw0]&lt;br /&gt;
| &lt;br /&gt;
| Oct 19, 2021&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Single-Board Computers / Raspberry Pi =&lt;br /&gt;
&lt;br /&gt;
[https://www.libretro.com/index.php/powered-by-libretro/ LibRetro / RetroArch] is used as the foundation of [https://www.lakka.tv/ Lakka], [https://wiki.recalbox.com/en/advanced-usage/retroarch Recalbox], [https://batocera.org/ Batocera] and [https://retropie.org.uk/ RetroPie] alternative OSes for the Raspberry Pi and other SBC.&lt;br /&gt;
But you can also use [https://www.retroarch.com/index.php?page=platforms RetroArch] for Amstrad CPC emulation on a stock Raspberry Pi OS. Or you can use these stand-alone CPC emulators:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[CPC4Rpi|#CPC4Rpi]]&lt;br /&gt;
| [https://web.archive.org/web/20150321200308/http://store.raspberrypi.com/projects/cpc4rpi]&lt;br /&gt;
| 1.1&lt;br /&gt;
| Dec 19, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Commercial💲&lt;br /&gt;
|-&lt;br /&gt;
| [[CapriceRPI|CapriceRPI]]&lt;br /&gt;
| [https://github.com/KaosOverride/CapriceRPI]&lt;br /&gt;
| 1.3d&lt;br /&gt;
| Feb 28, 2016&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Clock Signal|Clock Signal]] &lt;br /&gt;
| [https://snapcraft.io/install/clock-signal/raspbian]&lt;br /&gt;
| &lt;br /&gt;
| Dec 28, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]], [[ZX80/81]], [[Enterprise]], [[MSX]], [[Oric 1/Atmos|Oric]], [[ColecoVision]], [[Acorn Electron]], [[Apple II]], [[VIC-20]], [[Atari 2600]], [[Atari ST]], [[Macintosh]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEPower|CPCEPower]] &lt;br /&gt;
| [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73]&lt;br /&gt;
| 2105&lt;br /&gt;
| Jun 4, 2021&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[MESS|MAME]]&lt;br /&gt;
| [https://stickfreaks.com/mame/]&lt;br /&gt;
| 0.261&lt;br /&gt;
| Nov 29, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[SugarPi|SugarPi]]&lt;br /&gt;
| [https://github.com/Tom1975/SugarPi]&lt;br /&gt;
| 1.2.0&lt;br /&gt;
| Feb 3, 2021&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[ZEsarUX|ZEsarUX]]&lt;br /&gt;
| [https://github.com/chernandezba/zesarux]&lt;br /&gt;
| X&lt;br /&gt;
| Sep 8, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| [[PCW]], [[ZX Spectrum]], [[ZX80/81]], [[MSX|MSX 1]], [[ColecoVision]], [[Spectravideo]], [[Jupiter ACE]], [[Sam Coupe]], [[SG-1000]], [[Master System]], [[Sinclair QL]], [[MK14]], [[Z88]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Hardware =&lt;br /&gt;
&lt;br /&gt;
*[[CPC TREX|CPC TREX]] [[C-ONE|CPC-ONE]] TurboCPC core running on a FPGA board&lt;br /&gt;
*[http://ralferoo.blogspot.fr/ CPC FPGA] CPC emulation running on a custom made FPGA board&lt;br /&gt;
*[[FPGAmstrad|FPGAmstrad]] [https://github.com/renaudhelias/CoreAmstrad CoreAmstrad] [https://github.com/mist-devel/mist-board/wiki/CoreDocAmstrad CoreDocAmstrad] [https://github.com/mist-devel/mist-binaries/tree/master/cores/amstrad_alt CPC for MIST and MISTer] Translation of JavaCPC from Java into VHDL on a MiST board&lt;br /&gt;
*[https://intelligenttoasters.blog/cpc2-project-index/ CPC2 Project] CPC emulation running on a Cyclone V FPGA board&lt;br /&gt;
*[https://github.com/rpsubc8/ESP32TinyCPC/ ESP32 TinyCPC] Port from CPC-em emulator to TTGO VGA32 v1.x board with ESP32&lt;br /&gt;
*[https://github.com/codedchip/AMSGateArray AMSGateArray] Reverse engineered Gate Array from decapped chips&lt;br /&gt;
*[[SDiskEmul]] Floppy-drive emulator released in 2007. Abandoned now. Supports DSK, EDSK disk-images&lt;br /&gt;
*[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]&lt;br /&gt;
*[https://github.com/keirf/flashfloppy/ FlashFloppy] Open source floppy-drive emulator for the ubiquitous Gotek hardware. Supports DSK, EDSK, HFE disk-images&lt;br /&gt;
*[https://cpcrulez.fr/forum/viewtopic.php?f=5&amp;amp;t=100&amp;amp;start=690#p55437 Pauline] FPGA-based floppy-drive dumper and emulator&lt;br /&gt;
*[https://hobbyretro.com/en/retro/tzxduino TZXduino] Arduino-based tape deck emulator. Supports many formats of tape-images including CDT and TZX&lt;br /&gt;
*[https://pelrun.github.io/PlayUEF/ PlayUEF] Web-browser based tape deck emulator, supporting CDT and TZX tape-images&lt;br /&gt;
*[https://github.com/dasta400/ACPCPE Amstrad CPC Printer Emulator] Arduino-based CPC printer emulator&lt;br /&gt;
&lt;br /&gt;
= Mass-storage =&lt;br /&gt;
Emulator support for mass-storage expansions is as follows:&lt;br /&gt;
*[[Dobbertin Harddisc]] is emulated by MAME&lt;br /&gt;
*[[UIDE Universal IDE adapter cards for Z-80 computers|uIDE]] is emulated by Arnold&lt;br /&gt;
*[[Symbiface II]] IDE/PATA interface or compatible ([[X-Mass]], [https://github.com/salafek/cyboard-for-cpc Cyboard]) is emulated by ACE, Caprice Forever, MAME, WinAPE, WinCPC, Arnold, Virtual CPC&lt;br /&gt;
*[[Albireo]] is emulated by ACE, Caprice Forever&lt;br /&gt;
*[[M4 Board]] is emulated by CPCemu&lt;br /&gt;
*[[Vortex Winchester Drive]], [[ULIfAC|USIfAC / ULIfAC]] and [[Symbiface 3|Symbiface3 / RSF3]] are not supported by emulators&lt;br /&gt;
&lt;br /&gt;
= CPC cartridge slot =&lt;br /&gt;
Emulator support for a CPC cartridge slot is as follows:&lt;br /&gt;
*[[Dandanator]] brings a non-standard physical cartridge port and a very exotic non-standard memory mapper that spies on Z80 instructions (sacrificing compatibility without any justification). It is emulated by ACE, Retro Virtual Machine, CPCEC, ZEsarUX, DSP&lt;br /&gt;
*[[Plus2CPC]] brings a standard physical Plus cartridge port to the CPC. It is not supported by emulators&lt;br /&gt;
*[[Play2CPC]] is an evolution of the [[Plus2CPC]], adding RMR2 Plus mapping, R/W cartridge support, CRTC cursor raster interrupt and a 3-channel soundchip conforming to the [[PlayCity]] base spec. Play2CPC is emulated by ACE&lt;br /&gt;
*[[M4 Board]] simulates a standard Plus cartridge port on the CPC and handles standard CPR files. M4 Board is emulated by CPCemu&lt;br /&gt;
&lt;br /&gt;
= Audio devices =&lt;br /&gt;
Emulator support is as follows:&lt;br /&gt;
*[[Amstrad SSA-1 Speech Synthesizer|SSA-1 speech synthesizer]] is emulated by ACE, Caprice Forever, JavaCPC, MAME&lt;br /&gt;
*[[Dk'tronics Speech Synthesizer|Dk'Tronics speech synthesizer]] is emulated by ACE, Caprice Forever, JavaCPC, MAME&lt;br /&gt;
*[[TMPI speech synthesizer|Techni-Musique speech synthesizer]] is emulated by ACE, Caprice Forever&lt;br /&gt;
*[[Amdrum]] is emulated by ACE, JavaCPC, MAME, WinAPE&lt;br /&gt;
*[[Digiblaster]] is emulated by ACE, Caprice Forever, JavaCPC, MAME, WinAPE, CPCEC, CPCEPower, WinCPC, Virtual CPC&lt;br /&gt;
*[[PlayCity]] is fully emulated by ACE, MAME, Arnold, SugarBox. The audio part of [[PlayCity]] is emulated by Caprice Forever, JavaCPC, CPCEC&lt;br /&gt;
*[[Play2CPC]] implements the PlayCity base spec (aka Arcade Sound System). It has one additional soundchip instead of two and no CTC chip. It is emulated by ACE&lt;br /&gt;
*[[Willy|Willy OPL3]] is emulated by ACE&lt;br /&gt;
*[[Willy|Willy MIDI]] is emulated only by ACE for Haiku&lt;br /&gt;
*[[Music Machine]], [https://github.com/lambdamikel/Speak-SID Speak&amp;amp;SID], [https://github.com/lambdamikel/LambdaSpeak3 LambdaSpeak], [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/amsdap-amstrad-msx-adapter-connecting-any-msx-io-hardware-to-the-cpc/ Amsdap (SE-One, Moonsound, etc...)] are not supported by emulators&lt;br /&gt;
&lt;br /&gt;
= Rewind feature =&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
At the moment, 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.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= Emulator accuracy checking tools =&lt;br /&gt;
== Quick evaluation==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;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]]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19308 DSC #4 demo] with reference images (CRTC 1): [[Media:DSC4 reference1.png]] [[Media:DSC4 reference2.png]]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7737 Camembert 4 demo] with reference images (CRTC 0/1/3/4): [[Media:Camembert-real.jpg]] [[Media:Camembert 4 Pixel Precise.jpg]]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9029 BSC7 Interlace demo] with reference image (CRTC 0/2/3/4): [[Media:BSC7 reference.png]]&lt;br /&gt;
&lt;br /&gt;
== Z80 CPU ==&lt;br /&gt;
*[https://cpcrulez.fr/applications_util-zexall.htm ZEXALL (CP/M)] [https://cpcrulez.fr/applications_util-zexdoc.htm ZEXDOC (CP/M)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12883 Z80 Full Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12881 Z80 Doc Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12882 Z80 Flags Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12880 Z80 Doc Flags Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12884 Z80 MEMPTR Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12879 Z80 CCF Test] Z80 CPU instruction set exercisers&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=298 Arkanoid (using Z80 Interrupt Mode 2)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=427 L'anneau de Zengara (using Z80 register R)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1299 Light Corridor (Z80 useless instruction prefixes)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=735 Dogsbody (accessing non-standard I/O ports)]&lt;br /&gt;
*[https://wikiti.brandonw.net/?title=Z80_Instruction_Set Z80 instruction set] [https://zx-pk.ru/attachment.php?attachmentid=2989&amp;amp;d=1143656567 Z80 MEMPTR (aka WZ) internal register] [https://github.com/hoglet67/Z80Decoder/wiki/Undocumented-Flags Even weirder Z80 behaviour] [https://zxe.io/software/Z80/documentation/latest/Thanks.html To get to the bottom of it] [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/z80-cpu-nmos-or-cmos/ Z80 is always NMOS on CPC and Plus] How the Z80 behaves&lt;br /&gt;
*[https://floooh.github.io/2021/12/06/z80-instruction-timing.html Z80 T-state timings] [https://baltazarstudios.com/zilog-z80-undocumented-behavior/ Other source about T-state timings] Ultra accurate timing behaviour&lt;br /&gt;
&lt;br /&gt;
== Diagnostics ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5113 Official Amstrad CPC hardware diagnostics] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17932 Non-official Amstrad Diagnostics] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6545 STS SysInfo] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=test%crtc%v Tests CRTC type] [http://cpc.sylvestre.org/technique/technique_identifier_crtc.html Identifying CRTC visually]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6987 RAM Expansion Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14833 MemTest] [https://www.cpc-power.com/index.php?page=detail&amp;amp;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&amp;amp;num=15739 RAM Check] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13386 Testprogram For All ERAM] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19185 Xenon 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12188 Take On Me] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14339 Trololo Experiments] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19406 Still The One] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16084 Post Scriptum] [https://cpcrulez.fr/info-chany-enhanced_edition.htm Chany 512K cracks] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=151 Expanded RAM software list] RAM exercisers&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15975 FutureOS] [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/464-and-ram-extension/ Behaviour of RAM mode &amp;amp;C3] [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/upgrading-a-cpc-464-in-2022/ More on the issue] RAM expansion bug on CPC464/664&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=135 Batman The Movie] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2318 Turrican] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=80 Technical explanation] CPC keyboard clash&lt;br /&gt;
*[https://www.cpcwiki.eu/forum/emulators/amstrad-cpc-'acid'-test/ &amp;quot;Acid&amp;quot; test suite] [https://cpctech.cpcwiki.de/download/test.zip] [http://ace.cpcscene.net/tests:arnold_test_suite Tests results in ACE] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17738 PPI tests] Chips tests by arnoldemu&lt;br /&gt;
*[http://www.winape.net/downloads.jsp Plus Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15242] CPC and CPC+ Emulator test suite (including Instruction and Interrupt timing tests)&lt;br /&gt;
&lt;br /&gt;
== Amstrad Plus ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9627 Official Plus diagnostics cartridge] [[File:Roudoudou CPR tests.zip]] [https://www.cpcwiki.eu/forum/emulators/amstrad-cpc-'acid'-test/75/] Plus testing tools&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8308 4096 Colors Preview] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7407 CPC+ First Demo]  [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8443 Simply The Bests] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7411 ASM Intro 1] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18789 Veteran] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9472 Revival'n Impact coop] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3959 Fluff] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3622 Space Gun] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1682 Prehistorik 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3575 No Exit] ASIC effects&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3788 Frogger] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4721 Rick Dangerous 6128+] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17818 La culotte de Zelda] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12013 Flappy Rulez] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13363 Picrocs] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14639 Sudoplus] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15142 Ghosts'n Goblins] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18946 Goldorak Versus] Homebrews&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8874 6128 Plus Dma] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14939 Eerie Forest] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14940 CRTC3] [https://cpcrulez.fr/demostestDO_fairy-breakpoint_2010.htm Fairy] [https://soundtrackerdma.cpcscene.net/doku.php?id=en:download Soundtracker DMA] To test DMA and to compare the PSG output with the output from a real Amstrad Plus&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18016 Bulles] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7532 X-Mas 2008] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8588 Synergy] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7410 Mir Station] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13142 BarBar] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7530 Delirium Tremens] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9169 Funerapolis] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7935 Sappy] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19239 USS Cygnus 192] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17979 GX8K] To test hardware sprites emulation&lt;br /&gt;
&lt;br /&gt;
== Colorimetry ==&lt;br /&gt;
*[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&lt;br /&gt;
*Major difference in colorimetry between the real Amstrad CTM644 display and emulators display:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Border 8 - real CPC display.png|Border 8 on real CPC&lt;br /&gt;
Border 8 - real Plus display.png|Border 8 on real Plus&lt;br /&gt;
Border 8 - emulator display.png|Border 8 on emulators&lt;br /&gt;
Palette - real CPC.png|Palette on real CPC&lt;br /&gt;
Palette - real Plus.png|Palette on real Plus&lt;br /&gt;
Palette - emulator.png|Palette on emulators&lt;br /&gt;
True CTM colorimetry.png|Colorimetry on real CPC&lt;br /&gt;
CTM Emulator Shader colorimetry.png|Colorimetry on emulators&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Graphics ==&lt;br /&gt;
*[https://shaker.logonsystem.eu/ Shakerland] Ultra accurate CRTC documentation and its associated CPC testing tool&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8524 Equalizor] [https://forum.system-cfg.com/viewtopic.php?p=229698#p229698 Revolog] [https://forum.system-cfg.com/viewtopic.php?f=24&amp;amp;t=11535&amp;amp;start=285 Technical explanation] Unpredictable behaviour of the real CRTC type 1 chip. We can classify these behaviours as CRTC types 1a and 1b&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12906 HSYNC test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16466 Split-Rasters Test CRTC1] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15519 Les split-rasters] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=cote%gamers Côté Gamers] [https://www.cpc-power.com/index.php?page=detail&amp;amp;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&amp;amp;num=15280 CRTC software] CRTC testing tools&lt;br /&gt;
*[http://logon.system.free.fr/down/shaker_addon.dsk Pixel 1 Horizontal Hard Scroll for all CRTCs] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9102 Vertical Hard Scroll 100%] [https://cpcrulez.fr/coding_src-demo-smooth_crtc_register_3_scrolling_test.htm Smooth CRTC Register 3 scrolling test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1949 Skate Wars] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1211 Jinks] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=68 Out of this World] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=159 Killer Cobra] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10465 Edge Grinder] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10072 Relentless] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1982 Warhawk] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=99 Mission Genocide] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1028 Axys] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15809 Red Sunset] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18843 Hyperdrive] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=974 Ghosts'n Goblins] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1290 Legend of Kage] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1698 Profanation] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2119 Super Cauldron] Smooth CRTC R3/R5 hardware scrolling&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7514 BSC 91] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8772 Voyage 1993] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7751 OVL '96] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7662 Byte 98] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8623 Unique] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7910 Paradise] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8621 Power System] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8875 Prodatron] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7744 Longshot] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7668 Amazing] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7479 Madness] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8259 Chany Dream End] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8615 Welcom-X 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7591 S&amp;amp;Koh] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8041 Other World 3] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7648 Big'O Full'O Dem'O] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7765 Not Dead] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7543 Odyssey] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7736 Croco Chanel] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7828 Tire Au Flan]  Early demos, so they were developed without CPC emulator bias&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2799 Battro] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15298 Still Scrolling] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15102 PhX] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9181 Bloc Us] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9248 Wake Up] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19313 Stand Up] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9589 Yet Another Plasma] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14225 Logon's Run] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9970 Still Rising] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=onescreen Onescreen Colonies] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16067 Gloire à Piou] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7729 DTC] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12683 Points Barres] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16068 Octopus Pocus] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18794 FMR CPC] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8552 Synergy 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15209 Scroll Factory] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19024 The One] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7728 DemoIzArt] CRTC effects&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=76 Les Mondes Parallèles] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=66 Paranoia] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=78 Molecularr 2] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=megablasters Megablasters] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12649 Quadraster] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2369 Groops] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3963 Sudoku Master] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10009 Overkoban] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17786 Prince Dastan Sokoban Within] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17610 Deva Drifter] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17197 Hexavirus v0] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15985 A tribute to the sisters] True overscan games&lt;br /&gt;
*[https://www.cpcwiki.eu/forum/programming/mode-3/ Mode 3 Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12905 &amp;quot;Mode 5&amp;quot; Viewer] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18680 Pixel Free] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14259 Test interlace color] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13136 Interlace viewer] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7701 Climax] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13139 Perfect Pix Paint] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13359 Imperial Mahjong] Special graphics modes&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16027 Mire] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16722 Mir'Color] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7826 Climax-G] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7937 Fatal Beauties] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8307 4 Sins] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7897 Twinblast] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8081 MCS 6] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7593 Schadel] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2224 Thunder Blade] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2318 Turrican] To test the VDU&lt;br /&gt;
&lt;br /&gt;
== Peripherals ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=hardware_magnum Magnum Light Phaser] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3583 SkeetShoot] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3584 The Enforcer] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3992 Dk'Tronics Light Pen] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4955 Light Pen Mark II] To test lightguns and lightpens connected to expansion port&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=hardware_phaser_loriciels West Phaser] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=hardware_gunstick Gunstick] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4303 Trojan LP-1] To test lightguns and lightpens connected to joystick port&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=SSA-1 SSA-1 software list] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=DK%27Tronics%20Speech%20Synthesizer Dk'Tronics software list] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=TMPI%20speech%20synthesizer TMPI software list] To test speech synthesizers emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7535 Digital Orgasm] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=Digitracker Digitracker] [[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&amp;amp;lemot=Amdrum Amdrum] To test [[Digiblaster]] and [[Amdrum]] soundcards emulation&lt;br /&gt;
*[[SymAmp]] [https://framagit.org/shinra/vgmplay VGMplay] [http://www.roudoudou.com/ACE-DL/ 4200 VGM musicfiles pack] [https://github.com/lambdamikel/BluePillCPC/tree/main/cpc/s2p BluePillCPC] To test [[Willy]] OPL3 and MIDI emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12589 ProText] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4670 ProSpell] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4668 ProPrint] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5551 Impr'Image] To test printer emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4012 Advanced OCP Art Studio] To test [[AMX Mouse|AMX]] and [[Kempston Mouse|Kempston mouse]] emulation&lt;br /&gt;
*[[HDCPM]] [[UniDOS]] [http://www.roudoudou.com/ACE-DL/ UniLOAD 60MB archive] [http://www.roudoudou.com/ACE-DL/ SymbOS 45MB disk-image] To test mass-storage, RTC and modern mouse (scroll wheel) emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12972 X-MEM FW] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19236 CatRun] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18901 CowSay] [http://impdraw.wikidot.com iMPsuite] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=11578 GOS+] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6353 Utopia] To test ROMboard emulation&lt;br /&gt;
*[https://abalore.com/alcon2020.html Alcon 2020] [[Converted GX4000 Software]] To test the [[Play2CPC]] emulation&lt;br /&gt;
*[http://theswordofianna.retroworks.es/ The Sword of Ianna] [http://retroworks.es/php/game_en.php?id=11 Brunilda] [http://www.dandare.es/Proyectos_Dandare/Descargas.html MojonTwins romset] To test the [[Dandanator]] emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=protection&amp;amp;lenom=Multiface%202%20Protection Anti-Multiface II software list] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1980 War in Middle Earth] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1322 Zap't'Balls advanced] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5266 The Insider] To test [[Multiface II]] emulation&lt;br /&gt;
&lt;br /&gt;
== Copy-protection ==&lt;br /&gt;
*[https://cpctech.cpcwiki.de/download/fdctest.zip FDC test suite] [https://cpctech.cpcwiki.de/download/drivetest.zip Disk drive tests] [https://cpctech.cpcwiki.de/download/cdttst.zip CDT/TZX test suite for emulators] Set of tests by arnoldemu&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5002 Tape Head Azimuth] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4194 Ultra Son] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10475 Soft-Lok] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4718 Bonzo Super Meddler] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5059 SpeedTrans] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5803 Transformateur] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6057 Deconnect] [https://www.cpc-power.com/index.php?page=protection&amp;amp;lenom=NoAMSDOS NoAMSDOS software list] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3871 Computer Hits] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1359 Marmelade] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1412 Mickey Mouse] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=83 Astro Marine Corps] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=773 Druid] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10585 Breaking Baud] To test Tape emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19368 FatMag 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9211 Backtro] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7405 5KB 3] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8746 The Demo] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13108 CPC 30th Anniversary] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7542 Midline Process] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17902 Can Robots Take Control] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10030 Phortem] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9156 Batman Forever] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16736 Pinball Dreams] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7174 R-Type] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6661 Nheredia] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13426 Doomsday Lost Echoes] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4025 Orion Prime] Musical loader, Multi-drives, 3.5 inch (dual-head and 80 tracks) floppy drives support&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10029 RPM] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15518 DskTest] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14201 Crazy] [https://cpcrulez.fr/applications_disc-dlfrsilver_dump_tool_test_suite.htm Dlfrsilver Dump Tool Test Suite] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4812 Format II] [[ParaDOS]] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4933 Xexor] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6118 Discology] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4179 Hercule II] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16060 UltraDisc] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5244 Disc'o'Magic] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9297 Multi Mark] To test FDC emulation&lt;br /&gt;
*[https://cpcrulez.fr/demostestDM_fatmag_01.htm FatMag] The HFE trackload version is designed to rigorously test the FDC emulation [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17853 Open Tower Defense] Emulator detection through a FDC test [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=931 Fugitif] Disk swapping detection&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12051 Demonstration of KBI protection] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1589 Pacific] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1650 Platoon] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1814 Robinson Crusoe] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=660 Daley Thompson's Olympic Challenge] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4064 Les Hits de l'Aventure] Protection based on weak bits&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=839 E.X.I.T] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1501 Le Nécromancien] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2195 Tensions] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1784 Wild Streets] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1958 Skyx] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=111 Turbo Cup] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2024 Sphaira] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=780 Dwarf] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1873 Sapiens] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=612 Corsarios] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=582 Cobra] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=744 Eden Blues] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1390 M'enfin] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1420 Mike &amp;amp; Moko] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4089 Equinoxe] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5545 Vocabulaire CM] Protection based on custom GAPS data&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=741 Donkey Kong] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1887 Scott Winder Reporter] Destructive copy-protection [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1716 Puffy's Saga] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=699 Defender of the Crown] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1354 Le Maraudeur] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1699 Profession Détective] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1730 Qin] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1005 Basun] Some other copy-protected disk-images&lt;br /&gt;
*[https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;cat=12 Protection schemes documented] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=9 Lenslok] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=207 Gaps] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=384 Latis] [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&amp;amp;num=435 Anti-copy bug] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=375 Baudload and Trackload list] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=38 Autoboot] Technical explanations&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=41 Trantor] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=204 3D Starfighter] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=726 Treasure Island Dizzy] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=971 Ghost Hunters] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2132 Super Robin Hood] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=237 Advanced Pinball Simulator] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1200 Jet Bike Simulator] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1002 Grand Prix Simulator] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=183 Darts 180] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1243 Killapede] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1194 Jail Break] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1815 Robocop] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=100 Chase HQ] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1926 Shinobi] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8892 4-Bit Digi Try] Software English vocal digits&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1349 Le Manoir de Mortvielle] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1098 Hold-Up] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=910 Forteresse] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=511 Canadair] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1140 L'île] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1199 Jaws] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1102 Holocauste] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=132 Afteroids] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=879 Fire &amp;amp; Forget] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1433 Xyphoes Fantasy] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17000 Space Race] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7456 Yao demo] Other software sound effects&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9179 Now that's what I call Chip Tunes] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18904 Amstream music-disk] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10467 We Are All Old] [https://www.cpc-power.com/index.php?page=detail&amp;amp;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&amp;amp;num=18265 Sintetizador de Sonidos] To test the PSG emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19283 Raytracing in BASIC] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15685 Julia Fractal] To benchmark emulators using their fullspeed mode&lt;br /&gt;
&lt;br /&gt;
= File format specifications =&lt;br /&gt;
&lt;br /&gt;
*[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&amp;amp;num=386 CTRAW] [https://www.cbmstuff.com/downloads/scp/scp_image_specs.txt SCP] File formats of disk-image&lt;br /&gt;
*[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] [http://soundfile.sapp.org/doc/WaveFormat/ WAV] File formats of tape-image&lt;br /&gt;
*[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&lt;br /&gt;
*[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&amp;amp;num=10 Archive of SNR sessions]&lt;br /&gt;
*[http://leonard.oxg.free.fr/ymformat.html YM] [https://www.cpcwiki.eu/index.php/AYC AYC] [https://vgmrips.net/wiki/VGM_Specification VGM] Soundchip logging file formats&lt;br /&gt;
*[https://en.wikipedia.org/wiki/IMG_(file_format) IMG] [https://web.archive.org/web/20120202144328/http://download.microsoft.com/download/f/f/e/ffef50a5-07dd-4cf8-aaa3-442c0673a029/Virtual%20Hard%20Disk%20Format%20Spec_10_18_06.doc VHD] [https://github.com/gasman/hdfmonkey HDF] File formats of flat hard-drive image&lt;br /&gt;
*[https://shaker.logonsystem.eu/sslcsl CSL] Cpc Scripting Language, a macro/scripting system to automate emulators&lt;br /&gt;
&lt;br /&gt;
= Emulation Tools  =&lt;br /&gt;
&lt;br /&gt;
*[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] [[Dsktools|Dsktools]] [[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] Set of tools about disk-images&lt;br /&gt;
*[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://cpctech.cpcwiki.de/download/2cdt.zip 2CDT] [http://cngsoft.no-ip.org/csw2cdt.htm CSW2CDT] [https://cpcrulez.fr/emulateurs_UTIL-CDT-CDT2WAV.htm CDT2WAV] [https://github.com/shred/tzxtools tzxtools] Set of tools about tape-images&lt;br /&gt;
*[http://www.cpcmania.com/news.htm CPRTools] Edit Amstrad Plus CPR cartridge-images&lt;br /&gt;
*[https://bochs.sourceforge.io/doc/docbook/user/winimage.html WinImage, DiskExplorer, Mtools] [https://www.fysnet.net/ultimate/index.htm Ultimate Imager] [https://github.com/ProgrammingHobby/CPM_Image-File_Explorer CP/M Image File Explorer] Access and edit IMG hard-drive images. No need of tools for VHD images with FAT filesystem, they are supported directly in Windows Explorer: it works the same way as ISO files&lt;br /&gt;
*[[CPCGamesCD-CPCLoader|CPCGamesCD-CPCLoader]] CDROM containing a navigable database with all the games of the Amstrad CPC&lt;br /&gt;
*[https://colourclash.co.uk/cpc-analyser/ CPC Analyser] Help reverse engineer Amstrad CPC games&lt;br /&gt;
*[[Emulator tooling]] UI screenshots of tooling in CPC emulators&lt;br /&gt;
*[[WinApe|WinAPE]] [[WinCPC]] [[JavaCPC]] [https://code.google.com/archive/p/cpcsdk/ Caprice Reloaded] [http://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73 Caprice Forever] Emulators with an integrated Z80 Assembler&lt;br /&gt;
*[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] [https://marketplace.visualstudio.com/items?itemName=floooh.vscode-kcide KC IDE] Tools for CPC cross-development in Z80 Assembler&lt;br /&gt;
*[https://ccz80.webcindario.com/ccz80en.html ccz80] [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] [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&lt;br /&gt;
*[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] A complete suite (IDE, compiler, resource editor) for developing CPC games/demos in Pascal&lt;br /&gt;
*[https://cpcbasic.webcindario.com/CPCBasicEn.html CPC Basic] [https://github.com/benchmarko/CPCBasic CPCBasic Unchained] [https://marketplace.visualstudio.com/items?itemName=cebe74.amstrad-basic-helper-vscode Amstrad Basic Helper] [https://www.cpcalive.com/cpcalive_en.html CpcAlive] [https://ugbasic.iwashere.eu/ ugBASIC] Cross-platform CPC development in BASIC&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12875 8BP] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4159 Graphic City] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4649 Sprites Alive] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4245 Laser Basic] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4705 FAst BAsic COMpiler] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6042 TurboBASIC compiler] [[B-ASIC]] Useful CPC tools (compilers and RSX) to beef up the Amstrad BASIC&lt;br /&gt;
*[http://ldeplanque.free.fr/ConvImgCpc/new/ ConvImgCPC] [https://github.com/AugustoRuiz/Img2CPC img2cpc] [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&lt;br /&gt;
*[http://grafx2.chez.com/ GrafX2] [http://multipaint.kameli.net/ Multipaint] [[Retro Game Asset Studio]] [http://gcajdev.epizy.com/sprite_creator.php Sprite Creator] Cross-platform CPC pixel art editors&lt;br /&gt;
*[http://cngsoft.no-ip.org/chipnsfx.htm CHIPNSFX] [https://github.com/AugustoRuiz/WYZTracker WYZTracker] [https://www.julien-nevo.com/arkostracker/ Arkos Tracker 2] [https://tildearrow.org/furnace/ Furnace] Cross-platform CPC music creation suites&lt;br /&gt;
&lt;br /&gt;
= Emulator Detection =&lt;br /&gt;
&lt;br /&gt;
If you want to promote usage of real CPC computers, you can detect CPC emulators by:&lt;br /&gt;
*Checking if the memory is initialized with zeroes, as real machines have random memory values at boot&lt;br /&gt;
*Focusing on the minute details in Z80, CRTC and PPI chips. They are most often wrong in emulators&lt;br /&gt;
*Examining the FDC chip. It is only replicated more or less superficially in all emulators because the internals of the chip are still unknown&lt;br /&gt;
&lt;br /&gt;
Combining these methods will definitely get you a 100% success rate in detecting emulators, even the toughest ones.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Emulator undetected.png|Emulator undetected&lt;br /&gt;
Emulator detected.png|Emulator detected&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is also this initiative for emulators who willingly want to be detected: [[Emulator_IDs|Emulator IDs]]&lt;br /&gt;
&lt;br /&gt;
= Emulators running on the Amstrad CPC =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! License&lt;br /&gt;
! Emulates&lt;br /&gt;
|-&lt;br /&gt;
| [[Amstrad BBC BASIC]]&lt;br /&gt;
| [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9862]&lt;br /&gt;
| 2.30&lt;br /&gt;
| Apr 2, 1986&lt;br /&gt;
| Commercial💲&lt;br /&gt;
| [[BBC BASIC]]&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCZVM]]&lt;br /&gt;
| [https://www.cpcwiki.eu/index.php/Z-Machine]&lt;br /&gt;
| &lt;br /&gt;
| Jul 6, 2019&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Z-Machine]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Pac-Man]]&lt;br /&gt;
| [http://www.cpcwiki.eu/forum/games/speed-up-patch-for-pac-man-emulator-for-cpc-by-syx-toto/msg81222/#msg81222]&lt;br /&gt;
| 1.1&lt;br /&gt;
| Jun 5, 2014&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Pac-Man arcade|Pac-Man arcade]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Phoenix]]&lt;br /&gt;
| [https://norbertkehrer.github.io/phoenix_cpc.html]&lt;br /&gt;
| &lt;br /&gt;
| Jan 6, 2019&lt;br /&gt;
| Freeware&lt;br /&gt;
| [[Phoenix arcade|Phoenix arcade]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Space Invaders|Space Invaders]]&lt;br /&gt;
| [http://www.cpcwiki.eu/forum/games/space-invaders-arcade-emulator-for-amstrad-cpc/]&lt;br /&gt;
| 1.0&lt;br /&gt;
| Jun 11, 2016&lt;br /&gt;
| Freeware&lt;br /&gt;
| [[Space Invaders arcade|Space Invaders arcade]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Vezza]]&lt;br /&gt;
| [https://gitlab.com/sijnstra1/vezza]&lt;br /&gt;
| &lt;br /&gt;
| Oct 7, 2023&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Z-Machine]]&lt;br /&gt;
|-&lt;br /&gt;
| [[ZXM]]&lt;br /&gt;
| [https://cpcrulez.fr/applications_util-ZXm.htm]&lt;br /&gt;
| &lt;br /&gt;
| 1993&lt;br /&gt;
| Freeware&lt;br /&gt;
| [[ZX Spectrum|ZX Spectrum]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Zym]]&lt;br /&gt;
| [http://www.symbos.org/appinfo.htm?00054]&lt;br /&gt;
| 0.9&lt;br /&gt;
| Feb 19, 2022&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Z-Machine]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Emulator| ]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Emulators&amp;diff=113801</id>
		<title>Emulators</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Emulators&amp;diff=113801"/>
				<updated>2024-01-02T21:39:34Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: /* Alternative OS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Vote for your favorite emulator =&lt;br /&gt;
&lt;br /&gt;
[https://www.cpcwiki.eu/forum/emulators/which-emulator-s-do-you-use/ There is a poll on CPCWiki forum]&lt;br /&gt;
&lt;br /&gt;
= Software Platforms (Full OS independance) =&lt;br /&gt;
&lt;br /&gt;
== Java Platform  ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnold Jnr|Arnold Jnr]]&lt;br /&gt;
| [https://web.archive.org/web/20160727011826/http://www.arnoldemu.freeserve.co.uk/]&lt;br /&gt;
| &lt;br /&gt;
| Aug 27, 2001&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[JavaCPC|JavaCPC Desktop]]&lt;br /&gt;
| [https://sourceforge.net/projects/javacpc/] [http://sourceforge.net/projects/javagx4000/ JavaGX4000] [http://sourceforge.net/projects/cpcinajar/ CPCInAJar]&lt;br /&gt;
| 3.0.2&lt;br /&gt;
| Apr 8, 2022&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[JEMU|JEMU]]&lt;br /&gt;
| [http://jemu.winape.net/]&lt;br /&gt;
| &lt;br /&gt;
| Feb 19, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]], [[ZX80/81]], [[BBC Micro]], [[VZ-300]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[WebCPC|WebCPC]]&lt;br /&gt;
| [http://sourceforge.net/projects/webcpc/] [https://web.archive.org/web/20110903132520/http://java.cpc-live.com/ JavaCPC Applet]&lt;br /&gt;
| r15&lt;br /&gt;
| Dec 31, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== JS / Wasm / Web Platform ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCBox|CPCBox]] &lt;br /&gt;
| [https://www.retroshowcase.gr/cpcbox-master/] [https://web.archive.org/web/20190702084943/http://www.cpcbox.com/] [https://bzhgames.xyz/index.php BZH Games]&lt;br /&gt;
| beta &lt;br /&gt;
| Dec 28, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[CrocoDS|CrocoDS]] &lt;br /&gt;
| [https://crocods.org/web/] [https://github.com/redbug26/crocods Repo]&lt;br /&gt;
| &lt;br /&gt;
| Jun 9, 2020&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[MAME|Emularity (MAME)]] &lt;br /&gt;
| [https://github.com/db48x/emularity] [http://jsmess.textfiles.com/ JSMESS] [https://classicreload.com/platform/amstrad%20cpc Classic Reload]&lt;br /&gt;
[https://archive.org/details/softwarelibrary_cpc_games CPC Games] [https://archive.org/details/softwarelibrary_cpc_demos CPC Demos] on Internet Archive&lt;br /&gt;
| &lt;br /&gt;
| Oct 1, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| Lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Roland javascript emulator|Roland]] &lt;br /&gt;
| [https://web.archive.org/web/20190308142014/http://roland.retrolandia.net/]&lt;br /&gt;
| &lt;br /&gt;
| Sep 24, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Ronald|Ronald]] &lt;br /&gt;
| [https://ronald.migge.io] [https://github.com/mdm/ronald Repo]&lt;br /&gt;
| &lt;br /&gt;
| Sep 25, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[RVMplayer|RVMplayer]] &lt;br /&gt;
| [https://www.retrovirtualmachine.org/rvmplayer/]&lt;br /&gt;
| 0.1.1&lt;br /&gt;
| May 6, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]]&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[Tiny Emus]]&lt;br /&gt;
| [https://floooh.github.io/tiny8bit/] [https://floooh.github.io/tiny8bit/cpc-ui.html] [http://floooh.github.io/virtualkc/ yakc] [https://online.oldgames.sk/play/cpc Online Old Games]&lt;br /&gt;
[https://devilmarkus.de/ WebGL 3d 8-bit] [https://www.amstradcpcgames.eu/ Amstrad CPC Games] [http://cpc.novidee.com/ zpz]&lt;br /&gt;
| &lt;br /&gt;
| Nov 4, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| [[KC Compact]], [[ZX Spectrum]], [[VIC-20]], [[Commodore 64]], [[Acorn Atom]], [[KC 85]], [[KC 87]], [[Z9001]], [[Z1013]], [[LC80]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Griffin CPC emulator|Xiragon]]&lt;br /&gt;
| [https://web.archive.org/web/20191027200008/http://xiragon.com/]&lt;br /&gt;
| &lt;br /&gt;
| Nov 28, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== LibRetro (API for emulators) ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! Type&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[libretro-cap32]]&lt;br /&gt;
| Emulation core&lt;br /&gt;
| [https://github.com/libretro/libretro-cap32]&lt;br /&gt;
| 4.5.3&lt;br /&gt;
| Mar 16, 2022&lt;br /&gt;
| -&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[libretro-crocods]]&lt;br /&gt;
| Emulation core&lt;br /&gt;
| [https://github.com/libretro/libretro-crocods]&lt;br /&gt;
| 0.1&lt;br /&gt;
| Feb 28, 2017&lt;br /&gt;
| -&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[MAME|MESS 2015]]&lt;br /&gt;
| Emulation core&lt;br /&gt;
| [https://docs.libretro.com/meta/core-list/]&lt;br /&gt;
| 0.160&lt;br /&gt;
| circa 2015&lt;br /&gt;
| -&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[SugarLibRetro]]&lt;br /&gt;
| Emulation core&lt;br /&gt;
| [https://github.com/Tom1975/SugarLibRetro] (wraps independent lib [https://github.com/Tom1975/CPCCore CPCCore])&lt;br /&gt;
| git&lt;br /&gt;
| Jan 10, 2020&lt;br /&gt;
| -&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[EmuVR]]&lt;br /&gt;
| Frontend&lt;br /&gt;
| [https://www.emuvr.net/]&lt;br /&gt;
| &lt;br /&gt;
| Dec 25, 2022&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Depends on emulation cores&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[Hackable Console]]&lt;br /&gt;
| Frontend&lt;br /&gt;
| [https://github.com/leiradel/hackable-console]&lt;br /&gt;
| &lt;br /&gt;
| Mar 27, 2022&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Depends on emulation cores&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[RetroArch]]&lt;br /&gt;
| Frontend&lt;br /&gt;
| [https://www.retroarch.com/] [https://www.retroarch.com/?page=achievements RetroAchievements]&lt;br /&gt;
| 1.16.0&lt;br /&gt;
| Sep 22, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Depends on emulation cores&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Current Operating Systems =&lt;br /&gt;
&lt;br /&gt;
== Desktop ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Windows&lt;br /&gt;
! macOS&lt;br /&gt;
! Linux&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[ACE|ACE-DL]]&lt;br /&gt;
| [http://www.roudoudou.com/ACE-DL] [https://discord.gg/rKxFPndHPw Discord]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| &lt;br /&gt;
| Dec 17, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[AMSpiriT|AMSpiriT]]&lt;br /&gt;
| [https://www.amspirit.fr/] [https://forum.system-cfg.com/viewtopic.php?f=24&amp;amp;t=11535 Forum]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 0.967b&lt;br /&gt;
| Dec 6, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnimedes|Arnimedes]] &lt;br /&gt;
| [http://www.arnimedes.de/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.02&lt;br /&gt;
| Jul 7, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnold_(Emulator)|Arnold]] &lt;br /&gt;
| [http://www.cpcwiki.eu/forum/emulators/arnold-wip/msg144749/#msg144749] [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]&lt;br /&gt;
| ✅&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ⚠️&lt;br /&gt;
| [http://www.cpcwiki.eu/imgs/d/dd/Arnoldwip_src.tar.bz2 WIP]&lt;br /&gt;
| May 13, 2017&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Caprice Forever]] &lt;br /&gt;
| [http://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 23.11&lt;br /&gt;
| Nov 11, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware &amp;amp; Outdated sources&lt;br /&gt;
|-&lt;br /&gt;
| [[CaPriCe|Caprice32]] &lt;br /&gt;
| [https://github.com/ColinPitrat/caprice32/releases] [http://sourceforge.net/projects/caprice32/ Old repo] [https://snapcraft.io/caprice32 Linux] [http://aleste520.narod.ru/caprice.html Aleste] [https://code.google.com/archive/p/cpcsdk/ Reloaded]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 4.6.0&lt;br /&gt;
| Oct 8, 2022&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Clock Signal|Clock Signal]] &lt;br /&gt;
| [https://github.com/TomHarte/CLK/releases] [https://snapcraft.io/clock-signal Linux]&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| &lt;br /&gt;
| Dec 28, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]], [[ZX80/81]], [[Enterprise]], [[MSX]], [[Oric 1/Atmos|Oric]], [[ColecoVision]], [[Acorn Electron]], [[Apple II]], [[VIC-20]], [[Atari 2600]], [[Atari ST]], [[Macintosh]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CoPaCabana|CoPaCabana]]&lt;br /&gt;
| [http://copacabana.emuunlim.com/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 0.74&lt;br /&gt;
| Apr 12, 2006&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[CPC++|CPC++]] &lt;br /&gt;
| [http://bricerive.free.fr/cpc/cpcpp.html]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ⚠️&lt;br /&gt;
| b700&lt;br /&gt;
| May 31, 2015&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[cpc4x|cpc4x]] &lt;br /&gt;
| [http://www.ulrich-cordes.de/cpc/english/cpcemu.htm]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| 0.26&lt;br /&gt;
| Dec 11, 2004&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEC|CPCEC]] &lt;br /&gt;
| [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]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| &lt;br /&gt;
| Aug 6, 2022&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[ZX Spectrum]], [[Commodore 64]], [https://www.youtube.com/watch?v=5LwCy0gRAEc MSX (unreleased)]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEC|cpcec-gtk]] &lt;br /&gt;
| [https://bitbucket.org/norecess464/cpcec-gtk/]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| &lt;br /&gt;
| Feb 4, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCemu|CPCemu]] &lt;br /&gt;
| [http://www.cpc-emu.org/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 2.5&lt;br /&gt;
| Aug 13, 2022&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEPower|CPCEPower]] &lt;br /&gt;
| [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 2105&lt;br /&gt;
| Jun 4, 2021&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCSharp|CPCSharp]] &lt;br /&gt;
| [https://github.com/dolbz/CPCSharp/releases/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.0.0-beta1&lt;br /&gt;
| Apr 7, 2021&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPvC|CPvC]]&lt;br /&gt;
| [https://github.com/alybaek2/cpvc]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| &lt;br /&gt;
| Sep 30, 2022&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CrocoDS|CrocoDS]]&lt;br /&gt;
| [https://crazypiri.eu/crocods/] [https://github.com/redbug26/crocods Repo]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| 4.0 beta3&lt;br /&gt;
| Dec 10, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[DSP|DSP]]&lt;br /&gt;
| [https://github.com/leniad/dsp-emulator/]&lt;br /&gt;
| ✅&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ⚠️&lt;br /&gt;
| 0.22&lt;br /&gt;
| Nov 15, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| [[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]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[ep128emu|ep128emu]]&lt;br /&gt;
| [https://github.com/istvan-v/ep128emu]&lt;br /&gt;
| ✅&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ⚠️&lt;br /&gt;
| 2.0.11.2&lt;br /&gt;
| Apr 19, 2019&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]], [[Enterprise]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[MESS|MAME]]&lt;br /&gt;
| [http://mamedev.org/release.html] [http://sdlmame.lngn.net/ macOS] [http://wiki.mamedev.org/index.php/SDL_Supported_Platforms Other ports] &lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 0.261&lt;br /&gt;
| Nov 29, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[NO$CPC|NO$CPC]]&lt;br /&gt;
| [http://problemkaputt.de/cpc.htm]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.8&lt;br /&gt;
| Nov 2, 2000&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[PC-CPC|PC-CPC]] &lt;br /&gt;
| [http://cpcrulez.fr/emulateurs_download-WIN-PC-CPC.htm] [https://github.com/DemoniakLudo/PC-CPC Repo]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 0.1at b29&lt;br /&gt;
| Nov 17, 2011&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Retro Virtual Machine|Retro Virtual Machine]]&lt;br /&gt;
| [https://www.retrovirtualmachine.org]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 2.1.11&lt;br /&gt;
| Nov 13, 2023&lt;br /&gt;
| ❌ Removed&lt;br /&gt;
| ✅&lt;br /&gt;
| [[ZX Spectrum]], [[MSX|MSX 1]], [[ColecoVision]], [[SG-1000]], [[Master System]]&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[Roland Emulator|Roland]] &lt;br /&gt;
| [https://www.rolandemu.de/en/downloads.html] [https://github.com/raldus/roland Repo]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| 0.70&lt;br /&gt;
| Apr 20, 2017&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Ronald|Ronald]] &lt;br /&gt;
| [https://github.com/mdm/ronald]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| &lt;br /&gt;
| Sep 25, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[SugarBox|SugarBox]]&lt;br /&gt;
| [https://github.com/Tom1975/SugarboxV2] [http://sugarbox.free.fr/ Old site]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| 2.0.2&lt;br /&gt;
| Nov 29, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[VirtualCPC|Virtual CPC]] &lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-WIN-virtual_cpc.htm] [https://web.archive.org/web/20200112094913/http://users.otenet.gr/~sulfonic/cpc/ Archive] &lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.1&lt;br /&gt;
| Aug 8, 2011&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[WinApe|WinAPE]] &lt;br /&gt;
| [http://www.winape.net/] [https://www-ftp.lip6.fr/pub/amstrad/emulator/CPCWIN10.ZIP CPCwin]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 2.0b2&lt;br /&gt;
| Jan 5, 2016&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Donationware&lt;br /&gt;
|-&lt;br /&gt;
| [[WinCPC|WinCPC]] / [[MacCPC|MacCPC]]&lt;br /&gt;
| [http://www.wincpc.ch/index.php?topic=projects] [https://web.archive.org/web/20050409133618/http://www.easypoint.ch/vbcpc/ vbCPC]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| 0.9.2&lt;br /&gt;
| Jan 22, 2010&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[XCPC|Xcpc]]&lt;br /&gt;
| [https://www.xcpc-emulator.net/]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| 0.38.1&lt;br /&gt;
| Apr 8, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[XNACPC|XNACPC]]&lt;br /&gt;
| [http://www.gavpugh.com/2011/11/11/xnacpc-xbox-360-amstrad-cpc-emulator-released/] [https://www.gavpugh.com/old-code/ CPC3D]&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| 1.0&lt;br /&gt;
| Nov 11, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[YACE|YACE]]&lt;br /&gt;
| [http://www.youtube.com/watch?v=uxQkljwc0i4]&lt;br /&gt;
| ❌&lt;br /&gt;
| ❌&lt;br /&gt;
| ⚠️&lt;br /&gt;
| &lt;br /&gt;
| Nov 12, 2014&lt;br /&gt;
| ✅&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| ❌ Unreleased&lt;br /&gt;
|-&lt;br /&gt;
| [[ZEsarUX|ZEsarUX]]&lt;br /&gt;
| [https://github.com/chernandezba/zesarux]&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| X&lt;br /&gt;
| Sep 8, 2023&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ❌&lt;br /&gt;
| [[PCW]], [[ZX Spectrum]], [[ZX80/81]], [[MSX|MSX 1]], [[ColecoVision]], [[Spectravideo]], [[Jupiter ACE]], [[Sam Coupe]], [[SG-1000]], [[Master System]], [[Sinclair QL]], [[MK14]], [[Z88]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Alternative OS ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Developer tools&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS PPC&lt;br /&gt;
| [[Arnold|Arnold]]&lt;br /&gt;
| [http://hirudov.com/amiga/Arnold.php]&lt;br /&gt;
| 1.15&lt;br /&gt;
| Dec 17, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]]&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS PPC&lt;br /&gt;
| [[MESS|SDLMESS]]&lt;br /&gt;
| [http://se.os4depot.net/index.php?function=showfile&amp;amp;file=emulation/computer/sdl_mess.lha]&lt;br /&gt;
| 0.146u4&lt;br /&gt;
| Aug 19, 2012&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Haiku&lt;br /&gt;
| [[ACE_(Emulator)|ACE]]&lt;br /&gt;
| [http://www.cpcwiki.eu/forum/emulators/ace-for-haiku/] [http://ace.cpcscene.net/]&lt;br /&gt;
| 1.25.1&lt;br /&gt;
| Oct 15, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Haiku&lt;br /&gt;
| [[AdvanceMAME|AdvanceMAME]]&lt;br /&gt;
| [https://depot.haiku-os.org/#!/pkg/advancemame_x86]&lt;br /&gt;
| 3.9-1&lt;br /&gt;
| Feb 3, 2020&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| MorphOS&lt;br /&gt;
| [[ACE_(Emulator)|ACE]]&lt;br /&gt;
| [http://ace.cpcscene.net/] [https://framagit.org/users/offset/projects Repo]&lt;br /&gt;
| 1.26&lt;br /&gt;
| Jan 1, 2024&lt;br /&gt;
| ✅&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| MorphOS&lt;br /&gt;
| [[MESS|MESS]]&lt;br /&gt;
| [http://fabportnawak.free.fr/mame/]&lt;br /&gt;
| 0.113&lt;br /&gt;
| Nov 1, 2007&lt;br /&gt;
| ⚠️&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Mobile ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[andcpc]]&lt;br /&gt;
| [http://code.google.com/p/andcpc/]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Apr 4, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[Azimuth]]&lt;br /&gt;
| [https://play.google.com/store/apps/details?id=johnidis.azimuth]&lt;br /&gt;
| 1.11&lt;br /&gt;
| Aug 22, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Adware and in-app purchases💲&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[CPCDroid]]&lt;br /&gt;
| [https://fmsdevel.wisecoding.es/cpcdroid-amstrad-cpc-on-android-phone-2/]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Mar 2, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[CPCemu|CPCemu]] &lt;br /&gt;
| [https://play.google.com/store/apps/details?id=com.loritznet.softwarecreations.cpcemu]&lt;br /&gt;
| 2.5&lt;br /&gt;
| Aug 14, 2022&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Android&lt;br /&gt;
| [[Droid-CPC]]&lt;br /&gt;
| [http://play.google.com/store/apps/details?id=com.kokak.droidcpc]&lt;br /&gt;
| 1.1.01&lt;br /&gt;
| Dec 15, 2016&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Commercial💲&lt;br /&gt;
|-&lt;br /&gt;
| iOS&lt;br /&gt;
| [[CPCemu|CPCemu]]&lt;br /&gt;
| [http://www.cpc-emu.org/]&lt;br /&gt;
| 2.5&lt;br /&gt;
| Aug 13, 2022&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Software available on request&lt;br /&gt;
|-&lt;br /&gt;
| iOS&lt;br /&gt;
| [[CrocoDS]]&lt;br /&gt;
| [https://crazypiri.eu/crocods/] [https://github.com/redbug26/crocods-ios Repo]&lt;br /&gt;
| 2.1&lt;br /&gt;
| Jun 21, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Discontinued Operating Systems =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| Acorn RISC OS&lt;br /&gt;
| [[!CPC|!CPC]]&lt;br /&gt;
| [https://www-ftp.lip6.fr/pub/amstrad/emulator/CPC0728.ZIP] [http://ftp2.fr.openbsd.org/ftp/pub/amstrad/emulator/CPCS1124.ZIP]&lt;br /&gt;
| &lt;br /&gt;
| Jul 28, 1996&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Acorn RISC OS&lt;br /&gt;
| [[!CPCemu|!CPCemu]]&lt;br /&gt;
| [http://huggers-world.de/mops.html]&lt;br /&gt;
| 1.21&lt;br /&gt;
| Mar 22, 2016&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS m68k&lt;br /&gt;
| [[A-CPC|A-CPC]]&lt;br /&gt;
| [https://cpctech.cpcwiki.de/download/a-cpc.lha]&lt;br /&gt;
| 2.0&lt;br /&gt;
| Mar 30, 2002&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS m68k&lt;br /&gt;
| [[Ami-cpc|Ami-cpc]]&lt;br /&gt;
| [http://deplanque.chez.com/] [http://deplanque.chez.com/download_fr.html Ami-cpc2]&lt;br /&gt;
| 0.46&lt;br /&gt;
| Jan 21, 1998&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS m68k&lt;br /&gt;
| [[CPE|CPE]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-AMIGA-CPE.htm]&lt;br /&gt;
| &lt;br /&gt;
| Feb 24, 1995&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| AmigaOS m68k&lt;br /&gt;
| [[Emu-CPC|EmuCPC]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-AMIGA-emucpc.htm]&lt;br /&gt;
| 0.7&lt;br /&gt;
| Sep 15, 1996&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| BlackBerry OS&lt;br /&gt;
| [[BB-CPC|BB-CPC]]&lt;br /&gt;
| [http://appworld.blackberry.com/webstore/content/30963891/] (dead link)&lt;br /&gt;
| 1.0.1.3&lt;br /&gt;
| Jul 15, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Commercial💲&lt;br /&gt;
|-&lt;br /&gt;
| Classic Mac OS&lt;br /&gt;
| [[CPCplusplus|CPC++]]&lt;br /&gt;
| [http://bricerive.free.fr/cpc/cpcpp.html]&lt;br /&gt;
| 1.3.2&lt;br /&gt;
| Oct 6, 1997&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Shareware💲&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[AdvanceMESS|AdvanceMESS]]&lt;br /&gt;
| [https://www.advancemame.it/readme]&lt;br /&gt;
| 3.9&lt;br /&gt;
| Sep 8, 2018&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[Arnimedes|Arnimedes]]&lt;br /&gt;
| [http://www.arnimedes.de/]&lt;br /&gt;
| 0.8a&lt;br /&gt;
| Apr 15, 2000&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[Caprice32]] &lt;br /&gt;
| [https://ftp.nvg.ntnu.no/pub/cpc/emulator/msdos/capriced.zip]&lt;br /&gt;
| 1.11&lt;br /&gt;
| Sep 20, 1999&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPC]] &lt;br /&gt;
| [https://www-ftp.lip6.fr/pub/amstrad/emulator/CPC055B.ZIP]&lt;br /&gt;
| 0.55b&lt;br /&gt;
| May 16, 1997&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPC-em|CPC-em]] &lt;br /&gt;
| [http://cpc-em.emuunlim.com/]&lt;br /&gt;
| 0.4&lt;br /&gt;
| Jul 7, 2004&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPCE|CPCE]]&lt;br /&gt;
| [http://cngsoft.no-ip.org/cpce/]&lt;br /&gt;
| 1.94&lt;br /&gt;
| Jun 2, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPCemu|CPCemu]]&lt;br /&gt;
| [http://www.cpc-emu.org/]&lt;br /&gt;
| 1.5&lt;br /&gt;
| Jul 7, 1998&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPE|CPE]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-DOS-CPE.htm]&lt;br /&gt;
| 5.2&lt;br /&gt;
| Apr 21, 1997&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[NO$CPC|NO$CPC]]&lt;br /&gt;
| [http://problemkaputt.de/cpc.htm]&lt;br /&gt;
| 1.8&lt;br /&gt;
| Nov 2, 2000&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[PC-CPC|PC-CPC]] &lt;br /&gt;
| [http://deplanque.chez.com/download_fr.html]&lt;br /&gt;
| &lt;br /&gt;
| Feb 3, 1998&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[CPCEMU (RWCPC)|RWCPC]]&lt;br /&gt;
| [https://www-ftp.lip6.fr/pub/amstrad/emulator/RWCPC.ZIP]&lt;br /&gt;
| &lt;br /&gt;
| Mar 23, 1995&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[SIMCPC|SIMCPC]]&lt;br /&gt;
| [https://www-ftp.lip6.fr/pub/amstrad/emulator/SIMCPC.ZIP]&lt;br /&gt;
| &lt;br /&gt;
| Dec 10, 1989&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Shareware💲&lt;br /&gt;
|-&lt;br /&gt;
| DOS&lt;br /&gt;
| [[YAGE|YAGE]]&lt;br /&gt;
| [https://www.zophar.net/cpc/yage.html]&lt;br /&gt;
| 0.91&lt;br /&gt;
| Oct 24, 1998&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| EXOS&lt;br /&gt;
| [[Software CPC Emulator|Software CPC Emulator]]&lt;br /&gt;
| [http://www.ep128.hu/Ep_Util/Prg/Amstrad_CPC_Emulator_13.rar] [http://www.ep128.hu/Ep_Util/Amstrad_CPC_emu.htm]&lt;br /&gt;
| 1.3&lt;br /&gt;
| Jan 11, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Maemo&lt;br /&gt;
| [[CPCm]]&lt;br /&gt;
| [http://maemo.org/downloads/product/Maemo5/cpcm/]&lt;br /&gt;
| 1.20-1&lt;br /&gt;
| Apr 27, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| MSX-DOS&lt;br /&gt;
| [[EMU6CPC|EMU6CPC]]&lt;br /&gt;
| [http://romu6.blogspot.com/2018/12/emu6cpc-emulador-de-amstrad-cpc-6128.html]&lt;br /&gt;
| &lt;br /&gt;
| Dec 17, 2018&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Palm OS&lt;br /&gt;
| [[CaPriCe for Palm OS|CaPriCe for Palm OS]]&lt;br /&gt;
| [https://web.archive.org/web/20230127143354/https://coste.frederic.free.fr/cpc/cpc_en.htm]&lt;br /&gt;
| 2.8&lt;br /&gt;
| Jun 28, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Palm OS&lt;br /&gt;
| [[CoPaCabana|CoPaCabana]]&lt;br /&gt;
| [http://copacabana.emuunlim.com/]&lt;br /&gt;
| 0.75&lt;br /&gt;
| Dec 4, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Pocket PC&lt;br /&gt;
| [[CaPriCe|PocketCaprice]]&lt;br /&gt;
| [https://web.archive.org/web/20160506010209/http://www.clubic.com/telecharger-fiche44888-pocketcaprice.html]&lt;br /&gt;
| 0.9&lt;br /&gt;
| Aug 19, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| SunOS&lt;br /&gt;
| [[CPCplusplus|CPC++]]&lt;br /&gt;
| [http://bricerive.free.fr/cpc/cpcpp.html]&lt;br /&gt;
| 1.3.0&lt;br /&gt;
| Feb 22, 1997&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Shareware💲&lt;br /&gt;
|-&lt;br /&gt;
| Symbian&lt;br /&gt;
| [[S60-CPC|S60-CPC]]&lt;br /&gt;
| [http://kokak.free.fr/s60cpc.htm]&lt;br /&gt;
| 0.74&lt;br /&gt;
| Feb 21, 2006&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Windows 9x&lt;br /&gt;
| [[CPC-em|CPC-em]] &lt;br /&gt;
| [http://cpc-em.emuunlim.com/]&lt;br /&gt;
| 0.3&lt;br /&gt;
| Jan 22, 2004&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Windows 9x&lt;br /&gt;
| [[MTMW|MTMW]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-WIN-MTMW.htm]&lt;br /&gt;
| 1.30B&lt;br /&gt;
| Jan 11, 2000&lt;br /&gt;
| ✅&lt;br /&gt;
| [[ZX Spectrum]], [[ZX80/81]], [[Enterprise]], [[Jupiter ACE]]&lt;br /&gt;
| Freeware&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Home Consoles =&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| Microsoft XBOX&lt;br /&gt;
| [[Arnold|ArnoldX]]&lt;br /&gt;
| [https://web.archive.org/web/20120705163939/http://forums.xbox-scene.com/index.php?showtopic=711667] [https://cpcrulez.fr/emulateurs_download-XBOX-ARNOLDX.htm]&lt;br /&gt;
| v5&lt;br /&gt;
| Apr 20, 2010&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Microsoft XBOX&lt;br /&gt;
| [[CoinOPS|CoinOPS (RetroFE)]]&lt;br /&gt;
| [https://web.archive.org/web/20160518183115/https://coinopsproject.freeforums.org/viewtopic.php?f=0&amp;amp;t=1213]&lt;br /&gt;
| 5&lt;br /&gt;
| Oct 18, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| Lots of other computer systems&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Microsoft Xbox 360&lt;br /&gt;
| [[XNACPC|XNACPC]]&lt;br /&gt;
| [http://www.gavpugh.com/2011/11/11/xnacpc-xbox-360-amstrad-cpc-emulator-released/]&lt;br /&gt;
| 1.0&lt;br /&gt;
| Nov 11, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo Wii&lt;br /&gt;
| [[Wiituka|Wiituka]]&lt;br /&gt;
| [http://wiituka.dantoine.org/]&lt;br /&gt;
| 0.98.8&lt;br /&gt;
| May 15, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Sega Dreamcast&lt;br /&gt;
| [[CPCast|CPCast]]&lt;br /&gt;
| [http://www.dcemu.co.uk/vbulletin/showthread.php?t=24100]&lt;br /&gt;
| &lt;br /&gt;
| May 6, 2006&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Sega Dreamcast&lt;br /&gt;
| [[DreamCPC|DreamCPC]]&lt;br /&gt;
| [https://www.jm1200.fr/index.php?r=2]&lt;br /&gt;
| Alpha 3&lt;br /&gt;
| Oct 16, 2005&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Sony PS2&lt;br /&gt;
| [[CPC-em|CPC-em]]&lt;br /&gt;
| [https://cpcrulez.fr/emulateurs_download-ps2-CPC-EM.htm]&lt;br /&gt;
| 0.4&lt;br /&gt;
| Dec 22, 2004&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Sony PS3&lt;br /&gt;
| [[Caprice32|Caprice32]]&lt;br /&gt;
| [https://web.archive.org/web/20171003153204/http://psx-scene.com/forums/content/caprice32-4-1-0-dbg-emulator-ps3-2119/]&lt;br /&gt;
| 4.1.0 DBG&lt;br /&gt;
| Apr 9, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Handheld Consoles =&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 and OpenDingux'''. Or you can use these stand-alone CPC emulators:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Host system&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| Dingoo A320 / A330&lt;br /&gt;
| [[Pituka|Pituka Dingux]]&lt;br /&gt;
| [http://david.dantoine.org/proyecto/4/]&lt;br /&gt;
| 0.8pre&lt;br /&gt;
| Aug 19, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Dingoo A320 / A330&lt;br /&gt;
| [[Caprice|Dingux-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/105-Amstrad/]&lt;br /&gt;
| 1.1.2&lt;br /&gt;
| Oct 17, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark Caanoo&lt;br /&gt;
| [[Caprice|Caanoo-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/165-Amstrad/]&lt;br /&gt;
| 1.1.3&lt;br /&gt;
| Apr 24, 2011&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark GP2x&lt;br /&gt;
| [[Caprice|CapriceGP2x]]&lt;br /&gt;
| [https://web.archive.org/web/20130315195529/http://wiki.gp2x.org/wiki/CapriceGP2x]&lt;br /&gt;
| 0.5&lt;br /&gt;
| Feb 22, 2006&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark GP2x&lt;br /&gt;
| [[Caprice|GP2X-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/42-Amstrad/]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Aug 29, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark GP32&lt;br /&gt;
| [[Pituka|Pituka GP32]]&lt;br /&gt;
| [http://david.dantoine.org/proyecto/4/]&lt;br /&gt;
| 1d&lt;br /&gt;
| May 15, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GamePark Wiz&lt;br /&gt;
| [[Caprice|Wiz-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/89-Amstrad/]&lt;br /&gt;
| 1.1.0&lt;br /&gt;
| Aug 29, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| GCW Zero&lt;br /&gt;
| [[Caprice|Dingux-CAP32]]&lt;br /&gt;
| [https://github.com/kerheol/dingux-cap32]&lt;br /&gt;
| 1.1.2&lt;br /&gt;
| May 25, 2014&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| JXD S5110 / S601 &amp;amp; Yinlips G18&lt;br /&gt;
| [[Caprice|JXD-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/206-Amstrad/]&lt;br /&gt;
| 1.1.1&lt;br /&gt;
| Oct 27, 2012&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo DS&lt;br /&gt;
| [[AmeDS|AmeDS]] &lt;br /&gt;
| [https://web.archive.org/web/20131021073302/http://www.portabledev.com/pages/ds/jeuxdev.-perso/ameds.php]&lt;br /&gt;
| 4.0&lt;br /&gt;
| Apr 25, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo DS&lt;br /&gt;
| [[CrocoDS|CrocoDS]]&lt;br /&gt;
| [http://www.kyuran.be/blog/2007/11/09/crocods-20-2/] [https://github.com/redbug26/crocods-nds Repo]&lt;br /&gt;
| 2.0&lt;br /&gt;
| Nov 9, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo GameBoy Advance&lt;br /&gt;
| [[Mini Amstrad Emulator|Mini Amstrad Emulator]] &lt;br /&gt;
| [https://playeradvance.org/forum/showthread.php?t=765]&lt;br /&gt;
| &lt;br /&gt;
| Dec 26, 2005&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Odroid GO&lt;br /&gt;
| [[CapriceESP32|CapriceESP32]] &lt;br /&gt;
| [https://github.com/grantrismo/CapriceESP32]&lt;br /&gt;
| &lt;br /&gt;
| Dec 3, 2020&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| OpenDingux&lt;br /&gt;
| [[CrocoDS|CrocoDS]]&lt;br /&gt;
| [https://crazypiri.eu/crocods/] [https://github.com/redbug26/crocods Repo]&lt;br /&gt;
| &lt;br /&gt;
| Jan 15, 2020&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Pandora&lt;br /&gt;
| [[Caprice|Pandora-CAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/131-Amstrad/]&lt;br /&gt;
| 1.1.0&lt;br /&gt;
| Jun 27, 2010&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Sony PSP&lt;br /&gt;
| [[Caprice32 PSP]]&lt;br /&gt;
| [http://psp.akop.org/caprice32]&lt;br /&gt;
| 4.2.0.2&lt;br /&gt;
| Nov 28, 2007&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Sony PSP&lt;br /&gt;
| [[CPCPSP|CPCPSP]]&lt;br /&gt;
| [https://web.archive.org/web/20130325143915/http://dl.qj.net/psp/emulators/cpcpsp-v01.html]&lt;br /&gt;
| 0.1&lt;br /&gt;
| Dec 24, 2005&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| Sony PSP&lt;br /&gt;
| [[PSPCAP32|PSPCAP32]]&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/3-Amstrad/]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Aug 21, 2009&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| Trimui Model S&lt;br /&gt;
| [[Arnold|Arnold Trimui]]&lt;br /&gt;
| [https://github.com/liartes/arnold_gcw0]&lt;br /&gt;
| &lt;br /&gt;
| Oct 19, 2021&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Single-Board Computers / Raspberry Pi =&lt;br /&gt;
&lt;br /&gt;
[https://www.libretro.com/index.php/powered-by-libretro/ LibRetro / RetroArch] is used as the foundation of [https://www.lakka.tv/ Lakka], [https://wiki.recalbox.com/en/advanced-usage/retroarch Recalbox], [https://batocera.org/ Batocera] and [https://retropie.org.uk/ RetroPie] alternative OSes for the Raspberry Pi and other SBC.&lt;br /&gt;
But you can also use [https://www.retroarch.com/index.php?page=platforms RetroArch] for Amstrad CPC emulation on a stock Raspberry Pi OS. Or you can use these stand-alone CPC emulators:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! Amstrad Plus&lt;br /&gt;
! Also emulates&lt;br /&gt;
! License&lt;br /&gt;
|-&lt;br /&gt;
| [[CPC4Rpi|#CPC4Rpi]]&lt;br /&gt;
| [https://web.archive.org/web/20150321200308/http://store.raspberrypi.com/projects/cpc4rpi]&lt;br /&gt;
| 1.1&lt;br /&gt;
| Dec 19, 2013&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Commercial💲&lt;br /&gt;
|-&lt;br /&gt;
| [[CapriceRPI|CapriceRPI]]&lt;br /&gt;
| [https://github.com/KaosOverride/CapriceRPI]&lt;br /&gt;
| 1.3d&lt;br /&gt;
| Feb 28, 2016&lt;br /&gt;
| ❌&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[Clock Signal|Clock Signal]] &lt;br /&gt;
| [https://snapcraft.io/install/clock-signal/raspbian]&lt;br /&gt;
| &lt;br /&gt;
| Dec 28, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| [[ZX Spectrum]], [[ZX80/81]], [[Enterprise]], [[MSX]], [[Oric 1/Atmos|Oric]], [[ColecoVision]], [[Acorn Electron]], [[Apple II]], [[VIC-20]], [[Atari 2600]], [[Atari ST]], [[Macintosh]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEPower|CPCEPower]] &lt;br /&gt;
| [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73]&lt;br /&gt;
| 2105&lt;br /&gt;
| Jun 4, 2021&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Freeware&lt;br /&gt;
|-&lt;br /&gt;
| [[MESS|MAME]]&lt;br /&gt;
| [https://stickfreaks.com/mame/]&lt;br /&gt;
| 0.261&lt;br /&gt;
| Nov 29, 2023&lt;br /&gt;
| ✅&lt;br /&gt;
| [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[SugarPi|SugarPi]]&lt;br /&gt;
| [https://github.com/Tom1975/SugarPi]&lt;br /&gt;
| 1.2.0&lt;br /&gt;
| Feb 3, 2021&lt;br /&gt;
| ✅&lt;br /&gt;
| -&lt;br /&gt;
| Open source&lt;br /&gt;
|-&lt;br /&gt;
| [[ZEsarUX|ZEsarUX]]&lt;br /&gt;
| [https://github.com/chernandezba/zesarux]&lt;br /&gt;
| X&lt;br /&gt;
| Sep 8, 2023&lt;br /&gt;
| ❌&lt;br /&gt;
| [[PCW]], [[ZX Spectrum]], [[ZX80/81]], [[MSX|MSX 1]], [[ColecoVision]], [[Spectravideo]], [[Jupiter ACE]], [[Sam Coupe]], [[SG-1000]], [[Master System]], [[Sinclair QL]], [[MK14]], [[Z88]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Hardware =&lt;br /&gt;
&lt;br /&gt;
*[[CPC TREX|CPC TREX]] [[C-ONE|CPC-ONE]] TurboCPC core running on a FPGA board&lt;br /&gt;
*[http://ralferoo.blogspot.fr/ CPC FPGA] CPC emulation running on a custom made FPGA board&lt;br /&gt;
*[[FPGAmstrad|FPGAmstrad]] [https://github.com/renaudhelias/CoreAmstrad CoreAmstrad] [https://github.com/mist-devel/mist-board/wiki/CoreDocAmstrad CoreDocAmstrad] [https://github.com/mist-devel/mist-binaries/tree/master/cores/amstrad_alt CPC for MIST and MISTer] Translation of JavaCPC from Java into VHDL on a MiST board&lt;br /&gt;
*[https://intelligenttoasters.blog/cpc2-project-index/ CPC2 Project] CPC emulation running on a Cyclone V FPGA board&lt;br /&gt;
*[https://github.com/rpsubc8/ESP32TinyCPC/ ESP32 TinyCPC] Port from CPC-em emulator to TTGO VGA32 v1.x board with ESP32&lt;br /&gt;
*[https://github.com/codedchip/AMSGateArray AMSGateArray] Reverse engineered Gate Array from decapped chips&lt;br /&gt;
*[[SDiskEmul]] Floppy-drive emulator released in 2007. Abandoned now. Supports DSK, EDSK disk-images&lt;br /&gt;
*[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]&lt;br /&gt;
*[https://github.com/keirf/flashfloppy/ FlashFloppy] Open source floppy-drive emulator for the ubiquitous Gotek hardware. Supports DSK, EDSK, HFE disk-images&lt;br /&gt;
*[https://cpcrulez.fr/forum/viewtopic.php?f=5&amp;amp;t=100&amp;amp;start=690#p55437 Pauline] FPGA-based floppy-drive dumper and emulator&lt;br /&gt;
*[https://hobbyretro.com/en/retro/tzxduino TZXduino] Arduino-based tape deck emulator. Supports many formats of tape-images including CDT and TZX&lt;br /&gt;
*[https://pelrun.github.io/PlayUEF/ PlayUEF] Web-browser based tape deck emulator, supporting CDT and TZX tape-images&lt;br /&gt;
*[https://github.com/dasta400/ACPCPE Amstrad CPC Printer Emulator] Arduino-based CPC printer emulator&lt;br /&gt;
&lt;br /&gt;
= Mass-storage =&lt;br /&gt;
Emulator support for mass-storage expansions is as follows:&lt;br /&gt;
*[[Dobbertin Harddisc]] is emulated by MAME&lt;br /&gt;
*[[UIDE Universal IDE adapter cards for Z-80 computers|uIDE]] is emulated by Arnold&lt;br /&gt;
*[[Symbiface II]] IDE/PATA interface or compatible ([[X-Mass]], [https://github.com/salafek/cyboard-for-cpc Cyboard]) is emulated by ACE, Caprice Forever, MAME, WinAPE, WinCPC, Arnold, Virtual CPC&lt;br /&gt;
*[[Albireo]] is emulated by ACE, Caprice Forever&lt;br /&gt;
*[[M4 Board]] is emulated by CPCemu&lt;br /&gt;
*[[Vortex Winchester Drive]], [[ULIfAC|USIfAC / ULIfAC]] and [[Symbiface 3|Symbiface3 / RSF3]] are not supported by emulators&lt;br /&gt;
&lt;br /&gt;
= CPC cartridge slot =&lt;br /&gt;
Emulator support for a CPC cartridge slot is as follows:&lt;br /&gt;
*[[Dandanator]] brings a non-standard physical cartridge port and a very exotic non-standard memory mapper that spies on Z80 instructions (sacrificing compatibility without any justification). It is emulated by ACE, Retro Virtual Machine, CPCEC, ZEsarUX, DSP&lt;br /&gt;
*[[Plus2CPC]] brings a standard physical Plus cartridge port to the CPC. It is not supported by emulators&lt;br /&gt;
*[[Play2CPC]] is an evolution of the [[Plus2CPC]], adding RMR2 Plus mapping, R/W cartridge support, CRTC cursor raster interrupt and a 3-channel soundchip conforming to the [[PlayCity]] base spec. Play2CPC is emulated by ACE&lt;br /&gt;
*[[M4 Board]] simulates a standard Plus cartridge port on the CPC and handles standard CPR files. M4 Board is emulated by CPCemu&lt;br /&gt;
&lt;br /&gt;
= Audio devices =&lt;br /&gt;
Emulator support is as follows:&lt;br /&gt;
*[[Amstrad SSA-1 Speech Synthesizer|SSA-1 speech synthesizer]] is emulated by ACE, Caprice Forever, JavaCPC, MAME&lt;br /&gt;
*[[Dk'tronics Speech Synthesizer|Dk'Tronics speech synthesizer]] is emulated by ACE, Caprice Forever, JavaCPC, MAME&lt;br /&gt;
*[[TMPI speech synthesizer|Techni-Musique speech synthesizer]] is emulated by ACE, Caprice Forever&lt;br /&gt;
*[[Amdrum]] is emulated by ACE, JavaCPC, MAME, WinAPE&lt;br /&gt;
*[[Digiblaster]] is emulated by ACE, Caprice Forever, JavaCPC, MAME, WinAPE, CPCEC, CPCEPower, WinCPC, Virtual CPC&lt;br /&gt;
*[[PlayCity]] is fully emulated by ACE, MAME, Arnold, SugarBox. The audio part of [[PlayCity]] is emulated by Caprice Forever, JavaCPC, CPCEC&lt;br /&gt;
*[[Play2CPC]] implements the PlayCity base spec (aka Arcade Sound System). It has one additional soundchip instead of two and no CTC chip. It is emulated by ACE&lt;br /&gt;
*[[Willy|Willy OPL3]] is emulated by ACE&lt;br /&gt;
*[[Willy|Willy MIDI]] is emulated only by ACE for Haiku&lt;br /&gt;
*[[Music Machine]], [https://github.com/lambdamikel/Speak-SID Speak&amp;amp;SID], [https://github.com/lambdamikel/LambdaSpeak3 LambdaSpeak], [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/amsdap-amstrad-msx-adapter-connecting-any-msx-io-hardware-to-the-cpc/ Amsdap (SE-One, Moonsound, etc...)] are not supported by emulators&lt;br /&gt;
&lt;br /&gt;
= Rewind feature =&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
At the moment, 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.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= Emulator accuracy checking tools =&lt;br /&gt;
== Quick evaluation==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;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]]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19308 DSC #4 demo] with reference images (CRTC 1): [[Media:DSC4 reference1.png]] [[Media:DSC4 reference2.png]]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7737 Camembert 4 demo] with reference images (CRTC 0/1/3/4): [[Media:Camembert-real.jpg]] [[Media:Camembert 4 Pixel Precise.jpg]]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9029 BSC7 Interlace demo] with reference image (CRTC 0/2/3/4): [[Media:BSC7 reference.png]]&lt;br /&gt;
&lt;br /&gt;
== Z80 CPU ==&lt;br /&gt;
*[https://cpcrulez.fr/applications_util-zexall.htm ZEXALL (CP/M)] [https://cpcrulez.fr/applications_util-zexdoc.htm ZEXDOC (CP/M)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12883 Z80 Full Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12881 Z80 Doc Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12882 Z80 Flags Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12880 Z80 Doc Flags Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12884 Z80 MEMPTR Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12879 Z80 CCF Test] Z80 CPU instruction set exercisers&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=298 Arkanoid (using Z80 Interrupt Mode 2)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=427 L'anneau de Zengara (using Z80 register R)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1299 Light Corridor (Z80 useless instruction prefixes)] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=735 Dogsbody (accessing non-standard I/O ports)]&lt;br /&gt;
*[https://wikiti.brandonw.net/?title=Z80_Instruction_Set Z80 instruction set] [https://zx-pk.ru/attachment.php?attachmentid=2989&amp;amp;d=1143656567 Z80 MEMPTR (aka WZ) internal register] [https://github.com/hoglet67/Z80Decoder/wiki/Undocumented-Flags Even weirder Z80 behaviour] [https://zxe.io/software/Z80/documentation/latest/Thanks.html To get to the bottom of it] [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/z80-cpu-nmos-or-cmos/ Z80 is always NMOS on CPC and Plus] How the Z80 behaves&lt;br /&gt;
*[https://floooh.github.io/2021/12/06/z80-instruction-timing.html Z80 T-state timings] [https://baltazarstudios.com/zilog-z80-undocumented-behavior/ Other source about T-state timings] Ultra accurate timing behaviour&lt;br /&gt;
&lt;br /&gt;
== Diagnostics ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5113 Official Amstrad CPC hardware diagnostics] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17932 Non-official Amstrad Diagnostics] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6545 STS SysInfo] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=test%crtc%v Tests CRTC type] [http://cpc.sylvestre.org/technique/technique_identifier_crtc.html Identifying CRTC visually]&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6987 RAM Expansion Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14833 MemTest] [https://www.cpc-power.com/index.php?page=detail&amp;amp;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&amp;amp;num=15739 RAM Check] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13386 Testprogram For All ERAM] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19185 Xenon 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12188 Take On Me] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14339 Trololo Experiments] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19406 Still The One] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16084 Post Scriptum] [https://cpcrulez.fr/info-chany-enhanced_edition.htm Chany 512K cracks] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=151 Expanded RAM software list] RAM exercisers&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15975 FutureOS] [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/464-and-ram-extension/ Behaviour of RAM mode &amp;amp;C3] [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/upgrading-a-cpc-464-in-2022/ More on the issue] RAM expansion bug on CPC464/664&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=135 Batman The Movie] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2318 Turrican] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=80 Technical explanation] CPC keyboard clash&lt;br /&gt;
*[https://www.cpcwiki.eu/forum/emulators/amstrad-cpc-'acid'-test/ &amp;quot;Acid&amp;quot; test suite] [https://cpctech.cpcwiki.de/download/test.zip] [http://ace.cpcscene.net/tests:arnold_test_suite Tests results in ACE] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17738 PPI tests] Chips tests by arnoldemu&lt;br /&gt;
*[http://www.winape.net/downloads.jsp Plus Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15242] CPC and CPC+ Emulator test suite (including Instruction and Interrupt timing tests)&lt;br /&gt;
&lt;br /&gt;
== Amstrad Plus ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9627 Official Plus diagnostics cartridge] [[File:Roudoudou CPR tests.zip]] [https://www.cpcwiki.eu/forum/emulators/amstrad-cpc-'acid'-test/75/] Plus testing tools&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8308 4096 Colors Preview] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7407 CPC+ First Demo]  [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8443 Simply The Bests] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7411 ASM Intro 1] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18789 Veteran] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9472 Revival'n Impact coop] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3959 Fluff] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3622 Space Gun] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1682 Prehistorik 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3575 No Exit] ASIC effects&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3788 Frogger] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4721 Rick Dangerous 6128+] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17818 La culotte de Zelda] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12013 Flappy Rulez] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13363 Picrocs] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14639 Sudoplus] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15142 Ghosts'n Goblins] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18946 Goldorak Versus] Homebrews&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8874 6128 Plus Dma] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14939 Eerie Forest] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14940 CRTC3] [https://cpcrulez.fr/demostestDO_fairy-breakpoint_2010.htm Fairy] [https://soundtrackerdma.cpcscene.net/doku.php?id=en:download Soundtracker DMA] To test DMA and to compare the PSG output with the output from a real Amstrad Plus&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18016 Bulles] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7532 X-Mas 2008] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8588 Synergy] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7410 Mir Station] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13142 BarBar] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7530 Delirium Tremens] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9169 Funerapolis] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7935 Sappy] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19239 USS Cygnus 192] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17979 GX8K] To test hardware sprites emulation&lt;br /&gt;
&lt;br /&gt;
== Colorimetry ==&lt;br /&gt;
*[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&lt;br /&gt;
*Major difference in colorimetry between the real Amstrad CTM644 display and emulators display:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Border 8 - real CPC display.png|Border 8 on real CPC&lt;br /&gt;
Border 8 - real Plus display.png|Border 8 on real Plus&lt;br /&gt;
Border 8 - emulator display.png|Border 8 on emulators&lt;br /&gt;
Palette - real CPC.png|Palette on real CPC&lt;br /&gt;
Palette - real Plus.png|Palette on real Plus&lt;br /&gt;
Palette - emulator.png|Palette on emulators&lt;br /&gt;
True CTM colorimetry.png|Colorimetry on real CPC&lt;br /&gt;
CTM Emulator Shader colorimetry.png|Colorimetry on emulators&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Graphics ==&lt;br /&gt;
*[https://shaker.logonsystem.eu/ Shakerland] Ultra accurate CRTC documentation and its associated CPC testing tool&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8524 Equalizor] [https://forum.system-cfg.com/viewtopic.php?p=229698#p229698 Revolog] [https://forum.system-cfg.com/viewtopic.php?f=24&amp;amp;t=11535&amp;amp;start=285 Technical explanation] Unpredictable behaviour of the real CRTC type 1 chip. We can classify these behaviours as CRTC types 1a and 1b&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12906 HSYNC test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16466 Split-Rasters Test CRTC1] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15519 Les split-rasters] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=cote%gamers Côté Gamers] [https://www.cpc-power.com/index.php?page=detail&amp;amp;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&amp;amp;num=15280 CRTC software] CRTC testing tools&lt;br /&gt;
*[http://logon.system.free.fr/down/shaker_addon.dsk Pixel 1 Horizontal Hard Scroll for all CRTCs] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9102 Vertical Hard Scroll 100%] [https://cpcrulez.fr/coding_src-demo-smooth_crtc_register_3_scrolling_test.htm Smooth CRTC Register 3 scrolling test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1949 Skate Wars] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1211 Jinks] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=68 Out of this World] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=159 Killer Cobra] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10465 Edge Grinder] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10072 Relentless] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1982 Warhawk] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=99 Mission Genocide] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1028 Axys] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15809 Red Sunset] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18843 Hyperdrive] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=974 Ghosts'n Goblins] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1290 Legend of Kage] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1698 Profanation] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2119 Super Cauldron] Smooth CRTC R3/R5 hardware scrolling&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7514 BSC 91] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8772 Voyage 1993] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7751 OVL '96] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7662 Byte 98] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8623 Unique] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7910 Paradise] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8621 Power System] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8875 Prodatron] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7744 Longshot] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7668 Amazing] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7479 Madness] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8259 Chany Dream End] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8615 Welcom-X 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7591 S&amp;amp;Koh] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8041 Other World 3] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7648 Big'O Full'O Dem'O] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7765 Not Dead] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7543 Odyssey] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7736 Croco Chanel] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7828 Tire Au Flan]  Early demos, so they were developed without CPC emulator bias&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2799 Battro] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15298 Still Scrolling] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15102 PhX] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9181 Bloc Us] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9248 Wake Up] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19313 Stand Up] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9589 Yet Another Plasma] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14225 Logon's Run] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9970 Still Rising] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=onescreen Onescreen Colonies] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16067 Gloire à Piou] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7729 DTC] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12683 Points Barres] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16068 Octopus Pocus] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18794 FMR CPC] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8552 Synergy 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15209 Scroll Factory] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19024 The One] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7728 DemoIzArt] CRTC effects&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=76 Les Mondes Parallèles] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=66 Paranoia] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=78 Molecularr 2] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=megablasters Megablasters] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12649 Quadraster] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2369 Groops] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3963 Sudoku Master] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10009 Overkoban] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17786 Prince Dastan Sokoban Within] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17610 Deva Drifter] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17197 Hexavirus v0] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15985 A tribute to the sisters] True overscan games&lt;br /&gt;
*[https://www.cpcwiki.eu/forum/programming/mode-3/ Mode 3 Test] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12905 &amp;quot;Mode 5&amp;quot; Viewer] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18680 Pixel Free] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14259 Test interlace color] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13136 Interlace viewer] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7701 Climax] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13139 Perfect Pix Paint] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13359 Imperial Mahjong] Special graphics modes&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16027 Mire] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16722 Mir'Color] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7826 Climax-G] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7937 Fatal Beauties] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8307 4 Sins] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7897 Twinblast] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8081 MCS 6] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7593 Schadel] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2224 Thunder Blade] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2318 Turrican] To test the VDU&lt;br /&gt;
&lt;br /&gt;
== Peripherals ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=hardware_magnum Magnum Light Phaser] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3583 SkeetShoot] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3584 The Enforcer] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3992 Dk'Tronics Light Pen] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4955 Light Pen Mark II] To test lightguns and lightpens connected to expansion port&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=hardware_phaser_loriciels West Phaser] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=hardware_gunstick Gunstick] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4303 Trojan LP-1] To test lightguns and lightpens connected to joystick port&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=SSA-1 SSA-1 software list] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=DK%27Tronics%20Speech%20Synthesizer Dk'Tronics software list] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=TMPI%20speech%20synthesizer TMPI software list] To test speech synthesizers emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7535 Digital Orgasm] [https://www.cpc-power.com/index.php?page=database&amp;amp;lemot=Digitracker Digitracker] [[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&amp;amp;lemot=Amdrum Amdrum] To test [[Digiblaster]] and [[Amdrum]] soundcards emulation&lt;br /&gt;
*[[SymAmp]] [https://framagit.org/shinra/vgmplay VGMplay] [http://www.roudoudou.com/ACE-DL/ 4200 VGM musicfiles pack] [https://github.com/lambdamikel/BluePillCPC/tree/main/cpc/s2p BluePillCPC] To test [[Willy]] OPL3 and MIDI emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12589 ProText] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4670 ProSpell] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4668 ProPrint] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5551 Impr'Image] To test printer emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4012 Advanced OCP Art Studio] To test [[AMX Mouse|AMX]] and [[Kempston Mouse|Kempston mouse]] emulation&lt;br /&gt;
*[[HDCPM]] [[UniDOS]] [http://www.roudoudou.com/ACE-DL/ UniLOAD 60MB archive] [http://www.roudoudou.com/ACE-DL/ SymbOS 45MB disk-image] To test mass-storage, RTC and modern mouse (scroll wheel) emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12972 X-MEM FW] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19236 CatRun] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18901 CowSay] [http://impdraw.wikidot.com iMPsuite] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=11578 GOS+] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6353 Utopia] To test ROMboard emulation&lt;br /&gt;
*[https://abalore.com/alcon2020.html Alcon 2020] [[Converted GX4000 Software]] To test the [[Play2CPC]] emulation&lt;br /&gt;
*[http://theswordofianna.retroworks.es/ The Sword of Ianna] [http://retroworks.es/php/game_en.php?id=11 Brunilda] [http://www.dandare.es/Proyectos_Dandare/Descargas.html MojonTwins romset] To test the [[Dandanator]] emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=protection&amp;amp;lenom=Multiface%202%20Protection Anti-Multiface II software list] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1980 War in Middle Earth] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1322 Zap't'Balls advanced] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5266 The Insider] To test [[Multiface II]] emulation&lt;br /&gt;
&lt;br /&gt;
== Copy-protection ==&lt;br /&gt;
*[https://cpctech.cpcwiki.de/download/fdctest.zip FDC test suite] [https://cpctech.cpcwiki.de/download/drivetest.zip Disk drive tests] [https://cpctech.cpcwiki.de/download/cdttst.zip CDT/TZX test suite for emulators] Set of tests by arnoldemu&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5002 Tape Head Azimuth] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4194 Ultra Son] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10475 Soft-Lok] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4718 Bonzo Super Meddler] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5059 SpeedTrans] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5803 Transformateur] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6057 Deconnect] [https://www.cpc-power.com/index.php?page=protection&amp;amp;lenom=NoAMSDOS NoAMSDOS software list] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=3871 Computer Hits] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1359 Marmelade] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1412 Mickey Mouse] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=83 Astro Marine Corps] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=773 Druid] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10585 Breaking Baud] To test Tape emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19368 FatMag 2] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9211 Backtro] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7405 5KB 3] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8746 The Demo] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13108 CPC 30th Anniversary] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7542 Midline Process] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17902 Can Robots Take Control] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10030 Phortem] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9156 Batman Forever] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16736 Pinball Dreams] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7174 R-Type] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6661 Nheredia] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=13426 Doomsday Lost Echoes] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4025 Orion Prime] Musical loader, Multi-drives, 3.5 inch (dual-head and 80 tracks) floppy drives support&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10029 RPM] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15518 DskTest] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=14201 Crazy] [https://cpcrulez.fr/applications_disc-dlfrsilver_dump_tool_test_suite.htm Dlfrsilver Dump Tool Test Suite] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4812 Format II] [[ParaDOS]] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4933 Xexor] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6118 Discology] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4179 Hercule II] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=16060 UltraDisc] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5244 Disc'o'Magic] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9297 Multi Mark] To test FDC emulation&lt;br /&gt;
*[https://cpcrulez.fr/demostestDM_fatmag_01.htm FatMag] The HFE trackload version is designed to rigorously test the FDC emulation [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17853 Open Tower Defense] Emulator detection through a FDC test [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=931 Fugitif] Disk swapping detection&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12051 Demonstration of KBI protection] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1589 Pacific] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1650 Platoon] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1814 Robinson Crusoe] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=660 Daley Thompson's Olympic Challenge] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4064 Les Hits de l'Aventure] Protection based on weak bits&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=839 E.X.I.T] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1501 Le Nécromancien] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2195 Tensions] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1784 Wild Streets] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1958 Skyx] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=111 Turbo Cup] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2024 Sphaira] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=780 Dwarf] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1873 Sapiens] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=612 Corsarios] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=582 Cobra] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=744 Eden Blues] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1390 M'enfin] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1420 Mike &amp;amp; Moko] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4089 Equinoxe] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=5545 Vocabulaire CM] Protection based on custom GAPS data&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=741 Donkey Kong] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1887 Scott Winder Reporter] Destructive copy-protection [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1716 Puffy's Saga] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=699 Defender of the Crown] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1354 Le Maraudeur] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1699 Profession Détective] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1730 Qin] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1005 Basun] Some other copy-protected disk-images&lt;br /&gt;
*[https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;cat=12 Protection schemes documented] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=9 Lenslok] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=207 Gaps] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=384 Latis] [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&amp;amp;num=435 Anti-copy bug] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=375 Baudload and Trackload list] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=38 Autoboot] Technical explanations&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=41 Trantor] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=204 3D Starfighter] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=726 Treasure Island Dizzy] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=971 Ghost Hunters] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=2132 Super Robin Hood] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=237 Advanced Pinball Simulator] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1200 Jet Bike Simulator] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1002 Grand Prix Simulator] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=183 Darts 180] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1243 Killapede] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1194 Jail Break] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1815 Robocop] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=100 Chase HQ] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1926 Shinobi] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=8892 4-Bit Digi Try] Software English vocal digits&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1349 Le Manoir de Mortvielle] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1098 Hold-Up] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=910 Forteresse] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=511 Canadair] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1140 L'île] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1199 Jaws] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1102 Holocauste] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=132 Afteroids] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=879 Fire &amp;amp; Forget] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=1433 Xyphoes Fantasy] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=17000 Space Race] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=7456 Yao demo] Other software sound effects&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9179 Now that's what I call Chip Tunes] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=18904 Amstream music-disk] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=10467 We Are All Old] [https://www.cpc-power.com/index.php?page=detail&amp;amp;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&amp;amp;num=18265 Sintetizador de Sonidos] To test the PSG emulation&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=19283 Raytracing in BASIC] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=15685 Julia Fractal] To benchmark emulators using their fullspeed mode&lt;br /&gt;
&lt;br /&gt;
= File format specifications =&lt;br /&gt;
&lt;br /&gt;
*[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&amp;amp;num=386 CTRAW] [https://www.cbmstuff.com/downloads/scp/scp_image_specs.txt SCP] File formats of disk-image&lt;br /&gt;
*[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] [http://soundfile.sapp.org/doc/WaveFormat/ WAV] File formats of tape-image&lt;br /&gt;
*[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&lt;br /&gt;
*[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&amp;amp;num=10 Archive of SNR sessions]&lt;br /&gt;
*[http://leonard.oxg.free.fr/ymformat.html YM] [https://www.cpcwiki.eu/index.php/AYC AYC] [https://vgmrips.net/wiki/VGM_Specification VGM] Soundchip logging file formats&lt;br /&gt;
*[https://en.wikipedia.org/wiki/IMG_(file_format) IMG] [https://web.archive.org/web/20120202144328/http://download.microsoft.com/download/f/f/e/ffef50a5-07dd-4cf8-aaa3-442c0673a029/Virtual%20Hard%20Disk%20Format%20Spec_10_18_06.doc VHD] [https://github.com/gasman/hdfmonkey HDF] File formats of flat hard-drive image&lt;br /&gt;
*[https://shaker.logonsystem.eu/sslcsl CSL] Cpc Scripting Language, a macro/scripting system to automate emulators&lt;br /&gt;
&lt;br /&gt;
= Emulation Tools  =&lt;br /&gt;
&lt;br /&gt;
*[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] [[Dsktools|Dsktools]] [[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] Set of tools about disk-images&lt;br /&gt;
*[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://cpctech.cpcwiki.de/download/2cdt.zip 2CDT] [http://cngsoft.no-ip.org/csw2cdt.htm CSW2CDT] [https://cpcrulez.fr/emulateurs_UTIL-CDT-CDT2WAV.htm CDT2WAV] [https://github.com/shred/tzxtools tzxtools] Set of tools about tape-images&lt;br /&gt;
*[http://www.cpcmania.com/news.htm CPRTools] Edit Amstrad Plus CPR cartridge-images&lt;br /&gt;
*[https://bochs.sourceforge.io/doc/docbook/user/winimage.html WinImage, DiskExplorer, Mtools] [https://www.fysnet.net/ultimate/index.htm Ultimate Imager] [https://github.com/ProgrammingHobby/CPM_Image-File_Explorer CP/M Image File Explorer] Access and edit IMG hard-drive images. No need of tools for VHD images with FAT filesystem, they are supported directly in Windows Explorer: it works the same way as ISO files&lt;br /&gt;
*[[CPCGamesCD-CPCLoader|CPCGamesCD-CPCLoader]] CDROM containing a navigable database with all the games of the Amstrad CPC&lt;br /&gt;
*[https://colourclash.co.uk/cpc-analyser/ CPC Analyser] Help reverse engineer Amstrad CPC games&lt;br /&gt;
*[[Emulator tooling]] UI screenshots of tooling in CPC emulators&lt;br /&gt;
*[[WinApe|WinAPE]] [[WinCPC]] [[JavaCPC]] [https://code.google.com/archive/p/cpcsdk/ Caprice Reloaded] [http://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73 Caprice Forever] Emulators with an integrated Z80 Assembler&lt;br /&gt;
*[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] [https://marketplace.visualstudio.com/items?itemName=floooh.vscode-kcide KC IDE] Tools for CPC cross-development in Z80 Assembler&lt;br /&gt;
*[https://ccz80.webcindario.com/ccz80en.html ccz80] [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] [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&lt;br /&gt;
*[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] A complete suite (IDE, compiler, resource editor) for developing CPC games/demos in Pascal&lt;br /&gt;
*[https://cpcbasic.webcindario.com/CPCBasicEn.html CPC Basic] [https://github.com/benchmarko/CPCBasic CPCBasic Unchained] [https://marketplace.visualstudio.com/items?itemName=cebe74.amstrad-basic-helper-vscode Amstrad Basic Helper] [https://www.cpcalive.com/cpcalive_en.html CpcAlive] [https://ugbasic.iwashere.eu/ ugBASIC] Cross-platform CPC development in BASIC&lt;br /&gt;
*[https://www.cpc-power.com/index.php?page=detail&amp;amp;num=12875 8BP] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4159 Graphic City] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4649 Sprites Alive] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4245 Laser Basic] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=4705 FAst BAsic COMpiler] [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=6042 TurboBASIC compiler] [[B-ASIC]] Useful CPC tools (compilers and RSX) to beef up the Amstrad BASIC&lt;br /&gt;
*[http://ldeplanque.free.fr/ConvImgCpc/new/ ConvImgCPC] [https://github.com/AugustoRuiz/Img2CPC img2cpc] [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&lt;br /&gt;
*[http://grafx2.chez.com/ GrafX2] [http://multipaint.kameli.net/ Multipaint] [[Retro Game Asset Studio]] [http://gcajdev.epizy.com/sprite_creator.php Sprite Creator] Cross-platform CPC pixel art editors&lt;br /&gt;
*[http://cngsoft.no-ip.org/chipnsfx.htm CHIPNSFX] [https://github.com/AugustoRuiz/WYZTracker WYZTracker] [https://www.julien-nevo.com/arkostracker/ Arkos Tracker 2] [https://tildearrow.org/furnace/ Furnace] Cross-platform CPC music creation suites&lt;br /&gt;
&lt;br /&gt;
= Emulator Detection =&lt;br /&gt;
&lt;br /&gt;
If you want to promote usage of real CPC computers, you can detect CPC emulators by:&lt;br /&gt;
*Checking if the memory is initialized with zeroes, as real machines have random memory values at boot&lt;br /&gt;
*Focusing on the minute details in Z80, CRTC and PPI chips. They are most often wrong in emulators&lt;br /&gt;
*Examining the FDC chip. It is only replicated more or less superficially in all emulators because the internals of the chip are still unknown&lt;br /&gt;
&lt;br /&gt;
Combining these methods will definitely get you a 100% success rate in detecting emulators, even the toughest ones.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Emulator undetected.png|Emulator undetected&lt;br /&gt;
Emulator detected.png|Emulator detected&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is also this initiative for emulators who willingly want to be detected: [[Emulator_IDs|Emulator IDs]]&lt;br /&gt;
&lt;br /&gt;
= Emulators running on the Amstrad CPC =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Emulator name&lt;br /&gt;
! External link&lt;br /&gt;
! Current version&lt;br /&gt;
! Latest release&lt;br /&gt;
! License&lt;br /&gt;
! Emulates&lt;br /&gt;
|-&lt;br /&gt;
| [[Amstrad BBC BASIC]]&lt;br /&gt;
| [https://www.cpc-power.com/index.php?page=detail&amp;amp;num=9862]&lt;br /&gt;
| 2.30&lt;br /&gt;
| Apr 2, 1986&lt;br /&gt;
| Commercial💲&lt;br /&gt;
| [[BBC BASIC]]&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCZVM]]&lt;br /&gt;
| [https://www.cpcwiki.eu/index.php/Z-Machine]&lt;br /&gt;
| &lt;br /&gt;
| Jul 6, 2019&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Z-Machine]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Pac-Man]]&lt;br /&gt;
| [http://www.cpcwiki.eu/forum/games/speed-up-patch-for-pac-man-emulator-for-cpc-by-syx-toto/msg81222/#msg81222]&lt;br /&gt;
| 1.1&lt;br /&gt;
| Jun 5, 2014&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Pac-Man arcade|Pac-Man arcade]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Phoenix]]&lt;br /&gt;
| [https://norbertkehrer.github.io/phoenix_cpc.html]&lt;br /&gt;
| &lt;br /&gt;
| Jan 6, 2019&lt;br /&gt;
| Freeware&lt;br /&gt;
| [[Phoenix arcade|Phoenix arcade]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Space Invaders|Space Invaders]]&lt;br /&gt;
| [http://www.cpcwiki.eu/forum/games/space-invaders-arcade-emulator-for-amstrad-cpc/]&lt;br /&gt;
| 1.0&lt;br /&gt;
| Jun 11, 2016&lt;br /&gt;
| Freeware&lt;br /&gt;
| [[Space Invaders arcade|Space Invaders arcade]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Vezza]]&lt;br /&gt;
| [https://gitlab.com/sijnstra1/vezza]&lt;br /&gt;
| &lt;br /&gt;
| Oct 7, 2023&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Z-Machine]]&lt;br /&gt;
|-&lt;br /&gt;
| [[ZXM]]&lt;br /&gt;
| [https://cpcrulez.fr/applications_util-ZXm.htm]&lt;br /&gt;
| &lt;br /&gt;
| 1993&lt;br /&gt;
| Freeware&lt;br /&gt;
| [[ZX Spectrum|ZX Spectrum]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Zym]]&lt;br /&gt;
| [http://www.symbos.org/appinfo.htm?00054]&lt;br /&gt;
| 0.9&lt;br /&gt;
| Feb 19, 2022&lt;br /&gt;
| Open source&lt;br /&gt;
| [[Z-Machine]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Emulator| ]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Snapshot&amp;diff=113800</id>
		<title>Snapshot</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Snapshot&amp;diff=113800"/>
				<updated>2024-01-02T21:25:57Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Snapshot (.SNA) file format  =&lt;br /&gt;
&lt;br /&gt;
The format was first defined for the [[CPCEMU|CPCEMU]] emulator but is now widely supported. The format was originally defined by [[Marco Vieth|Marco Vieth]]. Version 3 was defined by [[Ulrich Doewich|Ulrich Doewich]], [[Martin Korth|Martin Korth]], [[Richard Wilson|Richard Wilson]] and [[Kevin Thacker|Kevin Thacker]]. &lt;br /&gt;
&lt;br /&gt;
There are 3 versions defined in this document. Version 3 is the most recent and is currently supported by a few of the most recent emulators. &lt;br /&gt;
&lt;br /&gt;
Snapshots produced with [[CPCE|CPCE]] appears to be the most compatible and will run correctly using any emulator.&lt;br /&gt;
&lt;br /&gt;
Abbreviations: &lt;br /&gt;
&lt;br /&gt;
*[[Gate Array|GA = &amp;quot;Gate Array&amp;quot;]] &lt;br /&gt;
*[[CRTC|CRTC = &amp;quot;6845 Cathode Ray Tube Controller&amp;quot;]] &lt;br /&gt;
*[[8255|PPI = &amp;quot;Intel 8255 Programmable Peripheral Interface&amp;quot;]] &lt;br /&gt;
*[[PSG|PSG = &amp;quot;AY-3-8912 Programmable Sound Generator&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
= Version 1  =&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00-07&lt;br /&gt;
| 8&lt;br /&gt;
| The identification string &amp;quot;MV - SNA&amp;quot;. This must exist for the snapshot to be valid.&lt;br /&gt;
|-&lt;br /&gt;
| 08-0f&lt;br /&gt;
| 8&lt;br /&gt;
| (not used; set to 0)&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 1&lt;br /&gt;
| snapshot version (1)&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register F&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register A&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register C&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register B&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register E&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register D&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register L&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register H&lt;br /&gt;
|-&lt;br /&gt;
| 19&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register R&lt;br /&gt;
|-&lt;br /&gt;
| 1a&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register I&lt;br /&gt;
|-&lt;br /&gt;
| 1b&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 interrupt flip-flop IFF0 (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 1c&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 interrupt flip-flop IFF1 (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 1d&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IX (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 1e&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IX (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 1f&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IY (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 20&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IY (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 21&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register SP (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 22&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register SP (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 23&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register PC (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 24&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register PC (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 25&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 interrupt mode (0,1,2) (note 3)&lt;br /&gt;
|-&lt;br /&gt;
| 26&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register F' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 27&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register A' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 28&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register C' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 29&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register B' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2a&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register E' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2b&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register D' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2c&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register L' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2d&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register H' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2e&lt;br /&gt;
| 1&lt;br /&gt;
| GA: index of selected pen (note 10)&lt;br /&gt;
|-&lt;br /&gt;
| 2f-3f&lt;br /&gt;
| 1&lt;br /&gt;
| GA: current palette (note 12)&lt;br /&gt;
|-&lt;br /&gt;
| 40&lt;br /&gt;
| 1&lt;br /&gt;
| GA: multi configuration (note 11)&lt;br /&gt;
|-&lt;br /&gt;
| 41&lt;br /&gt;
| 1&lt;br /&gt;
| current RAM configuration (note 13)&lt;br /&gt;
|-&lt;br /&gt;
| 42&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC: index of selected register (note 14)&lt;br /&gt;
|-&lt;br /&gt;
| 43-54&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC: register data (0..17) (note 15)&lt;br /&gt;
|-&lt;br /&gt;
| 55&lt;br /&gt;
| 1&lt;br /&gt;
| current ROM selection (note 16)&lt;br /&gt;
|-&lt;br /&gt;
| 56&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: port A (note 6)&lt;br /&gt;
|-&lt;br /&gt;
| 57&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: port B (note 7)&lt;br /&gt;
|-&lt;br /&gt;
| 58&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: port C (note 8)&lt;br /&gt;
|-&lt;br /&gt;
| 59&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: control port (note 9)&lt;br /&gt;
|-&lt;br /&gt;
| 5a&lt;br /&gt;
| 1&lt;br /&gt;
| PSG: index of selected register (note 17)&lt;br /&gt;
|-&lt;br /&gt;
| 5b-6a&lt;br /&gt;
| 1&lt;br /&gt;
| PSG: register data (0,1,....15)&lt;br /&gt;
|-&lt;br /&gt;
| 6b&lt;br /&gt;
| 2&lt;br /&gt;
| memory dump size in Kilobytes (e.g. 64 for 64K, 128 for 128k) (note 18)&lt;br /&gt;
|-&lt;br /&gt;
| 6d-ff&lt;br /&gt;
| 1&lt;br /&gt;
| not used set to 0&lt;br /&gt;
|-&lt;br /&gt;
| 100-...&lt;br /&gt;
| 1&lt;br /&gt;
| memory dump&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes  ==&lt;br /&gt;
&lt;br /&gt;
1. All multi-byte values are stored in little-endian format (low byte followed by higher bytes). &lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;IFF0&amp;quot; reflects the state of the maskable interrupt (INT). &amp;quot;IFF1&amp;quot; is used to store the state of IFF0 when a non-maskable interrupt (NMI) is executed. Bit 0 of these bytes is significant. For CPCEMU compatibility, these bytes should be set to &amp;quot;1&amp;quot; when the IFF flip-flop is &amp;quot;1&amp;quot; and &amp;quot;0&amp;quot; when the flip-flop is &amp;quot;0&amp;quot;. For compatibility with other emulators, bits 7-1 should be set to &amp;quot;0&amp;quot;. When bit 0 of &amp;quot;IFF0&amp;quot; is &amp;quot;0&amp;quot; maskable interrupts will be ignored. When bit 0 of &amp;quot;IFF1&amp;quot; is &amp;quot;1&amp;quot; maskable interrupts will be acknowledged and executed. See the document about the Z80 for more information. &lt;br /&gt;
&lt;br /&gt;
3. This byte will be 0, 1 or 2 for the interrupt modes 0, 1 or 2. The interrupt mode is set using the &amp;quot;IM x&amp;quot; instructions. See the document about the Z80 for more information. &lt;br /&gt;
&lt;br /&gt;
4. These registers are from the alternate register set of the Z80. &lt;br /&gt;
&lt;br /&gt;
5. These registers are 16-bit. &amp;quot;low&amp;quot; indicates bits 7..0, &amp;quot;high&amp;quot;indicates bits 15..8. &lt;br /&gt;
&lt;br /&gt;
6. This byte represents the inputs to PPI port A regardless of the input/output setting of this port. &lt;br /&gt;
&lt;br /&gt;
7. This byte represents the inputs to PPI port B regardless of the input/output setting of this port. &lt;br /&gt;
&lt;br /&gt;
8. This byte represents the outputs from port C regardless of the input/output setting of this port. &lt;br /&gt;
&lt;br /&gt;
9. This byte represents the PPI control byte which defines the input/output and mode of each port and not the last value written to this port. For CPCEMU compatibility bit 7 of this byte must be set to &amp;quot;1&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
10. This byte in the snapshot represents the selected pen register of the Gate-Array. This byte is the last value written to this port. Bit 7,6,5 should be set to &amp;quot;0&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
11. This byte in the snapshot represents the multi-configuration register of the Gate-Array. This byte is the last byte written to this register. For CPCEMU compatibility, bit 7 should be set to &amp;quot;1&amp;quot; and bit 6 and bit 5 set to &amp;quot;0&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
12. These bytes are the current palette. For CPCEMU compatibility, these bytes should have bit 7=bit 6=bit 5=&amp;quot;0&amp;quot;. Bits 4..0 define the colour using the hardware colour code. The colours are stored in the order pen 0, pen1, pen 2,...,pen 15 followed by border colour. &lt;br /&gt;
&lt;br /&gt;
13. This byte represents a ram configuration for a Dk'Tronics/Dobbertin/Amstrad compatible RAM expansion, or the built in RAM expansion of the CPC6128 and CPC6128+. Bits 5..0 define the ram expansion code. For CPCEMU compatibility, bit 7 and bit 6 of this byte should be set to &amp;quot;0&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
14. This byte in the snapshot represents the index of the currently selected CRTC register. For compatibility with CPCEMU this value should be in the range 0-31. &lt;br /&gt;
&lt;br /&gt;
15. These bytes represent the data of the CRTC's registers. &lt;br /&gt;
&lt;br /&gt;
16. This byte in the snapshot represents the last byte written to the &amp;quot;ROM select&amp;quot; I/O port. &lt;br /&gt;
&lt;br /&gt;
17. This byte in the snapshot represents the index of the currently selected PSG register. For CPCEMU compatibility, this byte should be in the range 0-15. &lt;br /&gt;
&lt;br /&gt;
18. the memory dump can have size 0 in version 3 and in this case all RAM is described in additional blocks (MEM0-MEM8). If a memory dump has a non-zero size, then it is uncompressed and describes the main 64KB ram immediately followed by the second 64KB ram (if present) (this ram is inside 128KB machines or machines with 64KB from a Dk'Tronics/Dobbertin/Amstrad compatible RAM expansion. Note that CPCEMU can only write a 64K or 128K snapshot.&lt;br /&gt;
&lt;br /&gt;
19. JavaCPC uses e0-ff to store an emulator ID (see snapshot V3 for more details)&lt;br /&gt;
&lt;br /&gt;
= Changes and additions in Version 2 from Version 1  =&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 1&lt;br /&gt;
| snapshot version (2)&lt;br /&gt;
|-&lt;br /&gt;
| 6d&lt;br /&gt;
| 1&lt;br /&gt;
| CPC Type: &lt;br /&gt;
*0 = CPC464 &lt;br /&gt;
*1 = CPC664 &lt;br /&gt;
*2 = CPC6128 &lt;br /&gt;
*3 = unknown&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 6e&lt;br /&gt;
| 1&lt;br /&gt;
| interrupt number (0..5) (note 1a)&lt;br /&gt;
|-&lt;br /&gt;
| 6f-74&lt;br /&gt;
| 6&lt;br /&gt;
| 6 multimode bytes (note 1b)&lt;br /&gt;
|-&lt;br /&gt;
| 75-ff&lt;br /&gt;
| x&lt;br /&gt;
| (not used)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes  ==&lt;br /&gt;
&lt;br /&gt;
1. If standard CPC raster interrupts are used, interrupts are acknowledged and &amp;quot;executed&amp;quot; at the time they are requested, then there will be 6 interrupts executed per screen update cycle. &lt;br /&gt;
&lt;br /&gt;
*CPCEMU uses a simple system to emulate the interrupts. It is assumed there are exactly 6 interrupts per screen update cycle (the interrupts are assumed to occur at a frequency of 300Hz). This byte records the interrupt number in the current screen update cycle. More accurate emulators use the correct interrupt generation method and may ignore this byte. For CPCEMU compatibility, these emulators should set this byte to &amp;quot;0&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*CPCEMU uses a simple system to emulate the screen display. It allows the mode to be changed in each of the 6 interrupts that occur during a single 50Hz/60Hz period. These bytes represent the mode in each of these sections, i.e. the screen modes (0,1 or 2) for the interrupts 0..5. More accurate emulators support changing of the screen mode at any point supported by the Amstrad hardware, these emulators should write &amp;quot;0&amp;quot; for all these bytes.&lt;br /&gt;
&lt;br /&gt;
2. A version 2 snapshot describes Dk'Tronics/Dobbertin compatible RAM in addition to the 64KB base ram. This is a type of RAM expansion which uses the same port and paging mechanism as the extra 64KB inside the 6128. However, the RAM *MUST* be continuous, therefore it's limited to 64KB, 256KB or 512KB additional RAM. The Dk'Tronics silicon disk can't be described on it's own because it's RAM configurations do not start at C4.&lt;br /&gt;
&lt;br /&gt;
The following configurations can be described:&lt;br /&gt;
* 64KB base + 64KB extra RAM (e.g. Dk'Tronics 64KB RAM Expansion)&lt;br /&gt;
* 64KB base + 256KB extra RAM (e.g. Dk'Tronics 256KB RAM Expansion)&lt;br /&gt;
* 64KB base + 512KB extra RAM (e.g. Dk'Tronics 256KB RAM Expansion &amp;amp; Dk'Tronics 256KB Silicon Disk OR X-MEM OR Symbiface 2 OR other device which provides 512KB)&lt;br /&gt;
&lt;br /&gt;
JavaCPC uses this value to store up to 4MB of RAM. (e.g. [[CPC4MB]]). This type of ram is Dk'Tronics compatible and has multiple banks of 512KB. This value could be used to describe a 1MB or 2MB expansion as long as it is fully Dk'tronics compatible (e.g. rpalmer's 2MB).&lt;br /&gt;
&lt;br /&gt;
3. JavaCPC uses e0-ff to store an emulator ID (see snapshot V3 for more details)&lt;br /&gt;
&lt;br /&gt;
= Changes and additions in Version 3 from Version 2  =&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 1&lt;br /&gt;
| snapshot version (3)&lt;br /&gt;
|-&lt;br /&gt;
| 6d&lt;br /&gt;
| 1&lt;br /&gt;
| CPC Type: &lt;br /&gt;
*0 = CPC464 &lt;br /&gt;
*1 = CPC664 &lt;br /&gt;
*2 = CPC6128 &lt;br /&gt;
*3 = unknown &lt;br /&gt;
*4 = 6128 Plus &lt;br /&gt;
*5 = 464 Plus &lt;br /&gt;
*6 = GX4000&lt;br /&gt;
|-&lt;br /&gt;
| 75&lt;br /&gt;
| n&lt;br /&gt;
| Disc drive A filename (No$CPC only)&lt;br /&gt;
|-&lt;br /&gt;
| 99&lt;br /&gt;
| 1&lt;br /&gt;
| Monitor VHold Value (-45 to +85)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9a&lt;br /&gt;
| 1&lt;br /&gt;
| Memory Expansion Enable (when Bit 7 is set)&lt;br /&gt;
*Bit 0 = 128K memory (Banks C4..C7)&lt;br /&gt;
*Bit 1 = 256K memory (Banks C4..DF)&lt;br /&gt;
*Bit 2 = 256K silicon disc (Banks E4..FF)&lt;br /&gt;
*Bit 3 = 4M expansion&lt;br /&gt;
*Bit 7 = Always set if this is valid &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9b&lt;br /&gt;
| 1&lt;br /&gt;
| Fast Disc emulation mode (0=off, 1=on) (WinAPE)&lt;br /&gt;
|-&lt;br /&gt;
| 9c&lt;br /&gt;
| 1&lt;br /&gt;
| FDD motor drive state (0=off, 1=on)&lt;br /&gt;
|-&lt;br /&gt;
| 9d-a0&lt;br /&gt;
| 4&lt;br /&gt;
| FDD current physical track (note 15)&lt;br /&gt;
|-&lt;br /&gt;
| a1&lt;br /&gt;
| 1&lt;br /&gt;
| Printer Data/Strobe Register (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| a2-a3&lt;br /&gt;
| 2&lt;br /&gt;
| Current frame scan line since monitor retrace (note16)&lt;br /&gt;
|-&lt;br /&gt;
| a4&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC type: &lt;br /&gt;
*0 = HD6845S/UM6845 &lt;br /&gt;
*1 = UM6845R &lt;br /&gt;
*2 = MC6845 &lt;br /&gt;
*3 = 6845 in CPC+ ASIC &lt;br /&gt;
*4 = 6845 in Pre-ASIC&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| a9&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC horizontal character counter register (note 11)&lt;br /&gt;
|-&lt;br /&gt;
| aa&lt;br /&gt;
| 1&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| ab&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC character-line counter register (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| ac&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC raster-line counter register (note 3)&lt;br /&gt;
|-&lt;br /&gt;
| ad&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC vertical total adjust counter register (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| ae&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC horizontal sync width counter (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| af&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC vertical sync width counter (note 6)&lt;br /&gt;
|-&lt;br /&gt;
| b0-b1&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Bit''&lt;br /&gt;
| ''Function''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| if &amp;quot;1&amp;quot; VSYNC is active, if &amp;quot;0&amp;quot; VSYNC is inactive (note 8)&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| if &amp;quot;1&amp;quot; HSYNC is active, if &amp;quot;0&amp;quot; HSYNC is inactive (note 9)&lt;br /&gt;
|-&lt;br /&gt;
| 2-6&lt;br /&gt;
| reserved&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| if &amp;quot;1&amp;quot; Vertical Total Adjust is active, if &amp;quot;0&amp;quot; Vertical Total Adjust is inactive (note 10)&lt;br /&gt;
|-&lt;br /&gt;
| 8-14&lt;br /&gt;
| Reserved (0)&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| if &amp;quot;1&amp;quot; use extended Interrupt Control Status Register (WinAPE)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| b2&lt;br /&gt;
| 1&lt;br /&gt;
| GA vsync delay counter (note 14)&lt;br /&gt;
|-&lt;br /&gt;
| b3&lt;br /&gt;
| 1&lt;br /&gt;
| GA interrupt scanline counter (note 12)&lt;br /&gt;
|-&lt;br /&gt;
| b4&lt;br /&gt;
| 1&lt;br /&gt;
| interrupt request flag (0=no interrupt requested, 1=interrupt requested) (note 13)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| b5&lt;br /&gt;
| 1&lt;br /&gt;
| Interrupt Control Status Register (WinAPE) (note 17)&lt;br /&gt;
|-&lt;br /&gt;
| b6&lt;br /&gt;
| 1&lt;br /&gt;
| Plus features disabled (0=enabled, 1=disabled)&lt;br /&gt;
|-&lt;br /&gt;
| b7&lt;br /&gt;
| 1&lt;br /&gt;
| Plus PPI Emulation (0=Standard 8255 emulation, 1=Plus PPI emulation)&lt;br /&gt;
|-&lt;br /&gt;
| b8-df&lt;br /&gt;
| 28&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| e0&lt;br /&gt;
| 20&lt;br /&gt;
| Emulator ID String&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes  ==&lt;br /&gt;
&lt;br /&gt;
1. This byte in the snapshot represents the last byte written to the printer I/O port (this byte does not include the automatic inversion of the strobe caused by the Amstrad hardware). &lt;br /&gt;
&lt;br /&gt;
2. This register is internal to the CRTC and counts the number of character-lines. The counter counts up. This value is in the range 0-127. (This counter is compared against CRTC register 4). &lt;br /&gt;
&lt;br /&gt;
3. This register is internal to the CRTC and counts the number of raster-lines. The counter counts up. This value is in the range 0-31. (This counter is compared against CRTC register 9). &lt;br /&gt;
&lt;br /&gt;
4. This register is internal to the CRTC and counts the number of raster-lines during vertical adjust. The counter counts up. This value is in the range 0-31. This should be ignored if the CRTC is not &amp;quot;executing&amp;quot; vertical. adjust.(This counter is compared against CRTC register 5). &lt;br /&gt;
&lt;br /&gt;
5. This register is internal to the CRTC and counts the number of characters during horizontal sync. This counter counts up. This value is in the range 0-16. This should be ignored if the CRTC is not &amp;quot;executing&amp;quot; horizontal sync. (This counter is compared against CRTC register 3). &lt;br /&gt;
&lt;br /&gt;
6. This register is internal to the CRTC and counts the number of scan-lines during vertical sync. This counter counts up. This value is in the range 0-16. This should be ignored if the CRTC is not &amp;quot;executing&amp;quot; vertical sync. (This counter is compared against CRTC register 3). &lt;br /&gt;
&lt;br /&gt;
7. These bytes define the internal state of the CRTC. Each bit in these bytes represents a state. &lt;br /&gt;
&lt;br /&gt;
8. When VSYNC is active, the CRTC is &amp;quot;executing&amp;quot; vertical sync, and the vertical sync width counter in the snapshot is used. &lt;br /&gt;
&lt;br /&gt;
9. When HSYNC is active, the CRTC is &amp;quot;executing&amp;quot; horizontal sync width counter in the snapshot is used. &lt;br /&gt;
&lt;br /&gt;
10. When Vertical total adjust is active, the CRTC is &amp;quot;executing&amp;quot; vertical total adjust and the vertical total adjust counter in the snapshot is used. &lt;br /&gt;
&lt;br /&gt;
11. This register is internal to the CRTC and counts the number of characters. This counter counts up. This value is in the range 0-255. (This counter is compared against CRTC register 0). &lt;br /&gt;
&lt;br /&gt;
12. This counter is internal to the GA and counts the number of HSYNCs. This counter is used to generate CPC raster interrupts. This counter counts up. This value is in the range 0-51. &lt;br /&gt;
&lt;br /&gt;
13. This flag is &amp;quot;1&amp;quot; if a interrupt request has been sent to the Z80 and it has not yet been acknowledged by the Z80. (A interrupt request is sent by the GA for standard CPC raster interrupts or by the ASIC for raster or dma interrupts). &lt;br /&gt;
&lt;br /&gt;
14. This is a counter internal to the GA and counts the number of HSYNCs since the start of the VSYNC and it is used to reset the interrupt counter to synchronise interrupts with the VSYNC. This counter counts up. This value is between 0 and 2. If this value is 0, the counter is inactive. If this counter is 1 or 2 the counter is active.&lt;br /&gt;
&lt;br /&gt;
15. This is the current cylinder for each of 4 drives.&lt;br /&gt;
&lt;br /&gt;
16. In WinAPE this counter is reset if a VSYNC occurs which causes the monitor to retrace vertically. This occurs if the VSYNC signal is active and this counter is greater than a threshold set by the V-Hold (normally 295 when V-Hold is 0), or if the counter reaches the maximum value (normally 351 when V-Hold is 0).&lt;br /&gt;
&lt;br /&gt;
17. Since Plus emulation requires more information than simply whether an interrupt is active, this value (as used internally by WinAPE) contains: &lt;br /&gt;
* Bit 7 - Gate Array (or PRI) interrupt. &lt;br /&gt;
* Bit 6 - DMA Channel 0 interrupt. &lt;br /&gt;
* Bit 5 - DMA Channel 1 interrupt. &lt;br /&gt;
* Bit 4 - DMA Channel 2 interrupt. &lt;br /&gt;
&lt;br /&gt;
It can be a combination of all or any interrupt sources. Interrupts are executed in the order raster, DMA 2, DMA 1, DMA 0.&lt;br /&gt;
&lt;br /&gt;
Immediately following the memory dump there is optional data which is separated into chunks. &lt;br /&gt;
&lt;br /&gt;
Each chunk of data has a header and this is followed by the data in the chunk. The header has the following format: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 4&lt;br /&gt;
| Chunk name (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| Chunk data length (note 2)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes: &lt;br /&gt;
&lt;br /&gt;
1. The chunks are defined with 4-byte character codes. (e.g. &amp;quot;CPC+&amp;quot;). In this example, the 4-byte character code would be stored in the file as 'C' then 'P' then 'C' then '+'. &lt;br /&gt;
&lt;br /&gt;
2. The &amp;quot;Chunk data length&amp;quot; defines the length of data following the header and does not include the size of the header. This number is stored in little endian format. &lt;br /&gt;
&lt;br /&gt;
3. If a emulator finds a chunk which it does not support then it should skip the chunk and continue with the next chunk in the file. Therefore an emulator author may add emulator specific chunks to the file and it will not prevent the snapshot from being used with other emulators that do not recognise the added chunks. &lt;br /&gt;
&lt;br /&gt;
4. There is not a terminator chunk. The snapshot reader should determine if there are more chunks based on the size of data remaining to be read from the file. &lt;br /&gt;
&lt;br /&gt;
=Version 3 Chunks=&lt;br /&gt;
&lt;br /&gt;
The following chunks are currently defined: &lt;br /&gt;
&lt;br /&gt;
== DSCA,DSCB ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by WinAPE and ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
The DSCA block contains the filename of the disc image inserted into drive A. The filename is stored as 8-bit ASCII (any Unicode characters with codes 0x100 or above will be translated to ? and therefore filenames with these characters can't be stored in Snapshots). The length of the block is the length of the filename in bytes.&lt;br /&gt;
&lt;br /&gt;
DSCB is similar to DSCA but stores the filename of the disc image inserted into drive B.&lt;br /&gt;
&lt;br /&gt;
== TAPE ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
The TAPE block contains the filename of the tape image inserted. The filename is stored as 8-bit ASCII (any Unicode characters with codes 0x100 or above will be translated to ? and therefore filenames with these characters can't be stored in Snapshots). The length of the block is the length of the filename in bytes.&lt;br /&gt;
&lt;br /&gt;
== ROMS ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by WinAPE and ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
This block contains a list of filenames for each ROM (and cartridge) that is defined. The length of the block is the length for all strings.&lt;br /&gt;
&lt;br /&gt;
If a ROM is not defined, a single NUL (0) byte is present, otherwise there is a null terminated 8-bit ASCII string.&lt;br /&gt;
&lt;br /&gt;
First in the list is the filename (or internal name) for the cartridge (prefixed with a 'A' character), followed by lower rom and then upper roms 0-31 (WinAPE) or 0-255 (ACE).&lt;br /&gt;
&lt;br /&gt;
WinAPE lists internal ROMs by their internal name (the name listed in the drop down when you configure the roms, e.g. OS464).&lt;br /&gt;
ACE always put the actual file name, even for internal ROMs (e.g. System/Firmware_v3.rom).&lt;br /&gt;
&lt;br /&gt;
After the list of the upper ROMs, ACE also put the names of the internal Basic and AMSDOS ROMs.&lt;br /&gt;
Then, the presence of the &amp;quot;CartridgeKeepExtROM&amp;quot; let ACE know if the cartridge ROMs should disable installed external upper ROMs or not (depending on user preferences).&lt;br /&gt;
&lt;br /&gt;
NOTE: The selected Multiface ROM is not saved in the snapshot.&lt;br /&gt;
&lt;br /&gt;
== INFO ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by No$CPC. It contains an 8-bit ASCII string with the version information for No$CPC.&lt;br /&gt;
&lt;br /&gt;
== MEM0-8 ==&lt;br /&gt;
&lt;br /&gt;
The MEM0-8 chunks contain at most 64KB of data. The data may be compressed or stored uncompressed. If the size is exactly 65536 bytes the data is uncompressed, otherwise it is compressed. Up to 512KB additional RAM can be stored in a snapshot. &lt;br /&gt;
&lt;br /&gt;
The compression scheme is RLE with 0x0e5 as the control byte.&lt;br /&gt;
&lt;br /&gt;
Data is encoded as:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;byte&amp;gt; for a single occurrence of a byte (not 0x0e5) (e.g. 0x013)&lt;br /&gt;
* 0x0e5,&amp;lt;count&amp;gt;,&amp;lt;byte&amp;gt; for multiple occurances of a byte (e. 0x0e5,0x04,0x013 for 0x013 repeated 4 times)&lt;br /&gt;
* 0x0e5,0 for a single 0x0e5 byte (e.g. 0x0e5)&lt;br /&gt;
&lt;br /&gt;
The blocks are:&lt;br /&gt;
&lt;br /&gt;
* MEM0 - main 64KB ram&lt;br /&gt;
* MEM1 - c4,c5,c6,c7 configurations (extra 64KB ram in 128KB machines) (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM2 - cc,cd,ce,cf configurations (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM3 - d4,d5,d6,d7 configurations (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM4 - dc,dd,de,df configurations (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM5 - e4,e5,e6,e7 configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
* MEM6 - ec,ed,ee,ef configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
* MEM7 - f4,f5,f6,f7 configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
* MEM8 - fc,fd,fe,ff configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
1. A snapshot may contain a mix of &amp;quot;standard&amp;quot; memory data (e.g. the data follows the header and is uncompressed) and additional MEM blocks as required.&lt;br /&gt;
&lt;br /&gt;
2. If the snapshot is not compressed, then up to 128KB will be stored as &amp;quot;standard&amp;quot; memory data, the additional RAM stored in MEM2-MEM8 blocks.&lt;br /&gt;
&lt;br /&gt;
3. If the snapshot is compressed, then the &amp;quot;standard&amp;quot; memory data will have 0 size and there will be a MEM0 in addition to the additional memory blocks.&lt;br /&gt;
&lt;br /&gt;
4. Version 3 doesn't require memory to be continuous. A Dk'tronics silicon disk on it's own can be described with this version.&lt;br /&gt;
&lt;br /&gt;
5. WinAPE allows a 4MB RAM expansion to be enabled but doesn't save the additional RAM in the snapshot.&lt;br /&gt;
&lt;br /&gt;
6. ACE can save additional memory in snapshots (up to 4MB) using the MX?? chunks.&lt;br /&gt;
&lt;br /&gt;
== MX09-40 ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE.&lt;br /&gt;
&lt;br /&gt;
MX?? chunks allow snapshots to store up to 4160KB ram.&lt;br /&gt;
&lt;br /&gt;
MX?? chunks are following MEM0-8 chunks. They are numbered from 09 to 40 (hexadecimal numbering).&lt;br /&gt;
Information are stored compressed like in MEM0-8 chunks.&lt;br /&gt;
&lt;br /&gt;
== CPC+  ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by Arnold, Winape, No$CPC and ACE. Arnold, Winape and ACE will save the block when Plus configuration enabled. No$CPC will save the block if the Plus features have been unlocked.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Addr in ASIC register-ram''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 000-7FF&lt;br /&gt;
| 800&lt;br /&gt;
| 4000-4FFF&lt;br /&gt;
| Sprite Bitmaps (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 800-87F&lt;br /&gt;
| 8*16&lt;br /&gt;
| 6000-607F&lt;br /&gt;
| Sprite Attributes (see below) (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 880-8BF&lt;br /&gt;
| 32*2&lt;br /&gt;
| 6400-643F&lt;br /&gt;
| Palettes (note 3)&lt;br /&gt;
|-&lt;br /&gt;
| 8C0&lt;br /&gt;
| 1&lt;br /&gt;
| 6800&lt;br /&gt;
| Programmable Raster Interrupt (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C1&lt;br /&gt;
| 1&lt;br /&gt;
| 6801&lt;br /&gt;
| Screen split scan-line (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C2&lt;br /&gt;
| 2&lt;br /&gt;
| 6802-6803&lt;br /&gt;
| Screen split secondary screen-address (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C4&lt;br /&gt;
| 1&lt;br /&gt;
| 6804&lt;br /&gt;
| Soft scroll control register (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C5&lt;br /&gt;
| 1&lt;br /&gt;
| 6805&lt;br /&gt;
| Interrupt vector (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C6&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| gate array A0 register value (note 8a) &lt;br /&gt;
|-&lt;br /&gt;
| 8C6-8C7&lt;br /&gt;
| 1&lt;br /&gt;
| -&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| 8C8-8CF&lt;br /&gt;
| 8&lt;br /&gt;
| 6808-680f&lt;br /&gt;
| Analogue input channels 0-7 (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 8D0-8DB&lt;br /&gt;
| 3*4&lt;br /&gt;
| 6C00-6C0B&lt;br /&gt;
| Sound DMA channel attributes 0-2 (see below) (note 6)&lt;br /&gt;
|-&lt;br /&gt;
| 8DC-8DE&lt;br /&gt;
| 3&lt;br /&gt;
| -&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| 8DF&lt;br /&gt;
| 1&lt;br /&gt;
| 6C0F&lt;br /&gt;
| DMA Control/Status (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8E0-8F4&lt;br /&gt;
| 3*7&lt;br /&gt;
| Internal&lt;br /&gt;
| DMA channel 0-2 internal registers (see below) (note 7)&lt;br /&gt;
|-&lt;br /&gt;
| 8F5&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| gate array A0 register value (note 8b)&lt;br /&gt;
|-&lt;br /&gt;
| 8F6&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| gate array A0 lock: 0 -&amp;gt; locked, !=0 -&amp;gt; unlocked (note 9)&lt;br /&gt;
|-&lt;br /&gt;
| 8F7&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| ASIC unlock sequence state (note 10)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes  ===&lt;br /&gt;
&lt;br /&gt;
1. The sprite data is packed, with two sprite pixels per byte. Bits 7..4 define the first pixel and bits 3..0 define the second pixel. &lt;br /&gt;
&lt;br /&gt;
2. The attributes for each sprite take 8 bytes. Each attribute block has the following format: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 2&lt;br /&gt;
| Sprite X (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| Sprite Y (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| Sprite Magnification (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 5-7&lt;br /&gt;
| 3&lt;br /&gt;
| unused (0)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: the Sprite X, Y and magnification are in the same order as the ASIC registers &lt;br /&gt;
&lt;br /&gt;
3. This is a direct copy of the palette in CPC+ ASIC Ram. There are 32 colours each with 2-bytes per colour. &lt;br /&gt;
&lt;br /&gt;
4. These bytes in the snapshot represent the last value written to these ASIC registers. &lt;br /&gt;
&lt;br /&gt;
5. These bytes represent the inputs to the analogue channels. &lt;br /&gt;
&lt;br /&gt;
6. The attributes for each DMA channel take 4 bytes. Each attribute block has the following format: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 2&lt;br /&gt;
| DMA Channel address (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 1&lt;br /&gt;
| DMA Channel prescalar (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 1&lt;br /&gt;
| unused (0)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: the DMA address and prescalar are in the same order as the ASIC registers. &lt;br /&gt;
&lt;br /&gt;
7 These registers are internal to the CPC+ and define the current DMA operation: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 2&lt;br /&gt;
| loop counter (note a)&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| loop address (note b)&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| pause count (note c)&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| 1&lt;br /&gt;
| pause prescalar count (note d)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
a. This value represents the number of loops remaining. 0 = none. This count is between 0..0FFF. This counter counts down. &lt;br /&gt;
&lt;br /&gt;
b. This is the Amstrad memory address to loop back to. It is a pointer to the DMA instruction after the last REPEAT instruction. &lt;br /&gt;
&lt;br /&gt;
c. This value represents the pause count and the count is between 0...0FFF. (TO BE CHECKED: down counter? what exactly does it represent) &lt;br /&gt;
&lt;br /&gt;
d. This value represents the pause prescalar count and the count is between 0..FF. (TO BE CHECKED: down counter? what exactly does it represent) &lt;br /&gt;
&lt;br /&gt;
8. This value represents the last value written to this I/O port. Winape uses 8a and not 8b. This value has bits 7,6,5 set to 1,0 and 1 respectively. 8b is in the original specification and is written by both ACE and No$CPC.&lt;br /&gt;
&lt;br /&gt;
9. This value represents the lock status of RMR2. If locked, RMR2 can't be accessed otherwise it can.&lt;br /&gt;
&lt;br /&gt;
10. This value represents the current unlock sequence state. &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''State ID''&lt;br /&gt;
| ''Synchronised State''&lt;br /&gt;
| ''Note''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| Not synchronised&lt;br /&gt;
| ASIC is waiting for first non-zero byte to be written, this is the first synchronisation byte required&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Not synchronised&lt;br /&gt;
| ASIC is waiting for zero byte to be written, this is the second synchronisation byte required&lt;br /&gt;
|-&lt;br /&gt;
| 2..10&lt;br /&gt;
| synchronised&lt;br /&gt;
| ASIC is waiting for byte from unlock sequence. e.g. if &amp;quot;2&amp;quot;, ASIC is waiting for &amp;amp;amp;FF, the first byte of the unlock sequence. if &amp;quot;3&amp;quot; ASIC is waiting for &amp;amp;amp;77, the second byte of the unlock sequence.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== BRKC ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by ACE when some breakpoints are set. When loading a snapshot, the breakpoints found in this chunk are added to the one already installed.&lt;br /&gt;
The number of stored breakpoints in the chunk is given by the chunk size divided by 216 (the size on one breakpoint data structure).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint type (0:Execution, 1:Memory, 2:I/O port)&lt;br /&gt;
|-&lt;br /&gt;
| 01&lt;br /&gt;
| 1&lt;br /&gt;
| Memory access mode (0:R/W, 1:R/O, 2:W/O)&lt;br /&gt;
|-&lt;br /&gt;
| 02&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint runtime mode (0:Break, 1:Watch)&lt;br /&gt;
|-&lt;br /&gt;
| 03&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint map type (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 04&lt;br /&gt;
| 2&lt;br /&gt;
| Breakable memory/port (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 06&lt;br /&gt;
| 2&lt;br /&gt;
| Breakable memory/port mask (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 08&lt;br /&gt;
| 1&lt;br /&gt;
| Match value&lt;br /&gt;
|-&lt;br /&gt;
| 09&lt;br /&gt;
| 1&lt;br /&gt;
| Match value mask&lt;br /&gt;
|-&lt;br /&gt;
| 0A&lt;br /&gt;
| 2&lt;br /&gt;
| Breakable memory size (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 0C&lt;br /&gt;
| 4&lt;br /&gt;
| Breakpoint activation step (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 128&lt;br /&gt;
| Breakpoint condition to match (NULL terminated string) (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 90&lt;br /&gt;
| 64&lt;br /&gt;
| Breakpoint user name (NULL terminated string)&lt;br /&gt;
|-&lt;br /&gt;
| D0&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint map bank (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| D1&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint map page (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| D2&lt;br /&gt;
| 6&lt;br /&gt;
| Reserved&lt;br /&gt;
|-&lt;br /&gt;
| D8&lt;br /&gt;
| ...&lt;br /&gt;
| Same sequence repeated for each breakpoint&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
&lt;br /&gt;
1. The condition is expressed using ACE syntax (similar to BASIC with AND/OR/XOR/NOT/+/-/=...).&lt;br /&gt;
Allowed additional syntaxes are:&lt;br /&gt;
*&amp;amp;, # or 0x for a hexadecimal number.&lt;br /&gt;
*% or &amp;amp;x for a binary number.&lt;br /&gt;
*AF, BC, HL, IX... for a 16-bit Z80 register.&lt;br /&gt;
*A, B, D, IXh, IXl... for an 8-bit Z80 register.&lt;br /&gt;
*FlagC, FlagNC, FlagM... for a Z80 flag.&lt;br /&gt;
*LineCount for the line number.&lt;br /&gt;
*LineCycle for the µs count on the current line.&lt;br /&gt;
*MemPage for the 64K expansion memory page (0-63).&lt;br /&gt;
*MemBankMode for the 16K expansion memory bank paging mode (0-7).&lt;br /&gt;
*UpperROMOn for the paging state of the upper ROM.&lt;br /&gt;
*UpperROMNum for the selected upper ROM number.&lt;br /&gt;
*LowerROMOn for the paging state of the lower ROM.&lt;br /&gt;
*LowerROMNum for the selected lower ROM number.&lt;br /&gt;
*ASICPageOn for the paging state of the I/O ASIC registers page.&lt;br /&gt;
&lt;br /&gt;
''Example : FlagC AND (HL=DE OR HL=&amp;amp;5000)''&lt;br /&gt;
&lt;br /&gt;
2. The map type determines the memory layout for which the breakpoint is valid.&lt;br /&gt;
The meaning of the values for map bank and map page depends on the map type value.&lt;br /&gt;
Possible values fir map type are:&lt;br /&gt;
* 0: Undefined. Map bank and page are ignored (always 0).&lt;br /&gt;
* 1: Main RAM. If map bank is 0, then linear main RAM is considered. If map bank is 1, then main RAM from &amp;amp;c000-&amp;amp;ffff mapped as &amp;amp;4000-&amp;amp;7fff is considered. Map page is ignored (always 0). &lt;br /&gt;
* 2: Extension RAM. Map bank is the 16K extension bank number (0-3). Map page is the 64K extension page number (0-31).&lt;br /&gt;
* 3: Extension ROM. Map bank is the ROM slot id (0-255). Map page is ignored (always 0).&lt;br /&gt;
* 4: Firmware ROM. Map bank and page are ignored (always 0).&lt;br /&gt;
* 5: Cartridge ROM. Map bank is the 16K ROM bank number (0-31). Map page is ignored (always 0).&lt;br /&gt;
* 6: ASIC I/O Page. Map bank and page are ignored (always 0).&lt;br /&gt;
&lt;br /&gt;
== SYMB ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by ACE when some symbols are declared. When loading a snapshot, the symbols found in this chunk are added to the alreading existing ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 1&lt;br /&gt;
| Length on the symbol name (n). 0 is an invalid value.&lt;br /&gt;
|-&lt;br /&gt;
| 01&lt;br /&gt;
| n&lt;br /&gt;
| Symbol name (note 1).&lt;br /&gt;
|-&lt;br /&gt;
| n+1&lt;br /&gt;
| 1&lt;br /&gt;
| Symbol memory map type (note 2).&lt;br /&gt;
|-&lt;br /&gt;
| n+2&lt;br /&gt;
| 1&lt;br /&gt;
| Symbol memory map bank (note 2).&lt;br /&gt;
|-&lt;br /&gt;
| n+3&lt;br /&gt;
| 1&lt;br /&gt;
| Symbol memory map page (note 2).&lt;br /&gt;
|-&lt;br /&gt;
| n+4&lt;br /&gt;
| 2&lt;br /&gt;
| Reserved for future usage, always 0 for now.&lt;br /&gt;
|-&lt;br /&gt;
| n+6&lt;br /&gt;
| 1&lt;br /&gt;
| Symbol type (0: absolute, 1: relative).&lt;br /&gt;
|-&lt;br /&gt;
| n+7&lt;br /&gt;
| 2&lt;br /&gt;
| Address of the symbol (MSB first).&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
| Same sequence repeated until the end of the chunk is reached.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
&lt;br /&gt;
1. Symbol are (obviously) limited to 255 characters, cannot begin with a number (0-9), and only a limited set of ASCII char is allowed (a-z, A-Z, 0-9, _).&lt;br /&gt;
2. The map type determines the memory layout for which the symbol is valid. The meaning of the values for map bank and map page depends on the map type value.&lt;br /&gt;
Possible values fir map type are:&lt;br /&gt;
* 0: Undefined. Map bank and page are ignored (always 0).&lt;br /&gt;
* 1: Main RAM. If map bank is 0, then linear main RAM is considered. If map bank is 1, then main RAM from &amp;amp;c000-&amp;amp;ffff mapped as &amp;amp;4000-&amp;amp;7fff is considered. Map page is ignored (always 0). &lt;br /&gt;
* 2: Extension RAM. Map bank is the 16K extension bank number (0-3). Map page is the 64K extension page number (0-31).&lt;br /&gt;
* 3: Extension ROM. Map bank is the ROM slot id (0-255). Map page is ignored (always 0).&lt;br /&gt;
* 4: Firmware ROM. Map bank and page are ignored (always 0).&lt;br /&gt;
* 5: Cartridge ROM. Map bank is the 16K ROM bank number (0-31). Map page is ignored (always 0).&lt;br /&gt;
* 6: ASIC I/O Page. Map bank and page are ignored (always 0).&lt;br /&gt;
&lt;br /&gt;
== BRKS ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by WinAPE when some breakpoints are set.&lt;br /&gt;
ACE can import breakpoints from this chunk but won't create it (BRKC is used instead).&lt;br /&gt;
&lt;br /&gt;
The chunk contains 1 or more breakpoints.&lt;br /&gt;
&lt;br /&gt;
Each breakpoint has the form:&lt;br /&gt;
  * 2 bytes: address (LSB first)&lt;br /&gt;
  * 1 byte: location (0: base 64K RAM, 1: extended RAM)&lt;br /&gt;
  * 2 bytes: condition (?)&lt;br /&gt;
&lt;br /&gt;
== WABP ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by WinAPE when some breakpoints are set. &lt;br /&gt;
The exact details are begin worked out.&lt;br /&gt;
&lt;br /&gt;
It seems to be:&lt;br /&gt;
&lt;br /&gt;
4 bytes - number of user breakpoints&lt;br /&gt;
&lt;br /&gt;
Each user breakpoint:&lt;br /&gt;
&lt;br /&gt;
type,&lt;br /&gt;
4 byte address&lt;br /&gt;
&lt;br /&gt;
Then,  4 bytes - number of memory breakpoints&lt;br /&gt;
&lt;br /&gt;
Each memory breakpoint:&lt;br /&gt;
&lt;br /&gt;
Then, 4 bytes - number of i/o breakpoints:&lt;br /&gt;
&lt;br /&gt;
Each i/o breakpoint:&lt;br /&gt;
&lt;br /&gt;
 2 bytes flags? (6000 read, a400 write)&lt;br /&gt;
 2 bytes port addr mask&lt;br /&gt;
 2 bytes port addr&lt;br /&gt;
 4 bytes counter&lt;br /&gt;
 4 bytes condition string length, followed by condition string (not null terminated)&lt;br /&gt;
&lt;br /&gt;
== DARS ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by WinAPE when some data areas are set. &lt;br /&gt;
&lt;br /&gt;
The number of stored data areas in the chunk is given by the chunk size divided by 10 (the size of one data area data structure).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 4&lt;br /&gt;
| Address (LSB first) (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 04&lt;br /&gt;
| 4&lt;br /&gt;
| Area size (LSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 08&lt;br /&gt;
| 1&lt;br /&gt;
| Data type (0=byte,1=word)&lt;br /&gt;
|-&lt;br /&gt;
| 09&lt;br /&gt;
| 1&lt;br /&gt;
| Labels (1=marked by user as having labels)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
1. Winape's addressing scheme is 4 bytes. The upper 16-bits effectively define the internal 64KB pages it uses.&lt;br /&gt;
&lt;br /&gt;
== REMU ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written RASM and contains information about symbols and breakpoints.&lt;br /&gt;
ACE will import informations from this chunk but won't write it (SYMB and BRKC are used instead).&lt;br /&gt;
&lt;br /&gt;
== RM00-FF ==&lt;br /&gt;
&lt;br /&gt;
This chunk was introduced by RASM and is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
The RM00-FF chunks contain at most 16KB of data representing the contents of the related external upper ROMs number. The data may be compressed or stored uncompressed. If the size is exactly 16384 bytes the data is uncompressed, otherwise it is compressed. Up to 2MB of external upper ROMs can be stored in a snapshot. &lt;br /&gt;
&lt;br /&gt;
The compression scheme is identical to the one from MEM0-7 chunks.&lt;br /&gt;
&lt;br /&gt;
== LOWR ==&lt;br /&gt;
&lt;br /&gt;
This chunk was introduced by RASM and is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
It is similar to the RM00-FF chunks but stored the internal firmware ROM contents.&lt;br /&gt;
&lt;br /&gt;
== BASR ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
It is similar to the RM00-FF chunks but stored the internal Basic ROM contents.&lt;br /&gt;
&lt;br /&gt;
== DOSR ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
It is similar to the RM00-FF chunks but stored the internal AMSDOS ROM contents.&lt;br /&gt;
&lt;br /&gt;
== CART ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
It stores the contents of the inserted cartridge ROM. Extended cartridges are also supported.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 1&lt;br /&gt;
| Type of compression (0: uncompressed, &amp;amp;5E: RLE compressed)&lt;br /&gt;
|-&lt;br /&gt;
| 01&lt;br /&gt;
| 4&lt;br /&gt;
| Physical size of the cartridge in bytes, must be 16, 32, 64, 128, 256 or 512KB (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 05&lt;br /&gt;
| 2&lt;br /&gt;
| Number of cartridges, 1: for normal cartridges, extended cartridges otherwise (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 07&lt;br /&gt;
| 2&lt;br /&gt;
| Flags, bit 0 set if the external upper ROMs must be disabled, other bits set to 0 (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 09&lt;br /&gt;
| x&lt;br /&gt;
| Cartridge data contents (either compressed or not depending on type of compression)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== PLUG ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
This chunk stores the names of the plugins which should be enabled for the snapshot.&lt;br /&gt;
&lt;br /&gt;
All names are stored one after the other, in the form of binary strings (first byte containing the plugin name length followed by the the actual string).&lt;br /&gt;
The names stored are the actual names of the plugins libraries (e.g. &amp;quot;multiface2.acepansion&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
[[Snapshot Archive]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Programming]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Snapshot&amp;diff=113799</id>
		<title>Snapshot</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Snapshot&amp;diff=113799"/>
				<updated>2024-01-02T21:20:06Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Snapshot (.SNA) file format  =&lt;br /&gt;
&lt;br /&gt;
The format was first defined for the [[CPCEMU|CPCEMU]] emulator but is now widely supported. The format was originally defined by [[Marco Vieth|Marco Vieth]]. Version 3 was defined by [[Ulrich Doewich|Ulrich Doewich]], [[Martin Korth|Martin Korth]], [[Richard Wilson|Richard Wilson]] and [[Kevin Thacker|Kevin Thacker]]. &lt;br /&gt;
&lt;br /&gt;
There are 3 versions defined in this document. Version 3 is the most recent and is currently supported by a few of the most recent emulators. &lt;br /&gt;
&lt;br /&gt;
Snapshots produced with [[CPCE|CPCE]] appears to be the most compatible and will run correctly using any emulator.&lt;br /&gt;
&lt;br /&gt;
Abbreviations: &lt;br /&gt;
&lt;br /&gt;
*[[Gate Array|GA = &amp;quot;Gate Array&amp;quot;]] &lt;br /&gt;
*[[CRTC|CRTC = &amp;quot;6845 Cathode Ray Tube Controller&amp;quot;]] &lt;br /&gt;
*[[8255|PPI = &amp;quot;Intel 8255 Programmable Peripheral Interface&amp;quot;]] &lt;br /&gt;
*[[PSG|PSG = &amp;quot;AY-3-8912 Programmable Sound Generator&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
= Version 1  =&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00-07&lt;br /&gt;
| 8&lt;br /&gt;
| The identification string &amp;quot;MV - SNA&amp;quot;. This must exist for the snapshot to be valid.&lt;br /&gt;
|-&lt;br /&gt;
| 08-0f&lt;br /&gt;
| 8&lt;br /&gt;
| (not used; set to 0)&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 1&lt;br /&gt;
| snapshot version (1)&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register F&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register A&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register C&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register B&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register E&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register D&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register L&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register H&lt;br /&gt;
|-&lt;br /&gt;
| 19&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register R&lt;br /&gt;
|-&lt;br /&gt;
| 1a&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register I&lt;br /&gt;
|-&lt;br /&gt;
| 1b&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 interrupt flip-flop IFF0 (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 1c&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 interrupt flip-flop IFF1 (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 1d&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IX (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 1e&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IX (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 1f&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IY (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 20&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IY (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 21&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register SP (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 22&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register SP (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 23&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register PC (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 24&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register PC (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 25&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 interrupt mode (0,1,2) (note 3)&lt;br /&gt;
|-&lt;br /&gt;
| 26&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register F' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 27&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register A' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 28&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register C' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 29&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register B' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2a&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register E' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2b&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register D' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2c&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register L' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2d&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register H' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2e&lt;br /&gt;
| 1&lt;br /&gt;
| GA: index of selected pen (note 10)&lt;br /&gt;
|-&lt;br /&gt;
| 2f-3f&lt;br /&gt;
| 1&lt;br /&gt;
| GA: current palette (note 12)&lt;br /&gt;
|-&lt;br /&gt;
| 40&lt;br /&gt;
| 1&lt;br /&gt;
| GA: multi configuration (note 11)&lt;br /&gt;
|-&lt;br /&gt;
| 41&lt;br /&gt;
| 1&lt;br /&gt;
| current RAM configuration (note 13)&lt;br /&gt;
|-&lt;br /&gt;
| 42&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC: index of selected register (note 14)&lt;br /&gt;
|-&lt;br /&gt;
| 43-54&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC: register data (0..17) (note 15)&lt;br /&gt;
|-&lt;br /&gt;
| 55&lt;br /&gt;
| 1&lt;br /&gt;
| current ROM selection (note 16)&lt;br /&gt;
|-&lt;br /&gt;
| 56&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: port A (note 6)&lt;br /&gt;
|-&lt;br /&gt;
| 57&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: port B (note 7)&lt;br /&gt;
|-&lt;br /&gt;
| 58&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: port C (note 8)&lt;br /&gt;
|-&lt;br /&gt;
| 59&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: control port (note 9)&lt;br /&gt;
|-&lt;br /&gt;
| 5a&lt;br /&gt;
| 1&lt;br /&gt;
| PSG: index of selected register (note 17)&lt;br /&gt;
|-&lt;br /&gt;
| 5b-6a&lt;br /&gt;
| 1&lt;br /&gt;
| PSG: register data (0,1,....15)&lt;br /&gt;
|-&lt;br /&gt;
| 6b&lt;br /&gt;
| 2&lt;br /&gt;
| memory dump size in Kilobytes (e.g. 64 for 64K, 128 for 128k) (note 18)&lt;br /&gt;
|-&lt;br /&gt;
| 6d-ff&lt;br /&gt;
| 1&lt;br /&gt;
| not used set to 0&lt;br /&gt;
|-&lt;br /&gt;
| 100-...&lt;br /&gt;
| 1&lt;br /&gt;
| memory dump&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes  ==&lt;br /&gt;
&lt;br /&gt;
1. All multi-byte values are stored in little-endian format (low byte followed by higher bytes). &lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;IFF0&amp;quot; reflects the state of the maskable interrupt (INT). &amp;quot;IFF1&amp;quot; is used to store the state of IFF0 when a non-maskable interrupt (NMI) is executed. Bit 0 of these bytes is significant. For CPCEMU compatibility, these bytes should be set to &amp;quot;1&amp;quot; when the IFF flip-flop is &amp;quot;1&amp;quot; and &amp;quot;0&amp;quot; when the flip-flop is &amp;quot;0&amp;quot;. For compatibility with other emulators, bits 7-1 should be set to &amp;quot;0&amp;quot;. When bit 0 of &amp;quot;IFF0&amp;quot; is &amp;quot;0&amp;quot; maskable interrupts will be ignored. When bit 0 of &amp;quot;IFF1&amp;quot; is &amp;quot;1&amp;quot; maskable interrupts will be acknowledged and executed. See the document about the Z80 for more information. &lt;br /&gt;
&lt;br /&gt;
3. This byte will be 0, 1 or 2 for the interrupt modes 0, 1 or 2. The interrupt mode is set using the &amp;quot;IM x&amp;quot; instructions. See the document about the Z80 for more information. &lt;br /&gt;
&lt;br /&gt;
4. These registers are from the alternate register set of the Z80. &lt;br /&gt;
&lt;br /&gt;
5. These registers are 16-bit. &amp;quot;low&amp;quot; indicates bits 7..0, &amp;quot;high&amp;quot;indicates bits 15..8. &lt;br /&gt;
&lt;br /&gt;
6. This byte represents the inputs to PPI port A regardless of the input/output setting of this port. &lt;br /&gt;
&lt;br /&gt;
7. This byte represents the inputs to PPI port B regardless of the input/output setting of this port. &lt;br /&gt;
&lt;br /&gt;
8. This byte represents the outputs from port C regardless of the input/output setting of this port. &lt;br /&gt;
&lt;br /&gt;
9. This byte represents the PPI control byte which defines the input/output and mode of each port and not the last value written to this port. For CPCEMU compatibility bit 7 of this byte must be set to &amp;quot;1&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
10. This byte in the snapshot represents the selected pen register of the Gate-Array. This byte is the last value written to this port. Bit 7,6,5 should be set to &amp;quot;0&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
11. This byte in the snapshot represents the multi-configuration register of the Gate-Array. This byte is the last byte written to this register. For CPCEMU compatibility, bit 7 should be set to &amp;quot;1&amp;quot; and bit 6 and bit 5 set to &amp;quot;0&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
12. These bytes are the current palette. For CPCEMU compatibility, these bytes should have bit 7=bit 6=bit 5=&amp;quot;0&amp;quot;. Bits 4..0 define the colour using the hardware colour code. The colours are stored in the order pen 0, pen1, pen 2,...,pen 15 followed by border colour. &lt;br /&gt;
&lt;br /&gt;
13. This byte represents a ram configuration for a Dk'Tronics/Dobbertin/Amstrad compatible RAM expansion, or the built in RAM expansion of the CPC6128 and CPC6128+. Bits 5..0 define the ram expansion code. For CPCEMU compatibility, bit 7 and bit 6 of this byte should be set to &amp;quot;0&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
14. This byte in the snapshot represents the index of the currently selected CRTC register. For compatibility with CPCEMU this value should be in the range 0-31. &lt;br /&gt;
&lt;br /&gt;
15. These bytes represent the data of the CRTC's registers. &lt;br /&gt;
&lt;br /&gt;
16. This byte in the snapshot represents the last byte written to the &amp;quot;ROM select&amp;quot; I/O port. &lt;br /&gt;
&lt;br /&gt;
17. This byte in the snapshot represents the index of the currently selected PSG register. For CPCEMU compatibility, this byte should be in the range 0-15. &lt;br /&gt;
&lt;br /&gt;
18. the memory dump can have size 0 in version 3 and in this case all RAM is described in additional blocks (MEM0-MEM8). If a memory dump has a non-zero size, then it is uncompressed and describes the main 64KB ram immediately followed by the second 64KB ram (if present) (this ram is inside 128KB machines or machines with 64KB from a Dk'Tronics/Dobbertin/Amstrad compatible RAM expansion. Note that CPCEMU can only write a 64K or 128K snapshot.&lt;br /&gt;
&lt;br /&gt;
19. JavaCPC uses e0-ff to store an emulator ID (see snapshot V3 for more details)&lt;br /&gt;
&lt;br /&gt;
= Changes and additions in Version 2 from Version 1  =&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 1&lt;br /&gt;
| snapshot version (2)&lt;br /&gt;
|-&lt;br /&gt;
| 6d&lt;br /&gt;
| 1&lt;br /&gt;
| CPC Type: &lt;br /&gt;
*0 = CPC464 &lt;br /&gt;
*1 = CPC664 &lt;br /&gt;
*2 = CPC6128 &lt;br /&gt;
*3 = unknown&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 6e&lt;br /&gt;
| 1&lt;br /&gt;
| interrupt number (0..5) (note 1a)&lt;br /&gt;
|-&lt;br /&gt;
| 6f-74&lt;br /&gt;
| 6&lt;br /&gt;
| 6 multimode bytes (note 1b)&lt;br /&gt;
|-&lt;br /&gt;
| 75-ff&lt;br /&gt;
| x&lt;br /&gt;
| (not used)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes  ==&lt;br /&gt;
&lt;br /&gt;
1. If standard CPC raster interrupts are used, interrupts are acknowledged and &amp;quot;executed&amp;quot; at the time they are requested, then there will be 6 interrupts executed per screen update cycle. &lt;br /&gt;
&lt;br /&gt;
*CPCEMU uses a simple system to emulate the interrupts. It is assumed there are exactly 6 interrupts per screen update cycle (the interrupts are assumed to occur at a frequency of 300Hz). This byte records the interrupt number in the current screen update cycle. More accurate emulators use the correct interrupt generation method and may ignore this byte. For CPCEMU compatibility, these emulators should set this byte to &amp;quot;0&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*CPCEMU uses a simple system to emulate the screen display. It allows the mode to be changed in each of the 6 interrupts that occur during a single 50Hz/60Hz period. These bytes represent the mode in each of these sections, i.e. the screen modes (0,1 or 2) for the interrupts 0..5. More accurate emulators support changing of the screen mode at any point supported by the Amstrad hardware, these emulators should write &amp;quot;0&amp;quot; for all these bytes.&lt;br /&gt;
&lt;br /&gt;
2. A version 2 snapshot describes Dk'Tronics/Dobbertin compatible RAM in addition to the 64KB base ram. This is a type of RAM expansion which uses the same port and paging mechanism as the extra 64KB inside the 6128. However, the RAM *MUST* be continuous, therefore it's limited to 64KB, 256KB or 512KB additional RAM. The Dk'Tronics silicon disk can't be described on it's own because it's RAM configurations do not start at C4.&lt;br /&gt;
&lt;br /&gt;
The following configurations can be described:&lt;br /&gt;
* 64KB base + 64KB extra RAM (e.g. Dk'Tronics 64KB RAM Expansion)&lt;br /&gt;
* 64KB base + 256KB extra RAM (e.g. Dk'Tronics 256KB RAM Expansion)&lt;br /&gt;
* 64KB base + 512KB extra RAM (e.g. Dk'Tronics 256KB RAM Expansion &amp;amp; Dk'Tronics 256KB Silicon Disk OR X-MEM OR Symbiface 2 OR other device which provides 512KB)&lt;br /&gt;
&lt;br /&gt;
JavaCPC uses this value to store up to 4MB of RAM. (e.g. [[CPC4MB]]). This type of ram is Dk'Tronics compatible and has multiple banks of 512KB. This value could be used to describe a 1MB or 2MB expansion as long as it is fully Dk'tronics compatible (e.g. rpalmer's 2MB).&lt;br /&gt;
&lt;br /&gt;
3. JavaCPC uses e0-ff to store an emulator ID (see snapshot V3 for more details)&lt;br /&gt;
&lt;br /&gt;
= Changes and additions in Version 3 from Version 2  =&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 1&lt;br /&gt;
| snapshot version (3)&lt;br /&gt;
|-&lt;br /&gt;
| 6d&lt;br /&gt;
| 1&lt;br /&gt;
| CPC Type: &lt;br /&gt;
*0 = CPC464 &lt;br /&gt;
*1 = CPC664 &lt;br /&gt;
*2 = CPC6128 &lt;br /&gt;
*3 = unknown &lt;br /&gt;
*4 = 6128 Plus &lt;br /&gt;
*5 = 464 Plus &lt;br /&gt;
*6 = GX4000&lt;br /&gt;
|-&lt;br /&gt;
| 75&lt;br /&gt;
| n&lt;br /&gt;
| Disc drive A filename (No$CPC only)&lt;br /&gt;
|-&lt;br /&gt;
| 99&lt;br /&gt;
| 1&lt;br /&gt;
| Monitor VHold Value (-45 to +85)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9a&lt;br /&gt;
| 1&lt;br /&gt;
| Memory Expansion Enable (when Bit 7 is set)&lt;br /&gt;
*Bit 0 = 128K memory (Banks C4..C7)&lt;br /&gt;
*Bit 1 = 256K memory (Banks C4..DF)&lt;br /&gt;
*Bit 2 = 256K silicon disc (Banks E4..FF)&lt;br /&gt;
*Bit 3 = 4M expansion&lt;br /&gt;
*Bit 7 = Always set if this is valid &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9b&lt;br /&gt;
| 1&lt;br /&gt;
| Fast Disc emulation mode (0=off, 1=on) (WinAPE)&lt;br /&gt;
|-&lt;br /&gt;
| 9c&lt;br /&gt;
| 1&lt;br /&gt;
| FDD motor drive state (0=off, 1=on)&lt;br /&gt;
|-&lt;br /&gt;
| 9d-a0&lt;br /&gt;
| 4&lt;br /&gt;
| FDD current physical track (note 15)&lt;br /&gt;
|-&lt;br /&gt;
| a1&lt;br /&gt;
| 1&lt;br /&gt;
| Printer Data/Strobe Register (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| a2-a3&lt;br /&gt;
| 2&lt;br /&gt;
| Current frame scan line since monitor retrace (note16)&lt;br /&gt;
|-&lt;br /&gt;
| a4&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC type: &lt;br /&gt;
*0 = HD6845S/UM6845 &lt;br /&gt;
*1 = UM6845R &lt;br /&gt;
*2 = MC6845 &lt;br /&gt;
*3 = 6845 in CPC+ ASIC &lt;br /&gt;
*4 = 6845 in Pre-ASIC&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| a9&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC horizontal character counter register (note 11)&lt;br /&gt;
|-&lt;br /&gt;
| aa&lt;br /&gt;
| 1&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| ab&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC character-line counter register (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| ac&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC raster-line counter register (note 3)&lt;br /&gt;
|-&lt;br /&gt;
| ad&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC vertical total adjust counter register (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| ae&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC horizontal sync width counter (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| af&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC vertical sync width counter (note 6)&lt;br /&gt;
|-&lt;br /&gt;
| b0-b1&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Bit''&lt;br /&gt;
| ''Function''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| if &amp;quot;1&amp;quot; VSYNC is active, if &amp;quot;0&amp;quot; VSYNC is inactive (note 8)&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| if &amp;quot;1&amp;quot; HSYNC is active, if &amp;quot;0&amp;quot; HSYNC is inactive (note 9)&lt;br /&gt;
|-&lt;br /&gt;
| 2-6&lt;br /&gt;
| reserved&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| if &amp;quot;1&amp;quot; Vertical Total Adjust is active, if &amp;quot;0&amp;quot; Vertical Total Adjust is inactive (note 10)&lt;br /&gt;
|-&lt;br /&gt;
| 8-14&lt;br /&gt;
| Reserved (0)&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| if &amp;quot;1&amp;quot; use extended Interrupt Control Status Register (WinAPE)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| b2&lt;br /&gt;
| 1&lt;br /&gt;
| GA vsync delay counter (note 14)&lt;br /&gt;
|-&lt;br /&gt;
| b3&lt;br /&gt;
| 1&lt;br /&gt;
| GA interrupt scanline counter (note 12)&lt;br /&gt;
|-&lt;br /&gt;
| b4&lt;br /&gt;
| 1&lt;br /&gt;
| interrupt request flag (0=no interrupt requested, 1=interrupt requested) (note 13)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| b5&lt;br /&gt;
| 1&lt;br /&gt;
| Interrupt Control Status Register (WinAPE) (note 17)&lt;br /&gt;
|-&lt;br /&gt;
| b6&lt;br /&gt;
| 1&lt;br /&gt;
| Plus features disabled (0=enabled, 1=disabled)&lt;br /&gt;
|-&lt;br /&gt;
| b7&lt;br /&gt;
| 1&lt;br /&gt;
| Plus PPI Emulation (0=Standard 8255 emulation, 1=Plus PPI emulation)&lt;br /&gt;
|-&lt;br /&gt;
| b8-df&lt;br /&gt;
| 28&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| e0&lt;br /&gt;
| 20&lt;br /&gt;
| Emulator ID String&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes  ==&lt;br /&gt;
&lt;br /&gt;
1. This byte in the snapshot represents the last byte written to the printer I/O port (this byte does not include the automatic inversion of the strobe caused by the Amstrad hardware). &lt;br /&gt;
&lt;br /&gt;
2. This register is internal to the CRTC and counts the number of character-lines. The counter counts up. This value is in the range 0-127. (This counter is compared against CRTC register 4). &lt;br /&gt;
&lt;br /&gt;
3. This register is internal to the CRTC and counts the number of raster-lines. The counter counts up. This value is in the range 0-31. (This counter is compared against CRTC register 9). &lt;br /&gt;
&lt;br /&gt;
4. This register is internal to the CRTC and counts the number of raster-lines during vertical adjust. The counter counts up. This value is in the range 0-31. This should be ignored if the CRTC is not &amp;quot;executing&amp;quot; vertical. adjust.(This counter is compared against CRTC register 5). &lt;br /&gt;
&lt;br /&gt;
5. This register is internal to the CRTC and counts the number of characters during horizontal sync. This counter counts up. This value is in the range 0-16. This should be ignored if the CRTC is not &amp;quot;executing&amp;quot; horizontal sync. (This counter is compared against CRTC register 3). &lt;br /&gt;
&lt;br /&gt;
6. This register is internal to the CRTC and counts the number of scan-lines during vertical sync. This counter counts up. This value is in the range 0-16. This should be ignored if the CRTC is not &amp;quot;executing&amp;quot; vertical sync. (This counter is compared against CRTC register 3). &lt;br /&gt;
&lt;br /&gt;
7. These bytes define the internal state of the CRTC. Each bit in these bytes represents a state. &lt;br /&gt;
&lt;br /&gt;
8. When VSYNC is active, the CRTC is &amp;quot;executing&amp;quot; vertical sync, and the vertical sync width counter in the snapshot is used. &lt;br /&gt;
&lt;br /&gt;
9. When HSYNC is active, the CRTC is &amp;quot;executing&amp;quot; horizontal sync width counter in the snapshot is used. &lt;br /&gt;
&lt;br /&gt;
10. When Vertical total adjust is active, the CRTC is &amp;quot;executing&amp;quot; vertical total adjust and the vertical total adjust counter in the snapshot is used. &lt;br /&gt;
&lt;br /&gt;
11. This register is internal to the CRTC and counts the number of characters. This counter counts up. This value is in the range 0-255. (This counter is compared against CRTC register 0). &lt;br /&gt;
&lt;br /&gt;
12. This counter is internal to the GA and counts the number of HSYNCs. This counter is used to generate CPC raster interrupts. This counter counts up. This value is in the range 0-51. &lt;br /&gt;
&lt;br /&gt;
13. This flag is &amp;quot;1&amp;quot; if a interrupt request has been sent to the Z80 and it has not yet been acknowledged by the Z80. (A interrupt request is sent by the GA for standard CPC raster interrupts or by the ASIC for raster or dma interrupts). &lt;br /&gt;
&lt;br /&gt;
14. This is a counter internal to the GA and counts the number of HSYNCs since the start of the VSYNC and it is used to reset the interrupt counter to synchronise interrupts with the VSYNC. This counter counts up. This value is between 0 and 2. If this value is 0, the counter is inactive. If this counter is 1 or 2 the counter is active.&lt;br /&gt;
&lt;br /&gt;
15. This is the current cylinder for each of 4 drives.&lt;br /&gt;
&lt;br /&gt;
16. In WinAPE this counter is reset if a VSYNC occurs which causes the monitor to retrace vertically. This occurs if the VSYNC signal is active and this counter is greater than a threshold set by the V-Hold (normally 295 when V-Hold is 0), or if the counter reaches the maximum value (normally 351 when V-Hold is 0).&lt;br /&gt;
&lt;br /&gt;
17. Since Plus emulation requires more information than simply whether an interrupt is active, this value (as used internally by WinAPE) contains: &lt;br /&gt;
* Bit 7 - Gate Array (or PRI) interrupt. &lt;br /&gt;
* Bit 6 - DMA Channel 0 interrupt. &lt;br /&gt;
* Bit 5 - DMA Channel 1 interrupt. &lt;br /&gt;
* Bit 4 - DMA Channel 2 interrupt. &lt;br /&gt;
&lt;br /&gt;
It can be a combination of all or any interrupt sources. Interrupts are executed in the order raster, DMA 2, DMA 1, DMA 0.&lt;br /&gt;
&lt;br /&gt;
Immediately following the memory dump there is optional data which is separated into chunks. &lt;br /&gt;
&lt;br /&gt;
Each chunk of data has a header and this is followed by the data in the chunk. The header has the following format: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 4&lt;br /&gt;
| Chunk name (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| Chunk data length (note 2)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes: &lt;br /&gt;
&lt;br /&gt;
1. The chunks are defined with 4-byte character codes. (e.g. &amp;quot;CPC+&amp;quot;). In this example, the 4-byte character code would be stored in the file as 'C' then 'P' then 'C' then '+'. &lt;br /&gt;
&lt;br /&gt;
2. The &amp;quot;Chunk data length&amp;quot; defines the length of data following the header and does not include the size of the header. This number is stored in little endian format. &lt;br /&gt;
&lt;br /&gt;
3. If a emulator finds a chunk which it does not support then it should skip the chunk and continue with the next chunk in the file. Therefore an emulator author may add emulator specific chunks to the file and it will not prevent the snapshot from being used with other emulators that do not recognise the added chunks. &lt;br /&gt;
&lt;br /&gt;
4. There is not a terminator chunk. The snapshot reader should determine if there are more chunks based on the size of data remaining to be read from the file. &lt;br /&gt;
&lt;br /&gt;
=Version 3 Chunks=&lt;br /&gt;
&lt;br /&gt;
The following chunks are currently defined: &lt;br /&gt;
&lt;br /&gt;
== DSCA,DSCB ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by WinAPE and ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
The DSCA block contains the filename of the disc image inserted into drive A. The filename is stored as 8-bit ASCII (any Unicode characters with codes 0x100 or above will be translated to ? and therefore filenames with these characters can't be stored in Snapshots). The length of the block is the length of the filename in bytes.&lt;br /&gt;
&lt;br /&gt;
DSCB is similar to DSCA but stores the filename of the disc image inserted into drive B.&lt;br /&gt;
&lt;br /&gt;
== TAPE ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
The TAPE block contains the filename of the tape image inserted. The filename is stored as 8-bit ASCII (any Unicode characters with codes 0x100 or above will be translated to ? and therefore filenames with these characters can't be stored in Snapshots). The length of the block is the length of the filename in bytes.&lt;br /&gt;
&lt;br /&gt;
== ROMS ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by WinAPE and ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
This block contains a list of filenames for each ROM (and cartridge) that is defined. The length of the block is the length for all strings.&lt;br /&gt;
&lt;br /&gt;
If a ROM is not defined, a single NUL (0) byte is present, otherwise there is a null terminated 8-bit ASCII string.&lt;br /&gt;
&lt;br /&gt;
First in the list is the filename (or internal name) for the cartridge (prefixed with a 'A' character), followed by lower rom and then upper roms 0-31 (WinAPE) or 0-255 (ACE).&lt;br /&gt;
&lt;br /&gt;
WinAPE lists internal ROMs by their internal name (the name listed in the drop down when you configure the roms, e.g. OS464).&lt;br /&gt;
ACE always put the actual file name, even for internal ROMs (e.g. System/Firmware_v3.rom).&lt;br /&gt;
&lt;br /&gt;
After the list of the upper ROMs, ACE also put the names of the internal Basic and AMSDOS ROMs.&lt;br /&gt;
Then, the presence of the &amp;quot;CartridgeKeepExtROM&amp;quot; let ACE know if the cartridge ROMs should disable installed external upper ROMs or not (depending on user preferences).&lt;br /&gt;
&lt;br /&gt;
NOTE: The selected Multiface ROM is not saved in the snapshot.&lt;br /&gt;
&lt;br /&gt;
== INFO Chunk ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by No$CPC. It contains an 8-bit ASCII string with the version information for No$CPC.&lt;br /&gt;
&lt;br /&gt;
== MEM0-8 Chunk ==&lt;br /&gt;
&lt;br /&gt;
The MEM0-8 chunks contain at most 64KB of data. The data may be compressed or stored uncompressed. If the size is exactly 65536 bytes the data is uncompressed, otherwise it is compressed. Up to 512KB additional RAM can be stored in a snapshot. &lt;br /&gt;
&lt;br /&gt;
The compression scheme is RLE with 0x0e5 as the control byte.&lt;br /&gt;
&lt;br /&gt;
Data is encoded as:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;byte&amp;gt; for a single occurrence of a byte (not 0x0e5) (e.g. 0x013)&lt;br /&gt;
* 0x0e5,&amp;lt;count&amp;gt;,&amp;lt;byte&amp;gt; for multiple occurances of a byte (e. 0x0e5,0x04,0x013 for 0x013 repeated 4 times)&lt;br /&gt;
* 0x0e5,0 for a single 0x0e5 byte (e.g. 0x0e5)&lt;br /&gt;
&lt;br /&gt;
The blocks are:&lt;br /&gt;
&lt;br /&gt;
* MEM0 - main 64KB ram&lt;br /&gt;
* MEM1 - c4,c5,c6,c7 configurations (extra 64KB ram in 128KB machines) (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM2 - cc,cd,ce,cf configurations (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM3 - d4,d5,d6,d7 configurations (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM4 - dc,dd,de,df configurations (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM5 - e4,e5,e6,e7 configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
* MEM6 - ec,ed,ee,ef configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
* MEM7 - f4,f5,f6,f7 configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
* MEM8 - fc,fd,fe,ff configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
1. A snapshot may contain a mix of &amp;quot;standard&amp;quot; memory data (e.g. the data follows the header and is uncompressed) and additional MEM blocks as required.&lt;br /&gt;
&lt;br /&gt;
2. If the snapshot is not compressed, then up to 128KB will be stored as &amp;quot;standard&amp;quot; memory data, the additional RAM stored in MEM2-MEM8 blocks.&lt;br /&gt;
&lt;br /&gt;
3. If the snapshot is compressed, then the &amp;quot;standard&amp;quot; memory data will have 0 size and there will be a MEM0 in addition to the additional memory blocks.&lt;br /&gt;
&lt;br /&gt;
4. Version 3 doesn't require memory to be continuous. A Dk'tronics silicon disk on it's own can be described with this version.&lt;br /&gt;
&lt;br /&gt;
5. WinAPE allows a 4MB RAM expansion to be enabled but doesn't save the additional RAM in the snapshot.&lt;br /&gt;
&lt;br /&gt;
6. ACE can save additional memory in snapshots (up to 4MB) using the MX?? chunks.&lt;br /&gt;
&lt;br /&gt;
== MX09-40 Chunk ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE.&lt;br /&gt;
&lt;br /&gt;
MX?? chunks allow snapshots to store up to 4160KB ram.&lt;br /&gt;
&lt;br /&gt;
MX?? chunks are following MEM0-8 chunks. They are numbered from 09 to 40 (hexadecimal numbering).&lt;br /&gt;
Information are stored compressed like in MEM0-8 chunks.&lt;br /&gt;
&lt;br /&gt;
== BRKC Chunk ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by ACE when some breakpoints are set. When loading a snapshot, the breakpoints found in this chunk are added to the one already installed.&lt;br /&gt;
The number of stored breakpoints in the chunk is given by the chunk size divided by 216 (the size on one breakpoint data structure).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint type (0:Execution, 1:Memory, 2:I/O port)&lt;br /&gt;
|-&lt;br /&gt;
| 01&lt;br /&gt;
| 1&lt;br /&gt;
| Memory access mode (0:R/W, 1:R/O, 2:W/O)&lt;br /&gt;
|-&lt;br /&gt;
| 02&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint runtime mode (0:Break, 1:Watch)&lt;br /&gt;
|-&lt;br /&gt;
| 03&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint map type (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 04&lt;br /&gt;
| 2&lt;br /&gt;
| Breakable memory/port (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 06&lt;br /&gt;
| 2&lt;br /&gt;
| Breakable memory/port mask (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 08&lt;br /&gt;
| 1&lt;br /&gt;
| Match value&lt;br /&gt;
|-&lt;br /&gt;
| 09&lt;br /&gt;
| 1&lt;br /&gt;
| Match value mask&lt;br /&gt;
|-&lt;br /&gt;
| 0A&lt;br /&gt;
| 2&lt;br /&gt;
| Breakable memory size (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 0C&lt;br /&gt;
| 4&lt;br /&gt;
| Breakpoint activation step (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 128&lt;br /&gt;
| Breakpoint condition to match (NULL terminated string) (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 90&lt;br /&gt;
| 64&lt;br /&gt;
| Breakpoint user name (NULL terminated string)&lt;br /&gt;
|-&lt;br /&gt;
| D0&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint map bank (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| D1&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint map page (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| D2&lt;br /&gt;
| 6&lt;br /&gt;
| Reserved&lt;br /&gt;
|-&lt;br /&gt;
| D8&lt;br /&gt;
| ...&lt;br /&gt;
| Same sequence repeated for each breakpoint&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
&lt;br /&gt;
1. The condition is expressed using ACE syntax (similar to BASIC with AND/OR/XOR/NOT/+/-/=...).&lt;br /&gt;
Allowed additional syntaxes are:&lt;br /&gt;
*&amp;amp;, # or 0x for a hexadecimal number.&lt;br /&gt;
*% or &amp;amp;x for a binary number.&lt;br /&gt;
*AF, BC, HL, IX... for a 16-bit Z80 register.&lt;br /&gt;
*A, B, D, IXh, IXl... for an 8-bit Z80 register.&lt;br /&gt;
*FlagC, FlagNC, FlagM... for a Z80 flag.&lt;br /&gt;
*LineCount for the line number.&lt;br /&gt;
*LineCycle for the µs count on the current line.&lt;br /&gt;
*MemPage for the 64K expansion memory page (0-63).&lt;br /&gt;
*MemBankMode for the 16K expansion memory bank paging mode (0-7).&lt;br /&gt;
*UpperROMOn for the paging state of the upper ROM.&lt;br /&gt;
*UpperROMNum for the selected upper ROM number.&lt;br /&gt;
*LowerROMOn for the paging state of the lower ROM.&lt;br /&gt;
*LowerROMNum for the selected lower ROM number.&lt;br /&gt;
*ASICPageOn for the paging state of the I/O ASIC registers page.&lt;br /&gt;
&lt;br /&gt;
''Example : FlagC AND (HL=DE OR HL=&amp;amp;5000)''&lt;br /&gt;
&lt;br /&gt;
2. The map type determines the memory layout for which the breakpoint is valid.&lt;br /&gt;
The meaning of the values for map bank and map page depends on the map type value.&lt;br /&gt;
Possible values fir map type are:&lt;br /&gt;
* 0: Undefined. Map bank and page are ignored (always 0).&lt;br /&gt;
* 1: Main RAM. If map bank is 0, then linear main RAM is considered. If map bank is 1, then main RAM from &amp;amp;c000-&amp;amp;ffff mapped as &amp;amp;4000-&amp;amp;7fff is considered. Map page is ignored (always 0). &lt;br /&gt;
* 2: Extension RAM. Map bank is the 16K extension bank number (0-3). Map page is the 64K extension page number (0-31).&lt;br /&gt;
* 3: Extension ROM. Map bank is the ROM slot id (0-255). Map page is ignored (always 0).&lt;br /&gt;
* 4: Firmware ROM. Map bank and page are ignored (always 0).&lt;br /&gt;
* 5: Cartridge ROM. Map bank is the 16K ROM bank number (0-31). Map page is ignored (always 0).&lt;br /&gt;
* 6: ASIC I/O Page. Map bank and page are ignored (always 0).&lt;br /&gt;
&lt;br /&gt;
== SYMB Chunk ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by ACE when some symbols are declared. When loading a snapshot, the symbols found in this chunk are added to the alreading existing ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 1&lt;br /&gt;
| Length on the symbol name (n). 0 is an invalid value.&lt;br /&gt;
|-&lt;br /&gt;
| 01&lt;br /&gt;
| n&lt;br /&gt;
| Symbol name (note 1).&lt;br /&gt;
|-&lt;br /&gt;
| n+1&lt;br /&gt;
| 1&lt;br /&gt;
| Symbol memory map type (note 2).&lt;br /&gt;
|-&lt;br /&gt;
| n+2&lt;br /&gt;
| 1&lt;br /&gt;
| Symbol memory map bank (note 2).&lt;br /&gt;
|-&lt;br /&gt;
| n+3&lt;br /&gt;
| 1&lt;br /&gt;
| Symbol memory map page (note 2).&lt;br /&gt;
|-&lt;br /&gt;
| n+4&lt;br /&gt;
| 2&lt;br /&gt;
| Reserved for future usage, always 0 for now.&lt;br /&gt;
|-&lt;br /&gt;
| n+6&lt;br /&gt;
| 1&lt;br /&gt;
| Symbol type (0: absolute, 1: relative).&lt;br /&gt;
|-&lt;br /&gt;
| n+7&lt;br /&gt;
| 2&lt;br /&gt;
| Address of the symbol (MSB first).&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
| Same sequence repeated until the end of the chunk is reached.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
&lt;br /&gt;
1. Symbol are (obviously) limited to 255 characters, cannot begin with a number (0-9), and only a limited set of ASCII char is allowed (a-z, A-Z, 0-9, _).&lt;br /&gt;
2. The map type determines the memory layout for which the symbol is valid. The meaning of the values for map bank and map page depends on the map type value.&lt;br /&gt;
Possible values fir map type are:&lt;br /&gt;
* 0: Undefined. Map bank and page are ignored (always 0).&lt;br /&gt;
* 1: Main RAM. If map bank is 0, then linear main RAM is considered. If map bank is 1, then main RAM from &amp;amp;c000-&amp;amp;ffff mapped as &amp;amp;4000-&amp;amp;7fff is considered. Map page is ignored (always 0). &lt;br /&gt;
* 2: Extension RAM. Map bank is the 16K extension bank number (0-3). Map page is the 64K extension page number (0-31).&lt;br /&gt;
* 3: Extension ROM. Map bank is the ROM slot id (0-255). Map page is ignored (always 0).&lt;br /&gt;
* 4: Firmware ROM. Map bank and page are ignored (always 0).&lt;br /&gt;
* 5: Cartridge ROM. Map bank is the 16K ROM bank number (0-31). Map page is ignored (always 0).&lt;br /&gt;
* 6: ASIC I/O Page. Map bank and page are ignored (always 0).&lt;br /&gt;
&lt;br /&gt;
== CPC+ Chunk  ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by Arnold, Winape, No$CPC and ACE. Arnold, Winape and ACE will save the block when Plus configuration enabled. No$CPC will save the block if the Plus features have been unlocked.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Addr in ASIC register-ram''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 000-7FF&lt;br /&gt;
| 800&lt;br /&gt;
| 4000-4FFF&lt;br /&gt;
| Sprite Bitmaps (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 800-87F&lt;br /&gt;
| 8*16&lt;br /&gt;
| 6000-607F&lt;br /&gt;
| Sprite Attributes (see below) (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 880-8BF&lt;br /&gt;
| 32*2&lt;br /&gt;
| 6400-643F&lt;br /&gt;
| Palettes (note 3)&lt;br /&gt;
|-&lt;br /&gt;
| 8C0&lt;br /&gt;
| 1&lt;br /&gt;
| 6800&lt;br /&gt;
| Programmable Raster Interrupt (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C1&lt;br /&gt;
| 1&lt;br /&gt;
| 6801&lt;br /&gt;
| Screen split scan-line (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C2&lt;br /&gt;
| 2&lt;br /&gt;
| 6802-6803&lt;br /&gt;
| Screen split secondary screen-address (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C4&lt;br /&gt;
| 1&lt;br /&gt;
| 6804&lt;br /&gt;
| Soft scroll control register (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C5&lt;br /&gt;
| 1&lt;br /&gt;
| 6805&lt;br /&gt;
| Interrupt vector (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C6&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| gate array A0 register value (note 8a) &lt;br /&gt;
|-&lt;br /&gt;
| 8C6-8C7&lt;br /&gt;
| 1&lt;br /&gt;
| -&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| 8C8-8CF&lt;br /&gt;
| 8&lt;br /&gt;
| 6808-680f&lt;br /&gt;
| Analogue input channels 0-7 (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 8D0-8DB&lt;br /&gt;
| 3*4&lt;br /&gt;
| 6C00-6C0B&lt;br /&gt;
| Sound DMA channel attributes 0-2 (see below) (note 6)&lt;br /&gt;
|-&lt;br /&gt;
| 8DC-8DE&lt;br /&gt;
| 3&lt;br /&gt;
| -&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| 8DF&lt;br /&gt;
| 1&lt;br /&gt;
| 6C0F&lt;br /&gt;
| DMA Control/Status (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8E0-8F4&lt;br /&gt;
| 3*7&lt;br /&gt;
| Internal&lt;br /&gt;
| DMA channel 0-2 internal registers (see below) (note 7)&lt;br /&gt;
|-&lt;br /&gt;
| 8F5&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| gate array A0 register value (note 8b)&lt;br /&gt;
|-&lt;br /&gt;
| 8F6&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| gate array A0 lock: 0 -&amp;gt; locked, !=0 -&amp;gt; unlocked (note 9)&lt;br /&gt;
|-&lt;br /&gt;
| 8F7&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| ASIC unlock sequence state (note 10)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes  ===&lt;br /&gt;
&lt;br /&gt;
1. The sprite data is packed, with two sprite pixels per byte. Bits 7..4 define the first pixel and bits 3..0 define the second pixel. &lt;br /&gt;
&lt;br /&gt;
2. The attributes for each sprite take 8 bytes. Each attribute block has the following format: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 2&lt;br /&gt;
| Sprite X (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| Sprite Y (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| Sprite Magnification (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 5-7&lt;br /&gt;
| 3&lt;br /&gt;
| unused (0)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: the Sprite X, Y and magnification are in the same order as the ASIC registers &lt;br /&gt;
&lt;br /&gt;
3. This is a direct copy of the palette in CPC+ ASIC Ram. There are 32 colours each with 2-bytes per colour. &lt;br /&gt;
&lt;br /&gt;
4. These bytes in the snapshot represent the last value written to these ASIC registers. &lt;br /&gt;
&lt;br /&gt;
5. These bytes represent the inputs to the analogue channels. &lt;br /&gt;
&lt;br /&gt;
6. The attributes for each DMA channel take 4 bytes. Each attribute block has the following format: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 2&lt;br /&gt;
| DMA Channel address (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 1&lt;br /&gt;
| DMA Channel prescalar (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 1&lt;br /&gt;
| unused (0)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: the DMA address and prescalar are in the same order as the ASIC registers. &lt;br /&gt;
&lt;br /&gt;
7 These registers are internal to the CPC+ and define the current DMA operation: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 2&lt;br /&gt;
| loop counter (note a)&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| loop address (note b)&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| pause count (note c)&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| 1&lt;br /&gt;
| pause prescalar count (note d)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
a. This value represents the number of loops remaining. 0 = none. This count is between 0..0FFF. This counter counts down. &lt;br /&gt;
&lt;br /&gt;
b. This is the Amstrad memory address to loop back to. It is a pointer to the DMA instruction after the last REPEAT instruction. &lt;br /&gt;
&lt;br /&gt;
c. This value represents the pause count and the count is between 0...0FFF. (TO BE CHECKED: down counter? what exactly does it represent) &lt;br /&gt;
&lt;br /&gt;
d. This value represents the pause prescalar count and the count is between 0..FF. (TO BE CHECKED: down counter? what exactly does it represent) &lt;br /&gt;
&lt;br /&gt;
8. This value represents the last value written to this I/O port. Winape uses 8a and not 8b. This value has bits 7,6,5 set to 1,0 and 1 respectively. 8b is in the original specification and is written by both ACE and No$CPC.&lt;br /&gt;
&lt;br /&gt;
9. This value represents the lock status of RMR2. If locked, RMR2 can't be accessed otherwise it can.&lt;br /&gt;
&lt;br /&gt;
10. This value represents the current unlock sequence state. &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''State ID''&lt;br /&gt;
| ''Synchronised State''&lt;br /&gt;
| ''Note''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| Not synchronised&lt;br /&gt;
| ASIC is waiting for first non-zero byte to be written, this is the first synchronisation byte required&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Not synchronised&lt;br /&gt;
| ASIC is waiting for zero byte to be written, this is the second synchronisation byte required&lt;br /&gt;
|-&lt;br /&gt;
| 2..10&lt;br /&gt;
| synchronised&lt;br /&gt;
| ASIC is waiting for byte from unlock sequence. e.g. if &amp;quot;2&amp;quot;, ASIC is waiting for &amp;amp;amp;FF, the first byte of the unlock sequence. if &amp;quot;3&amp;quot; ASIC is waiting for &amp;amp;amp;77, the second byte of the unlock sequence.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== BRKS Chunk ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by WinAPE when some breakpoints are set.&lt;br /&gt;
ACE can import breakpoints from this chunk but won't create it (BRKC is used instead).&lt;br /&gt;
&lt;br /&gt;
The chunk contains 1 or more breakpoints.&lt;br /&gt;
&lt;br /&gt;
Each breakpoint has the form:&lt;br /&gt;
  * 2 bytes: address (LSB first)&lt;br /&gt;
  * 1 byte: location (0: base 64K RAM, 1: extended RAM)&lt;br /&gt;
  * 2 bytes: condition (?)&lt;br /&gt;
&lt;br /&gt;
== WABP Chunk ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by WinAPE when some breakpoints are set. &lt;br /&gt;
The exact details are begin worked out.&lt;br /&gt;
&lt;br /&gt;
It seems to be:&lt;br /&gt;
&lt;br /&gt;
4 bytes - number of user breakpoints&lt;br /&gt;
&lt;br /&gt;
Each user breakpoint:&lt;br /&gt;
&lt;br /&gt;
type,&lt;br /&gt;
4 byte address&lt;br /&gt;
&lt;br /&gt;
Then,  4 bytes - number of memory breakpoints&lt;br /&gt;
&lt;br /&gt;
Each memory breakpoint:&lt;br /&gt;
&lt;br /&gt;
Then, 4 bytes - number of i/o breakpoints:&lt;br /&gt;
&lt;br /&gt;
Each i/o breakpoint:&lt;br /&gt;
&lt;br /&gt;
 2 bytes flags? (6000 read, a400 write)&lt;br /&gt;
 2 bytes port addr mask&lt;br /&gt;
 2 bytes port addr&lt;br /&gt;
 4 bytes counter&lt;br /&gt;
 4 bytes condition string length, followed by condition string (not null terminated)&lt;br /&gt;
&lt;br /&gt;
== DARS Chunk ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by WinAPE when some data areas are set. &lt;br /&gt;
&lt;br /&gt;
The number of stored data areas in the chunk is given by the chunk size divided by 10 (the size of one data area data structure).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 4&lt;br /&gt;
| Address (LSB first) (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 04&lt;br /&gt;
| 4&lt;br /&gt;
| Area size (LSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 08&lt;br /&gt;
| 1&lt;br /&gt;
| Data type (0=byte,1=word)&lt;br /&gt;
|-&lt;br /&gt;
| 09&lt;br /&gt;
| 1&lt;br /&gt;
| Labels (1=marked by user as having labels)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
&lt;br /&gt;
1. Winape's addressing scheme is 4 bytes. The upper 16-bits effectively define the internal 64KB pages it uses.&lt;br /&gt;
&lt;br /&gt;
== RM00-FF Chunk ==&lt;br /&gt;
&lt;br /&gt;
This chunk was introduced by RASM and is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
The RM00-FF chunks contain at most 16KB of data representing the contents of the related external upper ROMs number. The data may be compressed or stored uncompressed. If the size is exactly 16384 bytes the data is uncompressed, otherwise it is compressed. Up to 2MB of external upper ROMs can be stored in a snapshot. &lt;br /&gt;
&lt;br /&gt;
The compression scheme is identical to the one from MEM0-7 chunks.&lt;br /&gt;
&lt;br /&gt;
== LOWR Chunk ==&lt;br /&gt;
&lt;br /&gt;
This chunk was introduced by RASM and is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
It is similar to the RM00-FF chunks but stored the internal firmware ROM contents.&lt;br /&gt;
&lt;br /&gt;
== BASR Chunk ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
It is similar to the RM00-FF chunks but stored the internal Basic ROM contents.&lt;br /&gt;
&lt;br /&gt;
== DOSR Chunk ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
It is similar to the RM00-FF chunks but stored the internal AMSDOS ROM contents.&lt;br /&gt;
&lt;br /&gt;
== CART Chunk ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
It stores the contents of the inserted cartridge ROM. Extended cartridges are also supported.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 1&lt;br /&gt;
| Type of compression (0: uncompressed, &amp;amp;5E: RLE compressed)&lt;br /&gt;
|-&lt;br /&gt;
| 01&lt;br /&gt;
| 4&lt;br /&gt;
| Physical size of the cartridge in bytes, must be 16, 32, 64, 128, 256 or 512KB (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 05&lt;br /&gt;
| 2&lt;br /&gt;
| Number of cartridges, 1: for normal cartridges, extended cartridges otherwise (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 07&lt;br /&gt;
| 2&lt;br /&gt;
| Flags, bit 0 set if the external upper ROMs must be disabled, other bits set to 0 (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 09&lt;br /&gt;
| x&lt;br /&gt;
| Cartridge data contents (either compressed or not depending on type of compression)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== PLUG Chunk ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
This chunk stores the names of the plugins which should be enabled for the snapshot.&lt;br /&gt;
&lt;br /&gt;
All names are stored one after the other, in the form of binary strings (first byte containing the plugin name length followed by the the actual string).&lt;br /&gt;
The names stored are the actual names of the plugins libraries (e.g. &amp;quot;multiface2.acepansion&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== REMU Chunk ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written RASM and contains information about symbols and breakpoints.&lt;br /&gt;
ACE will import informations from this chunk but won't write it (SYMB and BRKC are used instead).&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
[[Snapshot Archive]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Programming]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Snapshot&amp;diff=113798</id>
		<title>Snapshot</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Snapshot&amp;diff=113798"/>
				<updated>2024-01-02T21:11:43Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Snapshot (.SNA) file format  =&lt;br /&gt;
&lt;br /&gt;
The format was first defined for the [[CPCEMU|CPCEMU]] emulator but is now widely supported. The format was originally defined by [[Marco Vieth|Marco Vieth]]. Version 3 was defined by [[Ulrich Doewich|Ulrich Doewich]], [[Martin Korth|Martin Korth]], [[Richard Wilson|Richard Wilson]] and [[Kevin Thacker|Kevin Thacker]]. &lt;br /&gt;
&lt;br /&gt;
There are 3 versions defined in this document. Version 3 is the most recent and is currently supported by a few of the most recent emulators. &lt;br /&gt;
&lt;br /&gt;
Snapshots produced with [[CPCE|CPCE]] appears to be the most compatible and will run correctly using any emulator.&lt;br /&gt;
&lt;br /&gt;
Abbreviations: &lt;br /&gt;
&lt;br /&gt;
*[[Gate Array|GA = &amp;quot;Gate Array&amp;quot;]] &lt;br /&gt;
*[[CRTC|CRTC = &amp;quot;6845 Cathode Ray Tube Controller&amp;quot;]] &lt;br /&gt;
*[[8255|PPI = &amp;quot;Intel 8255 Programmable Peripheral Interface&amp;quot;]] &lt;br /&gt;
*[[PSG|PSG = &amp;quot;AY-3-8912 Programmable Sound Generator&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
= Version 1  =&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00-07&lt;br /&gt;
| 8&lt;br /&gt;
| The identification string &amp;quot;MV - SNA&amp;quot;. This must exist for the snapshot to be valid.&lt;br /&gt;
|-&lt;br /&gt;
| 08-0f&lt;br /&gt;
| 8&lt;br /&gt;
| (not used; set to 0)&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 1&lt;br /&gt;
| snapshot version (1)&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register F&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register A&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register C&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register B&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register E&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register D&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register L&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register H&lt;br /&gt;
|-&lt;br /&gt;
| 19&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register R&lt;br /&gt;
|-&lt;br /&gt;
| 1a&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register I&lt;br /&gt;
|-&lt;br /&gt;
| 1b&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 interrupt flip-flop IFF0 (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 1c&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 interrupt flip-flop IFF1 (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 1d&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IX (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 1e&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IX (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 1f&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IY (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 20&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IY (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 21&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register SP (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 22&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register SP (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 23&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register PC (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 24&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register PC (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 25&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 interrupt mode (0,1,2) (note 3)&lt;br /&gt;
|-&lt;br /&gt;
| 26&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register F' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 27&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register A' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 28&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register C' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 29&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register B' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2a&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register E' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2b&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register D' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2c&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register L' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2d&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register H' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2e&lt;br /&gt;
| 1&lt;br /&gt;
| GA: index of selected pen (note 10)&lt;br /&gt;
|-&lt;br /&gt;
| 2f-3f&lt;br /&gt;
| 1&lt;br /&gt;
| GA: current palette (note 12)&lt;br /&gt;
|-&lt;br /&gt;
| 40&lt;br /&gt;
| 1&lt;br /&gt;
| GA: multi configuration (note 11)&lt;br /&gt;
|-&lt;br /&gt;
| 41&lt;br /&gt;
| 1&lt;br /&gt;
| current RAM configuration (note 13)&lt;br /&gt;
|-&lt;br /&gt;
| 42&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC: index of selected register (note 14)&lt;br /&gt;
|-&lt;br /&gt;
| 43-54&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC: register data (0..17) (note 15)&lt;br /&gt;
|-&lt;br /&gt;
| 55&lt;br /&gt;
| 1&lt;br /&gt;
| current ROM selection (note 16)&lt;br /&gt;
|-&lt;br /&gt;
| 56&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: port A (note 6)&lt;br /&gt;
|-&lt;br /&gt;
| 57&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: port B (note 7)&lt;br /&gt;
|-&lt;br /&gt;
| 58&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: port C (note 8)&lt;br /&gt;
|-&lt;br /&gt;
| 59&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: control port (note 9)&lt;br /&gt;
|-&lt;br /&gt;
| 5a&lt;br /&gt;
| 1&lt;br /&gt;
| PSG: index of selected register (note 17)&lt;br /&gt;
|-&lt;br /&gt;
| 5b-6a&lt;br /&gt;
| 1&lt;br /&gt;
| PSG: register data (0,1,....15)&lt;br /&gt;
|-&lt;br /&gt;
| 6b&lt;br /&gt;
| 2&lt;br /&gt;
| memory dump size in Kilobytes (e.g. 64 for 64K, 128 for 128k) (note 18)&lt;br /&gt;
|-&lt;br /&gt;
| 6d-ff&lt;br /&gt;
| 1&lt;br /&gt;
| not used set to 0&lt;br /&gt;
|-&lt;br /&gt;
| 100-...&lt;br /&gt;
| 1&lt;br /&gt;
| memory dump&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes  ==&lt;br /&gt;
&lt;br /&gt;
1. All multi-byte values are stored in little-endian format (low byte followed by higher bytes). &lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;IFF0&amp;quot; reflects the state of the maskable interrupt (INT). &amp;quot;IFF1&amp;quot; is used to store the state of IFF0 when a non-maskable interrupt (NMI) is executed. Bit 0 of these bytes is significant. For CPCEMU compatibility, these bytes should be set to &amp;quot;1&amp;quot; when the IFF flip-flop is &amp;quot;1&amp;quot; and &amp;quot;0&amp;quot; when the flip-flop is &amp;quot;0&amp;quot;. For compatibility with other emulators, bits 7-1 should be set to &amp;quot;0&amp;quot;. When bit 0 of &amp;quot;IFF0&amp;quot; is &amp;quot;0&amp;quot; maskable interrupts will be ignored. When bit 0 of &amp;quot;IFF1&amp;quot; is &amp;quot;1&amp;quot; maskable interrupts will be acknowledged and executed. See the document about the Z80 for more information. &lt;br /&gt;
&lt;br /&gt;
3. This byte will be 0, 1 or 2 for the interrupt modes 0, 1 or 2. The interrupt mode is set using the &amp;quot;IM x&amp;quot; instructions. See the document about the Z80 for more information. &lt;br /&gt;
&lt;br /&gt;
4. These registers are from the alternate register set of the Z80. &lt;br /&gt;
&lt;br /&gt;
5. These registers are 16-bit. &amp;quot;low&amp;quot; indicates bits 7..0, &amp;quot;high&amp;quot;indicates bits 15..8. &lt;br /&gt;
&lt;br /&gt;
6. This byte represents the inputs to PPI port A regardless of the input/output setting of this port. &lt;br /&gt;
&lt;br /&gt;
7. This byte represents the inputs to PPI port B regardless of the input/output setting of this port. &lt;br /&gt;
&lt;br /&gt;
8. This byte represents the outputs from port C regardless of the input/output setting of this port. &lt;br /&gt;
&lt;br /&gt;
9. This byte represents the PPI control byte which defines the input/output and mode of each port and not the last value written to this port. For CPCEMU compatibility bit 7 of this byte must be set to &amp;quot;1&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
10. This byte in the snapshot represents the selected pen register of the Gate-Array. This byte is the last value written to this port. Bit 7,6,5 should be set to &amp;quot;0&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
11. This byte in the snapshot represents the multi-configuration register of the Gate-Array. This byte is the last byte written to this register. For CPCEMU compatibility, bit 7 should be set to &amp;quot;1&amp;quot; and bit 6 and bit 5 set to &amp;quot;0&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
12. These bytes are the current palette. For CPCEMU compatibility, these bytes should have bit 7=bit 6=bit 5=&amp;quot;0&amp;quot;. Bits 4..0 define the colour using the hardware colour code. The colours are stored in the order pen 0, pen1, pen 2,...,pen 15 followed by border colour. &lt;br /&gt;
&lt;br /&gt;
13. This byte represents a ram configuration for a Dk'Tronics/Dobbertin/Amstrad compatible RAM expansion, or the built in RAM expansion of the CPC6128 and CPC6128+. Bits 5..0 define the ram expansion code. For CPCEMU compatibility, bit 7 and bit 6 of this byte should be set to &amp;quot;0&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
14. This byte in the snapshot represents the index of the currently selected CRTC register. For compatibility with CPCEMU this value should be in the range 0-31. &lt;br /&gt;
&lt;br /&gt;
15. These bytes represent the data of the CRTC's registers. &lt;br /&gt;
&lt;br /&gt;
16. This byte in the snapshot represents the last byte written to the &amp;quot;ROM select&amp;quot; I/O port. &lt;br /&gt;
&lt;br /&gt;
17. This byte in the snapshot represents the index of the currently selected PSG register. For CPCEMU compatibility, this byte should be in the range 0-15. &lt;br /&gt;
&lt;br /&gt;
18. the memory dump can have size 0 in version 3 and in this case all RAM is described in additional blocks (MEM0-MEM8). If a memory dump has a non-zero size, then it is uncompressed and describes the main 64KB ram immediately followed by the second 64KB ram (if present) (this ram is inside 128KB machines or machines with 64KB from a Dk'Tronics/Dobbertin/Amstrad compatible RAM expansion. Note that CPCEMU can only write a 64K or 128K snapshot.&lt;br /&gt;
&lt;br /&gt;
19. JavaCPC uses e0-ff to store an emulator ID (see snapshot V3 for more details)&lt;br /&gt;
&lt;br /&gt;
= Changes and additions in Version 2 from Version 1  =&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 1&lt;br /&gt;
| snapshot version (2)&lt;br /&gt;
|-&lt;br /&gt;
| 6d&lt;br /&gt;
| 1&lt;br /&gt;
| CPC Type: &lt;br /&gt;
*0 = CPC464 &lt;br /&gt;
*1 = CPC664 &lt;br /&gt;
*2 = CPC6128 &lt;br /&gt;
*3 = unknown&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 6e&lt;br /&gt;
| 1&lt;br /&gt;
| interrupt number (0..5) (note 1a)&lt;br /&gt;
|-&lt;br /&gt;
| 6f-74&lt;br /&gt;
| 6&lt;br /&gt;
| 6 multimode bytes (note 1b)&lt;br /&gt;
|-&lt;br /&gt;
| 75-ff&lt;br /&gt;
| x&lt;br /&gt;
| (not used)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes  ==&lt;br /&gt;
&lt;br /&gt;
1. If standard CPC raster interrupts are used, interrupts are acknowledged and &amp;quot;executed&amp;quot; at the time they are requested, then there will be 6 interrupts executed per screen update cycle. &lt;br /&gt;
&lt;br /&gt;
*CPCEMU uses a simple system to emulate the interrupts. It is assumed there are exactly 6 interrupts per screen update cycle (the interrupts are assumed to occur at a frequency of 300Hz). This byte records the interrupt number in the current screen update cycle. More accurate emulators use the correct interrupt generation method and may ignore this byte. For CPCEMU compatibility, these emulators should set this byte to &amp;quot;0&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*CPCEMU uses a simple system to emulate the screen display. It allows the mode to be changed in each of the 6 interrupts that occur during a single 50Hz/60Hz period. These bytes represent the mode in each of these sections, i.e. the screen modes (0,1 or 2) for the interrupts 0..5. More accurate emulators support changing of the screen mode at any point supported by the Amstrad hardware, these emulators should write &amp;quot;0&amp;quot; for all these bytes.&lt;br /&gt;
&lt;br /&gt;
2. A version 2 snapshot describes Dk'Tronics/Dobbertin compatible RAM in addition to the 64KB base ram. This is a type of RAM expansion which uses the same port and paging mechanism as the extra 64KB inside the 6128. However, the RAM *MUST* be continuous, therefore it's limited to 64KB, 256KB or 512KB additional RAM. The Dk'Tronics silicon disk can't be described on it's own because it's RAM configurations do not start at C4.&lt;br /&gt;
&lt;br /&gt;
The following configurations can be described:&lt;br /&gt;
* 64KB base + 64KB extra RAM (e.g. Dk'Tronics 64KB RAM Expansion)&lt;br /&gt;
* 64KB base + 256KB extra RAM (e.g. Dk'Tronics 256KB RAM Expansion)&lt;br /&gt;
* 64KB base + 512KB extra RAM (e.g. Dk'Tronics 256KB RAM Expansion &amp;amp; Dk'Tronics 256KB Silicon Disk OR X-MEM OR Symbiface 2 OR other device which provides 512KB)&lt;br /&gt;
&lt;br /&gt;
JavaCPC uses this value to store up to 4MB of RAM. (e.g. [[CPC4MB]]). This type of ram is Dk'Tronics compatible and has multiple banks of 512KB. This value could be used to describe a 1MB or 2MB expansion as long as it is fully Dk'tronics compatible (e.g. rpalmer's 2MB).&lt;br /&gt;
&lt;br /&gt;
3. JavaCPC uses e0-ff to store an emulator ID (see snapshot V3 for more details)&lt;br /&gt;
&lt;br /&gt;
= Changes and additions in Version 3 from Version 2  =&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 1&lt;br /&gt;
| snapshot version (3)&lt;br /&gt;
|-&lt;br /&gt;
| 6d&lt;br /&gt;
| 1&lt;br /&gt;
| CPC Type: &lt;br /&gt;
*0 = CPC464 &lt;br /&gt;
*1 = CPC664 &lt;br /&gt;
*2 = CPC6128 &lt;br /&gt;
*3 = unknown &lt;br /&gt;
*4 = 6128 Plus &lt;br /&gt;
*5 = 464 Plus &lt;br /&gt;
*6 = GX4000&lt;br /&gt;
|-&lt;br /&gt;
| 75&lt;br /&gt;
| n&lt;br /&gt;
| Disc drive A filename (No$CPC only)&lt;br /&gt;
|-&lt;br /&gt;
| 99&lt;br /&gt;
| 1&lt;br /&gt;
| Monitor VHold Value (-45 to +85)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9a&lt;br /&gt;
| 1&lt;br /&gt;
| Memory Expansion Enable (when Bit 7 is set)&lt;br /&gt;
*Bit 0 = 128K memory (Banks C4..C7)&lt;br /&gt;
*Bit 1 = 256K memory (Banks C4..DF)&lt;br /&gt;
*Bit 2 = 256K silicon disc (Banks E4..FF)&lt;br /&gt;
*Bit 3 = 4M expansion&lt;br /&gt;
*Bit 7 = Always set if this is valid &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9b&lt;br /&gt;
| 1&lt;br /&gt;
| Fast Disc emulation mode (0=off, 1=on) (WinAPE)&lt;br /&gt;
|-&lt;br /&gt;
| 9c&lt;br /&gt;
| 1&lt;br /&gt;
| FDD motor drive state (0=off, 1=on)&lt;br /&gt;
|-&lt;br /&gt;
| 9d-a0&lt;br /&gt;
| 4&lt;br /&gt;
| FDD current physical track (note 15)&lt;br /&gt;
|-&lt;br /&gt;
| a1&lt;br /&gt;
| 1&lt;br /&gt;
| Printer Data/Strobe Register (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| a2-a3&lt;br /&gt;
| 2&lt;br /&gt;
| Current frame scan line since monitor retrace (note16)&lt;br /&gt;
|-&lt;br /&gt;
| a4&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC type: &lt;br /&gt;
*0 = HD6845S/UM6845 &lt;br /&gt;
*1 = UM6845R &lt;br /&gt;
*2 = MC6845 &lt;br /&gt;
*3 = 6845 in CPC+ ASIC &lt;br /&gt;
*4 = 6845 in Pre-ASIC&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| a9&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC horizontal character counter register (note 11)&lt;br /&gt;
|-&lt;br /&gt;
| aa&lt;br /&gt;
| 1&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| ab&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC character-line counter register (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| ac&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC raster-line counter register (note 3)&lt;br /&gt;
|-&lt;br /&gt;
| ad&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC vertical total adjust counter register (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| ae&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC horizontal sync width counter (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| af&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC vertical sync width counter (note 6)&lt;br /&gt;
|-&lt;br /&gt;
| b0-b1&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Bit''&lt;br /&gt;
| ''Function''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| if &amp;quot;1&amp;quot; VSYNC is active, if &amp;quot;0&amp;quot; VSYNC is inactive (note 8)&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| if &amp;quot;1&amp;quot; HSYNC is active, if &amp;quot;0&amp;quot; HSYNC is inactive (note 9)&lt;br /&gt;
|-&lt;br /&gt;
| 2-6&lt;br /&gt;
| reserved&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| if &amp;quot;1&amp;quot; Vertical Total Adjust is active, if &amp;quot;0&amp;quot; Vertical Total Adjust is inactive (note 10)&lt;br /&gt;
|-&lt;br /&gt;
| 8-14&lt;br /&gt;
| Reserved (0)&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| if &amp;quot;1&amp;quot; use extended Interrupt Control Status Register (WinAPE)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| b2&lt;br /&gt;
| 1&lt;br /&gt;
| GA vsync delay counter (note 14)&lt;br /&gt;
|-&lt;br /&gt;
| b3&lt;br /&gt;
| 1&lt;br /&gt;
| GA interrupt scanline counter (note 12)&lt;br /&gt;
|-&lt;br /&gt;
| b4&lt;br /&gt;
| 1&lt;br /&gt;
| interrupt request flag (0=no interrupt requested, 1=interrupt requested) (note 13)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| b5&lt;br /&gt;
| 1&lt;br /&gt;
| Interrupt Control Status Register (WinAPE) (note 17)&lt;br /&gt;
|-&lt;br /&gt;
| b6&lt;br /&gt;
| 1&lt;br /&gt;
| Plus features disabled (0=enabled, 1=disabled)&lt;br /&gt;
|-&lt;br /&gt;
| b7&lt;br /&gt;
| 1&lt;br /&gt;
| Plus PPI Emulation (0=Standard 8255 emulation, 1=Plus PPI emulation)&lt;br /&gt;
|-&lt;br /&gt;
| b8-df&lt;br /&gt;
| 28&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| e0&lt;br /&gt;
| 20&lt;br /&gt;
| Emulator ID String&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes  ==&lt;br /&gt;
&lt;br /&gt;
1. This byte in the snapshot represents the last byte written to the printer I/O port (this byte does not include the automatic inversion of the strobe caused by the Amstrad hardware). &lt;br /&gt;
&lt;br /&gt;
2. This register is internal to the CRTC and counts the number of character-lines. The counter counts up. This value is in the range 0-127. (This counter is compared against CRTC register 4). &lt;br /&gt;
&lt;br /&gt;
3. This register is internal to the CRTC and counts the number of raster-lines. The counter counts up. This value is in the range 0-31. (This counter is compared against CRTC register 9). &lt;br /&gt;
&lt;br /&gt;
4. This register is internal to the CRTC and counts the number of raster-lines during vertical adjust. The counter counts up. This value is in the range 0-31. This should be ignored if the CRTC is not &amp;quot;executing&amp;quot; vertical. adjust.(This counter is compared against CRTC register 5). &lt;br /&gt;
&lt;br /&gt;
5. This register is internal to the CRTC and counts the number of characters during horizontal sync. This counter counts up. This value is in the range 0-16. This should be ignored if the CRTC is not &amp;quot;executing&amp;quot; horizontal sync. (This counter is compared against CRTC register 3). &lt;br /&gt;
&lt;br /&gt;
6. This register is internal to the CRTC and counts the number of scan-lines during vertical sync. This counter counts up. This value is in the range 0-16. This should be ignored if the CRTC is not &amp;quot;executing&amp;quot; vertical sync. (This counter is compared against CRTC register 3). &lt;br /&gt;
&lt;br /&gt;
7. These bytes define the internal state of the CRTC. Each bit in these bytes represents a state. &lt;br /&gt;
&lt;br /&gt;
8. When VSYNC is active, the CRTC is &amp;quot;executing&amp;quot; vertical sync, and the vertical sync width counter in the snapshot is used. &lt;br /&gt;
&lt;br /&gt;
9. When HSYNC is active, the CRTC is &amp;quot;executing&amp;quot; horizontal sync width counter in the snapshot is used. &lt;br /&gt;
&lt;br /&gt;
10. When Vertical total adjust is active, the CRTC is &amp;quot;executing&amp;quot; vertical total adjust and the vertical total adjust counter in the snapshot is used. &lt;br /&gt;
&lt;br /&gt;
11. This register is internal to the CRTC and counts the number of characters. This counter counts up. This value is in the range 0-255. (This counter is compared against CRTC register 0). &lt;br /&gt;
&lt;br /&gt;
12. This counter is internal to the GA and counts the number of HSYNCs. This counter is used to generate CPC raster interrupts. This counter counts up. This value is in the range 0-51. &lt;br /&gt;
&lt;br /&gt;
13. This flag is &amp;quot;1&amp;quot; if a interrupt request has been sent to the Z80 and it has not yet been acknowledged by the Z80. (A interrupt request is sent by the GA for standard CPC raster interrupts or by the ASIC for raster or dma interrupts). &lt;br /&gt;
&lt;br /&gt;
14. This is a counter internal to the GA and counts the number of HSYNCs since the start of the VSYNC and it is used to reset the interrupt counter to synchronise interrupts with the VSYNC. This counter counts up. This value is between 0 and 2. If this value is 0, the counter is inactive. If this counter is 1 or 2 the counter is active.&lt;br /&gt;
&lt;br /&gt;
15. This is the current cylinder for each of 4 drives.&lt;br /&gt;
&lt;br /&gt;
16. In WinAPE this counter is reset if a VSYNC occurs which causes the monitor to retrace vertically. This occurs if the VSYNC signal is active and this counter is greater than a threshold set by the V-Hold (normally 295 when V-Hold is 0), or if the counter reaches the maximum value (normally 351 when V-Hold is 0).&lt;br /&gt;
&lt;br /&gt;
17. Since Plus emulation requires more information than simply whether an interrupt is active, this value (as used internally by WinAPE) contains: &lt;br /&gt;
* Bit 7 - Gate Array (or PRI) interrupt. &lt;br /&gt;
* Bit 6 - DMA Channel 0 interrupt. &lt;br /&gt;
* Bit 5 - DMA Channel 1 interrupt. &lt;br /&gt;
* Bit 4 - DMA Channel 2 interrupt. &lt;br /&gt;
&lt;br /&gt;
It can be a combination of all or any interrupt sources. Interrupts are executed in the order raster, DMA 2, DMA 1, DMA 0.&lt;br /&gt;
&lt;br /&gt;
Immediately following the memory dump there is optional data which is separated into chunks. &lt;br /&gt;
&lt;br /&gt;
Each chunk of data has a header and this is followed by the data in the chunk. The header has the following format: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 4&lt;br /&gt;
| Chunk name (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| Chunk data length (note 2)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes: &lt;br /&gt;
&lt;br /&gt;
1. The chunks are defined with 4-byte character codes. (e.g. &amp;quot;CPC+&amp;quot;). In this example, the 4-byte character code would be stored in the file as 'C' then 'P' then 'C' then '+'. &lt;br /&gt;
&lt;br /&gt;
2. The &amp;quot;Chunk data length&amp;quot; defines the length of data following the header and does not include the size of the header. This number is stored in little endian format. &lt;br /&gt;
&lt;br /&gt;
3. If a emulator finds a chunk which it does not support then it should skip the chunk and continue with the next chunk in the file. Therefore an emulator author may add emulator specific chunks to the file and it will not prevent the snapshot from being used with other emulators that do not recognise the added chunks. &lt;br /&gt;
&lt;br /&gt;
4. There is not a terminator chunk. The snapshot reader should determine if there are more chunks based on the size of data remaining to be read from the file. &lt;br /&gt;
&lt;br /&gt;
=Version 3 Chunks=&lt;br /&gt;
&lt;br /&gt;
The following chunks are currently defined: &lt;br /&gt;
&lt;br /&gt;
== DSCA,DSCB ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by WinAPE and ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
The DSCA block contains the filename of the disc image inserted into drive A. The filename is stored as 8-bit ASCII (any Unicode characters with codes 0x100 or above will be translated to ? and therefore filenames with these characters can't be stored in Snapshots). The length of the block is the length of the filename in bytes.&lt;br /&gt;
&lt;br /&gt;
DSCB is similar to DSCA but stores the filename of the disc image inserted into drive B.&lt;br /&gt;
&lt;br /&gt;
== TAPE (ACE) ==&lt;br /&gt;
&lt;br /&gt;
This chunk is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
The TAPE block contains the filename of the tape image inserted. The filename is stored as 8-bit ASCII (any Unicode characters with codes 0x100 or above will be translated to ? and therefore filenames with these characters can't be stored in Snapshots). The length of the block is the length of the filename in bytes.&lt;br /&gt;
&lt;br /&gt;
== ROMS ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by WinAPE and ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
This block contains a list of filenames for each ROM (and cartridge) that is defined. The length of the block is the length for all strings.&lt;br /&gt;
&lt;br /&gt;
If a ROM is not defined, a single NUL (0) byte is present, otherwise there is a null terminated 8-bit ASCII string.&lt;br /&gt;
&lt;br /&gt;
First in the list is the filename (or internal name) for the cartridge (prefixed with a 'A' character), followed by lower rom and then upper roms 0-31 (WinAPE) or 0-255 (ACE).&lt;br /&gt;
&lt;br /&gt;
WinAPE lists internal ROMs by their internal name (the name listed in the drop down when you configure the roms, e.g. OS464).&lt;br /&gt;
ACE always put the actual file name, even for internal ROMs (e.g. System/Firmware_v3.rom).&lt;br /&gt;
&lt;br /&gt;
After the list of the upper ROMs, ACE also put the names of the internal Basic and AMSDOS ROMs.&lt;br /&gt;
Then, the presence of the &amp;quot;CartridgeKeepExtROM&amp;quot; let ACE know if the cartridge ROMs should disable installed external upper ROMs or not (depending on user preferences).&lt;br /&gt;
&lt;br /&gt;
NOTE: The selected Multiface ROM is not saved in the snapshot.&lt;br /&gt;
&lt;br /&gt;
== INFO Chunk (No$CPC) ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by No$CPC. It contains an 8-bit ASCII string with the version information for No$CPC.&lt;br /&gt;
&lt;br /&gt;
== MEM0-8 Chunk ==&lt;br /&gt;
&lt;br /&gt;
The MEM0-8 chunks contain at most 64KB of data. The data may be compressed or stored uncompressed. If the size is exactly 65536 bytes the data is uncompressed, otherwise it is compressed. Up to 512KB additional RAM can be stored in a snapshot. &lt;br /&gt;
&lt;br /&gt;
The compression scheme is RLE with 0x0e5 as the control byte.&lt;br /&gt;
&lt;br /&gt;
Data is encoded as:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;byte&amp;gt; for a single occurrence of a byte (not 0x0e5) (e.g. 0x013)&lt;br /&gt;
* 0x0e5,&amp;lt;count&amp;gt;,&amp;lt;byte&amp;gt; for multiple occurances of a byte (e. 0x0e5,0x04,0x013 for 0x013 repeated 4 times)&lt;br /&gt;
* 0x0e5,0 for a single 0x0e5 byte (e.g. 0x0e5)&lt;br /&gt;
&lt;br /&gt;
The blocks are:&lt;br /&gt;
&lt;br /&gt;
* MEM0 - main 64KB ram&lt;br /&gt;
* MEM1 - c4,c5,c6,c7 configurations (extra 64KB ram in 128KB machines) (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM2 - cc,cd,ce,cf configurations (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM3 - d4,d5,d6,d7 configurations (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM4 - dc,dd,de,df configurations (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM5 - e4,e5,e6,e7 configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
* MEM6 - ec,ed,ee,ef configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
* MEM7 - f4,f5,f6,f7 configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
* MEM8 - fc,fd,fe,ff configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
1. A snapshot may contain a mix of &amp;quot;standard&amp;quot; memory data (e.g. the data follows the header and is uncompressed) and additional MEM blocks as required.&lt;br /&gt;
&lt;br /&gt;
2. If the snapshot is not compressed, then up to 128KB will be stored as &amp;quot;standard&amp;quot; memory data, the additional RAM stored in MEM2-MEM8 blocks.&lt;br /&gt;
&lt;br /&gt;
3. If the snapshot is compressed, then the &amp;quot;standard&amp;quot; memory data will have 0 size and there will be a MEM0 in addition to the additional memory blocks.&lt;br /&gt;
&lt;br /&gt;
4. Version 3 doesn't require memory to be continuous. A Dk'tronics silicon disk on it's own can be described with this version.&lt;br /&gt;
&lt;br /&gt;
5. WinAPE allows a 4MB RAM expansion to be enabled but doesn't save the additional RAM in the snapshot.&lt;br /&gt;
&lt;br /&gt;
6. ACE can save additional memory in snapshots (up to 4MB) using the MX?? chunks.&lt;br /&gt;
&lt;br /&gt;
== MX09-40 Chunk (ACE) ==&lt;br /&gt;
&lt;br /&gt;
MX?? chunks allow snapshots to store up to 4160KB ram.&lt;br /&gt;
&lt;br /&gt;
MX?? chunks are following MEM0-8 chunks. They are numbered from 09 to 40 (hexadecimal numbering).&lt;br /&gt;
Information are stored compressed like in MEM0-8 chunks.&lt;br /&gt;
&lt;br /&gt;
== BRKC Chunk (ACE) ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by ACE when some breakpoints are set. When loading a snapshot, the breakpoints found in this chunk are added to the one already installed.&lt;br /&gt;
The number of stored breakpoints in the chunk is given by the chunk size divided by 216 (the size on one breakpoint data structure).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint type (0:Execution, 1:Memory, 2:I/O port)&lt;br /&gt;
|-&lt;br /&gt;
| 01&lt;br /&gt;
| 1&lt;br /&gt;
| Memory access mode (0:R/W, 1:R/O, 2:W/O)&lt;br /&gt;
|-&lt;br /&gt;
| 02&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint runtime mode (0:Break, 1:Watch)&lt;br /&gt;
|-&lt;br /&gt;
| 03&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint map type (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 04&lt;br /&gt;
| 2&lt;br /&gt;
| Breakable memory/port (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 06&lt;br /&gt;
| 2&lt;br /&gt;
| Breakable memory/port mask (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 08&lt;br /&gt;
| 1&lt;br /&gt;
| Match value&lt;br /&gt;
|-&lt;br /&gt;
| 09&lt;br /&gt;
| 1&lt;br /&gt;
| Match value mask&lt;br /&gt;
|-&lt;br /&gt;
| 0A&lt;br /&gt;
| 2&lt;br /&gt;
| Breakable memory size (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 0C&lt;br /&gt;
| 4&lt;br /&gt;
| Breakpoint activation step (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 128&lt;br /&gt;
| Breakpoint condition to match (NULL terminated string) (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 90&lt;br /&gt;
| 64&lt;br /&gt;
| Breakpoint user name (NULL terminated string)&lt;br /&gt;
|-&lt;br /&gt;
| D0&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint map bank (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| D1&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint map page (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| D2&lt;br /&gt;
| 6&lt;br /&gt;
| Reserved&lt;br /&gt;
|-&lt;br /&gt;
| D8&lt;br /&gt;
| ...&lt;br /&gt;
| Same sequence repeated for each breakpoint&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
&lt;br /&gt;
1. The condition is expressed using ACE syntax (similar to BASIC with AND/OR/XOR/NOT/+/-/=...).&lt;br /&gt;
Allowed additional syntaxes are:&lt;br /&gt;
*&amp;amp;, # or 0x for a hexadecimal number.&lt;br /&gt;
*% or &amp;amp;x for a binary number.&lt;br /&gt;
*AF, BC, HL, IX... for a 16-bit Z80 register.&lt;br /&gt;
*A, B, D, IXh, IXl... for an 8-bit Z80 register.&lt;br /&gt;
*FlagC, FlagNC, FlagM... for a Z80 flag.&lt;br /&gt;
*LineCount for the line number.&lt;br /&gt;
*LineCycle for the µs count on the current line.&lt;br /&gt;
*MemPage for the 64K expansion memory page (0-63).&lt;br /&gt;
*MemBankMode for the 16K expansion memory bank paging mode (0-7).&lt;br /&gt;
*UpperROMOn for the paging state of the upper ROM.&lt;br /&gt;
*UpperROMNum for the selected upper ROM number.&lt;br /&gt;
*LowerROMOn for the paging state of the lower ROM.&lt;br /&gt;
*LowerROMNum for the selected lower ROM number.&lt;br /&gt;
*ASICPageOn for the paging state of the I/O ASIC registers page.&lt;br /&gt;
&lt;br /&gt;
''Example : FlagC AND (HL=DE OR HL=&amp;amp;5000)''&lt;br /&gt;
&lt;br /&gt;
2. The map type determines the memory layout for which the breakpoint is valid.&lt;br /&gt;
The meaning of the values for map bank and map page depends on the map type value.&lt;br /&gt;
Possible values fir map type are:&lt;br /&gt;
* 0: Undefined. Map bank and page are ignored (always 0).&lt;br /&gt;
* 1: Main RAM. If map bank is 0, then linear main RAM is considered. If map bank is 1, then main RAM from &amp;amp;c000-&amp;amp;ffff mapped as &amp;amp;4000-&amp;amp;7fff is considered. Map page is ignored (always 0). &lt;br /&gt;
* 2: Extension RAM. Map bank is the 16K extension bank number (0-3). Map page is the 64K extension page number (0-31).&lt;br /&gt;
* 3: Extension ROM. Map bank is the ROM slot id (0-255). Map page is ignored (always 0).&lt;br /&gt;
* 4: Firmware ROM. Map bank and page are ignored (always 0).&lt;br /&gt;
* 5: Cartridge ROM. Map bank is the 16K ROM bank number (0-31). Map page is ignored (always 0).&lt;br /&gt;
* 6: ASIC I/O Page. Map bank and page are ignored (always 0).&lt;br /&gt;
&lt;br /&gt;
== SYMB Chunk (ACE) ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by ACE when some symbols are declared. When loading a snapshot, the symbols found in this chunk are added to the alreading existing ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 1&lt;br /&gt;
| Length on the symbol name (n). 0 is an invalid value.&lt;br /&gt;
|-&lt;br /&gt;
| 01&lt;br /&gt;
| n&lt;br /&gt;
| Symbol name (note 1).&lt;br /&gt;
|-&lt;br /&gt;
| n+1&lt;br /&gt;
| 1&lt;br /&gt;
| Symbol memory map type (note 2).&lt;br /&gt;
|-&lt;br /&gt;
| n+2&lt;br /&gt;
| 1&lt;br /&gt;
| Symbol memory map bank (note 2).&lt;br /&gt;
|-&lt;br /&gt;
| n+3&lt;br /&gt;
| 1&lt;br /&gt;
| Symbol memory map page (note 2).&lt;br /&gt;
|-&lt;br /&gt;
| n+4&lt;br /&gt;
| 2&lt;br /&gt;
| Reserved for future usage, always 0 for now.&lt;br /&gt;
|-&lt;br /&gt;
| n+6&lt;br /&gt;
| 1&lt;br /&gt;
| Symbol type (0: absolute, 1: relative).&lt;br /&gt;
|-&lt;br /&gt;
| n+7&lt;br /&gt;
| 2&lt;br /&gt;
| Address of the symbol (MSB first).&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
| Same sequence repeated until the end of the chunk is reached.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
&lt;br /&gt;
1. Symbol are (obviously) limited to 255 characters, cannot begin with a number (0-9), and only a limited set of ASCII char is allowed (a-z, A-Z, 0-9, _).&lt;br /&gt;
2. The map type determines the memory layout for which the symbol is valid. The meaning of the values for map bank and map page depends on the map type value.&lt;br /&gt;
Possible values fir map type are:&lt;br /&gt;
* 0: Undefined. Map bank and page are ignored (always 0).&lt;br /&gt;
* 1: Main RAM. If map bank is 0, then linear main RAM is considered. If map bank is 1, then main RAM from &amp;amp;c000-&amp;amp;ffff mapped as &amp;amp;4000-&amp;amp;7fff is considered. Map page is ignored (always 0). &lt;br /&gt;
* 2: Extension RAM. Map bank is the 16K extension bank number (0-3). Map page is the 64K extension page number (0-31).&lt;br /&gt;
* 3: Extension ROM. Map bank is the ROM slot id (0-255). Map page is ignored (always 0).&lt;br /&gt;
* 4: Firmware ROM. Map bank and page are ignored (always 0).&lt;br /&gt;
* 5: Cartridge ROM. Map bank is the 16K ROM bank number (0-31). Map page is ignored (always 0).&lt;br /&gt;
* 6: ASIC I/O Page. Map bank and page are ignored (always 0).&lt;br /&gt;
&lt;br /&gt;
== CPC+ Chunk  ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by Arnold, Winape, No$CPC and ACE. Arnold, Winape and ACE will save the block when Plus configuration enabled. No$CPC will save the block if the Plus features have been unlocked.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Addr in ASIC register-ram''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 000-7FF&lt;br /&gt;
| 800&lt;br /&gt;
| 4000-4FFF&lt;br /&gt;
| Sprite Bitmaps (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 800-87F&lt;br /&gt;
| 8*16&lt;br /&gt;
| 6000-607F&lt;br /&gt;
| Sprite Attributes (see below) (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 880-8BF&lt;br /&gt;
| 32*2&lt;br /&gt;
| 6400-643F&lt;br /&gt;
| Palettes (note 3)&lt;br /&gt;
|-&lt;br /&gt;
| 8C0&lt;br /&gt;
| 1&lt;br /&gt;
| 6800&lt;br /&gt;
| Programmable Raster Interrupt (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C1&lt;br /&gt;
| 1&lt;br /&gt;
| 6801&lt;br /&gt;
| Screen split scan-line (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C2&lt;br /&gt;
| 2&lt;br /&gt;
| 6802-6803&lt;br /&gt;
| Screen split secondary screen-address (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C4&lt;br /&gt;
| 1&lt;br /&gt;
| 6804&lt;br /&gt;
| Soft scroll control register (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C5&lt;br /&gt;
| 1&lt;br /&gt;
| 6805&lt;br /&gt;
| Interrupt vector (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C6&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| gate array A0 register value (note 8a) &lt;br /&gt;
|-&lt;br /&gt;
| 8C6-8C7&lt;br /&gt;
| 1&lt;br /&gt;
| -&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| 8C8-8CF&lt;br /&gt;
| 8&lt;br /&gt;
| 6808-680f&lt;br /&gt;
| Analogue input channels 0-7 (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 8D0-8DB&lt;br /&gt;
| 3*4&lt;br /&gt;
| 6C00-6C0B&lt;br /&gt;
| Sound DMA channel attributes 0-2 (see below) (note 6)&lt;br /&gt;
|-&lt;br /&gt;
| 8DC-8DE&lt;br /&gt;
| 3&lt;br /&gt;
| -&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| 8DF&lt;br /&gt;
| 1&lt;br /&gt;
| 6C0F&lt;br /&gt;
| DMA Control/Status (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8E0-8F4&lt;br /&gt;
| 3*7&lt;br /&gt;
| Internal&lt;br /&gt;
| DMA channel 0-2 internal registers (see below) (note 7)&lt;br /&gt;
|-&lt;br /&gt;
| 8F5&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| gate array A0 register value (note 8b)&lt;br /&gt;
|-&lt;br /&gt;
| 8F6&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| gate array A0 lock: 0 -&amp;gt; locked, !=0 -&amp;gt; unlocked (note 9)&lt;br /&gt;
|-&lt;br /&gt;
| 8F7&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| ASIC unlock sequence state (note 10)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes  ===&lt;br /&gt;
&lt;br /&gt;
1. The sprite data is packed, with two sprite pixels per byte. Bits 7..4 define the first pixel and bits 3..0 define the second pixel. &lt;br /&gt;
&lt;br /&gt;
2. The attributes for each sprite take 8 bytes. Each attribute block has the following format: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 2&lt;br /&gt;
| Sprite X (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| Sprite Y (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| Sprite Magnification (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 5-7&lt;br /&gt;
| 3&lt;br /&gt;
| unused (0)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: the Sprite X, Y and magnification are in the same order as the ASIC registers &lt;br /&gt;
&lt;br /&gt;
3. This is a direct copy of the palette in CPC+ ASIC Ram. There are 32 colours each with 2-bytes per colour. &lt;br /&gt;
&lt;br /&gt;
4. These bytes in the snapshot represent the last value written to these ASIC registers. &lt;br /&gt;
&lt;br /&gt;
5. These bytes represent the inputs to the analogue channels. &lt;br /&gt;
&lt;br /&gt;
6. The attributes for each DMA channel take 4 bytes. Each attribute block has the following format: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 2&lt;br /&gt;
| DMA Channel address (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 1&lt;br /&gt;
| DMA Channel prescalar (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 1&lt;br /&gt;
| unused (0)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: the DMA address and prescalar are in the same order as the ASIC registers. &lt;br /&gt;
&lt;br /&gt;
7 These registers are internal to the CPC+ and define the current DMA operation: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 2&lt;br /&gt;
| loop counter (note a)&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| loop address (note b)&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| pause count (note c)&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| 1&lt;br /&gt;
| pause prescalar count (note d)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
a. This value represents the number of loops remaining. 0 = none. This count is between 0..0FFF. This counter counts down. &lt;br /&gt;
&lt;br /&gt;
b. This is the Amstrad memory address to loop back to. It is a pointer to the DMA instruction after the last REPEAT instruction. &lt;br /&gt;
&lt;br /&gt;
c. This value represents the pause count and the count is between 0...0FFF. (TO BE CHECKED: down counter? what exactly does it represent) &lt;br /&gt;
&lt;br /&gt;
d. This value represents the pause prescalar count and the count is between 0..FF. (TO BE CHECKED: down counter? what exactly does it represent) &lt;br /&gt;
&lt;br /&gt;
8. This value represents the last value written to this I/O port. Winape uses 8a and not 8b. This value has bits 7,6,5 set to 1,0 and 1 respectively. 8b is in the original specification and is written by both ACE and No$CPC.&lt;br /&gt;
&lt;br /&gt;
9. This value represents the lock status of RMR2. If locked, RMR2 can't be accessed otherwise it can.&lt;br /&gt;
&lt;br /&gt;
10. This value represents the current unlock sequence state. &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''State ID''&lt;br /&gt;
| ''Synchronised State''&lt;br /&gt;
| ''Note''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| Not synchronised&lt;br /&gt;
| ASIC is waiting for first non-zero byte to be written, this is the first synchronisation byte required&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Not synchronised&lt;br /&gt;
| ASIC is waiting for zero byte to be written, this is the second synchronisation byte required&lt;br /&gt;
|-&lt;br /&gt;
| 2..10&lt;br /&gt;
| synchronised&lt;br /&gt;
| ASIC is waiting for byte from unlock sequence. e.g. if &amp;quot;2&amp;quot;, ASIC is waiting for &amp;amp;amp;FF, the first byte of the unlock sequence. if &amp;quot;3&amp;quot; ASIC is waiting for &amp;amp;amp;77, the second byte of the unlock sequence.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== BRKS Chunk (WinAPE) ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by Winape when some breakpoints are set.&lt;br /&gt;
ACE can import breakpoints from this chunk.&lt;br /&gt;
&lt;br /&gt;
The chunk contains 1 or more breakpoints.&lt;br /&gt;
&lt;br /&gt;
Each breakpoint has the form:&lt;br /&gt;
  * 2 bytes: address (LSB first)&lt;br /&gt;
  * 1 byte: location (0: base 64K RAM, 1: extended RAM)&lt;br /&gt;
  * 2 bytes: condition (?)&lt;br /&gt;
&lt;br /&gt;
== WABP Chunk (WinAPE) ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by Winape when some breakpoints are set. &lt;br /&gt;
The exact details are begin worked out.&lt;br /&gt;
&lt;br /&gt;
It seems to be:&lt;br /&gt;
&lt;br /&gt;
4 bytes - number of user breakpoints&lt;br /&gt;
&lt;br /&gt;
Each user breakpoint:&lt;br /&gt;
&lt;br /&gt;
type,&lt;br /&gt;
4 byte address&lt;br /&gt;
&lt;br /&gt;
Then,  4 bytes - number of memory breakpoints&lt;br /&gt;
&lt;br /&gt;
Each memory breakpoint:&lt;br /&gt;
&lt;br /&gt;
Then, 4 bytes - number of i/o breakpoints:&lt;br /&gt;
&lt;br /&gt;
Each i/o breakpoint:&lt;br /&gt;
&lt;br /&gt;
 2 bytes flags? (6000 read, a400 write)&lt;br /&gt;
 2 bytes port addr mask&lt;br /&gt;
 2 bytes port addr&lt;br /&gt;
 4 bytes counter&lt;br /&gt;
 4 bytes condition string length, followed by condition string (not null terminated)&lt;br /&gt;
&lt;br /&gt;
== DARS Chunk (WinAPE) ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by Winape when some data areas are set. &lt;br /&gt;
&lt;br /&gt;
The number of stored data areas in the chunk is given by the chunk size divided by 10 (the size of one data area data structure).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 4&lt;br /&gt;
| Address (LSB first) (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 04&lt;br /&gt;
| 4&lt;br /&gt;
| Area size (LSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 08&lt;br /&gt;
| 1&lt;br /&gt;
| Data type (0=byte,1=word)&lt;br /&gt;
|-&lt;br /&gt;
| 09&lt;br /&gt;
| 1&lt;br /&gt;
| Labels (1=marked by user as having labels)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
&lt;br /&gt;
1. Winape's addressing scheme is 4 bytes. The upper 16-bits effectively define the internal 64KB pages it uses.&lt;br /&gt;
&lt;br /&gt;
== RM00-FF Chunk ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by RASM and ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
The RM00-FF chunks contain at most 16KB of data representing the contents of the related external upper ROMs number. The data may be compressed or stored uncompressed. If the size is exactly 16384 bytes the data is uncompressed, otherwise it is compressed. Up to 2MB of external upper ROMs can be stored in a snapshot. &lt;br /&gt;
&lt;br /&gt;
The compression scheme is identical to the one from MEM0-7 chunks.&lt;br /&gt;
&lt;br /&gt;
== LOWR Chunk ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by RASM and ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
It is similar to the RM00-FF chunks but stored the internal firmware ROM contents.&lt;br /&gt;
&lt;br /&gt;
== BASR Chunk (ACE) ==&lt;br /&gt;
&lt;br /&gt;
This chunk is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
It is similar to the RM00-FF chunks but stored the internal Basic ROM contents.&lt;br /&gt;
&lt;br /&gt;
== DOSR Chunk (ACE) ==&lt;br /&gt;
&lt;br /&gt;
This chunk is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
It is similar to the RM00-FF chunks but stored the internal AMSDOS ROM contents.&lt;br /&gt;
&lt;br /&gt;
== CART Chunk (ACE) ==&lt;br /&gt;
&lt;br /&gt;
This chunk is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
It stores the contents of the inserted cartridge ROM. Extended cartridges are also supported.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 1&lt;br /&gt;
| Type of compression (0: uncompressed, &amp;amp;5E: RLE compressed)&lt;br /&gt;
|-&lt;br /&gt;
| 01&lt;br /&gt;
| 4&lt;br /&gt;
| Physical size of the cartridge in bytes, must be 16, 32, 64, 128, 256 or 512KB (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 05&lt;br /&gt;
| 2&lt;br /&gt;
| Number of cartridges, 1: for normal cartridges, extended cartridges otherwise (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 07&lt;br /&gt;
| 2&lt;br /&gt;
| Flags, bit 0 set if the external upper ROMs must be disabled, other bits set to 0 (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 09&lt;br /&gt;
| x&lt;br /&gt;
| Cartridge data contents (either compressed or not depending on type of compression)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== PLUG Chunk (ACE) ==&lt;br /&gt;
&lt;br /&gt;
This chunk stores the names of the plugins which should be enabled for the snapshot.&lt;br /&gt;
&lt;br /&gt;
All names are stored one after the other, in the form of binary strings (first byte containing the plugin name length followed by the the actual string).&lt;br /&gt;
The names stored are the actual names of the plugins libraries (e.g. &amp;quot;multiface2.acepansion&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== REMU Chunk ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written RASM and can be read by ACE.&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
[[Snapshot Archive]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Programming]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Snapshot&amp;diff=113797</id>
		<title>Snapshot</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Snapshot&amp;diff=113797"/>
				<updated>2024-01-02T20:23:45Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: /* ROMS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Snapshot (.SNA) file format  =&lt;br /&gt;
&lt;br /&gt;
The format was first defined for the [[CPCEMU|CPCEMU]] emulator but is now widely supported. The format was originally defined by [[Marco Vieth|Marco Vieth]]. Version 3 was defined by [[Ulrich Doewich|Ulrich Doewich]], [[Martin Korth|Martin Korth]], [[Richard Wilson|Richard Wilson]] and [[Kevin Thacker|Kevin Thacker]]. &lt;br /&gt;
&lt;br /&gt;
There are 3 versions defined in this document. Version 3 is the most recent and is currently supported by a few of the most recent emulators. &lt;br /&gt;
&lt;br /&gt;
Snapshots produced with [[CPCE|CPCE]] appears to be the most compatible and will run correctly using any emulator.&lt;br /&gt;
&lt;br /&gt;
Abbreviations: &lt;br /&gt;
&lt;br /&gt;
*[[Gate Array|GA = &amp;quot;Gate Array&amp;quot;]] &lt;br /&gt;
*[[CRTC|CRTC = &amp;quot;6845 Cathode Ray Tube Controller&amp;quot;]] &lt;br /&gt;
*[[8255|PPI = &amp;quot;Intel 8255 Programmable Peripheral Interface&amp;quot;]] &lt;br /&gt;
*[[PSG|PSG = &amp;quot;AY-3-8912 Programmable Sound Generator&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
= Version 1  =&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00-07&lt;br /&gt;
| 8&lt;br /&gt;
| The identification string &amp;quot;MV - SNA&amp;quot;. This must exist for the snapshot to be valid.&lt;br /&gt;
|-&lt;br /&gt;
| 08-0f&lt;br /&gt;
| 8&lt;br /&gt;
| (not used; set to 0)&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 1&lt;br /&gt;
| snapshot version (1)&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register F&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register A&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register C&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register B&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register E&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register D&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register L&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register H&lt;br /&gt;
|-&lt;br /&gt;
| 19&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register R&lt;br /&gt;
|-&lt;br /&gt;
| 1a&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register I&lt;br /&gt;
|-&lt;br /&gt;
| 1b&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 interrupt flip-flop IFF0 (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 1c&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 interrupt flip-flop IFF1 (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 1d&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IX (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 1e&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IX (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 1f&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IY (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 20&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IY (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 21&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register SP (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 22&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register SP (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 23&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register PC (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 24&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register PC (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 25&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 interrupt mode (0,1,2) (note 3)&lt;br /&gt;
|-&lt;br /&gt;
| 26&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register F' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 27&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register A' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 28&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register C' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 29&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register B' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2a&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register E' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2b&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register D' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2c&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register L' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2d&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register H' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2e&lt;br /&gt;
| 1&lt;br /&gt;
| GA: index of selected pen (note 10)&lt;br /&gt;
|-&lt;br /&gt;
| 2f-3f&lt;br /&gt;
| 1&lt;br /&gt;
| GA: current palette (note 12)&lt;br /&gt;
|-&lt;br /&gt;
| 40&lt;br /&gt;
| 1&lt;br /&gt;
| GA: multi configuration (note 11)&lt;br /&gt;
|-&lt;br /&gt;
| 41&lt;br /&gt;
| 1&lt;br /&gt;
| current RAM configuration (note 13)&lt;br /&gt;
|-&lt;br /&gt;
| 42&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC: index of selected register (note 14)&lt;br /&gt;
|-&lt;br /&gt;
| 43-54&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC: register data (0..17) (note 15)&lt;br /&gt;
|-&lt;br /&gt;
| 55&lt;br /&gt;
| 1&lt;br /&gt;
| current ROM selection (note 16)&lt;br /&gt;
|-&lt;br /&gt;
| 56&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: port A (note 6)&lt;br /&gt;
|-&lt;br /&gt;
| 57&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: port B (note 7)&lt;br /&gt;
|-&lt;br /&gt;
| 58&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: port C (note 8)&lt;br /&gt;
|-&lt;br /&gt;
| 59&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: control port (note 9)&lt;br /&gt;
|-&lt;br /&gt;
| 5a&lt;br /&gt;
| 1&lt;br /&gt;
| PSG: index of selected register (note 17)&lt;br /&gt;
|-&lt;br /&gt;
| 5b-6a&lt;br /&gt;
| 1&lt;br /&gt;
| PSG: register data (0,1,....15)&lt;br /&gt;
|-&lt;br /&gt;
| 6b&lt;br /&gt;
| 2&lt;br /&gt;
| memory dump size in Kilobytes (e.g. 64 for 64K, 128 for 128k) (note 18)&lt;br /&gt;
|-&lt;br /&gt;
| 6d-ff&lt;br /&gt;
| 1&lt;br /&gt;
| not used set to 0&lt;br /&gt;
|-&lt;br /&gt;
| 100-...&lt;br /&gt;
| 1&lt;br /&gt;
| memory dump&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes  ==&lt;br /&gt;
&lt;br /&gt;
1. All multi-byte values are stored in little-endian format (low byte followed by higher bytes). &lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;IFF0&amp;quot; reflects the state of the maskable interrupt (INT). &amp;quot;IFF1&amp;quot; is used to store the state of IFF0 when a non-maskable interrupt (NMI) is executed. Bit 0 of these bytes is significant. For CPCEMU compatibility, these bytes should be set to &amp;quot;1&amp;quot; when the IFF flip-flop is &amp;quot;1&amp;quot; and &amp;quot;0&amp;quot; when the flip-flop is &amp;quot;0&amp;quot;. For compatibility with other emulators, bits 7-1 should be set to &amp;quot;0&amp;quot;. When bit 0 of &amp;quot;IFF0&amp;quot; is &amp;quot;0&amp;quot; maskable interrupts will be ignored. When bit 0 of &amp;quot;IFF1&amp;quot; is &amp;quot;1&amp;quot; maskable interrupts will be acknowledged and executed. See the document about the Z80 for more information. &lt;br /&gt;
&lt;br /&gt;
3. This byte will be 0, 1 or 2 for the interrupt modes 0, 1 or 2. The interrupt mode is set using the &amp;quot;IM x&amp;quot; instructions. See the document about the Z80 for more information. &lt;br /&gt;
&lt;br /&gt;
4. These registers are from the alternate register set of the Z80. &lt;br /&gt;
&lt;br /&gt;
5. These registers are 16-bit. &amp;quot;low&amp;quot; indicates bits 7..0, &amp;quot;high&amp;quot;indicates bits 15..8. &lt;br /&gt;
&lt;br /&gt;
6. This byte represents the inputs to PPI port A regardless of the input/output setting of this port. &lt;br /&gt;
&lt;br /&gt;
7. This byte represents the inputs to PPI port B regardless of the input/output setting of this port. &lt;br /&gt;
&lt;br /&gt;
8. This byte represents the outputs from port C regardless of the input/output setting of this port. &lt;br /&gt;
&lt;br /&gt;
9. This byte represents the PPI control byte which defines the input/output and mode of each port and not the last value written to this port. For CPCEMU compatibility bit 7 of this byte must be set to &amp;quot;1&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
10. This byte in the snapshot represents the selected pen register of the Gate-Array. This byte is the last value written to this port. Bit 7,6,5 should be set to &amp;quot;0&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
11. This byte in the snapshot represents the multi-configuration register of the Gate-Array. This byte is the last byte written to this register. For CPCEMU compatibility, bit 7 should be set to &amp;quot;1&amp;quot; and bit 6 and bit 5 set to &amp;quot;0&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
12. These bytes are the current palette. For CPCEMU compatibility, these bytes should have bit 7=bit 6=bit 5=&amp;quot;0&amp;quot;. Bits 4..0 define the colour using the hardware colour code. The colours are stored in the order pen 0, pen1, pen 2,...,pen 15 followed by border colour. &lt;br /&gt;
&lt;br /&gt;
13. This byte represents a ram configuration for a Dk'Tronics/Dobbertin/Amstrad compatible RAM expansion, or the built in RAM expansion of the CPC6128 and CPC6128+. Bits 5..0 define the ram expansion code. For CPCEMU compatibility, bit 7 and bit 6 of this byte should be set to &amp;quot;0&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
14. This byte in the snapshot represents the index of the currently selected CRTC register. For compatibility with CPCEMU this value should be in the range 0-31. &lt;br /&gt;
&lt;br /&gt;
15. These bytes represent the data of the CRTC's registers. &lt;br /&gt;
&lt;br /&gt;
16. This byte in the snapshot represents the last byte written to the &amp;quot;ROM select&amp;quot; I/O port. &lt;br /&gt;
&lt;br /&gt;
17. This byte in the snapshot represents the index of the currently selected PSG register. For CPCEMU compatibility, this byte should be in the range 0-15. &lt;br /&gt;
&lt;br /&gt;
18. the memory dump can have size 0 in version 3 and in this case all RAM is described in additional blocks (MEM0-MEM8). If a memory dump has a non-zero size, then it is uncompressed and describes the main 64KB ram immediately followed by the second 64KB ram (if present) (this ram is inside 128KB machines or machines with 64KB from a Dk'Tronics/Dobbertin/Amstrad compatible RAM expansion. Note that CPCEMU can only write a 64K or 128K snapshot.&lt;br /&gt;
&lt;br /&gt;
19. JavaCPC uses e0-ff to store an emulator ID (see snapshot V3 for more details)&lt;br /&gt;
&lt;br /&gt;
= Changes and additions in Version 2 from Version 1  =&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 1&lt;br /&gt;
| snapshot version (2)&lt;br /&gt;
|-&lt;br /&gt;
| 6d&lt;br /&gt;
| 1&lt;br /&gt;
| CPC Type: &lt;br /&gt;
*0 = CPC464 &lt;br /&gt;
*1 = CPC664 &lt;br /&gt;
*2 = CPC6128 &lt;br /&gt;
*3 = unknown&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 6e&lt;br /&gt;
| 1&lt;br /&gt;
| interrupt number (0..5) (note 1a)&lt;br /&gt;
|-&lt;br /&gt;
| 6f-74&lt;br /&gt;
| 6&lt;br /&gt;
| 6 multimode bytes (note 1b)&lt;br /&gt;
|-&lt;br /&gt;
| 75-ff&lt;br /&gt;
| x&lt;br /&gt;
| (not used)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes  ==&lt;br /&gt;
&lt;br /&gt;
1. If standard CPC raster interrupts are used, interrupts are acknowledged and &amp;quot;executed&amp;quot; at the time they are requested, then there will be 6 interrupts executed per screen update cycle. &lt;br /&gt;
&lt;br /&gt;
*CPCEMU uses a simple system to emulate the interrupts. It is assumed there are exactly 6 interrupts per screen update cycle (the interrupts are assumed to occur at a frequency of 300Hz). This byte records the interrupt number in the current screen update cycle. More accurate emulators use the correct interrupt generation method and may ignore this byte. For CPCEMU compatibility, these emulators should set this byte to &amp;quot;0&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*CPCEMU uses a simple system to emulate the screen display. It allows the mode to be changed in each of the 6 interrupts that occur during a single 50Hz/60Hz period. These bytes represent the mode in each of these sections, i.e. the screen modes (0,1 or 2) for the interrupts 0..5. More accurate emulators support changing of the screen mode at any point supported by the Amstrad hardware, these emulators should write &amp;quot;0&amp;quot; for all these bytes.&lt;br /&gt;
&lt;br /&gt;
2. A version 2 snapshot describes Dk'Tronics/Dobbertin compatible RAM in addition to the 64KB base ram. This is a type of RAM expansion which uses the same port and paging mechanism as the extra 64KB inside the 6128. However, the RAM *MUST* be continuous, therefore it's limited to 64KB, 256KB or 512KB additional RAM. The Dk'Tronics silicon disk can't be described on it's own because it's RAM configurations do not start at C4.&lt;br /&gt;
&lt;br /&gt;
The following configurations can be described:&lt;br /&gt;
* 64KB base + 64KB extra RAM (e.g. Dk'Tronics 64KB RAM Expansion)&lt;br /&gt;
* 64KB base + 256KB extra RAM (e.g. Dk'Tronics 256KB RAM Expansion)&lt;br /&gt;
* 64KB base + 512KB extra RAM (e.g. Dk'Tronics 256KB RAM Expansion &amp;amp; Dk'Tronics 256KB Silicon Disk OR X-MEM OR Symbiface 2 OR other device which provides 512KB)&lt;br /&gt;
&lt;br /&gt;
JavaCPC uses this value to store up to 4MB of RAM. (e.g. [[CPC4MB]]). This type of ram is Dk'Tronics compatible and has multiple banks of 512KB. This value could be used to describe a 1MB or 2MB expansion as long as it is fully Dk'tronics compatible (e.g. rpalmer's 2MB).&lt;br /&gt;
&lt;br /&gt;
3. JavaCPC uses e0-ff to store an emulator ID (see snapshot V3 for more details)&lt;br /&gt;
&lt;br /&gt;
= Changes and additions in Version 3 from Version 2  =&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 1&lt;br /&gt;
| snapshot version (3)&lt;br /&gt;
|-&lt;br /&gt;
| 6d&lt;br /&gt;
| 1&lt;br /&gt;
| CPC Type: &lt;br /&gt;
*0 = CPC464 &lt;br /&gt;
*1 = CPC664 &lt;br /&gt;
*2 = CPC6128 &lt;br /&gt;
*3 = unknown &lt;br /&gt;
*4 = 6128 Plus &lt;br /&gt;
*5 = 464 Plus &lt;br /&gt;
*6 = GX4000&lt;br /&gt;
|-&lt;br /&gt;
| 75&lt;br /&gt;
| n&lt;br /&gt;
| Disc drive A filename (No$CPC only)&lt;br /&gt;
|-&lt;br /&gt;
| 99&lt;br /&gt;
| 1&lt;br /&gt;
| Monitor VHold Value (-45 to +85)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9a&lt;br /&gt;
| 1&lt;br /&gt;
| Memory Expansion Enable (when Bit 7 is set)&lt;br /&gt;
*Bit 0 = 128K memory (Banks C4..C7)&lt;br /&gt;
*Bit 1 = 256K memory (Banks C4..DF)&lt;br /&gt;
*Bit 2 = 256K silicon disc (Banks E4..FF)&lt;br /&gt;
*Bit 3 = 4M expansion&lt;br /&gt;
*Bit 7 = Always set if this is valid &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9b&lt;br /&gt;
| 1&lt;br /&gt;
| Fast Disc emulation mode (0=off, 1=on) (WinAPE)&lt;br /&gt;
|-&lt;br /&gt;
| 9c&lt;br /&gt;
| 1&lt;br /&gt;
| FDD motor drive state (0=off, 1=on)&lt;br /&gt;
|-&lt;br /&gt;
| 9d-a0&lt;br /&gt;
| 4&lt;br /&gt;
| FDD current physical track (note 15)&lt;br /&gt;
|-&lt;br /&gt;
| a1&lt;br /&gt;
| 1&lt;br /&gt;
| Printer Data/Strobe Register (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| a2-a3&lt;br /&gt;
| 2&lt;br /&gt;
| Current frame scan line since monitor retrace (note16)&lt;br /&gt;
|-&lt;br /&gt;
| a4&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC type: &lt;br /&gt;
*0 = HD6845S/UM6845 &lt;br /&gt;
*1 = UM6845R &lt;br /&gt;
*2 = MC6845 &lt;br /&gt;
*3 = 6845 in CPC+ ASIC &lt;br /&gt;
*4 = 6845 in Pre-ASIC&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| a9&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC horizontal character counter register (note 11)&lt;br /&gt;
|-&lt;br /&gt;
| aa&lt;br /&gt;
| 1&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| ab&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC character-line counter register (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| ac&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC raster-line counter register (note 3)&lt;br /&gt;
|-&lt;br /&gt;
| ad&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC vertical total adjust counter register (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| ae&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC horizontal sync width counter (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| af&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC vertical sync width counter (note 6)&lt;br /&gt;
|-&lt;br /&gt;
| b0-b1&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Bit''&lt;br /&gt;
| ''Function''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| if &amp;quot;1&amp;quot; VSYNC is active, if &amp;quot;0&amp;quot; VSYNC is inactive (note 8)&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| if &amp;quot;1&amp;quot; HSYNC is active, if &amp;quot;0&amp;quot; HSYNC is inactive (note 9)&lt;br /&gt;
|-&lt;br /&gt;
| 2-6&lt;br /&gt;
| reserved&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| if &amp;quot;1&amp;quot; Vertical Total Adjust is active, if &amp;quot;0&amp;quot; Vertical Total Adjust is inactive (note 10)&lt;br /&gt;
|-&lt;br /&gt;
| 8-14&lt;br /&gt;
| Reserved (0)&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| if &amp;quot;1&amp;quot; use extended Interrupt Control Status Register (WinAPE)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| b2&lt;br /&gt;
| 1&lt;br /&gt;
| GA vsync delay counter (note 14)&lt;br /&gt;
|-&lt;br /&gt;
| b3&lt;br /&gt;
| 1&lt;br /&gt;
| GA interrupt scanline counter (note 12)&lt;br /&gt;
|-&lt;br /&gt;
| b4&lt;br /&gt;
| 1&lt;br /&gt;
| interrupt request flag (0=no interrupt requested, 1=interrupt requested) (note 13)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| b5&lt;br /&gt;
| 1&lt;br /&gt;
| Interrupt Control Status Register (WinAPE) (note 17)&lt;br /&gt;
|-&lt;br /&gt;
| b6&lt;br /&gt;
| 1&lt;br /&gt;
| Plus features disabled (0=enabled, 1=disabled)&lt;br /&gt;
|-&lt;br /&gt;
| b7&lt;br /&gt;
| 1&lt;br /&gt;
| Plus PPI Emulation (0=Standard 8255 emulation, 1=Plus PPI emulation)&lt;br /&gt;
|-&lt;br /&gt;
| b8-df&lt;br /&gt;
| 28&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| e0&lt;br /&gt;
| 20&lt;br /&gt;
| Emulator ID String&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes  ==&lt;br /&gt;
&lt;br /&gt;
1. This byte in the snapshot represents the last byte written to the printer I/O port (this byte does not include the automatic inversion of the strobe caused by the Amstrad hardware). &lt;br /&gt;
&lt;br /&gt;
2. This register is internal to the CRTC and counts the number of character-lines. The counter counts up. This value is in the range 0-127. (This counter is compared against CRTC register 4). &lt;br /&gt;
&lt;br /&gt;
3. This register is internal to the CRTC and counts the number of raster-lines. The counter counts up. This value is in the range 0-31. (This counter is compared against CRTC register 9). &lt;br /&gt;
&lt;br /&gt;
4. This register is internal to the CRTC and counts the number of raster-lines during vertical adjust. The counter counts up. This value is in the range 0-31. This should be ignored if the CRTC is not &amp;quot;executing&amp;quot; vertical. adjust.(This counter is compared against CRTC register 5). &lt;br /&gt;
&lt;br /&gt;
5. This register is internal to the CRTC and counts the number of characters during horizontal sync. This counter counts up. This value is in the range 0-16. This should be ignored if the CRTC is not &amp;quot;executing&amp;quot; horizontal sync. (This counter is compared against CRTC register 3). &lt;br /&gt;
&lt;br /&gt;
6. This register is internal to the CRTC and counts the number of scan-lines during vertical sync. This counter counts up. This value is in the range 0-16. This should be ignored if the CRTC is not &amp;quot;executing&amp;quot; vertical sync. (This counter is compared against CRTC register 3). &lt;br /&gt;
&lt;br /&gt;
7. These bytes define the internal state of the CRTC. Each bit in these bytes represents a state. &lt;br /&gt;
&lt;br /&gt;
8. When VSYNC is active, the CRTC is &amp;quot;executing&amp;quot; vertical sync, and the vertical sync width counter in the snapshot is used. &lt;br /&gt;
&lt;br /&gt;
9. When HSYNC is active, the CRTC is &amp;quot;executing&amp;quot; horizontal sync width counter in the snapshot is used. &lt;br /&gt;
&lt;br /&gt;
10. When Vertical total adjust is active, the CRTC is &amp;quot;executing&amp;quot; vertical total adjust and the vertical total adjust counter in the snapshot is used. &lt;br /&gt;
&lt;br /&gt;
11. This register is internal to the CRTC and counts the number of characters. This counter counts up. This value is in the range 0-255. (This counter is compared against CRTC register 0). &lt;br /&gt;
&lt;br /&gt;
12. This counter is internal to the GA and counts the number of HSYNCs. This counter is used to generate CPC raster interrupts. This counter counts up. This value is in the range 0-51. &lt;br /&gt;
&lt;br /&gt;
13. This flag is &amp;quot;1&amp;quot; if a interrupt request has been sent to the Z80 and it has not yet been acknowledged by the Z80. (A interrupt request is sent by the GA for standard CPC raster interrupts or by the ASIC for raster or dma interrupts). &lt;br /&gt;
&lt;br /&gt;
14. This is a counter internal to the GA and counts the number of HSYNCs since the start of the VSYNC and it is used to reset the interrupt counter to synchronise interrupts with the VSYNC. This counter counts up. This value is between 0 and 2. If this value is 0, the counter is inactive. If this counter is 1 or 2 the counter is active.&lt;br /&gt;
&lt;br /&gt;
15. This is the current cylinder for each of 4 drives.&lt;br /&gt;
&lt;br /&gt;
16. In WinAPE this counter is reset if a VSYNC occurs which causes the monitor to retrace vertically. This occurs if the VSYNC signal is active and this counter is greater than a threshold set by the V-Hold (normally 295 when V-Hold is 0), or if the counter reaches the maximum value (normally 351 when V-Hold is 0).&lt;br /&gt;
&lt;br /&gt;
17. Since Plus emulation requires more information than simply whether an interrupt is active, this value (as used internally by WinAPE) contains: &lt;br /&gt;
* Bit 7 - Gate Array (or PRI) interrupt. &lt;br /&gt;
* Bit 6 - DMA Channel 0 interrupt. &lt;br /&gt;
* Bit 5 - DMA Channel 1 interrupt. &lt;br /&gt;
* Bit 4 - DMA Channel 2 interrupt. &lt;br /&gt;
&lt;br /&gt;
It can be a combination of all or any interrupt sources. Interrupts are executed in the order raster, DMA 2, DMA 1, DMA 0.&lt;br /&gt;
&lt;br /&gt;
Immediately following the memory dump there is optional data which is separated into chunks. &lt;br /&gt;
&lt;br /&gt;
Each chunk of data has a header and this is followed by the data in the chunk. The header has the following format: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 4&lt;br /&gt;
| Chunk name (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| Chunk data length (note 2)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes: &lt;br /&gt;
&lt;br /&gt;
1. The chunks are defined with 4-byte character codes. (e.g. &amp;quot;CPC+&amp;quot;). In this example, the 4-byte character code would be stored in the file as 'C' then 'P' then 'C' then '+'. &lt;br /&gt;
&lt;br /&gt;
2. The &amp;quot;Chunk data length&amp;quot; defines the length of data following the header and does not include the size of the header. This number is stored in little endian format. &lt;br /&gt;
&lt;br /&gt;
3. If a emulator finds a chunk which it does not support then it should skip the chunk and continue with the next chunk in the file. Therefore an emulator author may add emulator specific chunks to the file and it will not prevent the snapshot from being used with other emulators that do not recognise the added chunks. &lt;br /&gt;
&lt;br /&gt;
4. There is not a terminator chunk. The snapshot reader should determine if there are more chunks based on the size of data remaining to be read from the file. &lt;br /&gt;
&lt;br /&gt;
=Version 3 Chunks=&lt;br /&gt;
&lt;br /&gt;
The following chunks are currently defined: &lt;br /&gt;
&lt;br /&gt;
== DSCA,DSCB ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by WinAPE and ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
The DSCA block contains the filename of the disc image inserted into drive A. The filename is stored as 8-bit ASCII (any Unicode characters with codes 0x100 or above will be translated to ? and therefore filenames with these characters can't be stored in Snapshots). The length of the block is the length of the filename in bytes.&lt;br /&gt;
&lt;br /&gt;
DSCB is similar to DSCA but stores the filename of the disc image inserted into drive B.&lt;br /&gt;
&lt;br /&gt;
== TAPE (ACE) ==&lt;br /&gt;
&lt;br /&gt;
This chunk is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
The TAPE block contains the filename of the tape image inserted. The filename is stored as 8-bit ASCII (any Unicode characters with codes 0x100 or above will be translated to ? and therefore filenames with these characters can't be stored in Snapshots). The length of the block is the length of the filename in bytes.&lt;br /&gt;
&lt;br /&gt;
== ROMS ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by WinAPE and ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
This block contains a list of filenames for each ROM (and cartridge) that is defined. The length of the block is the length for all strings.&lt;br /&gt;
&lt;br /&gt;
If a ROM is not defined, a single NUL (0) byte is present, otherwise there is a null terminated 8-bit ASCII string.&lt;br /&gt;
&lt;br /&gt;
First in the list is the filename (or internal name) for the cartridge (prefixed with a 'A' character), followed by lower rom and then upper roms 0-31 (WinAPE) or 0-255 (ACE).&lt;br /&gt;
&lt;br /&gt;
WinAPE lists internal ROMs by their internal name (the name listed in the drop down when you configure the roms, e.g. OS464).&lt;br /&gt;
ACE always put the actual file name, even for internal ROMs (e.g. System/Firmware_v3.rom).&lt;br /&gt;
&lt;br /&gt;
After the list of the upper ROMs, ACE also put the names of the internal Basic and AMSDOS ROMs.&lt;br /&gt;
Then, the presence of the &amp;quot;CartridgeKeepExtROM&amp;quot; let ACE know if the cartridge ROMs should disable installed external upper ROMs or not (depending on user preferences).&lt;br /&gt;
&lt;br /&gt;
NOTE: The selected Multiface ROM is not saved in the snapshot.&lt;br /&gt;
&lt;br /&gt;
== INFO Chunk (No$CPC) ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by No$CPC. It contains an 8-bit ASCII string with the version information for No$CPC.&lt;br /&gt;
&lt;br /&gt;
== MEM0-8 Chunk ==&lt;br /&gt;
&lt;br /&gt;
The MEM0-8 chunks contain at most 64KB of data. The data may be compressed or stored uncompressed. If the size is exactly 65536 bytes the data is uncompressed, otherwise it is compressed. Up to 512KB additional RAM can be stored in a snapshot. &lt;br /&gt;
&lt;br /&gt;
The compression scheme is RLE with 0x0e5 as the control byte.&lt;br /&gt;
&lt;br /&gt;
Data is encoded as:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;byte&amp;gt; for a single occurrence of a byte (not 0x0e5) (e.g. 0x013)&lt;br /&gt;
* 0x0e5,&amp;lt;count&amp;gt;,&amp;lt;byte&amp;gt; for multiple occurances of a byte (e. 0x0e5,0x04,0x013 for 0x013 repeated 4 times)&lt;br /&gt;
* 0x0e5,0 for a single 0x0e5 byte (e.g. 0x0e5)&lt;br /&gt;
&lt;br /&gt;
The blocks are:&lt;br /&gt;
&lt;br /&gt;
* MEM0 - main 64KB ram&lt;br /&gt;
* MEM1 - c4,c5,c6,c7 configurations (extra 64KB ram in 128KB machines) (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM2 - cc,cd,ce,cf configurations (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM3 - d4,d5,d6,d7 configurations (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM4 - dc,dd,de,df configurations (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM5 - e4,e5,e6,e7 configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
* MEM6 - ec,ed,ee,ef configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
* MEM7 - f4,f5,f6,f7 configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
* MEM8 - fc,fd,fe,ff configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
1. A snapshot may contain a mix of &amp;quot;standard&amp;quot; memory data (e.g. the data follows the header and is uncompressed) and additional MEM blocks as required.&lt;br /&gt;
&lt;br /&gt;
2. If the snapshot is not compressed, then up to 128KB will be stored as &amp;quot;standard&amp;quot; memory data, the additional RAM stored in MEM2-MEM8 blocks.&lt;br /&gt;
&lt;br /&gt;
3. If the snapshot is compressed, then the &amp;quot;standard&amp;quot; memory data will have 0 size and there will be a MEM0 in addition to the additional memory blocks.&lt;br /&gt;
&lt;br /&gt;
4. Version 3 doesn't require memory to be continuous. A Dk'tronics silicon disk on it's own can be described with this version.&lt;br /&gt;
&lt;br /&gt;
5. WinAPE allows a 4MB RAM expansion to be enabled but doesn't save the additional RAM in the snapshot.&lt;br /&gt;
&lt;br /&gt;
6. ACE can save additional memory in snapshots (up to 4MB) using the MX?? chunks.&lt;br /&gt;
&lt;br /&gt;
== MX09-40 Chunk (ACE) ==&lt;br /&gt;
&lt;br /&gt;
MX?? chunks allow snapshots to store up to 4160KB ram.&lt;br /&gt;
&lt;br /&gt;
MX?? chunks are following MEM0-8 chunks. They are numbered from 09 to 40 (hexadecimal numbering).&lt;br /&gt;
Information are stored compressed like in MEM0-8 chunks.&lt;br /&gt;
&lt;br /&gt;
== BRKC Chunk (ACE) ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by ACE when some breakpoints are set. When loading a snapshot, the breakpoints found in this chunk are added to the one already installed.&lt;br /&gt;
The number of stored breakpoints in the chunk is given by the chunk size divided by 216 (the size on one breakpoint data structure).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint type (0:Execution, 1:Memory, 2:I/O port)&lt;br /&gt;
|-&lt;br /&gt;
| 01&lt;br /&gt;
| 1&lt;br /&gt;
| Memory access mode (0:R/W, 1:R/O, 2:W/O)&lt;br /&gt;
|-&lt;br /&gt;
| 02&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint runtime mode (0:Break, 1:Watch)&lt;br /&gt;
|-&lt;br /&gt;
| 03&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint map type (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 04&lt;br /&gt;
| 2&lt;br /&gt;
| Breakable memory/port (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 06&lt;br /&gt;
| 2&lt;br /&gt;
| Breakable memory/port mask (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 08&lt;br /&gt;
| 1&lt;br /&gt;
| Match value&lt;br /&gt;
|-&lt;br /&gt;
| 09&lt;br /&gt;
| 1&lt;br /&gt;
| Match value mask&lt;br /&gt;
|-&lt;br /&gt;
| 0A&lt;br /&gt;
| 2&lt;br /&gt;
| Breakable memory size (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 0C&lt;br /&gt;
| 4&lt;br /&gt;
| Breakpoint activation step (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 128&lt;br /&gt;
| Breakpoint condition to match (NULL terminated string) (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 90&lt;br /&gt;
| 64&lt;br /&gt;
| Breakpoint user name (NULL terminated string)&lt;br /&gt;
|-&lt;br /&gt;
| D0&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint map bank (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| D1&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint map page (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| D2&lt;br /&gt;
| 6&lt;br /&gt;
| Reserved&lt;br /&gt;
|-&lt;br /&gt;
| D8&lt;br /&gt;
| ...&lt;br /&gt;
| Same sequence repeated for each breakpoint&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
&lt;br /&gt;
1. The condition is expressed using ACE syntax (similar to BASIC with AND/OR/XOR/NOT/+/-/=...).&lt;br /&gt;
Allowed additional syntaxes are:&lt;br /&gt;
*&amp;amp;, # or 0x for a hexadecimal number.&lt;br /&gt;
*% or &amp;amp;x for a binary number.&lt;br /&gt;
*AF, BC, HL, IX... for a 16-bit Z80 register.&lt;br /&gt;
*A, B, D, IXh, IXl... for an 8-bit Z80 register.&lt;br /&gt;
*FlagC, FlagNC, FlagM... for a Z80 flag.&lt;br /&gt;
*LineCount for the line number.&lt;br /&gt;
*LineCycle for the µs count on the current line.&lt;br /&gt;
*MemPage for the 64K expansion memory page (0-63).&lt;br /&gt;
*MemBankMode for the 16K expansion memory bank paging mode (0-7).&lt;br /&gt;
*UpperROMOn for the paging state of the upper ROM.&lt;br /&gt;
*UpperROMNum for the selected upper ROM number.&lt;br /&gt;
*LowerROMOn for the paging state of the lower ROM.&lt;br /&gt;
*LowerROMNum for the selected lower ROM number.&lt;br /&gt;
*ASICPageOn for the paging state of the I/O ASIC registers page.&lt;br /&gt;
&lt;br /&gt;
''Example : FlagC AND (HL=DE OR HL=&amp;amp;5000)''&lt;br /&gt;
&lt;br /&gt;
2. The map type determines the memory layout for which the breakpoint is valid.&lt;br /&gt;
The meaning of the values for map bank and map page depends on the map type value.&lt;br /&gt;
Possible values fir map type are:&lt;br /&gt;
* 0: Undefined. Map bank and page are ignored (always 0).&lt;br /&gt;
* 1: Main RAM. If map bank is 0, then linear main RAM is considered. If map bank is 1, then main RAM from &amp;amp;c000-&amp;amp;ffff mapped as &amp;amp;4000-&amp;amp;7fff is considered. Map page is ignored (always 0). &lt;br /&gt;
* 2: Extension RAM. Map bank is the 16K extension bank number (0-3). Map page is the 64K extension page number (0-31).&lt;br /&gt;
* 3: Extension ROM. Map bank is the ROM slot id (0-255). Map page is ignored (always 0).&lt;br /&gt;
* 4: Firmware ROM. Map bank and page are ignored (always 0).&lt;br /&gt;
* 5: Cartridge ROM. Map bank is the 16K ROM bank number (0-31). Map page is ignored (always 0).&lt;br /&gt;
* 6: ASIC I/O Page. Map bank and page are ignored (always 0).&lt;br /&gt;
&lt;br /&gt;
== SYMB Chunk (ACE) ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by ACE when some symbols are declared. When loading a snapshot, the symbols found in this chunk are added to the alreading existing ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 1&lt;br /&gt;
| Length on the symbol name (n). 0 is an invalid value.&lt;br /&gt;
|-&lt;br /&gt;
| 01&lt;br /&gt;
| n&lt;br /&gt;
| Symbol name (note 1).&lt;br /&gt;
|-&lt;br /&gt;
| n+1&lt;br /&gt;
| 1&lt;br /&gt;
| Symbol memory map type (note 2).&lt;br /&gt;
|-&lt;br /&gt;
| n+2&lt;br /&gt;
| 1&lt;br /&gt;
| Symbol memory map bank (note 2).&lt;br /&gt;
|-&lt;br /&gt;
| n+3&lt;br /&gt;
| 1&lt;br /&gt;
| Symbol memory map page (note 2).&lt;br /&gt;
|-&lt;br /&gt;
| n+4&lt;br /&gt;
| 2&lt;br /&gt;
| Reserved for future usage, always 0 for now.&lt;br /&gt;
|-&lt;br /&gt;
| n+6&lt;br /&gt;
| 1&lt;br /&gt;
| Symbol type (0: absolute, 1: relative).&lt;br /&gt;
|-&lt;br /&gt;
| n+7&lt;br /&gt;
| 2&lt;br /&gt;
| Address of the symbol (MSB first).&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
| Same sequence repeated until the end of the chunk is reached.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
&lt;br /&gt;
1. Symbol are (obviously) limited to 255 characters, cannot begin with a number (0-9), and only a limited set of ASCII char is allowed (a-z, A-Z, 0-9, _).&lt;br /&gt;
2. The map type determines the memory layout for which the symbol is valid. The meaning of the values for map bank and map page depends on the map type value.&lt;br /&gt;
Possible values fir map type are:&lt;br /&gt;
* 0: Undefined. Map bank and page are ignored (always 0).&lt;br /&gt;
* 1: Main RAM. If map bank is 0, then linear main RAM is considered. If map bank is 1, then main RAM from &amp;amp;c000-&amp;amp;ffff mapped as &amp;amp;4000-&amp;amp;7fff is considered. Map page is ignored (always 0). &lt;br /&gt;
* 2: Extension RAM. Map bank is the 16K extension bank number (0-3). Map page is the 64K extension page number (0-31).&lt;br /&gt;
* 3: Extension ROM. Map bank is the ROM slot id (0-255). Map page is ignored (always 0).&lt;br /&gt;
* 4: Firmware ROM. Map bank and page are ignored (always 0).&lt;br /&gt;
* 5: Cartridge ROM. Map bank is the 16K ROM bank number (0-31). Map page is ignored (always 0).&lt;br /&gt;
* 6: ASIC I/O Page. Map bank and page are ignored (always 0).&lt;br /&gt;
&lt;br /&gt;
== CPC+ Chunk  ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by Arnold, Winape, No$CPC and ACE. Arnold, Winape and ACE will save the block when Plus configuration enabled. No$CPC will save the block if the Plus features have been unlocked.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Addr in ASIC register-ram''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 000-7FF&lt;br /&gt;
| 800&lt;br /&gt;
| 4000-4FFF&lt;br /&gt;
| Sprite Bitmaps (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 800-87F&lt;br /&gt;
| 8*16&lt;br /&gt;
| 6000-607F&lt;br /&gt;
| Sprite Attributes (see below) (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 880-8BF&lt;br /&gt;
| 32*2&lt;br /&gt;
| 6400-643F&lt;br /&gt;
| Palettes (note 3)&lt;br /&gt;
|-&lt;br /&gt;
| 8C0&lt;br /&gt;
| 1&lt;br /&gt;
| 6800&lt;br /&gt;
| Programmable Raster Interrupt (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C1&lt;br /&gt;
| 1&lt;br /&gt;
| 6801&lt;br /&gt;
| Screen split scan-line (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C2&lt;br /&gt;
| 2&lt;br /&gt;
| 6802-6803&lt;br /&gt;
| Screen split secondary screen-address (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C4&lt;br /&gt;
| 1&lt;br /&gt;
| 6804&lt;br /&gt;
| Soft scroll control register (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C5&lt;br /&gt;
| 1&lt;br /&gt;
| 6805&lt;br /&gt;
| Interrupt vector (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C6&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| gate array A0 register value (note 8a) &lt;br /&gt;
|-&lt;br /&gt;
| 8C6-8C7&lt;br /&gt;
| 1&lt;br /&gt;
| -&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| 8C8-8CF&lt;br /&gt;
| 8&lt;br /&gt;
| 6808-680f&lt;br /&gt;
| Analogue input channels 0-7 (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 8D0-8DB&lt;br /&gt;
| 3*4&lt;br /&gt;
| 6C00-6C0B&lt;br /&gt;
| Sound DMA channel attributes 0-2 (see below) (note 6)&lt;br /&gt;
|-&lt;br /&gt;
| 8DC-8DE&lt;br /&gt;
| 3&lt;br /&gt;
| -&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| 8DF&lt;br /&gt;
| 1&lt;br /&gt;
| 6C0F&lt;br /&gt;
| DMA Control/Status (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8E0-8F4&lt;br /&gt;
| 3*7&lt;br /&gt;
| Internal&lt;br /&gt;
| DMA channel 0-2 internal registers (see below) (note 7)&lt;br /&gt;
|-&lt;br /&gt;
| 8F5&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| gate array A0 register value (note 8b)&lt;br /&gt;
|-&lt;br /&gt;
| 8F6&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| gate array A0 lock: 0 -&amp;gt; locked, !=0 -&amp;gt; unlocked (note 9)&lt;br /&gt;
|-&lt;br /&gt;
| 8F7&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| ASIC unlock sequence state (note 10)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes  ===&lt;br /&gt;
&lt;br /&gt;
1. The sprite data is packed, with two sprite pixels per byte. Bits 7..4 define the first pixel and bits 3..0 define the second pixel. &lt;br /&gt;
&lt;br /&gt;
2. The attributes for each sprite take 8 bytes. Each attribute block has the following format: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 2&lt;br /&gt;
| Sprite X (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| Sprite Y (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| Sprite Magnification (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 5-7&lt;br /&gt;
| 3&lt;br /&gt;
| unused (0)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: the Sprite X, Y and magnification are in the same order as the ASIC registers &lt;br /&gt;
&lt;br /&gt;
3. This is a direct copy of the palette in CPC+ ASIC Ram. There are 32 colours each with 2-bytes per colour. &lt;br /&gt;
&lt;br /&gt;
4. These bytes in the snapshot represent the last value written to these ASIC registers. &lt;br /&gt;
&lt;br /&gt;
5. These bytes represent the inputs to the analogue channels. &lt;br /&gt;
&lt;br /&gt;
6. The attributes for each DMA channel take 4 bytes. Each attribute block has the following format: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 2&lt;br /&gt;
| DMA Channel address (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 1&lt;br /&gt;
| DMA Channel prescalar (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 1&lt;br /&gt;
| unused (0)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: the DMA address and prescalar are in the same order as the ASIC registers. &lt;br /&gt;
&lt;br /&gt;
7 These registers are internal to the CPC+ and define the current DMA operation: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 2&lt;br /&gt;
| loop counter (note a)&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| loop address (note b)&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| pause count (note c)&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| 1&lt;br /&gt;
| pause prescalar count (note d)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
a. This value represents the number of loops remaining. 0 = none. This count is between 0..0FFF. This counter counts down. &lt;br /&gt;
&lt;br /&gt;
b. This is the Amstrad memory address to loop back to. It is a pointer to the DMA instruction after the last REPEAT instruction. &lt;br /&gt;
&lt;br /&gt;
c. This value represents the pause count and the count is between 0...0FFF. (TO BE CHECKED: down counter? what exactly does it represent) &lt;br /&gt;
&lt;br /&gt;
d. This value represents the pause prescalar count and the count is between 0..FF. (TO BE CHECKED: down counter? what exactly does it represent) &lt;br /&gt;
&lt;br /&gt;
8. This value represents the last value written to this I/O port. Winape uses 8a and not 8b. This value has bits 7,6,5 set to 1,0 and 1 respectively. 8b is in the original specification and is written by both ACE and No$CPC.&lt;br /&gt;
&lt;br /&gt;
9. This value represents the lock status of RMR2. If locked, RMR2 can't be accessed otherwise it can.&lt;br /&gt;
&lt;br /&gt;
10. This value represents the current unlock sequence state. &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''State ID''&lt;br /&gt;
| ''Synchronised State''&lt;br /&gt;
| ''Note''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| Not synchronised&lt;br /&gt;
| ASIC is waiting for first non-zero byte to be written, this is the first synchronisation byte required&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Not synchronised&lt;br /&gt;
| ASIC is waiting for zero byte to be written, this is the second synchronisation byte required&lt;br /&gt;
|-&lt;br /&gt;
| 2..10&lt;br /&gt;
| synchronised&lt;br /&gt;
| ASIC is waiting for byte from unlock sequence. e.g. if &amp;quot;2&amp;quot;, ASIC is waiting for &amp;amp;amp;FF, the first byte of the unlock sequence. if &amp;quot;3&amp;quot; ASIC is waiting for &amp;amp;amp;77, the second byte of the unlock sequence.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== WABP Chunk (Winape) ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by Winape when some breakpoints are set. &lt;br /&gt;
The exact details are begin worked out.&lt;br /&gt;
&lt;br /&gt;
It seems to be:&lt;br /&gt;
&lt;br /&gt;
4 bytes - number of user breakpoints&lt;br /&gt;
&lt;br /&gt;
Each user breakpoint:&lt;br /&gt;
&lt;br /&gt;
type,&lt;br /&gt;
4 byte address&lt;br /&gt;
&lt;br /&gt;
Then,  4 bytes - number of memory breakpoints&lt;br /&gt;
&lt;br /&gt;
Each memory breakpoint:&lt;br /&gt;
&lt;br /&gt;
Then, 4 bytes - number of i/o breakpoints:&lt;br /&gt;
&lt;br /&gt;
Each i/o breakpoint:&lt;br /&gt;
&lt;br /&gt;
 2 bytes flags? (6000 read, a400 write)&lt;br /&gt;
 2 bytes port addr mask&lt;br /&gt;
 2 bytes port addr&lt;br /&gt;
 4 bytes counter&lt;br /&gt;
 4 bytes condition string length, followed by condition string (not null terminated)&lt;br /&gt;
&lt;br /&gt;
== DARS Chunk (Winape) ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by Winape when some data areas are set. &lt;br /&gt;
&lt;br /&gt;
The number of stored data areas in the chunk is given by the chunk size divided by 10 (the size of one data area data structure).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 4&lt;br /&gt;
| Address (LSB first) (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 04&lt;br /&gt;
| 4&lt;br /&gt;
| Area size (LSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 08&lt;br /&gt;
| 1&lt;br /&gt;
| Data type (0=byte,1=word)&lt;br /&gt;
|-&lt;br /&gt;
| 09&lt;br /&gt;
| 1&lt;br /&gt;
| Labels (1=marked by user as having labels)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
&lt;br /&gt;
1. Winape's addressing scheme is 4 bytes. The upper 16-bits effectively define the internal 64KB pages it uses.&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
[[Snapshot Archive]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Programming]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Snapshot&amp;diff=113796</id>
		<title>Snapshot</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Snapshot&amp;diff=113796"/>
				<updated>2024-01-02T20:15:21Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: /* SYMB Chunk (ACE) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Snapshot (.SNA) file format  =&lt;br /&gt;
&lt;br /&gt;
The format was first defined for the [[CPCEMU|CPCEMU]] emulator but is now widely supported. The format was originally defined by [[Marco Vieth|Marco Vieth]]. Version 3 was defined by [[Ulrich Doewich|Ulrich Doewich]], [[Martin Korth|Martin Korth]], [[Richard Wilson|Richard Wilson]] and [[Kevin Thacker|Kevin Thacker]]. &lt;br /&gt;
&lt;br /&gt;
There are 3 versions defined in this document. Version 3 is the most recent and is currently supported by a few of the most recent emulators. &lt;br /&gt;
&lt;br /&gt;
Snapshots produced with [[CPCE|CPCE]] appears to be the most compatible and will run correctly using any emulator.&lt;br /&gt;
&lt;br /&gt;
Abbreviations: &lt;br /&gt;
&lt;br /&gt;
*[[Gate Array|GA = &amp;quot;Gate Array&amp;quot;]] &lt;br /&gt;
*[[CRTC|CRTC = &amp;quot;6845 Cathode Ray Tube Controller&amp;quot;]] &lt;br /&gt;
*[[8255|PPI = &amp;quot;Intel 8255 Programmable Peripheral Interface&amp;quot;]] &lt;br /&gt;
*[[PSG|PSG = &amp;quot;AY-3-8912 Programmable Sound Generator&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
= Version 1  =&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00-07&lt;br /&gt;
| 8&lt;br /&gt;
| The identification string &amp;quot;MV - SNA&amp;quot;. This must exist for the snapshot to be valid.&lt;br /&gt;
|-&lt;br /&gt;
| 08-0f&lt;br /&gt;
| 8&lt;br /&gt;
| (not used; set to 0)&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 1&lt;br /&gt;
| snapshot version (1)&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register F&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register A&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register C&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register B&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register E&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register D&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register L&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register H&lt;br /&gt;
|-&lt;br /&gt;
| 19&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register R&lt;br /&gt;
|-&lt;br /&gt;
| 1a&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register I&lt;br /&gt;
|-&lt;br /&gt;
| 1b&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 interrupt flip-flop IFF0 (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 1c&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 interrupt flip-flop IFF1 (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 1d&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IX (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 1e&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IX (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 1f&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IY (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 20&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IY (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 21&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register SP (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 22&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register SP (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 23&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register PC (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 24&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register PC (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 25&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 interrupt mode (0,1,2) (note 3)&lt;br /&gt;
|-&lt;br /&gt;
| 26&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register F' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 27&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register A' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 28&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register C' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 29&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register B' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2a&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register E' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2b&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register D' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2c&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register L' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2d&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register H' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2e&lt;br /&gt;
| 1&lt;br /&gt;
| GA: index of selected pen (note 10)&lt;br /&gt;
|-&lt;br /&gt;
| 2f-3f&lt;br /&gt;
| 1&lt;br /&gt;
| GA: current palette (note 12)&lt;br /&gt;
|-&lt;br /&gt;
| 40&lt;br /&gt;
| 1&lt;br /&gt;
| GA: multi configuration (note 11)&lt;br /&gt;
|-&lt;br /&gt;
| 41&lt;br /&gt;
| 1&lt;br /&gt;
| current RAM configuration (note 13)&lt;br /&gt;
|-&lt;br /&gt;
| 42&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC: index of selected register (note 14)&lt;br /&gt;
|-&lt;br /&gt;
| 43-54&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC: register data (0..17) (note 15)&lt;br /&gt;
|-&lt;br /&gt;
| 55&lt;br /&gt;
| 1&lt;br /&gt;
| current ROM selection (note 16)&lt;br /&gt;
|-&lt;br /&gt;
| 56&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: port A (note 6)&lt;br /&gt;
|-&lt;br /&gt;
| 57&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: port B (note 7)&lt;br /&gt;
|-&lt;br /&gt;
| 58&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: port C (note 8)&lt;br /&gt;
|-&lt;br /&gt;
| 59&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: control port (note 9)&lt;br /&gt;
|-&lt;br /&gt;
| 5a&lt;br /&gt;
| 1&lt;br /&gt;
| PSG: index of selected register (note 17)&lt;br /&gt;
|-&lt;br /&gt;
| 5b-6a&lt;br /&gt;
| 1&lt;br /&gt;
| PSG: register data (0,1,....15)&lt;br /&gt;
|-&lt;br /&gt;
| 6b&lt;br /&gt;
| 2&lt;br /&gt;
| memory dump size in Kilobytes (e.g. 64 for 64K, 128 for 128k) (note 18)&lt;br /&gt;
|-&lt;br /&gt;
| 6d-ff&lt;br /&gt;
| 1&lt;br /&gt;
| not used set to 0&lt;br /&gt;
|-&lt;br /&gt;
| 100-...&lt;br /&gt;
| 1&lt;br /&gt;
| memory dump&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes  ==&lt;br /&gt;
&lt;br /&gt;
1. All multi-byte values are stored in little-endian format (low byte followed by higher bytes). &lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;IFF0&amp;quot; reflects the state of the maskable interrupt (INT). &amp;quot;IFF1&amp;quot; is used to store the state of IFF0 when a non-maskable interrupt (NMI) is executed. Bit 0 of these bytes is significant. For CPCEMU compatibility, these bytes should be set to &amp;quot;1&amp;quot; when the IFF flip-flop is &amp;quot;1&amp;quot; and &amp;quot;0&amp;quot; when the flip-flop is &amp;quot;0&amp;quot;. For compatibility with other emulators, bits 7-1 should be set to &amp;quot;0&amp;quot;. When bit 0 of &amp;quot;IFF0&amp;quot; is &amp;quot;0&amp;quot; maskable interrupts will be ignored. When bit 0 of &amp;quot;IFF1&amp;quot; is &amp;quot;1&amp;quot; maskable interrupts will be acknowledged and executed. See the document about the Z80 for more information. &lt;br /&gt;
&lt;br /&gt;
3. This byte will be 0, 1 or 2 for the interrupt modes 0, 1 or 2. The interrupt mode is set using the &amp;quot;IM x&amp;quot; instructions. See the document about the Z80 for more information. &lt;br /&gt;
&lt;br /&gt;
4. These registers are from the alternate register set of the Z80. &lt;br /&gt;
&lt;br /&gt;
5. These registers are 16-bit. &amp;quot;low&amp;quot; indicates bits 7..0, &amp;quot;high&amp;quot;indicates bits 15..8. &lt;br /&gt;
&lt;br /&gt;
6. This byte represents the inputs to PPI port A regardless of the input/output setting of this port. &lt;br /&gt;
&lt;br /&gt;
7. This byte represents the inputs to PPI port B regardless of the input/output setting of this port. &lt;br /&gt;
&lt;br /&gt;
8. This byte represents the outputs from port C regardless of the input/output setting of this port. &lt;br /&gt;
&lt;br /&gt;
9. This byte represents the PPI control byte which defines the input/output and mode of each port and not the last value written to this port. For CPCEMU compatibility bit 7 of this byte must be set to &amp;quot;1&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
10. This byte in the snapshot represents the selected pen register of the Gate-Array. This byte is the last value written to this port. Bit 7,6,5 should be set to &amp;quot;0&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
11. This byte in the snapshot represents the multi-configuration register of the Gate-Array. This byte is the last byte written to this register. For CPCEMU compatibility, bit 7 should be set to &amp;quot;1&amp;quot; and bit 6 and bit 5 set to &amp;quot;0&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
12. These bytes are the current palette. For CPCEMU compatibility, these bytes should have bit 7=bit 6=bit 5=&amp;quot;0&amp;quot;. Bits 4..0 define the colour using the hardware colour code. The colours are stored in the order pen 0, pen1, pen 2,...,pen 15 followed by border colour. &lt;br /&gt;
&lt;br /&gt;
13. This byte represents a ram configuration for a Dk'Tronics/Dobbertin/Amstrad compatible RAM expansion, or the built in RAM expansion of the CPC6128 and CPC6128+. Bits 5..0 define the ram expansion code. For CPCEMU compatibility, bit 7 and bit 6 of this byte should be set to &amp;quot;0&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
14. This byte in the snapshot represents the index of the currently selected CRTC register. For compatibility with CPCEMU this value should be in the range 0-31. &lt;br /&gt;
&lt;br /&gt;
15. These bytes represent the data of the CRTC's registers. &lt;br /&gt;
&lt;br /&gt;
16. This byte in the snapshot represents the last byte written to the &amp;quot;ROM select&amp;quot; I/O port. &lt;br /&gt;
&lt;br /&gt;
17. This byte in the snapshot represents the index of the currently selected PSG register. For CPCEMU compatibility, this byte should be in the range 0-15. &lt;br /&gt;
&lt;br /&gt;
18. the memory dump can have size 0 in version 3 and in this case all RAM is described in additional blocks (MEM0-MEM8). If a memory dump has a non-zero size, then it is uncompressed and describes the main 64KB ram immediately followed by the second 64KB ram (if present) (this ram is inside 128KB machines or machines with 64KB from a Dk'Tronics/Dobbertin/Amstrad compatible RAM expansion. Note that CPCEMU can only write a 64K or 128K snapshot.&lt;br /&gt;
&lt;br /&gt;
19. JavaCPC uses e0-ff to store an emulator ID (see snapshot V3 for more details)&lt;br /&gt;
&lt;br /&gt;
= Changes and additions in Version 2 from Version 1  =&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 1&lt;br /&gt;
| snapshot version (2)&lt;br /&gt;
|-&lt;br /&gt;
| 6d&lt;br /&gt;
| 1&lt;br /&gt;
| CPC Type: &lt;br /&gt;
*0 = CPC464 &lt;br /&gt;
*1 = CPC664 &lt;br /&gt;
*2 = CPC6128 &lt;br /&gt;
*3 = unknown&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 6e&lt;br /&gt;
| 1&lt;br /&gt;
| interrupt number (0..5) (note 1a)&lt;br /&gt;
|-&lt;br /&gt;
| 6f-74&lt;br /&gt;
| 6&lt;br /&gt;
| 6 multimode bytes (note 1b)&lt;br /&gt;
|-&lt;br /&gt;
| 75-ff&lt;br /&gt;
| x&lt;br /&gt;
| (not used)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes  ==&lt;br /&gt;
&lt;br /&gt;
1. If standard CPC raster interrupts are used, interrupts are acknowledged and &amp;quot;executed&amp;quot; at the time they are requested, then there will be 6 interrupts executed per screen update cycle. &lt;br /&gt;
&lt;br /&gt;
*CPCEMU uses a simple system to emulate the interrupts. It is assumed there are exactly 6 interrupts per screen update cycle (the interrupts are assumed to occur at a frequency of 300Hz). This byte records the interrupt number in the current screen update cycle. More accurate emulators use the correct interrupt generation method and may ignore this byte. For CPCEMU compatibility, these emulators should set this byte to &amp;quot;0&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*CPCEMU uses a simple system to emulate the screen display. It allows the mode to be changed in each of the 6 interrupts that occur during a single 50Hz/60Hz period. These bytes represent the mode in each of these sections, i.e. the screen modes (0,1 or 2) for the interrupts 0..5. More accurate emulators support changing of the screen mode at any point supported by the Amstrad hardware, these emulators should write &amp;quot;0&amp;quot; for all these bytes.&lt;br /&gt;
&lt;br /&gt;
2. A version 2 snapshot describes Dk'Tronics/Dobbertin compatible RAM in addition to the 64KB base ram. This is a type of RAM expansion which uses the same port and paging mechanism as the extra 64KB inside the 6128. However, the RAM *MUST* be continuous, therefore it's limited to 64KB, 256KB or 512KB additional RAM. The Dk'Tronics silicon disk can't be described on it's own because it's RAM configurations do not start at C4.&lt;br /&gt;
&lt;br /&gt;
The following configurations can be described:&lt;br /&gt;
* 64KB base + 64KB extra RAM (e.g. Dk'Tronics 64KB RAM Expansion)&lt;br /&gt;
* 64KB base + 256KB extra RAM (e.g. Dk'Tronics 256KB RAM Expansion)&lt;br /&gt;
* 64KB base + 512KB extra RAM (e.g. Dk'Tronics 256KB RAM Expansion &amp;amp; Dk'Tronics 256KB Silicon Disk OR X-MEM OR Symbiface 2 OR other device which provides 512KB)&lt;br /&gt;
&lt;br /&gt;
JavaCPC uses this value to store up to 4MB of RAM. (e.g. [[CPC4MB]]). This type of ram is Dk'Tronics compatible and has multiple banks of 512KB. This value could be used to describe a 1MB or 2MB expansion as long as it is fully Dk'tronics compatible (e.g. rpalmer's 2MB).&lt;br /&gt;
&lt;br /&gt;
3. JavaCPC uses e0-ff to store an emulator ID (see snapshot V3 for more details)&lt;br /&gt;
&lt;br /&gt;
= Changes and additions in Version 3 from Version 2  =&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 1&lt;br /&gt;
| snapshot version (3)&lt;br /&gt;
|-&lt;br /&gt;
| 6d&lt;br /&gt;
| 1&lt;br /&gt;
| CPC Type: &lt;br /&gt;
*0 = CPC464 &lt;br /&gt;
*1 = CPC664 &lt;br /&gt;
*2 = CPC6128 &lt;br /&gt;
*3 = unknown &lt;br /&gt;
*4 = 6128 Plus &lt;br /&gt;
*5 = 464 Plus &lt;br /&gt;
*6 = GX4000&lt;br /&gt;
|-&lt;br /&gt;
| 75&lt;br /&gt;
| n&lt;br /&gt;
| Disc drive A filename (No$CPC only)&lt;br /&gt;
|-&lt;br /&gt;
| 99&lt;br /&gt;
| 1&lt;br /&gt;
| Monitor VHold Value (-45 to +85)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9a&lt;br /&gt;
| 1&lt;br /&gt;
| Memory Expansion Enable (when Bit 7 is set)&lt;br /&gt;
*Bit 0 = 128K memory (Banks C4..C7)&lt;br /&gt;
*Bit 1 = 256K memory (Banks C4..DF)&lt;br /&gt;
*Bit 2 = 256K silicon disc (Banks E4..FF)&lt;br /&gt;
*Bit 3 = 4M expansion&lt;br /&gt;
*Bit 7 = Always set if this is valid &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9b&lt;br /&gt;
| 1&lt;br /&gt;
| Fast Disc emulation mode (0=off, 1=on) (WinAPE)&lt;br /&gt;
|-&lt;br /&gt;
| 9c&lt;br /&gt;
| 1&lt;br /&gt;
| FDD motor drive state (0=off, 1=on)&lt;br /&gt;
|-&lt;br /&gt;
| 9d-a0&lt;br /&gt;
| 4&lt;br /&gt;
| FDD current physical track (note 15)&lt;br /&gt;
|-&lt;br /&gt;
| a1&lt;br /&gt;
| 1&lt;br /&gt;
| Printer Data/Strobe Register (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| a2-a3&lt;br /&gt;
| 2&lt;br /&gt;
| Current frame scan line since monitor retrace (note16)&lt;br /&gt;
|-&lt;br /&gt;
| a4&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC type: &lt;br /&gt;
*0 = HD6845S/UM6845 &lt;br /&gt;
*1 = UM6845R &lt;br /&gt;
*2 = MC6845 &lt;br /&gt;
*3 = 6845 in CPC+ ASIC &lt;br /&gt;
*4 = 6845 in Pre-ASIC&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| a9&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC horizontal character counter register (note 11)&lt;br /&gt;
|-&lt;br /&gt;
| aa&lt;br /&gt;
| 1&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| ab&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC character-line counter register (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| ac&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC raster-line counter register (note 3)&lt;br /&gt;
|-&lt;br /&gt;
| ad&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC vertical total adjust counter register (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| ae&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC horizontal sync width counter (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| af&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC vertical sync width counter (note 6)&lt;br /&gt;
|-&lt;br /&gt;
| b0-b1&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Bit''&lt;br /&gt;
| ''Function''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| if &amp;quot;1&amp;quot; VSYNC is active, if &amp;quot;0&amp;quot; VSYNC is inactive (note 8)&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| if &amp;quot;1&amp;quot; HSYNC is active, if &amp;quot;0&amp;quot; HSYNC is inactive (note 9)&lt;br /&gt;
|-&lt;br /&gt;
| 2-6&lt;br /&gt;
| reserved&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| if &amp;quot;1&amp;quot; Vertical Total Adjust is active, if &amp;quot;0&amp;quot; Vertical Total Adjust is inactive (note 10)&lt;br /&gt;
|-&lt;br /&gt;
| 8-14&lt;br /&gt;
| Reserved (0)&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| if &amp;quot;1&amp;quot; use extended Interrupt Control Status Register (WinAPE)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| b2&lt;br /&gt;
| 1&lt;br /&gt;
| GA vsync delay counter (note 14)&lt;br /&gt;
|-&lt;br /&gt;
| b3&lt;br /&gt;
| 1&lt;br /&gt;
| GA interrupt scanline counter (note 12)&lt;br /&gt;
|-&lt;br /&gt;
| b4&lt;br /&gt;
| 1&lt;br /&gt;
| interrupt request flag (0=no interrupt requested, 1=interrupt requested) (note 13)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| b5&lt;br /&gt;
| 1&lt;br /&gt;
| Interrupt Control Status Register (WinAPE) (note 17)&lt;br /&gt;
|-&lt;br /&gt;
| b6&lt;br /&gt;
| 1&lt;br /&gt;
| Plus features disabled (0=enabled, 1=disabled)&lt;br /&gt;
|-&lt;br /&gt;
| b7&lt;br /&gt;
| 1&lt;br /&gt;
| Plus PPI Emulation (0=Standard 8255 emulation, 1=Plus PPI emulation)&lt;br /&gt;
|-&lt;br /&gt;
| b8-df&lt;br /&gt;
| 28&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| e0&lt;br /&gt;
| 20&lt;br /&gt;
| Emulator ID String&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes  ==&lt;br /&gt;
&lt;br /&gt;
1. This byte in the snapshot represents the last byte written to the printer I/O port (this byte does not include the automatic inversion of the strobe caused by the Amstrad hardware). &lt;br /&gt;
&lt;br /&gt;
2. This register is internal to the CRTC and counts the number of character-lines. The counter counts up. This value is in the range 0-127. (This counter is compared against CRTC register 4). &lt;br /&gt;
&lt;br /&gt;
3. This register is internal to the CRTC and counts the number of raster-lines. The counter counts up. This value is in the range 0-31. (This counter is compared against CRTC register 9). &lt;br /&gt;
&lt;br /&gt;
4. This register is internal to the CRTC and counts the number of raster-lines during vertical adjust. The counter counts up. This value is in the range 0-31. This should be ignored if the CRTC is not &amp;quot;executing&amp;quot; vertical. adjust.(This counter is compared against CRTC register 5). &lt;br /&gt;
&lt;br /&gt;
5. This register is internal to the CRTC and counts the number of characters during horizontal sync. This counter counts up. This value is in the range 0-16. This should be ignored if the CRTC is not &amp;quot;executing&amp;quot; horizontal sync. (This counter is compared against CRTC register 3). &lt;br /&gt;
&lt;br /&gt;
6. This register is internal to the CRTC and counts the number of scan-lines during vertical sync. This counter counts up. This value is in the range 0-16. This should be ignored if the CRTC is not &amp;quot;executing&amp;quot; vertical sync. (This counter is compared against CRTC register 3). &lt;br /&gt;
&lt;br /&gt;
7. These bytes define the internal state of the CRTC. Each bit in these bytes represents a state. &lt;br /&gt;
&lt;br /&gt;
8. When VSYNC is active, the CRTC is &amp;quot;executing&amp;quot; vertical sync, and the vertical sync width counter in the snapshot is used. &lt;br /&gt;
&lt;br /&gt;
9. When HSYNC is active, the CRTC is &amp;quot;executing&amp;quot; horizontal sync width counter in the snapshot is used. &lt;br /&gt;
&lt;br /&gt;
10. When Vertical total adjust is active, the CRTC is &amp;quot;executing&amp;quot; vertical total adjust and the vertical total adjust counter in the snapshot is used. &lt;br /&gt;
&lt;br /&gt;
11. This register is internal to the CRTC and counts the number of characters. This counter counts up. This value is in the range 0-255. (This counter is compared against CRTC register 0). &lt;br /&gt;
&lt;br /&gt;
12. This counter is internal to the GA and counts the number of HSYNCs. This counter is used to generate CPC raster interrupts. This counter counts up. This value is in the range 0-51. &lt;br /&gt;
&lt;br /&gt;
13. This flag is &amp;quot;1&amp;quot; if a interrupt request has been sent to the Z80 and it has not yet been acknowledged by the Z80. (A interrupt request is sent by the GA for standard CPC raster interrupts or by the ASIC for raster or dma interrupts). &lt;br /&gt;
&lt;br /&gt;
14. This is a counter internal to the GA and counts the number of HSYNCs since the start of the VSYNC and it is used to reset the interrupt counter to synchronise interrupts with the VSYNC. This counter counts up. This value is between 0 and 2. If this value is 0, the counter is inactive. If this counter is 1 or 2 the counter is active.&lt;br /&gt;
&lt;br /&gt;
15. This is the current cylinder for each of 4 drives.&lt;br /&gt;
&lt;br /&gt;
16. In WinAPE this counter is reset if a VSYNC occurs which causes the monitor to retrace vertically. This occurs if the VSYNC signal is active and this counter is greater than a threshold set by the V-Hold (normally 295 when V-Hold is 0), or if the counter reaches the maximum value (normally 351 when V-Hold is 0).&lt;br /&gt;
&lt;br /&gt;
17. Since Plus emulation requires more information than simply whether an interrupt is active, this value (as used internally by WinAPE) contains: &lt;br /&gt;
* Bit 7 - Gate Array (or PRI) interrupt. &lt;br /&gt;
* Bit 6 - DMA Channel 0 interrupt. &lt;br /&gt;
* Bit 5 - DMA Channel 1 interrupt. &lt;br /&gt;
* Bit 4 - DMA Channel 2 interrupt. &lt;br /&gt;
&lt;br /&gt;
It can be a combination of all or any interrupt sources. Interrupts are executed in the order raster, DMA 2, DMA 1, DMA 0.&lt;br /&gt;
&lt;br /&gt;
Immediately following the memory dump there is optional data which is separated into chunks. &lt;br /&gt;
&lt;br /&gt;
Each chunk of data has a header and this is followed by the data in the chunk. The header has the following format: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 4&lt;br /&gt;
| Chunk name (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| Chunk data length (note 2)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes: &lt;br /&gt;
&lt;br /&gt;
1. The chunks are defined with 4-byte character codes. (e.g. &amp;quot;CPC+&amp;quot;). In this example, the 4-byte character code would be stored in the file as 'C' then 'P' then 'C' then '+'. &lt;br /&gt;
&lt;br /&gt;
2. The &amp;quot;Chunk data length&amp;quot; defines the length of data following the header and does not include the size of the header. This number is stored in little endian format. &lt;br /&gt;
&lt;br /&gt;
3. If a emulator finds a chunk which it does not support then it should skip the chunk and continue with the next chunk in the file. Therefore an emulator author may add emulator specific chunks to the file and it will not prevent the snapshot from being used with other emulators that do not recognise the added chunks. &lt;br /&gt;
&lt;br /&gt;
4. There is not a terminator chunk. The snapshot reader should determine if there are more chunks based on the size of data remaining to be read from the file. &lt;br /&gt;
&lt;br /&gt;
=Version 3 Chunks=&lt;br /&gt;
&lt;br /&gt;
The following chunks are currently defined: &lt;br /&gt;
&lt;br /&gt;
== DSCA,DSCB ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by WinAPE and ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
The DSCA block contains the filename of the disc image inserted into drive A. The filename is stored as 8-bit ASCII (any Unicode characters with codes 0x100 or above will be translated to ? and therefore filenames with these characters can't be stored in Snapshots). The length of the block is the length of the filename in bytes.&lt;br /&gt;
&lt;br /&gt;
DSCB is similar to DSCA but stores the filename of the disc image inserted into drive B.&lt;br /&gt;
&lt;br /&gt;
== TAPE (ACE) ==&lt;br /&gt;
&lt;br /&gt;
This chunk is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
The TAPE block contains the filename of the tape image inserted. The filename is stored as 8-bit ASCII (any Unicode characters with codes 0x100 or above will be translated to ? and therefore filenames with these characters can't be stored in Snapshots). The length of the block is the length of the filename in bytes.&lt;br /&gt;
&lt;br /&gt;
== ROMS ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by WinAPE and ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
This block contains a list of filenames for each ROM (and cartridge) that is defined. The length of the block is the length for all strings.&lt;br /&gt;
&lt;br /&gt;
If a ROM is not defined, a single NUL (0) byte is present, otherwise there is a null terminated 8-bit ASCII string.&lt;br /&gt;
&lt;br /&gt;
First in the list is the filename (or internal name) for the cartridge (prefixed with a 'A' character), followed by lower rom and then upper roms 0-31 (WinAPE) or 0-255 (ACE).&lt;br /&gt;
&lt;br /&gt;
Internal ROMs are listed by their internal name (the name listed in the drop down when you configure the roms) (e.g. OS464).&lt;br /&gt;
&lt;br /&gt;
NOTE: The selected Multiface ROM is not saved in the snapshot.&lt;br /&gt;
&lt;br /&gt;
== INFO Chunk (No$CPC) ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by No$CPC. It contains an 8-bit ASCII string with the version information for No$CPC.&lt;br /&gt;
&lt;br /&gt;
== MEM0-8 Chunk ==&lt;br /&gt;
&lt;br /&gt;
The MEM0-8 chunks contain at most 64KB of data. The data may be compressed or stored uncompressed. If the size is exactly 65536 bytes the data is uncompressed, otherwise it is compressed. Up to 512KB additional RAM can be stored in a snapshot. &lt;br /&gt;
&lt;br /&gt;
The compression scheme is RLE with 0x0e5 as the control byte.&lt;br /&gt;
&lt;br /&gt;
Data is encoded as:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;byte&amp;gt; for a single occurrence of a byte (not 0x0e5) (e.g. 0x013)&lt;br /&gt;
* 0x0e5,&amp;lt;count&amp;gt;,&amp;lt;byte&amp;gt; for multiple occurances of a byte (e. 0x0e5,0x04,0x013 for 0x013 repeated 4 times)&lt;br /&gt;
* 0x0e5,0 for a single 0x0e5 byte (e.g. 0x0e5)&lt;br /&gt;
&lt;br /&gt;
The blocks are:&lt;br /&gt;
&lt;br /&gt;
* MEM0 - main 64KB ram&lt;br /&gt;
* MEM1 - c4,c5,c6,c7 configurations (extra 64KB ram in 128KB machines) (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM2 - cc,cd,ce,cf configurations (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM3 - d4,d5,d6,d7 configurations (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM4 - dc,dd,de,df configurations (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM5 - e4,e5,e6,e7 configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
* MEM6 - ec,ed,ee,ef configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
* MEM7 - f4,f5,f6,f7 configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
* MEM8 - fc,fd,fe,ff configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
1. A snapshot may contain a mix of &amp;quot;standard&amp;quot; memory data (e.g. the data follows the header and is uncompressed) and additional MEM blocks as required.&lt;br /&gt;
&lt;br /&gt;
2. If the snapshot is not compressed, then up to 128KB will be stored as &amp;quot;standard&amp;quot; memory data, the additional RAM stored in MEM2-MEM8 blocks.&lt;br /&gt;
&lt;br /&gt;
3. If the snapshot is compressed, then the &amp;quot;standard&amp;quot; memory data will have 0 size and there will be a MEM0 in addition to the additional memory blocks.&lt;br /&gt;
&lt;br /&gt;
4. Version 3 doesn't require memory to be continuous. A Dk'tronics silicon disk on it's own can be described with this version.&lt;br /&gt;
&lt;br /&gt;
5. WinAPE allows a 4MB RAM expansion to be enabled but doesn't save the additional RAM in the snapshot.&lt;br /&gt;
&lt;br /&gt;
6. ACE can save additional memory in snapshots (up to 4MB) using the MX?? chunks.&lt;br /&gt;
&lt;br /&gt;
== MX09-40 Chunk (ACE) ==&lt;br /&gt;
&lt;br /&gt;
MX?? chunks allow snapshots to store up to 4160KB ram.&lt;br /&gt;
&lt;br /&gt;
MX?? chunks are following MEM0-8 chunks. They are numbered from 09 to 40 (hexadecimal numbering).&lt;br /&gt;
Information are stored compressed like in MEM0-8 chunks.&lt;br /&gt;
&lt;br /&gt;
== BRKC Chunk (ACE) ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by ACE when some breakpoints are set. When loading a snapshot, the breakpoints found in this chunk are added to the one already installed.&lt;br /&gt;
The number of stored breakpoints in the chunk is given by the chunk size divided by 216 (the size on one breakpoint data structure).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint type (0:Execution, 1:Memory, 2:I/O port)&lt;br /&gt;
|-&lt;br /&gt;
| 01&lt;br /&gt;
| 1&lt;br /&gt;
| Memory access mode (0:R/W, 1:R/O, 2:W/O)&lt;br /&gt;
|-&lt;br /&gt;
| 02&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint runtime mode (0:Break, 1:Watch)&lt;br /&gt;
|-&lt;br /&gt;
| 03&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint map type (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 04&lt;br /&gt;
| 2&lt;br /&gt;
| Breakable memory/port (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 06&lt;br /&gt;
| 2&lt;br /&gt;
| Breakable memory/port mask (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 08&lt;br /&gt;
| 1&lt;br /&gt;
| Match value&lt;br /&gt;
|-&lt;br /&gt;
| 09&lt;br /&gt;
| 1&lt;br /&gt;
| Match value mask&lt;br /&gt;
|-&lt;br /&gt;
| 0A&lt;br /&gt;
| 2&lt;br /&gt;
| Breakable memory size (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 0C&lt;br /&gt;
| 4&lt;br /&gt;
| Breakpoint activation step (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 128&lt;br /&gt;
| Breakpoint condition to match (NULL terminated string) (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 90&lt;br /&gt;
| 64&lt;br /&gt;
| Breakpoint user name (NULL terminated string)&lt;br /&gt;
|-&lt;br /&gt;
| D0&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint map bank (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| D1&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint map page (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| D2&lt;br /&gt;
| 6&lt;br /&gt;
| Reserved&lt;br /&gt;
|-&lt;br /&gt;
| D8&lt;br /&gt;
| ...&lt;br /&gt;
| Same sequence repeated for each breakpoint&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
&lt;br /&gt;
1. The condition is expressed using ACE syntax (similar to BASIC with AND/OR/XOR/NOT/+/-/=...).&lt;br /&gt;
Allowed additional syntaxes are:&lt;br /&gt;
*&amp;amp;, # or 0x for a hexadecimal number.&lt;br /&gt;
*% or &amp;amp;x for a binary number.&lt;br /&gt;
*AF, BC, HL, IX... for a 16-bit Z80 register.&lt;br /&gt;
*A, B, D, IXh, IXl... for an 8-bit Z80 register.&lt;br /&gt;
*FlagC, FlagNC, FlagM... for a Z80 flag.&lt;br /&gt;
*LineCount for the line number.&lt;br /&gt;
*LineCycle for the µs count on the current line.&lt;br /&gt;
*MemPage for the 64K expansion memory page (0-63).&lt;br /&gt;
*MemBankMode for the 16K expansion memory bank paging mode (0-7).&lt;br /&gt;
*UpperROMOn for the paging state of the upper ROM.&lt;br /&gt;
*UpperROMNum for the selected upper ROM number.&lt;br /&gt;
*LowerROMOn for the paging state of the lower ROM.&lt;br /&gt;
*LowerROMNum for the selected lower ROM number.&lt;br /&gt;
*ASICPageOn for the paging state of the I/O ASIC registers page.&lt;br /&gt;
&lt;br /&gt;
''Example : FlagC AND (HL=DE OR HL=&amp;amp;5000)''&lt;br /&gt;
&lt;br /&gt;
2. The map type determines the memory layout for which the breakpoint is valid.&lt;br /&gt;
The meaning of the values for map bank and map page depends on the map type value.&lt;br /&gt;
Possible values fir map type are:&lt;br /&gt;
* 0: Undefined. Map bank and page are ignored (always 0).&lt;br /&gt;
* 1: Main RAM. If map bank is 0, then linear main RAM is considered. If map bank is 1, then main RAM from &amp;amp;c000-&amp;amp;ffff mapped as &amp;amp;4000-&amp;amp;7fff is considered. Map page is ignored (always 0). &lt;br /&gt;
* 2: Extension RAM. Map bank is the 16K extension bank number (0-3). Map page is the 64K extension page number (0-31).&lt;br /&gt;
* 3: Extension ROM. Map bank is the ROM slot id (0-255). Map page is ignored (always 0).&lt;br /&gt;
* 4: Firmware ROM. Map bank and page are ignored (always 0).&lt;br /&gt;
* 5: Cartridge ROM. Map bank is the 16K ROM bank number (0-31). Map page is ignored (always 0).&lt;br /&gt;
* 6: ASIC I/O Page. Map bank and page are ignored (always 0).&lt;br /&gt;
&lt;br /&gt;
== SYMB Chunk (ACE) ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by ACE when some symbols are declared. When loading a snapshot, the symbols found in this chunk are added to the alreading existing ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 1&lt;br /&gt;
| Length on the symbol name (n). 0 is an invalid value.&lt;br /&gt;
|-&lt;br /&gt;
| 01&lt;br /&gt;
| n&lt;br /&gt;
| Symbol name (note 1).&lt;br /&gt;
|-&lt;br /&gt;
| n+1&lt;br /&gt;
| 1&lt;br /&gt;
| Symbol memory map type (note 2).&lt;br /&gt;
|-&lt;br /&gt;
| n+2&lt;br /&gt;
| 1&lt;br /&gt;
| Symbol memory map bank (note 2).&lt;br /&gt;
|-&lt;br /&gt;
| n+3&lt;br /&gt;
| 1&lt;br /&gt;
| Symbol memory map page (note 2).&lt;br /&gt;
|-&lt;br /&gt;
| n+4&lt;br /&gt;
| 2&lt;br /&gt;
| Reserved for future usage, always 0 for now.&lt;br /&gt;
|-&lt;br /&gt;
| n+6&lt;br /&gt;
| 1&lt;br /&gt;
| Symbol type (0: absolute, 1: relative).&lt;br /&gt;
|-&lt;br /&gt;
| n+7&lt;br /&gt;
| 2&lt;br /&gt;
| Address of the symbol (MSB first).&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
| Same sequence repeated until the end of the chunk is reached.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
&lt;br /&gt;
1. Symbol are (obviously) limited to 255 characters, cannot begin with a number (0-9), and only a limited set of ASCII char is allowed (a-z, A-Z, 0-9, _).&lt;br /&gt;
2. The map type determines the memory layout for which the symbol is valid. The meaning of the values for map bank and map page depends on the map type value.&lt;br /&gt;
Possible values fir map type are:&lt;br /&gt;
* 0: Undefined. Map bank and page are ignored (always 0).&lt;br /&gt;
* 1: Main RAM. If map bank is 0, then linear main RAM is considered. If map bank is 1, then main RAM from &amp;amp;c000-&amp;amp;ffff mapped as &amp;amp;4000-&amp;amp;7fff is considered. Map page is ignored (always 0). &lt;br /&gt;
* 2: Extension RAM. Map bank is the 16K extension bank number (0-3). Map page is the 64K extension page number (0-31).&lt;br /&gt;
* 3: Extension ROM. Map bank is the ROM slot id (0-255). Map page is ignored (always 0).&lt;br /&gt;
* 4: Firmware ROM. Map bank and page are ignored (always 0).&lt;br /&gt;
* 5: Cartridge ROM. Map bank is the 16K ROM bank number (0-31). Map page is ignored (always 0).&lt;br /&gt;
* 6: ASIC I/O Page. Map bank and page are ignored (always 0).&lt;br /&gt;
&lt;br /&gt;
== CPC+ Chunk  ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by Arnold, Winape, No$CPC and ACE. Arnold, Winape and ACE will save the block when Plus configuration enabled. No$CPC will save the block if the Plus features have been unlocked.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Addr in ASIC register-ram''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 000-7FF&lt;br /&gt;
| 800&lt;br /&gt;
| 4000-4FFF&lt;br /&gt;
| Sprite Bitmaps (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 800-87F&lt;br /&gt;
| 8*16&lt;br /&gt;
| 6000-607F&lt;br /&gt;
| Sprite Attributes (see below) (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 880-8BF&lt;br /&gt;
| 32*2&lt;br /&gt;
| 6400-643F&lt;br /&gt;
| Palettes (note 3)&lt;br /&gt;
|-&lt;br /&gt;
| 8C0&lt;br /&gt;
| 1&lt;br /&gt;
| 6800&lt;br /&gt;
| Programmable Raster Interrupt (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C1&lt;br /&gt;
| 1&lt;br /&gt;
| 6801&lt;br /&gt;
| Screen split scan-line (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C2&lt;br /&gt;
| 2&lt;br /&gt;
| 6802-6803&lt;br /&gt;
| Screen split secondary screen-address (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C4&lt;br /&gt;
| 1&lt;br /&gt;
| 6804&lt;br /&gt;
| Soft scroll control register (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C5&lt;br /&gt;
| 1&lt;br /&gt;
| 6805&lt;br /&gt;
| Interrupt vector (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C6&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| gate array A0 register value (note 8a) &lt;br /&gt;
|-&lt;br /&gt;
| 8C6-8C7&lt;br /&gt;
| 1&lt;br /&gt;
| -&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| 8C8-8CF&lt;br /&gt;
| 8&lt;br /&gt;
| 6808-680f&lt;br /&gt;
| Analogue input channels 0-7 (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 8D0-8DB&lt;br /&gt;
| 3*4&lt;br /&gt;
| 6C00-6C0B&lt;br /&gt;
| Sound DMA channel attributes 0-2 (see below) (note 6)&lt;br /&gt;
|-&lt;br /&gt;
| 8DC-8DE&lt;br /&gt;
| 3&lt;br /&gt;
| -&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| 8DF&lt;br /&gt;
| 1&lt;br /&gt;
| 6C0F&lt;br /&gt;
| DMA Control/Status (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8E0-8F4&lt;br /&gt;
| 3*7&lt;br /&gt;
| Internal&lt;br /&gt;
| DMA channel 0-2 internal registers (see below) (note 7)&lt;br /&gt;
|-&lt;br /&gt;
| 8F5&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| gate array A0 register value (note 8b)&lt;br /&gt;
|-&lt;br /&gt;
| 8F6&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| gate array A0 lock: 0 -&amp;gt; locked, !=0 -&amp;gt; unlocked (note 9)&lt;br /&gt;
|-&lt;br /&gt;
| 8F7&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| ASIC unlock sequence state (note 10)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes  ===&lt;br /&gt;
&lt;br /&gt;
1. The sprite data is packed, with two sprite pixels per byte. Bits 7..4 define the first pixel and bits 3..0 define the second pixel. &lt;br /&gt;
&lt;br /&gt;
2. The attributes for each sprite take 8 bytes. Each attribute block has the following format: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 2&lt;br /&gt;
| Sprite X (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| Sprite Y (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| Sprite Magnification (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 5-7&lt;br /&gt;
| 3&lt;br /&gt;
| unused (0)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: the Sprite X, Y and magnification are in the same order as the ASIC registers &lt;br /&gt;
&lt;br /&gt;
3. This is a direct copy of the palette in CPC+ ASIC Ram. There are 32 colours each with 2-bytes per colour. &lt;br /&gt;
&lt;br /&gt;
4. These bytes in the snapshot represent the last value written to these ASIC registers. &lt;br /&gt;
&lt;br /&gt;
5. These bytes represent the inputs to the analogue channels. &lt;br /&gt;
&lt;br /&gt;
6. The attributes for each DMA channel take 4 bytes. Each attribute block has the following format: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 2&lt;br /&gt;
| DMA Channel address (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 1&lt;br /&gt;
| DMA Channel prescalar (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 1&lt;br /&gt;
| unused (0)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: the DMA address and prescalar are in the same order as the ASIC registers. &lt;br /&gt;
&lt;br /&gt;
7 These registers are internal to the CPC+ and define the current DMA operation: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 2&lt;br /&gt;
| loop counter (note a)&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| loop address (note b)&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| pause count (note c)&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| 1&lt;br /&gt;
| pause prescalar count (note d)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
a. This value represents the number of loops remaining. 0 = none. This count is between 0..0FFF. This counter counts down. &lt;br /&gt;
&lt;br /&gt;
b. This is the Amstrad memory address to loop back to. It is a pointer to the DMA instruction after the last REPEAT instruction. &lt;br /&gt;
&lt;br /&gt;
c. This value represents the pause count and the count is between 0...0FFF. (TO BE CHECKED: down counter? what exactly does it represent) &lt;br /&gt;
&lt;br /&gt;
d. This value represents the pause prescalar count and the count is between 0..FF. (TO BE CHECKED: down counter? what exactly does it represent) &lt;br /&gt;
&lt;br /&gt;
8. This value represents the last value written to this I/O port. Winape uses 8a and not 8b. This value has bits 7,6,5 set to 1,0 and 1 respectively. 8b is in the original specification and is written by both ACE and No$CPC.&lt;br /&gt;
&lt;br /&gt;
9. This value represents the lock status of RMR2. If locked, RMR2 can't be accessed otherwise it can.&lt;br /&gt;
&lt;br /&gt;
10. This value represents the current unlock sequence state. &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''State ID''&lt;br /&gt;
| ''Synchronised State''&lt;br /&gt;
| ''Note''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| Not synchronised&lt;br /&gt;
| ASIC is waiting for first non-zero byte to be written, this is the first synchronisation byte required&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Not synchronised&lt;br /&gt;
| ASIC is waiting for zero byte to be written, this is the second synchronisation byte required&lt;br /&gt;
|-&lt;br /&gt;
| 2..10&lt;br /&gt;
| synchronised&lt;br /&gt;
| ASIC is waiting for byte from unlock sequence. e.g. if &amp;quot;2&amp;quot;, ASIC is waiting for &amp;amp;amp;FF, the first byte of the unlock sequence. if &amp;quot;3&amp;quot; ASIC is waiting for &amp;amp;amp;77, the second byte of the unlock sequence.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== WABP Chunk (Winape) ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by Winape when some breakpoints are set. &lt;br /&gt;
The exact details are begin worked out.&lt;br /&gt;
&lt;br /&gt;
It seems to be:&lt;br /&gt;
&lt;br /&gt;
4 bytes - number of user breakpoints&lt;br /&gt;
&lt;br /&gt;
Each user breakpoint:&lt;br /&gt;
&lt;br /&gt;
type,&lt;br /&gt;
4 byte address&lt;br /&gt;
&lt;br /&gt;
Then,  4 bytes - number of memory breakpoints&lt;br /&gt;
&lt;br /&gt;
Each memory breakpoint:&lt;br /&gt;
&lt;br /&gt;
Then, 4 bytes - number of i/o breakpoints:&lt;br /&gt;
&lt;br /&gt;
Each i/o breakpoint:&lt;br /&gt;
&lt;br /&gt;
 2 bytes flags? (6000 read, a400 write)&lt;br /&gt;
 2 bytes port addr mask&lt;br /&gt;
 2 bytes port addr&lt;br /&gt;
 4 bytes counter&lt;br /&gt;
 4 bytes condition string length, followed by condition string (not null terminated)&lt;br /&gt;
&lt;br /&gt;
== DARS Chunk (Winape) ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by Winape when some data areas are set. &lt;br /&gt;
&lt;br /&gt;
The number of stored data areas in the chunk is given by the chunk size divided by 10 (the size of one data area data structure).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 4&lt;br /&gt;
| Address (LSB first) (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 04&lt;br /&gt;
| 4&lt;br /&gt;
| Area size (LSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 08&lt;br /&gt;
| 1&lt;br /&gt;
| Data type (0=byte,1=word)&lt;br /&gt;
|-&lt;br /&gt;
| 09&lt;br /&gt;
| 1&lt;br /&gt;
| Labels (1=marked by user as having labels)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
&lt;br /&gt;
1. Winape's addressing scheme is 4 bytes. The upper 16-bits effectively define the internal 64KB pages it uses.&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
[[Snapshot Archive]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Programming]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Snapshot&amp;diff=113795</id>
		<title>Snapshot</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Snapshot&amp;diff=113795"/>
				<updated>2024-01-02T20:06:39Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: /* BRKC Chunk (ACE) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Snapshot (.SNA) file format  =&lt;br /&gt;
&lt;br /&gt;
The format was first defined for the [[CPCEMU|CPCEMU]] emulator but is now widely supported. The format was originally defined by [[Marco Vieth|Marco Vieth]]. Version 3 was defined by [[Ulrich Doewich|Ulrich Doewich]], [[Martin Korth|Martin Korth]], [[Richard Wilson|Richard Wilson]] and [[Kevin Thacker|Kevin Thacker]]. &lt;br /&gt;
&lt;br /&gt;
There are 3 versions defined in this document. Version 3 is the most recent and is currently supported by a few of the most recent emulators. &lt;br /&gt;
&lt;br /&gt;
Snapshots produced with [[CPCE|CPCE]] appears to be the most compatible and will run correctly using any emulator.&lt;br /&gt;
&lt;br /&gt;
Abbreviations: &lt;br /&gt;
&lt;br /&gt;
*[[Gate Array|GA = &amp;quot;Gate Array&amp;quot;]] &lt;br /&gt;
*[[CRTC|CRTC = &amp;quot;6845 Cathode Ray Tube Controller&amp;quot;]] &lt;br /&gt;
*[[8255|PPI = &amp;quot;Intel 8255 Programmable Peripheral Interface&amp;quot;]] &lt;br /&gt;
*[[PSG|PSG = &amp;quot;AY-3-8912 Programmable Sound Generator&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
= Version 1  =&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00-07&lt;br /&gt;
| 8&lt;br /&gt;
| The identification string &amp;quot;MV - SNA&amp;quot;. This must exist for the snapshot to be valid.&lt;br /&gt;
|-&lt;br /&gt;
| 08-0f&lt;br /&gt;
| 8&lt;br /&gt;
| (not used; set to 0)&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 1&lt;br /&gt;
| snapshot version (1)&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register F&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register A&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register C&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register B&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register E&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register D&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register L&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register H&lt;br /&gt;
|-&lt;br /&gt;
| 19&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register R&lt;br /&gt;
|-&lt;br /&gt;
| 1a&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register I&lt;br /&gt;
|-&lt;br /&gt;
| 1b&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 interrupt flip-flop IFF0 (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 1c&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 interrupt flip-flop IFF1 (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 1d&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IX (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 1e&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IX (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 1f&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IY (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 20&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register IY (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 21&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register SP (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 22&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register SP (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 23&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register PC (low) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 24&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register PC (high) (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 25&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 interrupt mode (0,1,2) (note 3)&lt;br /&gt;
|-&lt;br /&gt;
| 26&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register F' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 27&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register A' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 28&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register C' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 29&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register B' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2a&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register E' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2b&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register D' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2c&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register L' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2d&lt;br /&gt;
| 1&lt;br /&gt;
| Z80 register H' (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 2e&lt;br /&gt;
| 1&lt;br /&gt;
| GA: index of selected pen (note 10)&lt;br /&gt;
|-&lt;br /&gt;
| 2f-3f&lt;br /&gt;
| 1&lt;br /&gt;
| GA: current palette (note 12)&lt;br /&gt;
|-&lt;br /&gt;
| 40&lt;br /&gt;
| 1&lt;br /&gt;
| GA: multi configuration (note 11)&lt;br /&gt;
|-&lt;br /&gt;
| 41&lt;br /&gt;
| 1&lt;br /&gt;
| current RAM configuration (note 13)&lt;br /&gt;
|-&lt;br /&gt;
| 42&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC: index of selected register (note 14)&lt;br /&gt;
|-&lt;br /&gt;
| 43-54&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC: register data (0..17) (note 15)&lt;br /&gt;
|-&lt;br /&gt;
| 55&lt;br /&gt;
| 1&lt;br /&gt;
| current ROM selection (note 16)&lt;br /&gt;
|-&lt;br /&gt;
| 56&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: port A (note 6)&lt;br /&gt;
|-&lt;br /&gt;
| 57&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: port B (note 7)&lt;br /&gt;
|-&lt;br /&gt;
| 58&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: port C (note 8)&lt;br /&gt;
|-&lt;br /&gt;
| 59&lt;br /&gt;
| 1&lt;br /&gt;
| PPI: control port (note 9)&lt;br /&gt;
|-&lt;br /&gt;
| 5a&lt;br /&gt;
| 1&lt;br /&gt;
| PSG: index of selected register (note 17)&lt;br /&gt;
|-&lt;br /&gt;
| 5b-6a&lt;br /&gt;
| 1&lt;br /&gt;
| PSG: register data (0,1,....15)&lt;br /&gt;
|-&lt;br /&gt;
| 6b&lt;br /&gt;
| 2&lt;br /&gt;
| memory dump size in Kilobytes (e.g. 64 for 64K, 128 for 128k) (note 18)&lt;br /&gt;
|-&lt;br /&gt;
| 6d-ff&lt;br /&gt;
| 1&lt;br /&gt;
| not used set to 0&lt;br /&gt;
|-&lt;br /&gt;
| 100-...&lt;br /&gt;
| 1&lt;br /&gt;
| memory dump&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes  ==&lt;br /&gt;
&lt;br /&gt;
1. All multi-byte values are stored in little-endian format (low byte followed by higher bytes). &lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;IFF0&amp;quot; reflects the state of the maskable interrupt (INT). &amp;quot;IFF1&amp;quot; is used to store the state of IFF0 when a non-maskable interrupt (NMI) is executed. Bit 0 of these bytes is significant. For CPCEMU compatibility, these bytes should be set to &amp;quot;1&amp;quot; when the IFF flip-flop is &amp;quot;1&amp;quot; and &amp;quot;0&amp;quot; when the flip-flop is &amp;quot;0&amp;quot;. For compatibility with other emulators, bits 7-1 should be set to &amp;quot;0&amp;quot;. When bit 0 of &amp;quot;IFF0&amp;quot; is &amp;quot;0&amp;quot; maskable interrupts will be ignored. When bit 0 of &amp;quot;IFF1&amp;quot; is &amp;quot;1&amp;quot; maskable interrupts will be acknowledged and executed. See the document about the Z80 for more information. &lt;br /&gt;
&lt;br /&gt;
3. This byte will be 0, 1 or 2 for the interrupt modes 0, 1 or 2. The interrupt mode is set using the &amp;quot;IM x&amp;quot; instructions. See the document about the Z80 for more information. &lt;br /&gt;
&lt;br /&gt;
4. These registers are from the alternate register set of the Z80. &lt;br /&gt;
&lt;br /&gt;
5. These registers are 16-bit. &amp;quot;low&amp;quot; indicates bits 7..0, &amp;quot;high&amp;quot;indicates bits 15..8. &lt;br /&gt;
&lt;br /&gt;
6. This byte represents the inputs to PPI port A regardless of the input/output setting of this port. &lt;br /&gt;
&lt;br /&gt;
7. This byte represents the inputs to PPI port B regardless of the input/output setting of this port. &lt;br /&gt;
&lt;br /&gt;
8. This byte represents the outputs from port C regardless of the input/output setting of this port. &lt;br /&gt;
&lt;br /&gt;
9. This byte represents the PPI control byte which defines the input/output and mode of each port and not the last value written to this port. For CPCEMU compatibility bit 7 of this byte must be set to &amp;quot;1&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
10. This byte in the snapshot represents the selected pen register of the Gate-Array. This byte is the last value written to this port. Bit 7,6,5 should be set to &amp;quot;0&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
11. This byte in the snapshot represents the multi-configuration register of the Gate-Array. This byte is the last byte written to this register. For CPCEMU compatibility, bit 7 should be set to &amp;quot;1&amp;quot; and bit 6 and bit 5 set to &amp;quot;0&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
12. These bytes are the current palette. For CPCEMU compatibility, these bytes should have bit 7=bit 6=bit 5=&amp;quot;0&amp;quot;. Bits 4..0 define the colour using the hardware colour code. The colours are stored in the order pen 0, pen1, pen 2,...,pen 15 followed by border colour. &lt;br /&gt;
&lt;br /&gt;
13. This byte represents a ram configuration for a Dk'Tronics/Dobbertin/Amstrad compatible RAM expansion, or the built in RAM expansion of the CPC6128 and CPC6128+. Bits 5..0 define the ram expansion code. For CPCEMU compatibility, bit 7 and bit 6 of this byte should be set to &amp;quot;0&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
14. This byte in the snapshot represents the index of the currently selected CRTC register. For compatibility with CPCEMU this value should be in the range 0-31. &lt;br /&gt;
&lt;br /&gt;
15. These bytes represent the data of the CRTC's registers. &lt;br /&gt;
&lt;br /&gt;
16. This byte in the snapshot represents the last byte written to the &amp;quot;ROM select&amp;quot; I/O port. &lt;br /&gt;
&lt;br /&gt;
17. This byte in the snapshot represents the index of the currently selected PSG register. For CPCEMU compatibility, this byte should be in the range 0-15. &lt;br /&gt;
&lt;br /&gt;
18. the memory dump can have size 0 in version 3 and in this case all RAM is described in additional blocks (MEM0-MEM8). If a memory dump has a non-zero size, then it is uncompressed and describes the main 64KB ram immediately followed by the second 64KB ram (if present) (this ram is inside 128KB machines or machines with 64KB from a Dk'Tronics/Dobbertin/Amstrad compatible RAM expansion. Note that CPCEMU can only write a 64K or 128K snapshot.&lt;br /&gt;
&lt;br /&gt;
19. JavaCPC uses e0-ff to store an emulator ID (see snapshot V3 for more details)&lt;br /&gt;
&lt;br /&gt;
= Changes and additions in Version 2 from Version 1  =&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 1&lt;br /&gt;
| snapshot version (2)&lt;br /&gt;
|-&lt;br /&gt;
| 6d&lt;br /&gt;
| 1&lt;br /&gt;
| CPC Type: &lt;br /&gt;
*0 = CPC464 &lt;br /&gt;
*1 = CPC664 &lt;br /&gt;
*2 = CPC6128 &lt;br /&gt;
*3 = unknown&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 6e&lt;br /&gt;
| 1&lt;br /&gt;
| interrupt number (0..5) (note 1a)&lt;br /&gt;
|-&lt;br /&gt;
| 6f-74&lt;br /&gt;
| 6&lt;br /&gt;
| 6 multimode bytes (note 1b)&lt;br /&gt;
|-&lt;br /&gt;
| 75-ff&lt;br /&gt;
| x&lt;br /&gt;
| (not used)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes  ==&lt;br /&gt;
&lt;br /&gt;
1. If standard CPC raster interrupts are used, interrupts are acknowledged and &amp;quot;executed&amp;quot; at the time they are requested, then there will be 6 interrupts executed per screen update cycle. &lt;br /&gt;
&lt;br /&gt;
*CPCEMU uses a simple system to emulate the interrupts. It is assumed there are exactly 6 interrupts per screen update cycle (the interrupts are assumed to occur at a frequency of 300Hz). This byte records the interrupt number in the current screen update cycle. More accurate emulators use the correct interrupt generation method and may ignore this byte. For CPCEMU compatibility, these emulators should set this byte to &amp;quot;0&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*CPCEMU uses a simple system to emulate the screen display. It allows the mode to be changed in each of the 6 interrupts that occur during a single 50Hz/60Hz period. These bytes represent the mode in each of these sections, i.e. the screen modes (0,1 or 2) for the interrupts 0..5. More accurate emulators support changing of the screen mode at any point supported by the Amstrad hardware, these emulators should write &amp;quot;0&amp;quot; for all these bytes.&lt;br /&gt;
&lt;br /&gt;
2. A version 2 snapshot describes Dk'Tronics/Dobbertin compatible RAM in addition to the 64KB base ram. This is a type of RAM expansion which uses the same port and paging mechanism as the extra 64KB inside the 6128. However, the RAM *MUST* be continuous, therefore it's limited to 64KB, 256KB or 512KB additional RAM. The Dk'Tronics silicon disk can't be described on it's own because it's RAM configurations do not start at C4.&lt;br /&gt;
&lt;br /&gt;
The following configurations can be described:&lt;br /&gt;
* 64KB base + 64KB extra RAM (e.g. Dk'Tronics 64KB RAM Expansion)&lt;br /&gt;
* 64KB base + 256KB extra RAM (e.g. Dk'Tronics 256KB RAM Expansion)&lt;br /&gt;
* 64KB base + 512KB extra RAM (e.g. Dk'Tronics 256KB RAM Expansion &amp;amp; Dk'Tronics 256KB Silicon Disk OR X-MEM OR Symbiface 2 OR other device which provides 512KB)&lt;br /&gt;
&lt;br /&gt;
JavaCPC uses this value to store up to 4MB of RAM. (e.g. [[CPC4MB]]). This type of ram is Dk'Tronics compatible and has multiple banks of 512KB. This value could be used to describe a 1MB or 2MB expansion as long as it is fully Dk'tronics compatible (e.g. rpalmer's 2MB).&lt;br /&gt;
&lt;br /&gt;
3. JavaCPC uses e0-ff to store an emulator ID (see snapshot V3 for more details)&lt;br /&gt;
&lt;br /&gt;
= Changes and additions in Version 3 from Version 2  =&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 1&lt;br /&gt;
| snapshot version (3)&lt;br /&gt;
|-&lt;br /&gt;
| 6d&lt;br /&gt;
| 1&lt;br /&gt;
| CPC Type: &lt;br /&gt;
*0 = CPC464 &lt;br /&gt;
*1 = CPC664 &lt;br /&gt;
*2 = CPC6128 &lt;br /&gt;
*3 = unknown &lt;br /&gt;
*4 = 6128 Plus &lt;br /&gt;
*5 = 464 Plus &lt;br /&gt;
*6 = GX4000&lt;br /&gt;
|-&lt;br /&gt;
| 75&lt;br /&gt;
| n&lt;br /&gt;
| Disc drive A filename (No$CPC only)&lt;br /&gt;
|-&lt;br /&gt;
| 99&lt;br /&gt;
| 1&lt;br /&gt;
| Monitor VHold Value (-45 to +85)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9a&lt;br /&gt;
| 1&lt;br /&gt;
| Memory Expansion Enable (when Bit 7 is set)&lt;br /&gt;
*Bit 0 = 128K memory (Banks C4..C7)&lt;br /&gt;
*Bit 1 = 256K memory (Banks C4..DF)&lt;br /&gt;
*Bit 2 = 256K silicon disc (Banks E4..FF)&lt;br /&gt;
*Bit 3 = 4M expansion&lt;br /&gt;
*Bit 7 = Always set if this is valid &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 9b&lt;br /&gt;
| 1&lt;br /&gt;
| Fast Disc emulation mode (0=off, 1=on) (WinAPE)&lt;br /&gt;
|-&lt;br /&gt;
| 9c&lt;br /&gt;
| 1&lt;br /&gt;
| FDD motor drive state (0=off, 1=on)&lt;br /&gt;
|-&lt;br /&gt;
| 9d-a0&lt;br /&gt;
| 4&lt;br /&gt;
| FDD current physical track (note 15)&lt;br /&gt;
|-&lt;br /&gt;
| a1&lt;br /&gt;
| 1&lt;br /&gt;
| Printer Data/Strobe Register (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| a2-a3&lt;br /&gt;
| 2&lt;br /&gt;
| Current frame scan line since monitor retrace (note16)&lt;br /&gt;
|-&lt;br /&gt;
| a4&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC type: &lt;br /&gt;
*0 = HD6845S/UM6845 &lt;br /&gt;
*1 = UM6845R &lt;br /&gt;
*2 = MC6845 &lt;br /&gt;
*3 = 6845 in CPC+ ASIC &lt;br /&gt;
*4 = 6845 in Pre-ASIC&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| a9&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC horizontal character counter register (note 11)&lt;br /&gt;
|-&lt;br /&gt;
| aa&lt;br /&gt;
| 1&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| ab&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC character-line counter register (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| ac&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC raster-line counter register (note 3)&lt;br /&gt;
|-&lt;br /&gt;
| ad&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC vertical total adjust counter register (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| ae&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC horizontal sync width counter (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| af&lt;br /&gt;
| 1&lt;br /&gt;
| CRTC vertical sync width counter (note 6)&lt;br /&gt;
|-&lt;br /&gt;
| b0-b1&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Bit''&lt;br /&gt;
| ''Function''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| if &amp;quot;1&amp;quot; VSYNC is active, if &amp;quot;0&amp;quot; VSYNC is inactive (note 8)&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| if &amp;quot;1&amp;quot; HSYNC is active, if &amp;quot;0&amp;quot; HSYNC is inactive (note 9)&lt;br /&gt;
|-&lt;br /&gt;
| 2-6&lt;br /&gt;
| reserved&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| if &amp;quot;1&amp;quot; Vertical Total Adjust is active, if &amp;quot;0&amp;quot; Vertical Total Adjust is inactive (note 10)&lt;br /&gt;
|-&lt;br /&gt;
| 8-14&lt;br /&gt;
| Reserved (0)&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| if &amp;quot;1&amp;quot; use extended Interrupt Control Status Register (WinAPE)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| b2&lt;br /&gt;
| 1&lt;br /&gt;
| GA vsync delay counter (note 14)&lt;br /&gt;
|-&lt;br /&gt;
| b3&lt;br /&gt;
| 1&lt;br /&gt;
| GA interrupt scanline counter (note 12)&lt;br /&gt;
|-&lt;br /&gt;
| b4&lt;br /&gt;
| 1&lt;br /&gt;
| interrupt request flag (0=no interrupt requested, 1=interrupt requested) (note 13)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| b5&lt;br /&gt;
| 1&lt;br /&gt;
| Interrupt Control Status Register (WinAPE) (note 17)&lt;br /&gt;
|-&lt;br /&gt;
| b6&lt;br /&gt;
| 1&lt;br /&gt;
| Plus features disabled (0=enabled, 1=disabled)&lt;br /&gt;
|-&lt;br /&gt;
| b7&lt;br /&gt;
| 1&lt;br /&gt;
| Plus PPI Emulation (0=Standard 8255 emulation, 1=Plus PPI emulation)&lt;br /&gt;
|-&lt;br /&gt;
| b8-df&lt;br /&gt;
| 28&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| e0&lt;br /&gt;
| 20&lt;br /&gt;
| Emulator ID String&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes  ==&lt;br /&gt;
&lt;br /&gt;
1. This byte in the snapshot represents the last byte written to the printer I/O port (this byte does not include the automatic inversion of the strobe caused by the Amstrad hardware). &lt;br /&gt;
&lt;br /&gt;
2. This register is internal to the CRTC and counts the number of character-lines. The counter counts up. This value is in the range 0-127. (This counter is compared against CRTC register 4). &lt;br /&gt;
&lt;br /&gt;
3. This register is internal to the CRTC and counts the number of raster-lines. The counter counts up. This value is in the range 0-31. (This counter is compared against CRTC register 9). &lt;br /&gt;
&lt;br /&gt;
4. This register is internal to the CRTC and counts the number of raster-lines during vertical adjust. The counter counts up. This value is in the range 0-31. This should be ignored if the CRTC is not &amp;quot;executing&amp;quot; vertical. adjust.(This counter is compared against CRTC register 5). &lt;br /&gt;
&lt;br /&gt;
5. This register is internal to the CRTC and counts the number of characters during horizontal sync. This counter counts up. This value is in the range 0-16. This should be ignored if the CRTC is not &amp;quot;executing&amp;quot; horizontal sync. (This counter is compared against CRTC register 3). &lt;br /&gt;
&lt;br /&gt;
6. This register is internal to the CRTC and counts the number of scan-lines during vertical sync. This counter counts up. This value is in the range 0-16. This should be ignored if the CRTC is not &amp;quot;executing&amp;quot; vertical sync. (This counter is compared against CRTC register 3). &lt;br /&gt;
&lt;br /&gt;
7. These bytes define the internal state of the CRTC. Each bit in these bytes represents a state. &lt;br /&gt;
&lt;br /&gt;
8. When VSYNC is active, the CRTC is &amp;quot;executing&amp;quot; vertical sync, and the vertical sync width counter in the snapshot is used. &lt;br /&gt;
&lt;br /&gt;
9. When HSYNC is active, the CRTC is &amp;quot;executing&amp;quot; horizontal sync width counter in the snapshot is used. &lt;br /&gt;
&lt;br /&gt;
10. When Vertical total adjust is active, the CRTC is &amp;quot;executing&amp;quot; vertical total adjust and the vertical total adjust counter in the snapshot is used. &lt;br /&gt;
&lt;br /&gt;
11. This register is internal to the CRTC and counts the number of characters. This counter counts up. This value is in the range 0-255. (This counter is compared against CRTC register 0). &lt;br /&gt;
&lt;br /&gt;
12. This counter is internal to the GA and counts the number of HSYNCs. This counter is used to generate CPC raster interrupts. This counter counts up. This value is in the range 0-51. &lt;br /&gt;
&lt;br /&gt;
13. This flag is &amp;quot;1&amp;quot; if a interrupt request has been sent to the Z80 and it has not yet been acknowledged by the Z80. (A interrupt request is sent by the GA for standard CPC raster interrupts or by the ASIC for raster or dma interrupts). &lt;br /&gt;
&lt;br /&gt;
14. This is a counter internal to the GA and counts the number of HSYNCs since the start of the VSYNC and it is used to reset the interrupt counter to synchronise interrupts with the VSYNC. This counter counts up. This value is between 0 and 2. If this value is 0, the counter is inactive. If this counter is 1 or 2 the counter is active.&lt;br /&gt;
&lt;br /&gt;
15. This is the current cylinder for each of 4 drives.&lt;br /&gt;
&lt;br /&gt;
16. In WinAPE this counter is reset if a VSYNC occurs which causes the monitor to retrace vertically. This occurs if the VSYNC signal is active and this counter is greater than a threshold set by the V-Hold (normally 295 when V-Hold is 0), or if the counter reaches the maximum value (normally 351 when V-Hold is 0).&lt;br /&gt;
&lt;br /&gt;
17. Since Plus emulation requires more information than simply whether an interrupt is active, this value (as used internally by WinAPE) contains: &lt;br /&gt;
* Bit 7 - Gate Array (or PRI) interrupt. &lt;br /&gt;
* Bit 6 - DMA Channel 0 interrupt. &lt;br /&gt;
* Bit 5 - DMA Channel 1 interrupt. &lt;br /&gt;
* Bit 4 - DMA Channel 2 interrupt. &lt;br /&gt;
&lt;br /&gt;
It can be a combination of all or any interrupt sources. Interrupts are executed in the order raster, DMA 2, DMA 1, DMA 0.&lt;br /&gt;
&lt;br /&gt;
Immediately following the memory dump there is optional data which is separated into chunks. &lt;br /&gt;
&lt;br /&gt;
Each chunk of data has a header and this is followed by the data in the chunk. The header has the following format: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Count''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 4&lt;br /&gt;
| Chunk name (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| Chunk data length (note 2)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes: &lt;br /&gt;
&lt;br /&gt;
1. The chunks are defined with 4-byte character codes. (e.g. &amp;quot;CPC+&amp;quot;). In this example, the 4-byte character code would be stored in the file as 'C' then 'P' then 'C' then '+'. &lt;br /&gt;
&lt;br /&gt;
2. The &amp;quot;Chunk data length&amp;quot; defines the length of data following the header and does not include the size of the header. This number is stored in little endian format. &lt;br /&gt;
&lt;br /&gt;
3. If a emulator finds a chunk which it does not support then it should skip the chunk and continue with the next chunk in the file. Therefore an emulator author may add emulator specific chunks to the file and it will not prevent the snapshot from being used with other emulators that do not recognise the added chunks. &lt;br /&gt;
&lt;br /&gt;
4. There is not a terminator chunk. The snapshot reader should determine if there are more chunks based on the size of data remaining to be read from the file. &lt;br /&gt;
&lt;br /&gt;
=Version 3 Chunks=&lt;br /&gt;
&lt;br /&gt;
The following chunks are currently defined: &lt;br /&gt;
&lt;br /&gt;
== DSCA,DSCB ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by WinAPE and ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
The DSCA block contains the filename of the disc image inserted into drive A. The filename is stored as 8-bit ASCII (any Unicode characters with codes 0x100 or above will be translated to ? and therefore filenames with these characters can't be stored in Snapshots). The length of the block is the length of the filename in bytes.&lt;br /&gt;
&lt;br /&gt;
DSCB is similar to DSCA but stores the filename of the disc image inserted into drive B.&lt;br /&gt;
&lt;br /&gt;
== TAPE (ACE) ==&lt;br /&gt;
&lt;br /&gt;
This chunk is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
The TAPE block contains the filename of the tape image inserted. The filename is stored as 8-bit ASCII (any Unicode characters with codes 0x100 or above will be translated to ? and therefore filenames with these characters can't be stored in Snapshots). The length of the block is the length of the filename in bytes.&lt;br /&gt;
&lt;br /&gt;
== ROMS ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by WinAPE and ACE; it is saved only when the related option is enabled.&lt;br /&gt;
&lt;br /&gt;
This block contains a list of filenames for each ROM (and cartridge) that is defined. The length of the block is the length for all strings.&lt;br /&gt;
&lt;br /&gt;
If a ROM is not defined, a single NUL (0) byte is present, otherwise there is a null terminated 8-bit ASCII string.&lt;br /&gt;
&lt;br /&gt;
First in the list is the filename (or internal name) for the cartridge (prefixed with a 'A' character), followed by lower rom and then upper roms 0-31 (WinAPE) or 0-255 (ACE).&lt;br /&gt;
&lt;br /&gt;
Internal ROMs are listed by their internal name (the name listed in the drop down when you configure the roms) (e.g. OS464).&lt;br /&gt;
&lt;br /&gt;
NOTE: The selected Multiface ROM is not saved in the snapshot.&lt;br /&gt;
&lt;br /&gt;
== INFO Chunk (No$CPC) ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by No$CPC. It contains an 8-bit ASCII string with the version information for No$CPC.&lt;br /&gt;
&lt;br /&gt;
== MEM0-8 Chunk ==&lt;br /&gt;
&lt;br /&gt;
The MEM0-8 chunks contain at most 64KB of data. The data may be compressed or stored uncompressed. If the size is exactly 65536 bytes the data is uncompressed, otherwise it is compressed. Up to 512KB additional RAM can be stored in a snapshot. &lt;br /&gt;
&lt;br /&gt;
The compression scheme is RLE with 0x0e5 as the control byte.&lt;br /&gt;
&lt;br /&gt;
Data is encoded as:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;byte&amp;gt; for a single occurrence of a byte (not 0x0e5) (e.g. 0x013)&lt;br /&gt;
* 0x0e5,&amp;lt;count&amp;gt;,&amp;lt;byte&amp;gt; for multiple occurances of a byte (e. 0x0e5,0x04,0x013 for 0x013 repeated 4 times)&lt;br /&gt;
* 0x0e5,0 for a single 0x0e5 byte (e.g. 0x0e5)&lt;br /&gt;
&lt;br /&gt;
The blocks are:&lt;br /&gt;
&lt;br /&gt;
* MEM0 - main 64KB ram&lt;br /&gt;
* MEM1 - c4,c5,c6,c7 configurations (extra 64KB ram in 128KB machines) (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM2 - cc,cd,ce,cf configurations (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM3 - d4,d5,d6,d7 configurations (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM4 - dc,dd,de,df configurations (256KB Dk'Tronics RAM, X-MEM)&lt;br /&gt;
* MEM5 - e4,e5,e6,e7 configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
* MEM6 - ec,ed,ee,ef configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
* MEM7 - f4,f5,f6,f7 configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
* MEM8 - fc,fd,fe,ff configurations (256KB Dk'Tronics Silicon Disk, X-MEM)&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
1. A snapshot may contain a mix of &amp;quot;standard&amp;quot; memory data (e.g. the data follows the header and is uncompressed) and additional MEM blocks as required.&lt;br /&gt;
&lt;br /&gt;
2. If the snapshot is not compressed, then up to 128KB will be stored as &amp;quot;standard&amp;quot; memory data, the additional RAM stored in MEM2-MEM8 blocks.&lt;br /&gt;
&lt;br /&gt;
3. If the snapshot is compressed, then the &amp;quot;standard&amp;quot; memory data will have 0 size and there will be a MEM0 in addition to the additional memory blocks.&lt;br /&gt;
&lt;br /&gt;
4. Version 3 doesn't require memory to be continuous. A Dk'tronics silicon disk on it's own can be described with this version.&lt;br /&gt;
&lt;br /&gt;
5. WinAPE allows a 4MB RAM expansion to be enabled but doesn't save the additional RAM in the snapshot.&lt;br /&gt;
&lt;br /&gt;
6. ACE can save additional memory in snapshots (up to 4MB) using the MX?? chunks.&lt;br /&gt;
&lt;br /&gt;
== MX09-40 Chunk (ACE) ==&lt;br /&gt;
&lt;br /&gt;
MX?? chunks allow snapshots to store up to 4160KB ram.&lt;br /&gt;
&lt;br /&gt;
MX?? chunks are following MEM0-8 chunks. They are numbered from 09 to 40 (hexadecimal numbering).&lt;br /&gt;
Information are stored compressed like in MEM0-8 chunks.&lt;br /&gt;
&lt;br /&gt;
== BRKC Chunk (ACE) ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by ACE when some breakpoints are set. When loading a snapshot, the breakpoints found in this chunk are added to the one already installed.&lt;br /&gt;
The number of stored breakpoints in the chunk is given by the chunk size divided by 216 (the size on one breakpoint data structure).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint type (0:Execution, 1:Memory, 2:I/O port)&lt;br /&gt;
|-&lt;br /&gt;
| 01&lt;br /&gt;
| 1&lt;br /&gt;
| Memory access mode (0:R/W, 1:R/O, 2:W/O)&lt;br /&gt;
|-&lt;br /&gt;
| 02&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint runtime mode (0:Break, 1:Watch)&lt;br /&gt;
|-&lt;br /&gt;
| 03&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint map type (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 04&lt;br /&gt;
| 2&lt;br /&gt;
| Breakable memory/port (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 06&lt;br /&gt;
| 2&lt;br /&gt;
| Breakable memory/port mask (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 08&lt;br /&gt;
| 1&lt;br /&gt;
| Match value&lt;br /&gt;
|-&lt;br /&gt;
| 09&lt;br /&gt;
| 1&lt;br /&gt;
| Match value mask&lt;br /&gt;
|-&lt;br /&gt;
| 0A&lt;br /&gt;
| 2&lt;br /&gt;
| Breakable memory size (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 0C&lt;br /&gt;
| 4&lt;br /&gt;
| Breakpoint activation step (MSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 128&lt;br /&gt;
| Breakpoint condition to match (NULL terminated string) (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 90&lt;br /&gt;
| 64&lt;br /&gt;
| Breakpoint user name (NULL terminated string)&lt;br /&gt;
|-&lt;br /&gt;
| D0&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint map bank (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| D1&lt;br /&gt;
| 1&lt;br /&gt;
| Breakpoint map page (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| D2&lt;br /&gt;
| 6&lt;br /&gt;
| Reserved&lt;br /&gt;
|-&lt;br /&gt;
| D8&lt;br /&gt;
| ...&lt;br /&gt;
| Same sequence repeated for each breakpoint&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
&lt;br /&gt;
1. The condition is expressed using ACE syntax (similar to BASIC with AND/OR/XOR/NOT/+/-/=...).&lt;br /&gt;
Allowed additional syntaxes are:&lt;br /&gt;
*&amp;amp;, # or 0x for a hexadecimal number.&lt;br /&gt;
*% or &amp;amp;x for a binary number.&lt;br /&gt;
*AF, BC, HL, IX... for a 16-bit Z80 register.&lt;br /&gt;
*A, B, D, IXh, IXl... for an 8-bit Z80 register.&lt;br /&gt;
*FlagC, FlagNC, FlagM... for a Z80 flag.&lt;br /&gt;
*LineCount for the line number.&lt;br /&gt;
*LineCycle for the µs count on the current line.&lt;br /&gt;
*MemPage for the 64K expansion memory page (0-63).&lt;br /&gt;
*MemBankMode for the 16K expansion memory bank paging mode (0-7).&lt;br /&gt;
*UpperROMOn for the paging state of the upper ROM.&lt;br /&gt;
*UpperROMNum for the selected upper ROM number.&lt;br /&gt;
*LowerROMOn for the paging state of the lower ROM.&lt;br /&gt;
*LowerROMNum for the selected lower ROM number.&lt;br /&gt;
*ASICPageOn for the paging state of the I/O ASIC registers page.&lt;br /&gt;
&lt;br /&gt;
''Example : FlagC AND (HL=DE OR HL=&amp;amp;5000)''&lt;br /&gt;
&lt;br /&gt;
2. The map type determines the memory layout for which the breakpoint is valid.&lt;br /&gt;
The meaning of the values for map bank and map page depends on the map type value.&lt;br /&gt;
Possible values fir map type are:&lt;br /&gt;
* 0: Undefined. Map bank and page are ignored (always 0).&lt;br /&gt;
* 1: Main RAM. If map bank is 0, then linear main RAM is considered. If map bank is 1, then main RAM from &amp;amp;c000-&amp;amp;ffff mapped as &amp;amp;4000-&amp;amp;7fff is considered. Map page is ignored (always 0). &lt;br /&gt;
* 2: Extension RAM. Map bank is the 16K extension bank number (0-3). Map page is the 64K extension page number (0-31).&lt;br /&gt;
* 3: Extension ROM. Map bank is the ROM slot id (0-255). Map page is ignored (always 0).&lt;br /&gt;
* 4: Firmware ROM. Map bank and page are ignored (always 0).&lt;br /&gt;
* 5: Cartridge ROM. Map bank is the 16K ROM bank number (0-31). Map page is ignored (always 0).&lt;br /&gt;
* 6: ASIC I/O Page. Map bank and page are ignored (always 0).&lt;br /&gt;
&lt;br /&gt;
== SYMB Chunk (ACE) ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by ACE when some symbols are declared. When loading a snapshot, the symbols found in this chunk are added to the alreading existing ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 1&lt;br /&gt;
| Length on the symbol name (n). 0 is an invalid value.&lt;br /&gt;
|-&lt;br /&gt;
| 01&lt;br /&gt;
| n&lt;br /&gt;
| Symbol name (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| n+1&lt;br /&gt;
| 6&lt;br /&gt;
| Reserved for future usage, always 0 for now.&lt;br /&gt;
|-&lt;br /&gt;
| n+7&lt;br /&gt;
| 2&lt;br /&gt;
| Address of the symbol (MSB first).&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
| Same sequence repeated until the end of the chunk is reached.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
&lt;br /&gt;
1. Symbol are (obviously) limited to 255 characters, cannot begin with a number (0-9), and only a limited set of ASCII char is allowed (a-z, A-Z, 0-9, _).&lt;br /&gt;
&lt;br /&gt;
== CPC+ Chunk  ==&lt;br /&gt;
&lt;br /&gt;
This chunk is supported by Arnold, Winape, No$CPC and ACE. Arnold, Winape and ACE will save the block when Plus configuration enabled. No$CPC will save the block if the Plus features have been unlocked.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Addr in ASIC register-ram''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 000-7FF&lt;br /&gt;
| 800&lt;br /&gt;
| 4000-4FFF&lt;br /&gt;
| Sprite Bitmaps (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 800-87F&lt;br /&gt;
| 8*16&lt;br /&gt;
| 6000-607F&lt;br /&gt;
| Sprite Attributes (see below) (note 2)&lt;br /&gt;
|-&lt;br /&gt;
| 880-8BF&lt;br /&gt;
| 32*2&lt;br /&gt;
| 6400-643F&lt;br /&gt;
| Palettes (note 3)&lt;br /&gt;
|-&lt;br /&gt;
| 8C0&lt;br /&gt;
| 1&lt;br /&gt;
| 6800&lt;br /&gt;
| Programmable Raster Interrupt (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C1&lt;br /&gt;
| 1&lt;br /&gt;
| 6801&lt;br /&gt;
| Screen split scan-line (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C2&lt;br /&gt;
| 2&lt;br /&gt;
| 6802-6803&lt;br /&gt;
| Screen split secondary screen-address (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C4&lt;br /&gt;
| 1&lt;br /&gt;
| 6804&lt;br /&gt;
| Soft scroll control register (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C5&lt;br /&gt;
| 1&lt;br /&gt;
| 6805&lt;br /&gt;
| Interrupt vector (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8C6&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| gate array A0 register value (note 8a) &lt;br /&gt;
|-&lt;br /&gt;
| 8C6-8C7&lt;br /&gt;
| 1&lt;br /&gt;
| -&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| 8C8-8CF&lt;br /&gt;
| 8&lt;br /&gt;
| 6808-680f&lt;br /&gt;
| Analogue input channels 0-7 (note 5)&lt;br /&gt;
|-&lt;br /&gt;
| 8D0-8DB&lt;br /&gt;
| 3*4&lt;br /&gt;
| 6C00-6C0B&lt;br /&gt;
| Sound DMA channel attributes 0-2 (see below) (note 6)&lt;br /&gt;
|-&lt;br /&gt;
| 8DC-8DE&lt;br /&gt;
| 3&lt;br /&gt;
| -&lt;br /&gt;
| unused (0)&lt;br /&gt;
|-&lt;br /&gt;
| 8DF&lt;br /&gt;
| 1&lt;br /&gt;
| 6C0F&lt;br /&gt;
| DMA Control/Status (note 4)&lt;br /&gt;
|-&lt;br /&gt;
| 8E0-8F4&lt;br /&gt;
| 3*7&lt;br /&gt;
| Internal&lt;br /&gt;
| DMA channel 0-2 internal registers (see below) (note 7)&lt;br /&gt;
|-&lt;br /&gt;
| 8F5&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| gate array A0 register value (note 8b)&lt;br /&gt;
|-&lt;br /&gt;
| 8F6&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| gate array A0 lock: 0 -&amp;gt; locked, !=0 -&amp;gt; unlocked (note 9)&lt;br /&gt;
|-&lt;br /&gt;
| 8F7&lt;br /&gt;
| 1&lt;br /&gt;
| Internal&lt;br /&gt;
| ASIC unlock sequence state (note 10)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes  ===&lt;br /&gt;
&lt;br /&gt;
1. The sprite data is packed, with two sprite pixels per byte. Bits 7..4 define the first pixel and bits 3..0 define the second pixel. &lt;br /&gt;
&lt;br /&gt;
2. The attributes for each sprite take 8 bytes. Each attribute block has the following format: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 2&lt;br /&gt;
| Sprite X (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| Sprite Y (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| Sprite Magnification (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 5-7&lt;br /&gt;
| 3&lt;br /&gt;
| unused (0)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: the Sprite X, Y and magnification are in the same order as the ASIC registers &lt;br /&gt;
&lt;br /&gt;
3. This is a direct copy of the palette in CPC+ ASIC Ram. There are 32 colours each with 2-bytes per colour. &lt;br /&gt;
&lt;br /&gt;
4. These bytes in the snapshot represent the last value written to these ASIC registers. &lt;br /&gt;
&lt;br /&gt;
5. These bytes represent the inputs to the analogue channels. &lt;br /&gt;
&lt;br /&gt;
6. The attributes for each DMA channel take 4 bytes. Each attribute block has the following format: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 2&lt;br /&gt;
| DMA Channel address (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 1&lt;br /&gt;
| DMA Channel prescalar (see note)&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 1&lt;br /&gt;
| unused (0)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: the DMA address and prescalar are in the same order as the ASIC registers. &lt;br /&gt;
&lt;br /&gt;
7 These registers are internal to the CPC+ and define the current DMA operation: &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 2&lt;br /&gt;
| loop counter (note a)&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| loop address (note b)&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| pause count (note c)&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| 1&lt;br /&gt;
| pause prescalar count (note d)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
a. This value represents the number of loops remaining. 0 = none. This count is between 0..0FFF. This counter counts down. &lt;br /&gt;
&lt;br /&gt;
b. This is the Amstrad memory address to loop back to. It is a pointer to the DMA instruction after the last REPEAT instruction. &lt;br /&gt;
&lt;br /&gt;
c. This value represents the pause count and the count is between 0...0FFF. (TO BE CHECKED: down counter? what exactly does it represent) &lt;br /&gt;
&lt;br /&gt;
d. This value represents the pause prescalar count and the count is between 0..FF. (TO BE CHECKED: down counter? what exactly does it represent) &lt;br /&gt;
&lt;br /&gt;
8. This value represents the last value written to this I/O port. Winape uses 8a and not 8b. This value has bits 7,6,5 set to 1,0 and 1 respectively. 8b is in the original specification and is written by both ACE and No$CPC.&lt;br /&gt;
&lt;br /&gt;
9. This value represents the lock status of RMR2. If locked, RMR2 can't be accessed otherwise it can.&lt;br /&gt;
&lt;br /&gt;
10. This value represents the current unlock sequence state. &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''State ID''&lt;br /&gt;
| ''Synchronised State''&lt;br /&gt;
| ''Note''&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| Not synchronised&lt;br /&gt;
| ASIC is waiting for first non-zero byte to be written, this is the first synchronisation byte required&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Not synchronised&lt;br /&gt;
| ASIC is waiting for zero byte to be written, this is the second synchronisation byte required&lt;br /&gt;
|-&lt;br /&gt;
| 2..10&lt;br /&gt;
| synchronised&lt;br /&gt;
| ASIC is waiting for byte from unlock sequence. e.g. if &amp;quot;2&amp;quot;, ASIC is waiting for &amp;amp;amp;FF, the first byte of the unlock sequence. if &amp;quot;3&amp;quot; ASIC is waiting for &amp;amp;amp;77, the second byte of the unlock sequence.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== WABP Chunk (Winape) ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by Winape when some breakpoints are set. &lt;br /&gt;
The exact details are begin worked out.&lt;br /&gt;
&lt;br /&gt;
It seems to be:&lt;br /&gt;
&lt;br /&gt;
4 bytes - number of user breakpoints&lt;br /&gt;
&lt;br /&gt;
Each user breakpoint:&lt;br /&gt;
&lt;br /&gt;
type,&lt;br /&gt;
4 byte address&lt;br /&gt;
&lt;br /&gt;
Then,  4 bytes - number of memory breakpoints&lt;br /&gt;
&lt;br /&gt;
Each memory breakpoint:&lt;br /&gt;
&lt;br /&gt;
Then, 4 bytes - number of i/o breakpoints:&lt;br /&gt;
&lt;br /&gt;
Each i/o breakpoint:&lt;br /&gt;
&lt;br /&gt;
 2 bytes flags? (6000 read, a400 write)&lt;br /&gt;
 2 bytes port addr mask&lt;br /&gt;
 2 bytes port addr&lt;br /&gt;
 4 bytes counter&lt;br /&gt;
 4 bytes condition string length, followed by condition string (not null terminated)&lt;br /&gt;
&lt;br /&gt;
== DARS Chunk (Winape) ==&lt;br /&gt;
&lt;br /&gt;
This chunk is written by Winape when some data areas are set. &lt;br /&gt;
&lt;br /&gt;
The number of stored data areas in the chunk is given by the chunk size divided by 10 (the size of one data area data structure).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| ''Offset (Hex)''&lt;br /&gt;
| ''Length''&lt;br /&gt;
| ''Description''&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| 4&lt;br /&gt;
| Address (LSB first) (note 1)&lt;br /&gt;
|-&lt;br /&gt;
| 04&lt;br /&gt;
| 4&lt;br /&gt;
| Area size (LSB first)&lt;br /&gt;
|-&lt;br /&gt;
| 08&lt;br /&gt;
| 1&lt;br /&gt;
| Data type (0=byte,1=word)&lt;br /&gt;
|-&lt;br /&gt;
| 09&lt;br /&gt;
| 1&lt;br /&gt;
| Labels (1=marked by user as having labels)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
&lt;br /&gt;
1. Winape's addressing scheme is 4 bytes. The upper 16-bits effectively define the internal 64KB pages it uses.&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
[[Snapshot Archive]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Programming]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=ACE_(Emulator)&amp;diff=112706</id>
		<title>ACE (Emulator)</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=ACE_(Emulator)&amp;diff=112706"/>
				<updated>2023-09-21T17:51:41Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: Removed duplicated entries&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:ACE.png|thumb|German GUI - Main window]]'''ACE''' is a high quality [[Amstrad]] CPC/CPC+ emulator written by Philippe &amp;quot;[[OffseT|OffseT]]&amp;quot; Rimauro.&lt;br /&gt;
&lt;br /&gt;
It is developed exclusively for [http://www.morphos.de/ MorphOS].&amp;lt;br /&amp;gt;[[PulkoMandy]] is maintaining the port for [https://www.haiku-os.org/ Haiku].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACE was coded from scratch, using a real CPC as a reference in order to provide one of the best Amstrad CPC emulator ever.&amp;lt;br /&amp;gt;&lt;br /&gt;
Most of the games and demos for both CPC and CPC+ are working perfectly; the quality of the emulation is often superior to what the existing CPC emulators on PC/Windows can produce.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In addition to the high quality emulation, ACE features full screen and overlay display (including 50Hz display), editor and analyzer windows for all emulated CPU and chipsets, advanced breakpoints management, a very powerful set of AREXX commands for cross-development, a plugin interface, and much more...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Moreover, ACE is fully translated in French, Spanish, German and English and is still under active development. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Emulator capabilities ==&lt;br /&gt;
&lt;br /&gt;
ACE emulates most CPC hardwares and their variants.&lt;br /&gt;
&lt;br /&gt;
=== System ===&lt;br /&gt;
* Handling of the entire CPC and CPC+ range.&lt;br /&gt;
* Full Z80 emulation.&lt;br /&gt;
* Up to 256 expansion ROMs.&lt;br /&gt;
* Up to 4 MiB of extended memory.&lt;br /&gt;
&lt;br /&gt;
=== Video ===&lt;br /&gt;
* Accurate CRTC emulation of the various CRTC types.&lt;br /&gt;
* Gate Array full emulation of all variants (perfect split rasters management).&lt;br /&gt;
* CPC+ ASIC full emulation (unique quarter-cycle precision).&lt;br /&gt;
* CTM644, GT65 and MM12 monitors emulation (including dynamic analog behaviors).&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* Full and very accurate PSG emulation (AY-3-8912).&lt;br /&gt;
* Extremely accurate audio DMA emulation on CPC+.&lt;br /&gt;
&lt;br /&gt;
=== Devices ===&lt;br /&gt;
* Accurate but incomplete FDC emulation (Format and Scan instructions are missing).&lt;br /&gt;
* Accurate emulation of both floppy disc drives (real rotation speed computation, manual drive &amp;amp; side switches support).&lt;br /&gt;
* CPC+ Cartridge port emulation (including upcoming extended cartridges).&lt;br /&gt;
* Emulation of the tape interface through audio files (read only).&lt;br /&gt;
* Accurate emulation of the keyboard (including ghost keys when pressing more than three keys at once).&lt;br /&gt;
* Automatic keyboard remapping can be activated if your are using ACE with a keyboard layout unknown by the original CPC firmwares.&lt;br /&gt;
* Plugins interface to support virtually any external device.&lt;br /&gt;
&lt;br /&gt;
== Graphical interface ==&lt;br /&gt;
&lt;br /&gt;
ACE MUI graphical interface is designed to be versatile and very easy to use, and everything is always updated in real time to match the actual emulator state.&lt;br /&gt;
&lt;br /&gt;
* Simple and modular configuration of the CPC profiles to emulate using tool types (from Ambient) or arguments (from CLI).&lt;br /&gt;
* Ability to change the CRTC type or the screen monitor model on-the-fly without having to reset the running program.&lt;br /&gt;
* SNA and DSK files management (all of them!) with automatic on-the-fly detection and fix of the corrupted DSK.&lt;br /&gt;
* CPR files management for CPC+ cartridges (including support of extended cartridges up to several hundreds on megabytes).&lt;br /&gt;
* Overlay support with real pixel aspect ratio.&lt;br /&gt;
* Full screen support with the ability to choose the graphic mode to use in order to get back the 50Hz smoothness if your screen monitor can do this.&lt;br /&gt;
* Maskable interface in both windowed &amp;amp; full screen modes.&lt;br /&gt;
* Floppy disc drives LED activity OSD when the interface is not displayed.&lt;br /&gt;
* Rich breakpoints management on predefined conditions (HBL, VBL, interrupt...), on graphical coordinates, on execution addresses, on memory accesses and on I/O ports accesses (with the ability to use complex conditions, masks on the break address and/or the break value) with the option to execute scripts.&lt;br /&gt;
* Video beam cursor to see the cathode's ray position while on pause or in step by step mode.&lt;br /&gt;
* Memory editor (management of all RAM and ROM switching, automatic detection of the character code page depending on the installed firmware ROM).&lt;br /&gt;
* Z80 disassembler with highlight on opcodes and fast jump buttons on branch instructions.&lt;br /&gt;
* CRTC editor (full real time read/write access to the registers).&lt;br /&gt;
* Z80 editor (full real time read/write access to the registers).&lt;br /&gt;
* Gate Array analyzer (palette display, graphic mode, interrupt internal counter).&lt;br /&gt;
* PSG analyzer (played notes, tuning, and a bunch of rich information from the current PSG settings).&lt;br /&gt;
* Hard sprites analyzer (palette and content).&lt;br /&gt;
* DMA analyzer (full real time state and instructions being executed).&lt;br /&gt;
* Video information window (frequencies, beam ray position...).&lt;br /&gt;
* Virtual keyboard and joysticks.&lt;br /&gt;
* Ability to map joystick to keyboard when in case real joystick is available.&lt;br /&gt;
* Internal keyboard matrix state observer.&lt;br /&gt;
* Screen monitor settings window (type, brightness, vertical hold).&lt;br /&gt;
* Sound volume control.&lt;br /&gt;
* Online help and MUI's bubbles help available everywhere to help the beginners.&lt;br /&gt;
&lt;br /&gt;
== Programmable interface ==&lt;br /&gt;
&lt;br /&gt;
ACE is designed to be expandable and controllable. You are not limited to the core emulation and can you easily integrate it in any cross-development tool chain.&lt;br /&gt;
&lt;br /&gt;
=== Plugins ===&lt;br /&gt;
&lt;br /&gt;
ACE support plugins that allow anybody with some C language knowledges to add support for expansions connected to joystick, printer or expansion CPC port.&lt;br /&gt;
&lt;br /&gt;
==== Default ====&lt;br /&gt;
* Both [[joystick]]s (up to three fire buttons) using real devices plugged on the host machine (using USB or whatever).&lt;br /&gt;
* [[Printer]] (redirected to a file).&lt;br /&gt;
* [[Multiface_II|Multiface Two]] (well known hardware debugger and snapshot handler).&lt;br /&gt;
* [[Digiblaster|Digiblaster/Soundplayer]] (8-bit mono sound card).&lt;br /&gt;
* [[Kempston Mouse]].&lt;br /&gt;
* [[AMX Mouse]].&lt;br /&gt;
* [[Gunstick]] (light gun).&lt;br /&gt;
* [[Amstrad Magnum Phaser]] (light gun).&lt;br /&gt;
* [[Trojan Light Phazer]] (light gun).&lt;br /&gt;
* [[West Phaser]] (light gun).&lt;br /&gt;
&lt;br /&gt;
==== Additional ====&lt;br /&gt;
* [[Albireo]] (MicroSD, USB, and more).&lt;br /&gt;
* [[X-Mass]] (IDE interface).&lt;br /&gt;
* [[Dandanator]] (programmable game cartridge module)&lt;br /&gt;
* [[Play2CPC]] (Amstrad Plus compatible game cartridge module, with embedded additional 3 voices PSG sound card)&lt;br /&gt;
* [[Nova]] (NV-RAM and RTC).&lt;br /&gt;
* [[MultiPlay]] (additional mice and joysticks ports).&lt;br /&gt;
* [[Willy]] (up to 18 channels FM synthetizer sound card).&lt;br /&gt;
* [[PlayCity]] (6 voices PSG sound card).&lt;br /&gt;
* [[Amdrum]] (8-bit mono sound card).&lt;br /&gt;
* [[Amstrad_SSA-1_Speech_Synthesizer|SSA-1]] (english speaking speech synthesizer).&lt;br /&gt;
* [[Dk%27tronics_Speech_Synthesizer|DK'Tronics Speech]] (english speaking speech synthesizer).&lt;br /&gt;
* [[TMPI speech synthesizer|Techni-Musique Speech]] (multilingual speaking speech synthesizer).&lt;br /&gt;
* [[Mirage Imager]] (hardware freeze and snapshot handling).&lt;br /&gt;
* Cycle counter (developer helper).&lt;br /&gt;
&lt;br /&gt;
=== Scripting ===&lt;br /&gt;
&lt;br /&gt;
Any scripting language (such as Python, Lua or of course AREXX) can be used to control ACE through its AREXX interface. It gives you full control on the emulator in order to automate things (and much more), or even to use ACE as a powerful cross-development station (including integration into an IDE).&lt;br /&gt;
&lt;br /&gt;
== Web links ==&lt;br /&gt;
* [http://ace.cpcscene.net ACE CPC Emulator]&lt;br /&gt;
&lt;br /&gt;
[[Category:Emulator]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=ACE_(Emulator)&amp;diff=112705</id>
		<title>ACE (Emulator)</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=ACE_(Emulator)&amp;diff=112705"/>
				<updated>2023-09-21T17:47:22Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: /* Additional */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:ACE.png|thumb|German GUI - Main window]]'''ACE''' is a high quality [[Amstrad]] CPC/CPC+ emulator written by Philippe &amp;quot;[[OffseT|OffseT]]&amp;quot; Rimauro.&lt;br /&gt;
&lt;br /&gt;
It is developed exclusively for [http://www.morphos.de/ MorphOS].&amp;lt;br /&amp;gt;[[PulkoMandy]] is maintaining the port for [https://www.haiku-os.org/ Haiku].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACE was coded from scratch, using a real CPC as a reference in order to provide one of the best Amstrad CPC emulator ever.&amp;lt;br /&amp;gt;&lt;br /&gt;
Most of the games and demos for both CPC and CPC+ are working perfectly; the quality of the emulation is often superior to what the existing CPC emulators on PC/Windows can produce.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In addition to the high quality emulation, ACE features full screen and overlay display (including 50Hz display), editor and analyzer windows for all emulated CPU and chipsets, advanced breakpoints management, a very powerful set of AREXX commands for cross-development, a plugin interface, and much more...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Moreover, ACE is fully translated in French, Spanish, German and English and is still under active development. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Emulator capabilities ==&lt;br /&gt;
&lt;br /&gt;
ACE emulates most CPC hardwares and their variants.&lt;br /&gt;
&lt;br /&gt;
=== System ===&lt;br /&gt;
* Handling of the entire CPC and CPC+ range.&lt;br /&gt;
* Full Z80 emulation.&lt;br /&gt;
* Up to 256 expansion ROMs.&lt;br /&gt;
* Up to 4 MiB of extended memory.&lt;br /&gt;
&lt;br /&gt;
=== Video ===&lt;br /&gt;
* Accurate CRTC emulation of the various CRTC types.&lt;br /&gt;
* Gate Array full emulation of all variants (perfect split rasters management).&lt;br /&gt;
* CPC+ ASIC full emulation (unique quarter-cycle precision).&lt;br /&gt;
* CTM644, GT65 and MM12 monitors emulation (including dynamic analog behaviors).&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* Full and very accurate PSG emulation (AY-3-8912).&lt;br /&gt;
* Extremely accurate audio DMA emulation on CPC+.&lt;br /&gt;
&lt;br /&gt;
=== Devices ===&lt;br /&gt;
* Accurate but incomplete FDC emulation (Format and Scan instructions are missing).&lt;br /&gt;
* Accurate emulation of both floppy disc drives (real rotation speed computation, manual drive &amp;amp; side switches support).&lt;br /&gt;
* CPC+ Cartridge port emulation (including upcoming extended cartridges).&lt;br /&gt;
* Emulation of the tape interface through audio files (read only).&lt;br /&gt;
* Accurate emulation of the keyboard (including ghost keys when pressing more than three keys at once).&lt;br /&gt;
* Automatic keyboard remapping can be activated if your are using ACE with a keyboard layout unknown by the original CPC firmwares.&lt;br /&gt;
* Plugins interface to support virtually any external device.&lt;br /&gt;
&lt;br /&gt;
== Graphical interface ==&lt;br /&gt;
&lt;br /&gt;
ACE MUI graphical interface is designed to be versatile and very easy to use, and everything is always updated in real time to match the actual emulator state.&lt;br /&gt;
&lt;br /&gt;
* Simple and modular configuration of the CPC profiles to emulate using tool types (from Ambient) or arguments (from CLI).&lt;br /&gt;
* Ability to change the CRTC type or the screen monitor model on-the-fly without having to reset the running program.&lt;br /&gt;
* SNA and DSK files management (all of them!) with automatic on-the-fly detection and fix of the corrupted DSK.&lt;br /&gt;
* CPR files management for CPC+ cartridges (including support of extended cartridges up to several hundreds on megabytes).&lt;br /&gt;
* Overlay support with real pixel aspect ratio.&lt;br /&gt;
* Full screen support with the ability to choose the graphic mode to use in order to get back the 50Hz smoothness if your screen monitor can do this.&lt;br /&gt;
* Maskable interface in both windowed &amp;amp; full screen modes.&lt;br /&gt;
* Floppy disc drives LED activity OSD when the interface is not displayed.&lt;br /&gt;
* Rich breakpoints management on predefined conditions (HBL, VBL, interrupt...), on graphical coordinates, on execution addresses, on memory accesses and on I/O ports accesses (with the ability to use complex conditions, masks on the break address and/or the break value) with the option to execute scripts.&lt;br /&gt;
* Video beam cursor to see the cathode's ray position while on pause or in step by step mode.&lt;br /&gt;
* Memory editor (management of all RAM and ROM switching, automatic detection of the character code page depending on the installed firmware ROM).&lt;br /&gt;
* Z80 disassembler with highlight on opcodes and fast jump buttons on branch instructions.&lt;br /&gt;
* CRTC editor (full real time read/write access to the registers).&lt;br /&gt;
* Z80 editor (full real time read/write access to the registers).&lt;br /&gt;
* Gate Array analyzer (palette display, graphic mode, interrupt internal counter).&lt;br /&gt;
* PSG analyzer (played notes, tuning, and a bunch of rich information from the current PSG settings).&lt;br /&gt;
* Hard sprites analyzer (palette and content).&lt;br /&gt;
* DMA analyzer (full real time state and instructions being executed).&lt;br /&gt;
* Video information window (frequencies, beam ray position...).&lt;br /&gt;
* Virtual keyboard and joysticks.&lt;br /&gt;
* Ability to map joystick to keyboard when in case real joystick is available.&lt;br /&gt;
* Internal keyboard matrix state observer.&lt;br /&gt;
* Screen monitor settings window (type, brightness, vertical hold).&lt;br /&gt;
* Sound volume control.&lt;br /&gt;
* Online help and MUI's bubbles help available everywhere to help the beginners.&lt;br /&gt;
&lt;br /&gt;
== Programmable interface ==&lt;br /&gt;
&lt;br /&gt;
ACE is designed to be expandable and controllable. You are not limited to the core emulation and can you easily integrate it in any cross-development tool chain.&lt;br /&gt;
&lt;br /&gt;
=== Plugins ===&lt;br /&gt;
&lt;br /&gt;
ACE support plugins that allow anybody with some C language knowledges to add support for expansions connected to joystick, printer or expansion CPC port.&lt;br /&gt;
&lt;br /&gt;
==== Default ====&lt;br /&gt;
* Both [[joystick]]s (up to three fire buttons) using real devices plugged on the host machine (using USB or whatever).&lt;br /&gt;
* [[Printer]] (redirected to a file).&lt;br /&gt;
* [[Multiface_II|Multiface Two]] (well known hardware debugger and snapshot handler).&lt;br /&gt;
* [[Digiblaster|Digiblaster/Soundplayer]] (8-bit mono sound card).&lt;br /&gt;
* [[Kempston Mouse]].&lt;br /&gt;
* [[AMX Mouse]].&lt;br /&gt;
* [[Gunstick]] (light gun).&lt;br /&gt;
* [[Amstrad Magnum Phaser]] (light gun).&lt;br /&gt;
* [[Trojan Light Phazer]] (light gun).&lt;br /&gt;
* [[West Phaser]] (light gun).&lt;br /&gt;
&lt;br /&gt;
==== Additional ====&lt;br /&gt;
* [[Albireo]] (MicroSD, USB, and more).&lt;br /&gt;
* [[X-Mass]] (IDE interface).&lt;br /&gt;
* [[Dandanator]] (programmable game cartridge module)&lt;br /&gt;
* [[Play2CPC]] (Amstrad Plus compatible game cartridge module, with embedded additional 3 voices PSG sound card)&lt;br /&gt;
* [[Nova]] (NV-RAM and RTC).&lt;br /&gt;
* [[MultiPlay]] (additional mice and joysticks ports).&lt;br /&gt;
* [[Willy]] (up to 18 channels FM synthetizer sound card).&lt;br /&gt;
* [[PlayCity]] (6 voices PSG sound card).&lt;br /&gt;
* [[Amdrum]] (8-bit mono sound card).&lt;br /&gt;
* [[Amstrad_SSA-1_Speech_Synthesizer|SSA-1]] (english speaking speech synthesizer).&lt;br /&gt;
* [[Dk%27tronics_Speech_Synthesizer|DK'Tronics Speech]] (english speaking speech synthesizer).&lt;br /&gt;
* [[TMPI speech synthesizer|Techni-Musique Speech]] (multilingual speaking speech synthesizer).&lt;br /&gt;
* [[Mirage Imager]] (hardware freeze and snapshot handling).&lt;br /&gt;
* Cycle counter (developer helper).&lt;br /&gt;
* [[Programming:Cartridges#Dandanator|Dandanator]] (ROM mapper).&lt;br /&gt;
* [[Amdrum]] (8-bit DAC).&lt;br /&gt;
* [[Mirage Imager]] (freezer).&lt;br /&gt;
&lt;br /&gt;
=== Scripting ===&lt;br /&gt;
&lt;br /&gt;
Any scripting language (such as Python, Lua or of course AREXX) can be used to control ACE through its AREXX interface. It gives you full control on the emulator in order to automate things (and much more), or even to use ACE as a powerful cross-development station (including integration into an IDE).&lt;br /&gt;
&lt;br /&gt;
== Web links ==&lt;br /&gt;
* [http://ace.cpcscene.net ACE CPC Emulator]&lt;br /&gt;
&lt;br /&gt;
[[Category:Emulator]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Albireo&amp;diff=112154</id>
		<title>Albireo</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Albireo&amp;diff=112154"/>
				<updated>2023-08-19T08:16:52Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: /* Software supporting the Albireo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== General ==&lt;br /&gt;
&lt;br /&gt;
=== Intro ===&lt;br /&gt;
&lt;br /&gt;
Albireo is an expansion for the Amstrad CPC computers (all models). Its main goal is to provide reliable, fast, cheap and large storage, which it achieves by using a MicroSD card. But the board has a lot of features packed in:&lt;br /&gt;
* USB host port, allowing to connect USB mass storage, mouse, and other USB peripherals&lt;br /&gt;
* USB device port, allowing to link the CPC to a modern computer with maximal link speed (faster than the z80 can handle, and with on-board buffer and hardware flow control).&lt;br /&gt;
&lt;br /&gt;
The interface is based on the WCH CH376 chip and allows access to USB mass storage and other USB devices on CPC.&lt;br /&gt;
&lt;br /&gt;
The CH376 chip implements FAT32 in hardware, which means no filesystem driver is needed on the CPC side. It also implements the lower level aspects of USB, making it relatively easy to write drivers for other USB devices (mouse, joystick, ...).&lt;br /&gt;
&lt;br /&gt;
=== What's in it? ===&lt;br /&gt;
* SD and SDHC card mass storage support with fast (6 MHz) SPI link with the SD card. Hardware FAT32 support for easy file access. Raw sector access also possible for homegrown file-systems and other advanced applications.&lt;br /&gt;
* USB host support with built in mass storage driver, also with FAT32 and direct sector access.&lt;br /&gt;
* Generic USB host with direct control of USB endpoints, for connecting other kinds of USB devices.&lt;br /&gt;
* High-speed (1.5 Mbaud) serial link with built-in USB interface for linking with other computers for fast data exchange. Includes flow control, 16 byte FIFO on CPC side, and 512 byte FIFO on remote side, allowing fast buffered and interrupt-driven operation.&lt;br /&gt;
* Software configurable interrupt routing to either NMI or INT, or interrupt masking. Multiplexing of several interrupt sources: USB host controller, UART, remotely triggered, and CRTC CURSOR signal interrupts are gathered and easily accessible from a single interrupt status register.&lt;br /&gt;
&lt;br /&gt;
=== Board revisions ===&lt;br /&gt;
&lt;br /&gt;
The hardware went through multiple iterations before reaching final state. Each version identifies itself on the USB link and the version should be visible in Windows device manager or lsusb on Linux.&lt;br /&gt;
&lt;br /&gt;
==== Initial prototypes ====&lt;br /&gt;
&lt;br /&gt;
The first prototype was an hand-wired one. There were some changes to I/O ports used since then, so it is not usable anymore.&lt;br /&gt;
&lt;br /&gt;
==== Version 0.9 ====&lt;br /&gt;
&lt;br /&gt;
The first 5 boards were manufactured with an early PCB design, which required some wire-patches to get things working. With the wire-patches, this version behaves the same as 1.0.&lt;br /&gt;
&lt;br /&gt;
==== Version 1.0 ====&lt;br /&gt;
&lt;br /&gt;
About 20 boards were shipped with version 1.0. Unfortunately, as people started to write software using it it turned out that the serial port chip has compatibility problems with the z80 timings. As a result, this version of the board can use the serial port only with the FIFO disabled, which makes it impossible to reach high baudrates. The board is still perfectly usable if you are interested only in the microSD and USB host port.&lt;br /&gt;
&lt;br /&gt;
==== Version 1.1 ====&lt;br /&gt;
&lt;br /&gt;
This version of the board replaces the serial chip with a slightly different one. The board still reads &amp;quot;v1.0&amp;quot; as it is the same PCB, only the chip used has changed.&lt;br /&gt;
&lt;br /&gt;
You can identify your board from the info it sends on the USB device port, or by checking the serial chip (square chip on the back of the board).&lt;br /&gt;
Version 1.0 uses a TI TL16C550D chip. Version 1.1 uses a NXP SC16C650B chip.&lt;br /&gt;
&lt;br /&gt;
=== How does it work? ===&lt;br /&gt;
* There are two main devices: the CH376 handles the USB host and SD card side of things, and is accessed at FE80 (data) and FE81 (command/status). The communication side is handled by a SC16C650B, mapped at FEB0-FEB7. This is similar to the chip used on most PC hardware and some Amiga expansions like the SilverSurfer.&lt;br /&gt;
* There is an FT230X chip to convert the UART to USB for connecting with a modern PC (standard serial ports are not that common anymore, and they wouldn't be fast enough anyway). The FT230X also generates 12MHz and 48MHz clocks for the two other chips.&lt;br /&gt;
* The 16C650 &amp;quot;modem control&amp;quot; lines are connected to various things (CH376 interrupt, FT230X general IO pin for remote control) and turns them into interrupts.&lt;br /&gt;
&lt;br /&gt;
=== What is it useful for? ===&lt;br /&gt;
Not much currently because there is no software yet, but in the future:&lt;br /&gt;
&lt;br /&gt;
* Use the USB key or SD card directly from BASIC and well-behaving apps (which support extra disk ROMs and a C drive). Load games and tools from the mass storage media&lt;br /&gt;
* Connect to another computer like the CPC Booster, load snapshot, DSK or other files from it and write them to floppies or the mass storage media. A snapshot of 128K could be loaded in 0.86 seconds, a snapshot of 64K in less than 0.43 seconds.&lt;br /&gt;
* Use SLIP (serial line IP) and a properly setup gateway (Linux machine or similar) to connect the CPC to the Internet.&lt;br /&gt;
&lt;br /&gt;
There are a drivers in FutureOS and SymbOS to use Albireo with an USB mouse.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
=== I/O ports ===&lt;br /&gt;
&lt;br /&gt;
The decoding is clean, this means there aren't any mirror ports or undecoded address bits. Just the addresses listed below are used.&lt;br /&gt;
&lt;br /&gt;
The addresses are in the I/O range, which means you access them with the OUT and IN instructions. They are not memory mapped, and to match with the CPC address decoding, the address is decoded on 16 bytes. This makes using OTIR and similar looped instructions tricky, but is required for compatibility with the CPC.&lt;br /&gt;
&lt;br /&gt;
==== CH376 registers ====&lt;br /&gt;
&lt;br /&gt;
* FE80: &amp;quot;DATA&amp;quot; port (read/write)&lt;br /&gt;
* FE81: &amp;quot;COMMAND&amp;quot; (write) and &amp;quot;STATUS&amp;quot; (read) port&lt;br /&gt;
&lt;br /&gt;
==== SC16C650B registers ==== &lt;br /&gt;
&lt;br /&gt;
Some of the registers are sharing the same address. A register bit (DLAB) is used to switch between the two groups.&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
! Address !! DLAB !! Description&lt;br /&gt;
|-&lt;br /&gt;
| FEB0 || 0  || RBR/THR: RX buffer (read), TX buffer (write)&lt;br /&gt;
|-&lt;br /&gt;
| FEB1 || 0|| IER: Interrupt enable&lt;br /&gt;
|-&lt;br /&gt;
| FEB0 || 1|| DLL: Divisor latch LSB&lt;br /&gt;
|-&lt;br /&gt;
| FEB1 || 1|| DLM: Divisor latch MSB&lt;br /&gt;
|-&lt;br /&gt;
| FEB2 || || IIR/FCR: Interrupt status (read), FIFO control (write)&lt;br /&gt;
|-&lt;br /&gt;
| FEB3 || || LCR: Line control&lt;br /&gt;
|-&lt;br /&gt;
| FEB4 || || MCR: Modem control&lt;br /&gt;
|-&lt;br /&gt;
| FEB5 ||  || LSR: Line status&lt;br /&gt;
|-&lt;br /&gt;
| FEB6 || || MSR: Modem status&lt;br /&gt;
|-&lt;br /&gt;
| FEB7 || || SCR: Scratch register&lt;br /&gt;
|}&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== DIP switches ===&lt;br /&gt;
The board holds 4 DIP switches for configuration. From top to bottom:&lt;br /&gt;
&lt;br /&gt;
==== S1 - CH376 interrupt enable ====&lt;br /&gt;
&lt;br /&gt;
* When this switch is ON, the usb controller is allowed to generate interrupts to signal the CPC when it is done performing an operation.&lt;br /&gt;
* When this switch is OFF, the usb controller is not allowed to generate interrupts. The CPC must then poll the CH376 STATUS register to know wether the operation is finished.&lt;br /&gt;
&lt;br /&gt;
==== S2 - CH376 reset enable====&lt;br /&gt;
&lt;br /&gt;
* When this switch is ON, the CH376 will be reset at the same time as the CPC (hardware reset only).&lt;br /&gt;
* When this switch is OFF, the CH376 will not be reset, and the CPC must initialize it using the reset command (software reset). In this case, the CH376 internal buffer may be used to store reset resident data (but I don't know if this is of any practical use, yet).&lt;br /&gt;
&lt;br /&gt;
==== S3 - Remote reset enable ====&lt;br /&gt;
&lt;br /&gt;
* When this switch is ON, the DTR signal from the remote side of the serial link is connected to the CPC reset. This means that the remote side computer can trigger the CPC reset by toggling that line. &lt;br /&gt;
* When the switch is OFF, such reset is not allowed and the CPC is safe.&lt;br /&gt;
&lt;br /&gt;
==== S4 - Remote interrupt enable ====&lt;br /&gt;
&lt;br /&gt;
* When this switch is ON, the DTR signal from the remote side of the serial link is plugged to the DSR line of the UART controller. It then generates an interrupt which the CPC can process.&lt;br /&gt;
&lt;br /&gt;
[http://pulkomandy.github.io/shinra.github.io/albireo.html Albireo interface homepage]&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
=== Software supporting the Albireo ===&lt;br /&gt;
* [[UniDOS]] ([[AMSDOS]] compatible and modular DOS; see [https://unidos.cpcscene.net UniDOS official website]) &lt;br /&gt;
* [[Arkos_Tracker]] 2 (use the CPC AY chip through the USB serial port)&lt;br /&gt;
* [[FutureOS]] (USB mouse support)&lt;br /&gt;
* [[SymbOS]] (USB mouse support)&lt;br /&gt;
* [[HDCPM]] (Support booting and running CP/M Plus from SD card)&lt;br /&gt;
* [[AlbiDOS]] **'''deprecated''', replaced by [[UniDOS]]** ([[AMSDOS]] compatible DOS driver; see [https://framagit.org/shinra/albireo/albireodos/-/wikis/home AlbiDOS documentation])&lt;br /&gt;
&lt;br /&gt;
=== Upcoming software ===&lt;br /&gt;
* Serial communication to communicate with a PC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:DATA Storage]]&lt;br /&gt;
[[Category:Peripherals]]&lt;br /&gt;
[[Category:FutureOS]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Main_Page&amp;diff=109359</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Main_Page&amp;diff=109359"/>
				<updated>2022-11-08T15:44:43Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ &lt;br /&gt;
&amp;lt;center&amp;gt;This site is an encyclopaedia on all things [[Amstrad|Amstrad]] [[CPC|CPC]] related. There are now '''[[Special:Allpages|{{NUMBEROFARTICLES}} articles]]''' about the CPC available.&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:forum.png|300px|link=http://www.cpcwiki.eu/forum]]      [[Image:Vs.png|300px|link=http://www.cpcwiki.eu/index.php/Speccy_Port]]&amp;lt;/center&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid rgb(255, 201, 201); margin: 0px 0px 5px; padding: 0.5em 1em; background-color: rgb(255, 243, 243);&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt; '''CPC Related News''' &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Dez80_intro.png|thumb|256px|[http://www.cpcwiki.eu/index.php/DEZ80 Mastering Z80 Assembler Course]]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- 12 last news only, see http://www.cpcwiki.eu/index.php/OldNews --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;height:20em; overflow:auto; border: 1px solid #FFC9C9&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*04/11/22: '''[[UniDOS]]''' 1.50 has been released [https://unidos.cpcscene.net].&lt;br /&gt;
*30/10/22: '''''Ramiro el vampiro III''''' using [[the Mojon Twins]] engine [https://mojontwins.itch.io/ramiro-el-vampiro-iii is released].&lt;br /&gt;
*17/07/22: '''''Lala Prologue''''' using [[the Mojon Twins]] engine [https://www.indieretronews.com/2022/07/lala-prologue-stunning-platformer-by.html is released].&lt;br /&gt;
*09/03/22: '''[[FutureOS]]''' 2nd update 2022 [http://www.FutureOS.de is released].&lt;br /&gt;
*24/01/22: '''''[[SymAmp]] 4.0''''', with Amiga MOD support and more [http://www.symbos.org/appinfo.htm?00005 is released].&lt;br /&gt;
*30/12/21: '''''[[SymbOS]] 3.1''''', with a lot of new hardware support and applications [http://www.symbos.org/download.htm is released].&lt;br /&gt;
*12/11/21: '''''Josh''''',  new game by [http://retropoke.canalblog.com/archives/2021/10/30/39170787.html RetroPoke] is released.&lt;br /&gt;
*02/11/21: '''''Shovel Adventure''''',  new game by [https://greenwebsevilla.itch.io/shovel-adventure Pat Morita Team] is released.&lt;br /&gt;
*23/10/21: '''''Puzzle Bobble''''',  new game by [https://crazypiri.itch.io/puzzle-bobble Crazy Piri] is released.&lt;br /&gt;
*12/04/21: '''''Oil Panic''''',  another game by [https://crazypiri.itch.io/oil-panic Crazy Piri] is released. CPC port of the well known ''Game &amp;amp; Watch'' game.&lt;br /&gt;
*07/01/21: '''[[CPCemu]]''' has been released as [https://cpc-emu.org/news.html version 2.0] after 11 years.&lt;br /&gt;
*23/12/20: '''''[[Ninja Carnage]]''''', new adventure by [http://games.resistance.no/ninjac/ Resistance], has been released&lt;br /&gt;
*15/10/20: '''''Crazy Blaster''''', an action game by [https://www.thefuturewas8bit.com/cas011.html Misfit]&lt;br /&gt;
*13/10/20: Preview of '''''[https://media.assembly.org/gamedev/2020/CORSAIR_TRAINER.zip Corsair Trainer]''''', shoot'em up by Bitplane Technomantes&lt;br /&gt;
*08/10/20: Preview of '''''[https://github.com/shaymanjohn/aticatac-cpc/releases/download/v0.5/aticatac.dsk Atic Atac]''''', CPC port by John Ward&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;gallery widths=128px  heights=96px&amp;gt;&lt;br /&gt;
Image:Pentomino.jpg|[http://cpc.scifinet.org/ Website] - [http://www.cpcwiki.eu/forum/games/pentomino Forum]&lt;br /&gt;
Image:ImperialMahjong.png|[http://www.cpcwiki.eu/forum/games/imperial-mahjong-cargosoft-new-game/ Imperial Mahjong]&lt;br /&gt;
Image:MariaB.png|[[FutureOS]]&lt;br /&gt;
Image:Golden-tail.png|[http://www.cpcwiki.eu/forum/games/new-game-golden-tail/ Golden Tail]&lt;br /&gt;
Image:MultiPlay.jpg|[http://www.cpcwiki.eu/forum/amstrad-cpc-hardware/multiplay-mx4-expansion/ MultiPlay topic]&lt;br /&gt;
Image:M4board_front.png|[http://www.cpcwiki.eu/index.php/M4_Board CPC-WiFi]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- 6 last pictures only --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=right&amp;gt;...[[OldNews|Older News]]...&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- WEIRD TABLE START --&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; class=&amp;quot;FCK__ShowTableBorders&amp;quot; &lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| &amp;lt;div style=&amp;quot;border: 1px solid rgb(176, 176, 176); margin: 0px 0px 5px; padding: 0.5em 1em; background-color: rgb(238, 238, 238);&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== CPCWiki related ===&lt;br /&gt;
*[[CPCWiki updates]]&lt;br /&gt;
*[[Donors]]&lt;br /&gt;
&lt;br /&gt;
'''Become an Author!'''&lt;br /&gt;
&amp;lt;createbox&amp;gt; &lt;br /&gt;
default=Enter name of article to create &lt;br /&gt;
buttonlabel=Create article! &lt;br /&gt;
width=40 &lt;br /&gt;
&amp;lt;/createbox&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid rgb(176, 176, 176); margin: 0px 0px 5px; padding: 0.5em 1em; background-color: rgb(238, 238, 238);&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right;&amp;quot;&amp;gt;&amp;lt;small&amp;gt;'''All [[Special:Wantedpages|wanted articles]]''' &amp;amp;#124; [[:Category:Stub|Extendable Stubs]] | '''[[Special:ContributionScores|List of most active contributors]]'''&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; style=&amp;quot;vertical-align: top;&amp;quot; | &amp;lt;div style=&amp;quot;border: 1px solid rgb(228, 222, 222); margin: 0px 0px 5px; padding: 0.5em 1em; background-color: rgb(249, 249, 249);&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Did you know?  ===&lt;br /&gt;
&lt;br /&gt;
*When the 664 was being developed, Sugar was already looking (and hinting publicly!) at the 6128 &lt;br /&gt;
*The [[472|CPC 472]] was a model released in Spain with an extra unaccessible 8 KB of RAM to circumvent a spanish tax that was charged on imported machines with up to 64 KB memory.&lt;br /&gt;
&lt;br /&gt;
*With a possible total amount of '''832 × 288 pixel''' (576 interlaced) the [[CPC|CPC]] was the 8 bit homecomputer with the highest screen resolution ever.&lt;br /&gt;
&lt;br /&gt;
*'''OpenOffice''' for Windows/Linux is a direct descendant of [[Star-Division|StarWriter]] for the CPC. &lt;br /&gt;
*The transfer speed of the [[CPC Booster|CPC Booster +]] serial interface is faster than a standard '''DSL connection'''.&lt;br /&gt;
&lt;br /&gt;
*[[SymbOS|SymbOS]] can handle more than '''50 times''' bigger hard discs than MS Windows 95A. &lt;br /&gt;
*[[FutureOS|FutureOS]] can load 178 KB in '''9 seconds''' from floppy disc and manages up to '''4 MB''' of RAM &lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=X-MASS&amp;diff=109294</id>
		<title>X-MASS</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=X-MASS&amp;diff=109294"/>
				<updated>2022-09-29T20:53:37Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The X-MASS is an ATA/IDE interface for the CPC made by [[TotO]] of [[ACME]]. Released on December 25th 2014.&lt;br /&gt;
&lt;br /&gt;
The interface comes with a 128MB or 512MB 44-pin Disk-On-Module device. This is connected as master and by default the X-MASS only supports a single device.&lt;br /&gt;
&lt;br /&gt;
It is possible to remove this and use with other compatible ATA devices with an adaptor provided they support 8-bit data transfer. (e.g. CompactFlash).&lt;br /&gt;
&lt;br /&gt;
== Technical ==&lt;br /&gt;
&lt;br /&gt;
The device uses the same IDE I/O ports (except for the alternative status register and drive address register) than the [[SYMBiFACE II]] and is therefore compatible with it.&lt;br /&gt;
&lt;br /&gt;
The port range it supports is FD08-FD0F.&lt;br /&gt;
&lt;br /&gt;
When the X-MASS is powered on the CPC is held in reset while the X-MASS communicates with the Disk-On-Module. If all is good the reset is released and the CPC starts up. &lt;br /&gt;
&lt;br /&gt;
During this reset time the X-MASS sets the device into 8-bit PIO mode using SET FEATURES ATA command. The X-MASS device therefore requires &amp;quot;newer&amp;quot; IDE devices which support the CFA ATA mode because the 8-bit PIO is part of that command set.&lt;br /&gt;
&lt;br /&gt;
It is possible to use SET FEATURES to put the X-MASS into 16-bit mode, but then you would only read 8 of the 16-bits of data that ATA devices often use, and you would only be able to use half the capacity of the device and you would not be able to read devices formatted on the PC for example.&lt;br /&gt;
&lt;br /&gt;
In default configuration the X-MASS operates the same as the SYMBiFACE II IDE and has the same functionality.&lt;br /&gt;
&lt;br /&gt;
The I/O ports operate in a &amp;quot;pass-through&amp;quot; like mode where the registers directly reflect those of the connected ATA device.&lt;br /&gt;
&lt;br /&gt;
Like the SYMBiFACE II, the device should be selected with port FD0E first, then the other I/O ports can be used to program the selected device.&lt;br /&gt;
&lt;br /&gt;
The I/O port is decoded fully:&lt;br /&gt;
&lt;br /&gt;
1111 1101 0000 1xxx (xxx for registers 8-f)&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
At 2021 following OS's are available:&amp;lt;br /&amp;gt;&lt;br /&gt;
- AcmeDOS - [http://www.cpc-power.com/index.php?page=detail&amp;amp;num=12971 Download at]&amp;lt;br /&amp;gt;&lt;br /&gt;
- BonnyDOS - [http://www.cpcwiki.eu/index.php/BonnyDOS]&amp;lt;br /&amp;gt;&lt;br /&gt;
- CubeMDOS - [http://www.cpcwiki.eu/forum/applications/cubeios-fat16fat32-rom-for-the-cpc's-with-xmass/]&amp;lt;br /&amp;gt;&lt;br /&gt;
- [[iMPdos]]  - [http://www.cpcwiki.eu/forum/applications/impdos-public-edition/ Download at]&amp;lt;br /&amp;gt;&lt;br /&gt;
- [[UniDOS]] - [http://www.cpcwiki.eu/index.php/UniDOS]&amp;lt;br /&amp;gt;&lt;br /&gt;
- SymbOS - [http://www.cpcwiki.eu/index.php/SymbOS]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Peripherals]][[Category:DATA Storage]]&lt;br /&gt;
&lt;br /&gt;
Website: [http://centpourcent.net centpourcent.net]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=ACE_(Emulator)&amp;diff=109279</id>
		<title>ACE (Emulator)</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=ACE_(Emulator)&amp;diff=109279"/>
				<updated>2022-09-18T16:43:10Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: /* Additional */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:ACE.png|thumb|German GUI - Main window]]'''ACE''' is a high quality [[Amstrad]] CPC/CPC+ emulator written by Philippe &amp;quot;[[OffseT|OffseT]]&amp;quot; Rimauro.&lt;br /&gt;
&lt;br /&gt;
It is developed exclusively for [http://www.morphos.de/ MorphOS].&amp;lt;br /&amp;gt;[[PulkoMandy]] is maintaining the port for [https://www.haiku-os.org/ Haiku].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACE was coded from scratch, using a real CPC as a reference in order to provide one of the best Amstrad CPC emulator ever.&amp;lt;br /&amp;gt;&lt;br /&gt;
Most of the games and demos for both CPC and CPC+ are working perfectly; the quality of the emulation is often superior to what the existing CPC emulators on PC/Windows can produce.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In addition to the high quality emulation, ACE features full screen and overlay display (including 50Hz display), editor and analyzer windows for all emulated CPU and chipsets, advanced breakpoints management, a very powerful set of AREXX commands for cross-development, a plugin interface, and much more...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Moreover, ACE is fully translated in French, Spanish, German and English and is still under active development. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Emulator capabilities ==&lt;br /&gt;
&lt;br /&gt;
ACE emulates most CPC hardwares and their variants.&lt;br /&gt;
&lt;br /&gt;
=== System ===&lt;br /&gt;
* Handling of the entire CPC and CPC+ range.&lt;br /&gt;
* Full Z80 emulation.&lt;br /&gt;
* Up to 256 expansion ROMs.&lt;br /&gt;
* Up to 4 MiB of extended memory.&lt;br /&gt;
&lt;br /&gt;
=== Video ===&lt;br /&gt;
* Accurate CRTC emulation of the various CRTC types.&lt;br /&gt;
* Gate Array full emulation of all variants (perfect split rasters management).&lt;br /&gt;
* CPC+ ASIC full emulation (unique quarter-cycle precision).&lt;br /&gt;
* CTM644, GT65 and MM12 monitors emulation (including dynamic analog behaviors).&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* Full and very accurate PSG emulation (AY-3-8912).&lt;br /&gt;
* Extremely accurate audio DMA emulation on CPC+.&lt;br /&gt;
&lt;br /&gt;
=== Devices ===&lt;br /&gt;
* Accurate but incomplete FDC emulation (Format and Scan instructions are missing).&lt;br /&gt;
* Accurate emulation of both floppy disc drives (real rotation speed computation, manual drive &amp;amp; side switches support).&lt;br /&gt;
* CPC+ Cartridge port emulation (including upcoming extended cartridges).&lt;br /&gt;
* Emulation of the tape interface through audio files (read only).&lt;br /&gt;
* Accurate emulation of the keyboard (including ghost keys when pressing more than three keys at once).&lt;br /&gt;
* Automatic keyboard remapping can be activated if your are using ACE with a keyboard layout unknown by the original CPC firmwares.&lt;br /&gt;
* Plugins interface to support virtually any external device.&lt;br /&gt;
&lt;br /&gt;
== Graphical interface ==&lt;br /&gt;
&lt;br /&gt;
ACE MUI graphical interface is designed to be versatile and very easy to use, and everything is always updated in real time to match the actual emulator state.&lt;br /&gt;
&lt;br /&gt;
* Simple and modular configuration of the CPC profiles to emulate using tool types (from Ambient) or arguments (from CLI).&lt;br /&gt;
* Ability to change the CRTC type or the screen monitor model on-the-fly without having to reset the running program.&lt;br /&gt;
* SNA and DSK files management (all of them!) with automatic on-the-fly detection and fix of the corrupted DSK.&lt;br /&gt;
* CPR files management for CPC+ cartridges (including support of extended cartridges up to several hundreds on megabytes).&lt;br /&gt;
* Overlay support with real pixel aspect ratio.&lt;br /&gt;
* Full screen support with the ability to choose the graphic mode to use in order to get back the 50Hz smoothness if your screen monitor can do this.&lt;br /&gt;
* Maskable interface in both windowed &amp;amp; full screen modes.&lt;br /&gt;
* Floppy disc drives LED activity OSD when the interface is not displayed.&lt;br /&gt;
* Rich breakpoints management on predefined conditions (HBL, VBL, interrupt...), on graphical coordinates, on execution addresses, on memory accesses and on I/O ports accesses (with the ability to use complex conditions, masks on the break address and/or the break value) with the option to execute scripts.&lt;br /&gt;
* Video beam cursor to see the cathode's ray position while on pause or in step by step mode.&lt;br /&gt;
* Memory editor (management of all RAM and ROM switching, automatic detection of the character code page depending on the installed firmware ROM).&lt;br /&gt;
* Z80 disassembler with highlight on opcodes and fast jump buttons on branch instructions.&lt;br /&gt;
* CRTC editor (full real time read/write access to the registers).&lt;br /&gt;
* Z80 editor (full real time read/write access to the registers).&lt;br /&gt;
* Gate Array analyzer (palette display, graphic mode, interrupt internal counter).&lt;br /&gt;
* PSG analyzer (played notes, tuning, and a bunch of rich information from the current PSG settings).&lt;br /&gt;
* Hard sprites analyzer (palette and content).&lt;br /&gt;
* DMA analyzer (full real time state and instructions being executed).&lt;br /&gt;
* Video information window (frequencies, beam ray position...).&lt;br /&gt;
* Virtual keyboard and joysticks.&lt;br /&gt;
* Ability to map joystick to keyboard when in case real joystick is available.&lt;br /&gt;
* Internal keyboard matrix state observer.&lt;br /&gt;
* Screen monitor settings window (type, brightness, vertical hold).&lt;br /&gt;
* Sound volume control.&lt;br /&gt;
* Online help and MUI's bubbles help available everywhere to help the beginners.&lt;br /&gt;
&lt;br /&gt;
== Programmable interface ==&lt;br /&gt;
&lt;br /&gt;
ACE is designed to be expandable and controllable. You are not limited to the core emulation and can you easily integrate it in any cross-development tool chain.&lt;br /&gt;
&lt;br /&gt;
=== Plugins ===&lt;br /&gt;
&lt;br /&gt;
ACE support plugins that allow anybody with some C language knowledges to add support for expansions connected to joystick, printer or expansion CPC port.&lt;br /&gt;
&lt;br /&gt;
==== Default ====&lt;br /&gt;
* Both [[joystick]]s (up to three fire buttons) using real devices plugged on the host machine (using USB or whatever).&lt;br /&gt;
* [[Printer]] (redirected to a file).&lt;br /&gt;
* [[Multiface_II|Multiface Two]] (well known hardware debugger and snapshot handler).&lt;br /&gt;
* [[Digiblaster|Digiblaster/Soundplayer]] (8-bit mono sound card).&lt;br /&gt;
* [[Kempston Mouse]].&lt;br /&gt;
* [[AMX Mouse]].&lt;br /&gt;
* [[Gunstick]] (light gun).&lt;br /&gt;
* [[Amstrad Magnum Phaser]] (light gun).&lt;br /&gt;
* [[Trojan Light Phazer]] (light gun).&lt;br /&gt;
* [[West Phaser]] (light gun).&lt;br /&gt;
&lt;br /&gt;
==== Additional ====&lt;br /&gt;
* [[Albireo]] (MicroSD, USB, and more).&lt;br /&gt;
* [[X-Mass]] (IDE interface).&lt;br /&gt;
* [[Dandanator]] (programmable game cartridge module)&lt;br /&gt;
* [[Nova]] (NV-RAM and RTC).&lt;br /&gt;
* [[MultiPlay]] (additional mice and joysticks ports).&lt;br /&gt;
* [[Willy]] (up to 18 channels FM synthetizer sound card).&lt;br /&gt;
* [[PlayCity]] (6 voices PSG sound card).&lt;br /&gt;
* [[Amdrum]] (8-bit mono sound card).&lt;br /&gt;
* [[Amstrad_SSA-1_Speech_Synthesizer|SSA-1]] (english speaking speech synthesizer).&lt;br /&gt;
* [[Dk%27tronics_Speech_Synthesizer|DK'Tronics Speech]] (english speaking speech synthesizer).&lt;br /&gt;
* [[TMPI speech synthesizer|Techni-Musique Speech]] (multilingual speaking speech synthesizer).&lt;br /&gt;
* [[Mirage Imager]] (hardware freeze and snapshot handling).&lt;br /&gt;
* Cycle counter (developer helper).&lt;br /&gt;
* [[Programming:Cartridges#Dandanator|Dandanator]] (ROM mapper).&lt;br /&gt;
&lt;br /&gt;
=== Scripting ===&lt;br /&gt;
&lt;br /&gt;
Any scripting language (such as Python, Lua or of course AREXX) can be used to control ACE through its AREXX interface. It gives you full control on the emulator in order to automate things (and much more), or even to use ACE as a powerful cross-development station (including integration into an IDE).&lt;br /&gt;
&lt;br /&gt;
== Web links ==&lt;br /&gt;
* ACE CPC Emulator [http://ace.cpcscene.net]&lt;br /&gt;
&lt;br /&gt;
[[Category:Emulator]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Emulators&amp;diff=109272</id>
		<title>Emulators</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Emulators&amp;diff=109272"/>
				<updated>2022-09-14T14:25:26Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: /* MorphOS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Operating Systems  =&lt;br /&gt;
&lt;br /&gt;
== Acorn RISC OS  ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Actual version&lt;br /&gt;
! Last release&lt;br /&gt;
! Emulated systems&lt;br /&gt;
! License&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| [[!CPC|!CPC]]&lt;br /&gt;
| &lt;br /&gt;
| Jul 28, 1996&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [ftp://ftp.lip6.fr/pub/amstrad/emulator/CPC0728.ZIP]&lt;br /&gt;
|-&lt;br /&gt;
| [[!CPCemu|!CPCemu]]&lt;br /&gt;
| 1.21&lt;br /&gt;
| Mar 22, 2016&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [http://www.huggers-world.de/files/cpcemu121.zip]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== AmigaOS  ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Actual version&lt;br /&gt;
! Last release&lt;br /&gt;
! Emulated systems&lt;br /&gt;
! License&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| [[A-CPC|A-CPC]]&lt;br /&gt;
| 2.0&lt;br /&gt;
| Apr, 2002&lt;br /&gt;
| [[CPC old generation|CPC range]], [[Plus|Plus range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://cpctech.cpc-live.com/download/a-cpc.lha]&lt;br /&gt;
|-&lt;br /&gt;
| [[Ami-CPC|Ami-CPC]]&lt;br /&gt;
| 0.46&lt;br /&gt;
| Jan 21, 1998&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://deplanque.chez.com/ami-cpc.lha]&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnold|Arnold]]&lt;br /&gt;
| 1.15&lt;br /&gt;
| Dec 17, 2012&lt;br /&gt;
| [[CPC old generation|CPC range]], [[Plus|Plus range]], [[KC Compact]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://hirudov.com/amiga/Arnold.php]&lt;br /&gt;
|-&lt;br /&gt;
| [[CPE|CPE]]&lt;br /&gt;
| &lt;br /&gt;
| Feb 24, 1995&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [ftp://ftp.lip6.fr/pub/amstrad/emulator/ACPE_NEW.LHA]&lt;br /&gt;
|-&lt;br /&gt;
| [[Emu-CPC|Emu-CPC]]&lt;br /&gt;
| 0.7&lt;br /&gt;
| Sep 15, 1996&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [ftp://ftp.lip6.fr/pub/amstrad/emulator/EMUCPC07.LZX]&lt;br /&gt;
|-&lt;br /&gt;
| [[MESS|SDLMESS]]&lt;br /&gt;
| 0.146u4&lt;br /&gt;
| Aug 19, 2012&lt;br /&gt;
| [[CPC old generation|CPC range]], [[Plus|Plus range]], [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://se.os4depot.net/index.php?function=showfile&amp;amp;file=emulation/computer/sdl_mess.lha]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== AMSDOS ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Actual version&lt;br /&gt;
! Last release&lt;br /&gt;
! Emulated systems&lt;br /&gt;
! License&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| [[Pac-Man|Pac-Man]]&lt;br /&gt;
| 1.1&lt;br /&gt;
| Jun 5, 2014&lt;br /&gt;
| [[Pac-Man arcade|Pac-Man arcade]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://www.cpcwiki.eu/forum/games/speed-up-patch-for-pac-man-emulator-for-cpc-by-syx-toto/msg81222/#msg81222]&lt;br /&gt;
|-&lt;br /&gt;
| [[Space Invaders|Space Invaders]]&lt;br /&gt;
| 1.0&lt;br /&gt;
| Jun 11, 2016&lt;br /&gt;
| [[Space Invaders arcade|Space Invaders arcade]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [http://www.cpcwiki.eu/forum/games/space-invaders-arcade-emulator-for-amstrad-cpc/]&lt;br /&gt;
|-&lt;br /&gt;
| [[ZXM|ZXM]]&lt;br /&gt;
| &lt;br /&gt;
| 1993&lt;br /&gt;
| [[ZX Spectrum|ZX Spectrum]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [ftp://ftp.nvg.ntnu.no/pub/cpc/misc/zxm.zip]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DOS  ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Actual version&lt;br /&gt;
! Last release&lt;br /&gt;
! Emulated systems&lt;br /&gt;
! License&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnimedes|Arnimedes]] &lt;br /&gt;
| 0.8a&lt;br /&gt;
| Apr 15, 2000&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [http://www.arnimedes.de/]&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCE|CPCE]] &lt;br /&gt;
| 1.94&lt;br /&gt;
| Jun 2, 2011&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [http://cngsoft.no-ip.org/cpce/]&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCemu|CPCemu]] &lt;br /&gt;
| 1.5&lt;br /&gt;
| Jul 7, 1998&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [http://www.cpc-emu.org/]&lt;br /&gt;
|-&lt;br /&gt;
| [[NO$CPC|NO$CPC]]&lt;br /&gt;
| 1.8&lt;br /&gt;
| Nov 2, 2000&lt;br /&gt;
| [[CPC old generation|CPC range]], [[Plus|Plus range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [http://problemkaputt.de/cpc.htm]&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEMU (RWCPC)|RWCPC]]&lt;br /&gt;
| &lt;br /&gt;
| Mar 23, 1995&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [ftp://ftp.lip6.fr/pub/amstrad/emulator/RWCPC.ZIP]&lt;br /&gt;
|-&lt;br /&gt;
| [[SIMCPC|SIMCPC]]&lt;br /&gt;
| &lt;br /&gt;
| 1990&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Shareware&lt;br /&gt;
| [ftp://ftp.lip6.fr/pub/amstrad/emulator/SIMCPC.ZIP]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== EXOS ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Actual version&lt;br /&gt;
! Last release&lt;br /&gt;
! Emulated systems&lt;br /&gt;
! License&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| [[Software CPC Emulator|Software CPC Emulator]] &lt;br /&gt;
| 1.3&lt;br /&gt;
| Jan 11, 2013&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://www.ep128.hu/Ep_Util/Prg/Amstrad_CPC_Emulator_13.rar]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Haiku  ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Actual version&lt;br /&gt;
! Last release&lt;br /&gt;
! Emulated systems&lt;br /&gt;
! License&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| [[ACE_(Emulator)|ACE]]&lt;br /&gt;
| 1.14.0&lt;br /&gt;
| Jun 20, 2020&lt;br /&gt;
| [[CPC old generation|CPC range]], [[Plus|Plus range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [http://www.cpcwiki.eu/forum/emulators/ace-for-haiku/] [http://ace.cpcscene.net/]&lt;br /&gt;
|-&lt;br /&gt;
| [[AdvanceMAME|AdvanceMAME]]&lt;br /&gt;
| 3.9-1&lt;br /&gt;
| Feb 3, 2020&lt;br /&gt;
| [[CPC old generation|CPC range]], [[Plus|Plus range]], [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
| [https://depot.haiku-os.org/#!/pkg/advancemame_x86]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Java / JVM  ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Actual version&lt;br /&gt;
! Last release&lt;br /&gt;
! Emulated systems&lt;br /&gt;
! License&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnold Jnr|Arnold Jnr]]&lt;br /&gt;
| &lt;br /&gt;
| Aug 27, 2001&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://www.arnoldemu.freeserve.co.uk/]&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCInAJar|CPCInAJar]]&lt;br /&gt;
|&lt;br /&gt;
| Mar 16, 2011&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://sourceforge.net/projects/cpcinajar/]&lt;br /&gt;
|-&lt;br /&gt;
| [[JavaCPC|JavaCPC Desktop]]&lt;br /&gt;
| 2.9.7&lt;br /&gt;
| Sep 21, 2018&lt;br /&gt;
| [[CPC old generation|CPC range]], [[KC Compact]]&lt;br /&gt;
| Donationware&lt;br /&gt;
| [https://sourceforge.net/projects/javacpc/]&lt;br /&gt;
|-&lt;br /&gt;
| [[JavaCPC|JavaCPC Applet]]&lt;br /&gt;
| &lt;br /&gt;
| Jul 10, 2012&lt;br /&gt;
| [[CPC old generation|CPC range]], [[Plus|Plus range]]&lt;br /&gt;
| Donationware&lt;br /&gt;
| [http://java.cpc-live.com/] (dead link)&lt;br /&gt;
|-&lt;br /&gt;
| [[JavaGX4000|JavaGX4000]]&lt;br /&gt;
| &lt;br /&gt;
| Sep 7, 2018&lt;br /&gt;
| [[CPC old generation|CPC range]], [[Plus|Plus range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://sourceforge.net/projects/javagx4000/]&lt;br /&gt;
|-&lt;br /&gt;
| [[JEMU|JEMU]]&lt;br /&gt;
| &lt;br /&gt;
| Feb 19, 2007&lt;br /&gt;
| [[CPC old generation|CPC range]], [[BBC Micro]], [[VZ-300]], [[ZX Spectrum]], [[ZX80/81]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://jemu.winape.net/]&lt;br /&gt;
|-&lt;br /&gt;
| [[JKCEMU|JKCEMU]]&lt;br /&gt;
| 0.9.7&lt;br /&gt;
| Mar 30, 2017&lt;br /&gt;
| [[KC Compact]] &amp;amp; other computers from East Germany&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://www.jens-mueller.org/jkcemu/kccompact.html]&lt;br /&gt;
|-&lt;br /&gt;
| [[WebCPC|WebCPC]]&lt;br /&gt;
| r15&lt;br /&gt;
| Dec 31, 2010&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://sourceforge.net/projects/webcpc/]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== JavaScript / HTML5  ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name &lt;br /&gt;
! Actual version &lt;br /&gt;
! Last release &lt;br /&gt;
! Emulated systems &lt;br /&gt;
! License &lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCBox|CPCBox]] &lt;br /&gt;
| beta &lt;br /&gt;
| Dec 28, 2013&lt;br /&gt;
| [[CPC old generation|CPC range]] &lt;br /&gt;
| Freeware &lt;br /&gt;
| [https://web.archive.org/web/20190702084943/http://www.cpcbox.com/] [https://bzhgames.xyz/index.php BZH Games]&lt;br /&gt;
|-&lt;br /&gt;
| [[CrocoDS|CrocoDS]] &lt;br /&gt;
| &lt;br /&gt;
| May 13, 2020&lt;br /&gt;
| [[CPC old generation|CPC range]] &lt;br /&gt;
| Freeware &lt;br /&gt;
| [http://crocods.org/web/]&lt;br /&gt;
|-&lt;br /&gt;
| [[JSMESS]] &lt;br /&gt;
| 0.153&lt;br /&gt;
| Oct 29, 2014&lt;br /&gt;
| [[CPC old generation|CPC range]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://jsmess.textfiles.com/]&lt;br /&gt;
|-&lt;br /&gt;
| [[Roland javascript emulator|Roland]] &lt;br /&gt;
| &lt;br /&gt;
| Sep 24, 2011 &lt;br /&gt;
| [[CPC old generation|CPC range]] &lt;br /&gt;
| Open source &lt;br /&gt;
| [http://roland.retrolandia.net/]&lt;br /&gt;
|-&lt;br /&gt;
| [[Tiny Emus]]&lt;br /&gt;
| &lt;br /&gt;
| Dec 31, 2018&lt;br /&gt;
| [[CPC old generation|CPC range]], [[ZX Spectrum]], [[VIC-20]], [[Commodore 64]], [[Acorn Atom]], [[KC Compact]], [[KC 85]], [[KC 87]], [[Z9001]], [[Z1013]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [https://floooh.github.io/tiny8bit/] [http://cpc.devilmarkus.de/ JavaCPC-Games]&lt;br /&gt;
|-&lt;br /&gt;
| [[Griffin CPC emulator|Xiragon]]&lt;br /&gt;
| &lt;br /&gt;
| Nov 28, 2012&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://xiragon.com/]&lt;br /&gt;
|-&lt;br /&gt;
| [[YAKC|Yet another KC emulator]]&lt;br /&gt;
| &lt;br /&gt;
| Apr 17, 2017&lt;br /&gt;
| [[CPC old generation|CPC range]], [[ZX Spectrum]], [[Commodore 64]], [[Acorn Atom]], [[KC Compact]], [[KC 85]], [[KC 87]], [[Z9001]], [[Z1013]], [[HC900]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://floooh.github.io/virtualkc/]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== macOS ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Actual version&lt;br /&gt;
! Last release&lt;br /&gt;
! Emulated systems&lt;br /&gt;
! License&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnold_(Emulator)|Arnold]] &lt;br /&gt;
| 1.7.9&lt;br /&gt;
| Mar 10, 2018&lt;br /&gt;
| [[CPC old generation|CPC range]], [[Plus|Plus range]], [[KC Compact]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [https://www.bannister.org/software/arnold.htm]&lt;br /&gt;
|-&lt;br /&gt;
| [[Clock Signal|Clock Signal]] &lt;br /&gt;
| &lt;br /&gt;
| Aug 2, 2020&lt;br /&gt;
| [[CPC old generation|CPC range]], [[Acorn Electron]], [[Apple II]], [[Oric 1/Atmos]], [[VIC-20]], [[ZX80/81]], [[Atari 2600]], [[Atari ST]], [[Macintosh]], [[MSX|MSX 1]], [[ColecoVision]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [https://github.com/TomHarte/CLK/releases]&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCplusplus|CPC++]]&lt;br /&gt;
| 2.0.0&lt;br /&gt;
| Jan 14, 2003&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Shareware&lt;br /&gt;
| [http://bricerive.free.fr/cpc/cpcpp.html]&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCSharp|CPCSharp]] &lt;br /&gt;
| 1.0.0-beta1&lt;br /&gt;
| Apr 7, 2021&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [https://github.com/dolbz/CPCSharp/releases/]&lt;br /&gt;
|-&lt;br /&gt;
| [[DSP|DSP]]&lt;br /&gt;
| 0.18&lt;br /&gt;
| Dec 31, 2017&lt;br /&gt;
| [[CPC old generation|CPC range]], [[ZX Spectrum]], [[Game Boy]], [[Nintendo NES]], [[Sega Master System]], [[ColecoVision]], [[Arcade]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [https://github.com/leniad/dsp-emulator/]&lt;br /&gt;
|-&lt;br /&gt;
| [[MacCPC|MacCPC]]&lt;br /&gt;
| 0.9.2&lt;br /&gt;
| Jan 22, 2010&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [http://www.wincpc.ch/index.php?topic=projects-maccpc]&lt;br /&gt;
|-&lt;br /&gt;
| [[Retro Virtual Machine|Retro Virtual Machine]]&lt;br /&gt;
| 2.0 BETA-1 R7&lt;br /&gt;
| Jul 10, 2019&lt;br /&gt;
| [[CPC old generation|CPC range]], [[ZX Spectrum]]&lt;br /&gt;
| Donationware&lt;br /&gt;
| [https://www.retrovirtualmachine.org]&lt;br /&gt;
|-&lt;br /&gt;
| [[MESS|SDLMAME]]&lt;br /&gt;
| 0.201&lt;br /&gt;
| Aug 29, 2018&lt;br /&gt;
| [[CPC old generation|CPC range]], [[Plus|Plus range]], [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://sdlmame.lngn.net/]&lt;br /&gt;
|-&lt;br /&gt;
| [[ZEsarUX|ZEsarUX]]&lt;br /&gt;
| 9.0&lt;br /&gt;
| Aug 19, 2020&lt;br /&gt;
| [[CPC old generation|CPC range]], [[ZX Spectrum]], [[ZX80/81]], [[Jupiter ACE]], [[Sam Coupe]], [[Sinclair QL]], [[MSX 1]], [[ColecoVision]], [[SG-1000]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
| [https://github.com/chernandezba/zesarux]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== MorphOS  ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Actual version&lt;br /&gt;
! Last release&lt;br /&gt;
! Emulated systems&lt;br /&gt;
! License&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| [[ACE_(Emulator)|ACE]]&lt;br /&gt;
| 1.25&lt;br /&gt;
| September 8, 2022&lt;br /&gt;
| [[CPC old generation|CPC range]], [[Plus|Plus range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [http://ace.cpcscene.net/]&lt;br /&gt;
|-&lt;br /&gt;
| [[MESS|MESS]]&lt;br /&gt;
| 0.113&lt;br /&gt;
| Nov 1, 2007&lt;br /&gt;
| [[CPC old generation|CPC range]], [[Plus|Plus range]], [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://fabportnawak.free.fr/mame/]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== MSX2 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Actual version&lt;br /&gt;
! Last release&lt;br /&gt;
! Emulated systems&lt;br /&gt;
! License&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| [[EMU6CPC|EMU6CPC]]&lt;br /&gt;
| &lt;br /&gt;
| Dec 17, 2018&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [http://romu6.blogspot.com/2018/12/emu6cpc-emulador-de-amstrad-cpc-6128.html]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Unix / Linux  ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Actual version&lt;br /&gt;
! Last release&lt;br /&gt;
! Emulated systems&lt;br /&gt;
! License&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnold_(Emulator)|Arnold]] &lt;br /&gt;
| &lt;br /&gt;
| Jan 20, 2016&lt;br /&gt;
| [[CPC old generation|CPC range]], [[Plus|Plus range]], [[KC Compact]], [[Aleste 520EX]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://www.cpcwiki.eu/forum/emulators/arnold-wip/msg118124/]&lt;br /&gt;
|-&lt;br /&gt;
| [[CaPriCe|CaPriCe32]] &lt;br /&gt;
| 4.4.0&lt;br /&gt;
| Mar 26, 2017&lt;br /&gt;
| [[CPC old generation|CPC range]], [[Plus|Plus range]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
| [https://github.com/ColinPitrat/caprice32]&lt;br /&gt;
|-&lt;br /&gt;
| [[Caprice Reloaded]]&lt;br /&gt;
| r377&lt;br /&gt;
| Jul 13, 2010&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://aur.archlinux.org/packages.php?ID=38856]&lt;br /&gt;
|-&lt;br /&gt;
| [[Clock Signal|Clock Signal]] &lt;br /&gt;
| &lt;br /&gt;
| Aug 2, 2020&lt;br /&gt;
| [[CPC old generation|CPC range]], [[Acorn Electron]], [[Apple II]], [[Oric 1/Atmos]], [[VIC-20]], [[ZX80/81]], [[Atari 2600]], [[Atari ST]], [[Macintosh]], [[MSX|MSX 1]], [[ColecoVision]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [https://github.com/TomHarte/CLK/releases]&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCplusplus|CPC++]]&lt;br /&gt;
| 1.5.0&lt;br /&gt;
| &lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Shareware&lt;br /&gt;
| [http://bricerive.free.fr/cpc/cpcpp.html]&lt;br /&gt;
|-&lt;br /&gt;
| [[cpc4x|cpc4x]] &lt;br /&gt;
| 0.26&lt;br /&gt;
| Dec 11, 2004&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://www.ulrich-cordes.de/cpc/english/cpcemu.htm]&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCemu|CPCemu]] &lt;br /&gt;
| 2.0&lt;br /&gt;
| Jan 7, 2021&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [http://www.cpc-emu.org/]&lt;br /&gt;
|-&lt;br /&gt;
| [[DSP|DSP]]&lt;br /&gt;
| 0.18&lt;br /&gt;
| Dec 31, 2017&lt;br /&gt;
| [[CPC old generation|CPC range]], [[ZX Spectrum]], [[Game Boy]], [[Nintendo NES]], [[Sega Master System]], [[ColecoVision]], [[Arcade]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [https://github.com/leniad/dsp-emulator/]&lt;br /&gt;
|-&lt;br /&gt;
| [[ep128emu|ep128emu]]&lt;br /&gt;
| 2.0.11&lt;br /&gt;
| Jan 20, 2017&lt;br /&gt;
| [[CPC old generation|CPC range]], [[ZX Spectrum]], [[Enterprise]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
| [http://sourceforge.net/projects/ep128emu/]&lt;br /&gt;
|-&lt;br /&gt;
| [[MESS|MAME]]&lt;br /&gt;
| 0.227&lt;br /&gt;
| Dec 30, 2020&lt;br /&gt;
| [[CPC old generation|CPC range]], [[Plus|Plus range]], [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://wiki.mamedev.org/index.php/SDL_Supported_Platforms]&lt;br /&gt;
|-&lt;br /&gt;
| [[Retro Virtual Machine|Retro Virtual Machine]]&lt;br /&gt;
| 2.0 BETA-1 R7&lt;br /&gt;
| Jul 10, 2019&lt;br /&gt;
| [[CPC old generation|CPC range]], [[ZX Spectrum]]&lt;br /&gt;
| Donationware&lt;br /&gt;
| [https://www.retrovirtualmachine.org]&lt;br /&gt;
|-&lt;br /&gt;
| [[Roland Emulator|Roland]] &lt;br /&gt;
| 0.70&lt;br /&gt;
| Apr 20, 2017&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [https://www.rolandemu.de/index.html]&lt;br /&gt;
|-&lt;br /&gt;
| [[Ronald|Ronald]] &lt;br /&gt;
| &lt;br /&gt;
| Sep 5, 2021&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [https://github.com/mdm/ronald]&lt;br /&gt;
|-&lt;br /&gt;
| [[SugarBox|SugarBox]]&lt;br /&gt;
| 0.29&lt;br /&gt;
| Jan 22, 2018&lt;br /&gt;
| [[CPC old generation|CPC range]], [[Plus|Plus range]]&lt;br /&gt;
| Open-Source&lt;br /&gt;
| [http://sugarbox.free.fr/] [https://github.com/Tom1975/SugarboxV2]&lt;br /&gt;
|-&lt;br /&gt;
| [[XCPC|Xcpc]]&lt;br /&gt;
| 0.37.0&lt;br /&gt;
| May 2, 2021&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [https://www.xcpc-emulator.net/]&lt;br /&gt;
|-&lt;br /&gt;
| [[YACE|YACE]]&lt;br /&gt;
| Unreleased?&lt;br /&gt;
| Nov 12, 2014&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Unreleased?&lt;br /&gt;
| [http://www.youtube.com/watch?v=uxQkljwc0i4]&lt;br /&gt;
|-&lt;br /&gt;
| [[ZEsarUX|ZEsarUX]]&lt;br /&gt;
| 9.1&lt;br /&gt;
| Nov 26, 2020&lt;br /&gt;
| [[CPC old generation|CPC range]], [[ZX Spectrum]], [[ZX80/81]], [[Jupiter ACE]], [[Sam Coupe]], [[Sinclair QL]], [[MSX 1]], [[ColecoVision]], [[SG-1000]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [https://github.com/chernandezba/zesarux]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Windows  ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Actual version&lt;br /&gt;
! Last release&lt;br /&gt;
! Emulated systems&lt;br /&gt;
! License&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| [[AMSpiriT|AMSpiriT]]&lt;br /&gt;
| 0.429b&lt;br /&gt;
| Sep 8, 2021&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [https://forum.system-cfg.com/viewtopic.php?f=24&amp;amp;t=11535]&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnimedes|Arnimedes]] &lt;br /&gt;
| 1.02&lt;br /&gt;
| Jul 7, 2012&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [http://www.arnimedes.de/]&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnold_(Emulator)|Arnold]] &lt;br /&gt;
| [http://www.cpcwiki.eu/imgs/d/dd/Arnoldwip_src.tar.bz2 WIP]&lt;br /&gt;
| May 13, 2017&lt;br /&gt;
| [[CPC old generation|CPC range]], [[Plus|Plus range]], [[KC Compact]], [[Aleste 520EX]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://www.cpcwiki.eu/forum/emulators/arnold-wip/msg144749/#msg144749] [https://www.cpcwiki.eu/forum/emulators/another-version-of-arnold-emulator/ Aeliss fork]&lt;br /&gt;
|-&lt;br /&gt;
| [[CaPriCe|CaPriCe]] &lt;br /&gt;
| 4.2.0&lt;br /&gt;
| May 14, 2005&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://sourceforge.net/projects/caprice32/]&lt;br /&gt;
|-&lt;br /&gt;
| [[CaPriCe|CaPriCe 32]] &lt;br /&gt;
| 4.5.0&lt;br /&gt;
| Dec 27, 2018&lt;br /&gt;
| [[CPC old generation|CPC range]], [[Plus|Plus range]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
| [https://github.com/ColinPitrat/caprice32]&lt;br /&gt;
|-&lt;br /&gt;
| [[Caprice Forever]] &lt;br /&gt;
| 20.10&lt;br /&gt;
| Jul 14, 2020&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [http://www.cpc-power.com/cpcarchives/index.php?page=articles&amp;amp;num=73]&lt;br /&gt;
|-&lt;br /&gt;
| [[Caprice Reloaded]]&lt;br /&gt;
| r533&lt;br /&gt;
| Sep 25, 2011&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://code.google.com/p/cpcsdk/]&lt;br /&gt;
|-&lt;br /&gt;
| [[Caprice32-Aleste|Caprice32-Aleste]] &lt;br /&gt;
| 4.1.0&lt;br /&gt;
| Nov 14, 2007&lt;br /&gt;
| [[Aleste 520EX|Aleste 520EX]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://aleste520.narod.ru/caprice.html]&lt;br /&gt;
|-&lt;br /&gt;
| [[CoPaCabana|CoPaCabana]]&lt;br /&gt;
| 0.74&lt;br /&gt;
| Apr 12, 2006&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [http://copacabana.emuunlim.com/]&lt;br /&gt;
|-&lt;br /&gt;
| [[CPC-em|CPC-em]] &lt;br /&gt;
| 0.4&lt;br /&gt;
| Jul 7, 2004&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://cpc-em.emuunlim.com/]&lt;br /&gt;
|-&lt;br /&gt;
| [[CPC++|CPC++]] &lt;br /&gt;
| b700&lt;br /&gt;
| Mar 26, 2014&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [http://cpcrulez.fr/emulateurs_download-WIN-CPC_plus_plus.htm]&lt;br /&gt;
|-&lt;br /&gt;
| [[CPC3D/CPC32]] &lt;br /&gt;
| 0.3&lt;br /&gt;
| Feb 8, 2003&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [http://www.angelfire.com/retro2/cpc3d/]&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCE|CPCE]] &lt;br /&gt;
| 1.94&lt;br /&gt;
| Jun 2, 2011&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [http://cngsoft.no-ip.org/cpce/]&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEC|CPCEC]] &lt;br /&gt;
| 20200622&lt;br /&gt;
| Jun 6, 2020&lt;br /&gt;
| [[CPC old generation|CPC range]], [[Plus|Plus range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://cngsoft.no-ip.org/cpcec.htm]&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCemu|CPCemu]] &lt;br /&gt;
| 2.0&lt;br /&gt;
| Jan 7, 2021&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [http://www.cpc-emu.org/]&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCEmuPower|CPCEmuPower]] &lt;br /&gt;
| 2005&lt;br /&gt;
| May 31, 2020&lt;br /&gt;
| [[CPC old generation|CPC range]], [[Plus|Plus range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [https://www.cpcwiki.eu/forum/emulators/cpcepower-v2005/]&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCSharp|CPCSharp]] &lt;br /&gt;
| 1.0.0-beta1&lt;br /&gt;
| Apr 7, 2021&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [https://github.com/dolbz/CPCSharp/releases/]&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCwin|CPCwin]] &lt;br /&gt;
| 1.0&lt;br /&gt;
| Dec 4, 1997&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [ftp://ftp.lip6.fr/pub/amstrad/emulator/CPCWIN10.ZIP]&lt;br /&gt;
|-&lt;br /&gt;
| [[CPE|CPE]]&lt;br /&gt;
| 5.2&lt;br /&gt;
| Apr 21, 1997&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [ftp://ftp.lip6.fr/pub/amstrad/emulator/CPE52.ZIP]&lt;br /&gt;
|-&lt;br /&gt;
| [[CPvC|CPvC]]&lt;br /&gt;
| &lt;br /&gt;
| Oct 7, 2020&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [https://github.com/alybaek2/cpvc]&lt;br /&gt;
|-&lt;br /&gt;
| [[DSP|DSP]]&lt;br /&gt;
| 0.18&lt;br /&gt;
| Dec 31, 2017&lt;br /&gt;
| [[CPC old generation|CPC range]], [[ZX Spectrum]], [[Game Boy]], [[Nintendo NES]], [[Sega Master System]], [[ColecoVision]], [[Arcade]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [https://github.com/leniad/dsp-emulator/]&lt;br /&gt;
|-&lt;br /&gt;
| [[ep128emu|ep128emu]]&lt;br /&gt;
| 2.0.11&lt;br /&gt;
| Jan 20, 2017&lt;br /&gt;
| [[CPC old generation|CPC range]], [[ZX Spectrum]], [[Enterprise]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
| [http://sourceforge.net/projects/ep128emu/]&lt;br /&gt;
|-&lt;br /&gt;
| [[MESS|MAME]]&lt;br /&gt;
| 0.201&lt;br /&gt;
| Aug 30, 2018&lt;br /&gt;
| [[CPC old generation|CPC range]], [[Plus|Plus range]], [[KC Compact]], [[Aleste 520EX]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://mamedev.org/release.html]&lt;br /&gt;
|-&lt;br /&gt;
| [[MTMW|MTMW]]&lt;br /&gt;
| 1.30B&lt;br /&gt;
| Jan 11, 2000&lt;br /&gt;
| [[CPC old generation|CPC range]], [[Plus|Plus range]], [[ZX Spectrum]], [[ZX80/81]], [[Jupiter ACE]], [[Enterprise]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [ftp://ftp.lip6.fr/pub/amstrad/emulator/MTMW130B.ZIP]&lt;br /&gt;
|-&lt;br /&gt;
| [[NO$CPC|NO$CPC]]&lt;br /&gt;
| 1.8&lt;br /&gt;
| Nov 2, 2000&lt;br /&gt;
| [[CPC old generation|CPC range]], [[Plus|Plus range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [http://problemkaputt.de/cpc.htm]&lt;br /&gt;
|-&lt;br /&gt;
| [[PC-CPC|PC-CPC]] &lt;br /&gt;
| 0.1at b29&lt;br /&gt;
| Nov 17, 2011&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [http://cpcrulez.fr/emulateurs_download-WIN-PC-CPC.htm]&lt;br /&gt;
|-&lt;br /&gt;
| [[Retro Virtual Machine|Retro Virtual Machine]]&lt;br /&gt;
| 2.0 BETA-1 R7&lt;br /&gt;
| Jul 10, 2019&lt;br /&gt;
| [[CPC old generation|CPC range]], [[ZX Spectrum]]&lt;br /&gt;
| Donationware&lt;br /&gt;
| [https://www.retrovirtualmachine.org]&lt;br /&gt;
|-&lt;br /&gt;
| [[Roland Emulator|Roland]] &lt;br /&gt;
| 0.70&lt;br /&gt;
| Apr 20, 2017&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [https://www.rolandemu.de/en/downloads.html]/[https://github.com/raldus/roland GitHub]&lt;br /&gt;
|-&lt;br /&gt;
| [[SugarBox|SugarBox]]&lt;br /&gt;
| 0.29&lt;br /&gt;
| Jan 22, 2018&lt;br /&gt;
| [[CPC old generation|CPC range]], [[Plus|Plus range]]&lt;br /&gt;
| Open-Source&lt;br /&gt;
| [http://sugarbox.free.fr/] [https://github.com/Tom1975/SugarboxV2]&lt;br /&gt;
|-&lt;br /&gt;
| [[vbCPC|vbCPC]] &lt;br /&gt;
| 1.06&lt;br /&gt;
| Apr 7, 2005&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [http://www.emu-france.com/news/9609-ordi-vbcpc-v1-0-6/]&lt;br /&gt;
|-&lt;br /&gt;
| [[VirtualCPC|Virtual CPC]] &lt;br /&gt;
| 1.1&lt;br /&gt;
| Aug 8, 2011&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [http://users.otenet.gr/~sulfonic/cpc/]&lt;br /&gt;
|-&lt;br /&gt;
| [[WinApe|WinAPE]] &lt;br /&gt;
| 2.0b2&lt;br /&gt;
| Jan 5, 2016&lt;br /&gt;
| [[CPC old generation|CPC range]], [[Plus|Plus range]]&lt;br /&gt;
| Donationware&lt;br /&gt;
| [http://www.winape.net/]&lt;br /&gt;
|-&lt;br /&gt;
| [[WinCPC|WinCPC]] &lt;br /&gt;
| 0.9.26&lt;br /&gt;
| Feb 1, 2007&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [http://www.wincpc.ch/index.php?topic=projects-wincpc]&lt;br /&gt;
|-&lt;br /&gt;
| [[XNACPC|XNACPC]]&lt;br /&gt;
| 1.0&lt;br /&gt;
| Nov 11, 2011&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://www.gavpugh.com/2011/11/11/xnacpc-xbox-360-amstrad-cpc-emulator-released/]&lt;br /&gt;
|-&lt;br /&gt;
| [[Yage|Yage]]&lt;br /&gt;
| 0.91&lt;br /&gt;
| Oct 24, 1998&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [ftp://ftp.lip6.fr/pub/amstrad/emulator/YAGE091.ZIP]&lt;br /&gt;
|-&lt;br /&gt;
| [[ZEsarUX|ZEsarUX]]&lt;br /&gt;
| 9.0&lt;br /&gt;
| Aug 19, 2020&lt;br /&gt;
| [[CPC old generation|CPC range]], [[ZX Spectrum]], [[ZX80/81]], [[Jupiter ACE]], [[Sam Coupe]], [[Sinclair QL]], [[MSX 1]], [[ColecoVision]], [[SG-1000]]&lt;br /&gt;
| Donationware &amp;amp; Open source&lt;br /&gt;
| [https://github.com/chernandezba/zesarux]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Emulation Core ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Actual version&lt;br /&gt;
! Last release&lt;br /&gt;
! Emulated systems&lt;br /&gt;
! License&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| libretro-cap32 (for RetroArch)&lt;br /&gt;
| 1.2.2&lt;br /&gt;
| Jul 19, 2015&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [https://github.com/libretro/libretro-cap32]&lt;br /&gt;
|-&lt;br /&gt;
| libretro-crocods (for RetroArch)&lt;br /&gt;
| 0.1&lt;br /&gt;
| Feb 28, 2017&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [https://github.com/libretro/libretro-crocods]&lt;br /&gt;
|-&lt;br /&gt;
| SugarLibRetro (for RetroArch)&lt;br /&gt;
| git&lt;br /&gt;
| -&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [https://github.com/Tom1975/SugarLibRetro] (wraps independent lib https://github.com/Tom1975/CPCCore)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Home Consoles =&lt;br /&gt;
&lt;br /&gt;
== Microsoft XBOX  ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Actual version&lt;br /&gt;
! Last release&lt;br /&gt;
! Emulated systems&lt;br /&gt;
! License&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| [[Arnold|ArnoldX]]&lt;br /&gt;
| v5&lt;br /&gt;
| Apr 20, 2010&lt;br /&gt;
| [[CPC old generation|CPC range]], [[Plus|Plus range]]&lt;br /&gt;
| &lt;br /&gt;
| [http://forums.xbox-scene.com/index.php?showtopic=711667]&lt;br /&gt;
|-&lt;br /&gt;
| [[CoinOPS|CoinOPS]]&lt;br /&gt;
| 5&lt;br /&gt;
| Oct 18, 2012&lt;br /&gt;
| [[CPC old generation|CPC range]] &amp;amp; lots of other computer systems&lt;br /&gt;
| &lt;br /&gt;
| [http://coinopsproject.freeforums.org/viewtopic.php?f=0&amp;amp;t=1213]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Microsoft Xbox 360  ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Actual version&lt;br /&gt;
! Last release&lt;br /&gt;
! Emulated systems&lt;br /&gt;
! License&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| [[XNACPC|XNACPC]]&lt;br /&gt;
| 1.0&lt;br /&gt;
| Nov 11, 2011&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://www.gavpugh.com/2011/11/11/xnacpc-xbox-360-amstrad-cpc-emulator-released/]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Nintendo Wii ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Actual version&lt;br /&gt;
! Last release&lt;br /&gt;
! Emulated systems&lt;br /&gt;
! License&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| [[Wiituka|Wiituka]]&lt;br /&gt;
| 0.98.8&lt;br /&gt;
| May 15, 2009&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://wiituka.dantoine.org/]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sega Dreamcast  ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Actual version&lt;br /&gt;
! Last release&lt;br /&gt;
! Emulated systems&lt;br /&gt;
! License&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCast|CPCast]]&lt;br /&gt;
| &lt;br /&gt;
| May 6, 2006&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [http://www.dcemu.co.uk/vbulletin/showthread.php?t=24100]&lt;br /&gt;
|-&lt;br /&gt;
| [[DreamCPC|DreamCPC]]&lt;br /&gt;
| Alpha 3&lt;br /&gt;
| Oct 16, 2005&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [http://jm1200.free.fr/index.php?r=2]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sony PS2 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Actual version&lt;br /&gt;
! Last release&lt;br /&gt;
! Emulated systems&lt;br /&gt;
! License&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| [[PCPC|PCPC]]&lt;br /&gt;
| &lt;br /&gt;
| Dec 22, 2004&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://ps2emu.dcemu.co.uk/pcpc.shtml]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sony PS3 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Actual version&lt;br /&gt;
! Last release&lt;br /&gt;
! Emulated systems&lt;br /&gt;
! License&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| [[Caprice32|Caprice32]]&lt;br /&gt;
| 4.1.0 DBG&lt;br /&gt;
| Apr 9, 2012&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://psx-scene.com/forums/content/caprice32-4-1-0-dbg-emulator-ps3-2119/]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Handheld Consoles  =&lt;br /&gt;
&lt;br /&gt;
== Dingoo A320 / A330 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Actual version&lt;br /&gt;
! Last release&lt;br /&gt;
! Emulated systems&lt;br /&gt;
! License&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| [[Pituka|Pituka (Dingux)]]&lt;br /&gt;
| 0.8pre&lt;br /&gt;
| Aug 19, 2010&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://david.dantoine.org/proyecto/4/]&lt;br /&gt;
|-&lt;br /&gt;
| [[Caprice|Dingux-CAP32]]&lt;br /&gt;
| 1.1.2&lt;br /&gt;
| Oct 17, 2009&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/105-Amstrad/]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== GamePark GP32 / GP2X / Wiz / Caanoo ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Actual version&lt;br /&gt;
! Last release&lt;br /&gt;
! Emulated systems&lt;br /&gt;
! License&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| [[Pituka|Pituka (GP32)]]&lt;br /&gt;
| 1d&lt;br /&gt;
| May 15, 2010&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://david.dantoine.org/proyecto/4/]&lt;br /&gt;
|-&lt;br /&gt;
| [[Caprice|CapriceGP2x]]&lt;br /&gt;
| 0.5&lt;br /&gt;
| Feb 22, 2006&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://wiki.gp2x.org/wiki/CapriceGP2x]&lt;br /&gt;
|-&lt;br /&gt;
| [[Caprice|GP2X-CAP32]]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Aug 29, 2009&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/42-Amstrad/]&lt;br /&gt;
|-&lt;br /&gt;
| [[Caprice|Wiz-CAP32]]&lt;br /&gt;
| 1.1.0&lt;br /&gt;
| Aug 29, 2009&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/89-Amstrad/]&lt;br /&gt;
|-&lt;br /&gt;
| [[Caprice|Caanoo-CAP32]]&lt;br /&gt;
| 1.1.3&lt;br /&gt;
| Apr 24, 2011&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/165-Amstrad/]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== GCW Zero ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Actual version&lt;br /&gt;
! Last release&lt;br /&gt;
! Emulated systems&lt;br /&gt;
! License&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| [[Caprice|Dingux-CAP32]]&lt;br /&gt;
| 1.1.2&lt;br /&gt;
| May 25, 2014&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://boards.dingoonity.org/gcw-releases/caprice32-%28amstrad-cpc%29/]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== JXD S5110 / S601 &amp;amp; Yinlips G18 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Actual version&lt;br /&gt;
! Last release&lt;br /&gt;
! Emulated systems&lt;br /&gt;
! License&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| [[Caprice|JXD-CAP32]]&lt;br /&gt;
| 1.1.1&lt;br /&gt;
| Oct 27, 2012&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/206-Amstrad/]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Nintendo DS  ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Actual version&lt;br /&gt;
! Last release&lt;br /&gt;
! Emulated systems&lt;br /&gt;
! License&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| [[AmeDS|AmeDS]] &lt;br /&gt;
| 4.0&lt;br /&gt;
| Apr 25, 2010&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [http://www.portabledev.com/pages/ds/jeuxdev.-perso/ameds.php]&lt;br /&gt;
|-&lt;br /&gt;
| [[CrocoDS|CrocoDS]]&lt;br /&gt;
| 2.0&lt;br /&gt;
| Nov 9, 2007&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [http://www.kyuran.be/blog/2007/11/09/crocods-20-2/]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Odroid GO  ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Actual version&lt;br /&gt;
! Last release&lt;br /&gt;
! Emulated systems&lt;br /&gt;
! License&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| [[CapriceESP32|CapriceESP32]] &lt;br /&gt;
| &lt;br /&gt;
| Dec 3, 2020&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [https://github.com/grantrismo/CapriceESP32]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Pandora ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Actual version&lt;br /&gt;
! Last release&lt;br /&gt;
! Emulated systems&lt;br /&gt;
! License&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| [[Caprice|Pandora-CAP32]]&lt;br /&gt;
| 1.1.0&lt;br /&gt;
| Jun 27, 2010&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/131-Amstrad/]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sony PSP  ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Actual version&lt;br /&gt;
! Last release&lt;br /&gt;
! Emulated systems&lt;br /&gt;
! License&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| [[Caprice32 PSP]]&lt;br /&gt;
| 4.2.0.2&lt;br /&gt;
| Nov 28, 2007&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://psp.akop.org/caprice32]&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCPSP|CPCPSP]]&lt;br /&gt;
| 0.1&lt;br /&gt;
| Dec 24, 2005&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [http://dl.qj.net/psp/emulators/cpcpsp-v01.html]&lt;br /&gt;
|-&lt;br /&gt;
| [[PSPCAP32|PSPCAP32]]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Aug 21, 2009&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://zx81.zx81.free.fr/serendipity/index.php?/categories/3-Amstrad/]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Smartphones / PDA / SoC =&lt;br /&gt;
&lt;br /&gt;
== Android  ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Actual version&lt;br /&gt;
! Last release&lt;br /&gt;
! Emulated systems&lt;br /&gt;
! License&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| [[andcpc]]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Apr 4, 2011&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://code.google.com/p/andcpc/]&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCDroid]]&lt;br /&gt;
| 1.5.1&lt;br /&gt;
| Mar 2, 2011&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://fmsdevel.wisecoding.es/blog/cpcdroid---2011-03-02]&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCemu|CPCemu]] &lt;br /&gt;
| 2.0&lt;br /&gt;
| Jan 7, 2021&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [http://www.cpc-emu.org/]&lt;br /&gt;
|-&lt;br /&gt;
| [[Droid-CPC]]&lt;br /&gt;
| 1.1.01&lt;br /&gt;
| Dec 15, 2016&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Commercial&lt;br /&gt;
| [http://play.google.com/store/apps/details?id=com.kokak.droidcpc]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== BlackBerry  ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Actual version&lt;br /&gt;
! Last release&lt;br /&gt;
! Emulated systems&lt;br /&gt;
! License&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| [[BB-CPC|BB-CPC]]&lt;br /&gt;
| 1.0.1.3&lt;br /&gt;
| Jul 15, 2013&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Commercial&lt;br /&gt;
| [http://appworld.blackberry.com/webstore/content/30963891/]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== iOS  ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Actual version&lt;br /&gt;
! Last release&lt;br /&gt;
! Emulated systems&lt;br /&gt;
! License&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| [[CrocoDS]]&lt;br /&gt;
| 2.1&lt;br /&gt;
| Jun 21, 2013&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://github.com/redbug26/crocods]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Maemo  ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Actual version&lt;br /&gt;
! Last release&lt;br /&gt;
! Emulated systems&lt;br /&gt;
! License&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCm]]&lt;br /&gt;
| 1.20-1&lt;br /&gt;
| Apr 27, 2010&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://maemo.org/downloads/product/Maemo5/cpcm/]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Palm OS  ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Actual version&lt;br /&gt;
! Last release&lt;br /&gt;
! Emulated systems&lt;br /&gt;
! License&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| [[CaPriCe for Palm OS|CaPriCe for Palm OS]]&lt;br /&gt;
| 2.8&lt;br /&gt;
| Jun 28, 2011&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://frederic.coste.pagesperso-orange.fr/cpc/cpc_en.htm]&lt;br /&gt;
|-&lt;br /&gt;
| [[CoPaCabana|CoPaCabana]]&lt;br /&gt;
| 0.75&lt;br /&gt;
| Dec 4, 2007&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [http://copacabana.emuunlim.com/]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Pocket PC  ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Actual version&lt;br /&gt;
! Last release&lt;br /&gt;
! Emulated systems&lt;br /&gt;
! License&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| [[CaPriCe|PocketCaprice]]&lt;br /&gt;
| 0.9&lt;br /&gt;
| Aug 19, 2007&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [http://www.clubic.com/telecharger-fiche44888-pocketcaprice.html]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Actual version&lt;br /&gt;
! Last release&lt;br /&gt;
! Emulated systems&lt;br /&gt;
! License&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| [[CPC4Rpi|#CPC4Rpi]]&lt;br /&gt;
| 1.1&lt;br /&gt;
| Dec 19, 2013&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [https://www.raspberrypi.org/forums/viewtopic.php?f=78&amp;amp;t=63820]&lt;br /&gt;
|-&lt;br /&gt;
| [[CapriceRPI|CapriceRPI]]&lt;br /&gt;
| 1.3&lt;br /&gt;
| Feb 28, 2016&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [https://github.com/KaosOverride/CapriceRPI]&lt;br /&gt;
|-&lt;br /&gt;
| [[ZEsarUX|ZEsarUX]]&lt;br /&gt;
| 9.0&lt;br /&gt;
| Aug 19, 2020&lt;br /&gt;
| [[CPC old generation|CPC range]], [[ZX Spectrum]], [[ZX80/81]], [[Jupiter ACE]], [[Sam Coupe]], [[Sinclair QL]], [[MSX 1]], [[ColecoVision]], [[SG-1000]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [https://github.com/chernandezba/zesarux]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Symbian  ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Actual version&lt;br /&gt;
! Last release&lt;br /&gt;
! Emulated systems&lt;br /&gt;
! License&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| [[S60-CPC|S60-CPC]]&lt;br /&gt;
| 0.74&lt;br /&gt;
| Feb 21, 2006&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://kokak.free.fr/s60cpc.htm]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Hardware =&lt;br /&gt;
&lt;br /&gt;
*[[CPC TREX|CPC TREX]] TurboCPC core running on a terasIC T-Rex C1 FPGA board&lt;br /&gt;
*[[C-ONE|CPC-ONE]] TurboCPC core running on the C-One FPGA board&lt;br /&gt;
*[http://ralferoo.blogspot.fr/ CPC FPGA] CPC emulation running on a custom made FPGA board&lt;br /&gt;
*[[FPGAmstrad|FPGAmstrad]] CPC emulation running on a NEXYS2 FPGA board&lt;br /&gt;
*[http://github.com/mist-devel/mist-board/wiki MIST board] FPGA board implementing Amstrad CPC and various other 8-bit and 16-bit computers&lt;br /&gt;
&lt;br /&gt;
= Emulation Tools  =&lt;br /&gt;
&lt;br /&gt;
*[[ConvImgCPC|ConvImgCPC]] &lt;br /&gt;
*[[CPCDiskXP|CPCDiskXP]] &lt;br /&gt;
*[[CPCGamesCD-CPCLoader|CPCGamesCD-CPCLoader]] &lt;br /&gt;
*[[CPCTapeXP|CPCTapeXP]] &lt;br /&gt;
*[[CPRTools|CPRTools]] &lt;br /&gt;
*[[Dsktools|Dsktools]] &lt;br /&gt;
*[[ManageDSK|ManageDSK]] &lt;br /&gt;
*[[WriteDSK|WriteDSK]]&lt;br /&gt;
&lt;br /&gt;
= Emulator Detection =&lt;br /&gt;
&lt;br /&gt;
*[[Emulator_IDs|Emulator IDs]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Emulator| ]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=CPCISA_by_Yarek&amp;diff=109271</id>
		<title>CPCISA by Yarek</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=CPCISA_by_Yarek&amp;diff=109271"/>
				<updated>2022-09-10T08:28:33Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: Replaced content with &amp;quot;See CPCISA.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See [[CPCISA]].&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Peripheral_Soft_Reset&amp;diff=109270</id>
		<title>Peripheral Soft Reset</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Peripheral_Soft_Reset&amp;diff=109270"/>
				<updated>2022-09-10T08:26:40Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Port F8FFh is a documented, but rarely known I/O address, used by the standard BIOS functions MC_BOOT_PROGRAM and MC_START_PROGRAM (vector BD13h and BD16h). These functions are usually executed when starting a binary program with RUN&amp;quot;FILENAME.BIN&amp;quot;, both functions do issue an &amp;quot;OUT [F8FFh],FFh&amp;quot;. This feature is intended to allow Peripherals to re-initialize themselves when needed. From the official [[SOFT158]] specs:&lt;br /&gt;
&lt;br /&gt;
:&amp;quot;All expansion peripherals should be reset when an output is performed to I/O channel #F8FF. In particular a peripheral that generates interrupts must not generate an interrupt until it is re-initialised after such an output has been performed.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Most or all peripherals (including Amstrad's own [[DDI-1]]) aren't following that suggestion, and usually there is no need to do so. There may be a few special cases there hardware could take use of it, such like interrupt generating devices, especially if they do access formerly allocated memory.&lt;br /&gt;
&lt;br /&gt;
== Avoid this ==&lt;br /&gt;
&lt;br /&gt;
* Software should never write to (or even read from) Port F8FFh. That might cause connected Peripherals to reset themselves.&lt;br /&gt;
&lt;br /&gt;
* Hardware should not perform any actions (other than the intended Soft Reset action) upon accessing Port F8FFh. Eg. producing hardware that formats the disc on write to Port F8FFh would be no good. This applies also on incompletely decoded addresses, eg. formatting on write to Port F8F0h, but also mirroring that action to F8FFh.&lt;br /&gt;
&lt;br /&gt;
* When intentionally using the feature, be sure to have the port fully decoded. Ie. do not re-initialize your hardware on writes to other 'nearby' ports like F8EFh ([[Schneider RS232 Interface]]).&lt;br /&gt;
&lt;br /&gt;
== Known Hardware ==&lt;br /&gt;
&lt;br /&gt;
The Soft Reset feature is useful (initialize hardware expansions), but no used a lot; the [[PlayCity]], [[Nova]] and [[CPCISA]] are the only hardware expansion using intentionally this feature (though when reverse engineering things by only examining the software drivers one may easily miss its presence, since the OUT [F8FFh] is issued by the BIOS, not by the driver).&lt;br /&gt;
&lt;br /&gt;
Moreover, there are probably various devices that do not directly use Port F8FFh, but that do react to the OUT because of incomplete port decoding. For example, the [[ACU Real Time Clock (DIY)]] decodes only A10,A4,A3 of its Port FBFFh, and so, it will also react to OUT [F8FFh],FFh.&lt;br /&gt;
&lt;br /&gt;
== Offical Specs ==&lt;br /&gt;
&lt;br /&gt;
* [[Media:S158ap12.pdf|SOFT 158 Appendix 12 (XII) (The Hardware)]] - general info on Port F8FFh (page 3)&lt;br /&gt;
* [[Media:S968ap13.pdf|SOFT 968 Appendix 13 (XIII) (Hints Tips and Workarounds)]] - info on Port F8FFh and interrupts (page 7)&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Yarek&amp;diff=109269</id>
		<title>Yarek</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Yarek&amp;diff=109269"/>
				<updated>2022-09-10T08:25:10Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Yarek]] aka '''Jarek Adamski'''.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
* [[CPC4MB]] - 4MB RAM expansion&lt;br /&gt;
* [[CPC.Flash]] - 4MB ROM expansion&lt;br /&gt;
* [[CPCISA]] - ISA bus (for using PC ISA cards) (originally developed by [[Siou]])&lt;br /&gt;
* [[IDE8255]] - Harddisk Interface&lt;br /&gt;
&lt;br /&gt;
Note: There is also something called [[YaPaDOS]], which seems to be [[Yarek]]'s (?) Patched Parados/Amsdos ROM for supporting his [[IDE8255]] (?) harddisk interface?&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
* http://8bit.yarek.pl/index.html - homepage&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=News_and_Projects&amp;diff=109268</id>
		<title>News and Projects</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=News_and_Projects&amp;diff=109268"/>
				<updated>2022-09-10T08:24:17Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== News  ==&lt;br /&gt;
&lt;br /&gt;
This is an overview of the last CPC related news. You will find a complete list of all news in the '''[[News:Archive|news archive]]'''. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*18/01/2010: New [[The Amstrad CPC Game Screenshot Catalog]] version released. &lt;br /&gt;
*18/01/2010: New [[The Amstrad CPC Game Load Screen Catalog]] version released. &lt;br /&gt;
*26/01/2009: New [http://arnold.berlios.de/ Arnold/Linux] version released. &lt;br /&gt;
*23/12/2008: The CPC-Klassentreffen 2009 ([[CPC Reunion 2009|CPC-Reunion 2009]]) wil take place from 29.05.2009 to 31.05.2009 in Erlangen, Germany! Join us! &lt;br /&gt;
*09/12/2008: New [http://arnold.berlios.de/ Arnold/Linux] version released. &lt;br /&gt;
*28/11/2008: new [http://www.cpcalive.com/cpcalive_en.html CPCAlive] version out, 1.09c &lt;br /&gt;
*05/11/2008: New [http://pspupdates.qj.net/PSPCAP32-v1-4-4-cheat-support-5-0-M33-compatible/pg/49/aid/125757 PSPCap32] version, with '''cheat support''' and memory monitor! &lt;br /&gt;
*23/09/2008: New [http://pspupdates.qj.net/tags/pspcap32/1049 PSPCap32] version! &lt;br /&gt;
*17/09/2008: New [http://cpcgamescd.amstrad.es CPCGamesCD] release.. &lt;br /&gt;
*07/09/2008: Woo-hoo! CPC Sudoku [http://www.kjthacker.f2s.com/games/index.html released]!!! &lt;br /&gt;
*01/09/2008: [http://www.winape.net/ Winape 2.0b17] released! &lt;br /&gt;
*24/08/2008: The [http://cezgs.computeremuzone.com/?id=shop&amp;amp;l=en CEZ GS Virtual shop] is open, featuring several Amstrad CPC titles for sale, including [http://cezgs.computeremuzone.com/ficha.php?id=17&amp;amp;l=en El Paciente 106] and the CEZ Collection vol. 1 pack in physical 3&amp;quot; disk format. &lt;br /&gt;
*24/08/2008: StarSabre and Balloonacy released on tape from [http://www.cronos.toucansurf.com/ Cronosoft] @ £2.99 each (£1 goes to the author)! &lt;br /&gt;
*22/07/2008: [http://www.cpcscene.com/?search=PHAT%20(Condense).zip New demo] release!&amp;amp;nbsp;:) &lt;br /&gt;
*21/07/2008: Devilmarkus released an AMAZING [http://cpc-live.com/download.php?view.2 3D model] of a 464+monitor &lt;br /&gt;
*12/07/2008: [http://news.scotsman.com/latestnews/Sir-Alan-quits-as-chairman.4244035.jp Alan Sugar resigns as AMSTRAD chairman] &lt;br /&gt;
*02/07/2008: [[Dsktools|dsktools]] 0.2.2 is out. Support writing to side B and retry when there is a read/write fail. [http://dsktools.berlios.de] &lt;br /&gt;
*11/06/2008: The [[Amstrad Action|Amstrad Action]] tribute issue 118 has been released. Download here: [http://www.lulu.com/content/2685625 AA118] &lt;br /&gt;
*25/05/2008: [[SymStudio|SymStudio]] [http://www.dread-donkey.com/symstudio/ site] updated, [[Trebmint|author]] seeking testers for version .99. &lt;br /&gt;
*15/05/2008: A new game release, [http://cezgs.computeremuzone.com/ficha.php?id=711&amp;amp;l=en# Capers in Cityland!] &lt;br /&gt;
*21/04/2008: [http://www.cpc-emu.org/news.html CPCEmu] 1.6b released! &lt;br /&gt;
*12/04/2008: Got a Nintendo DS? Make it play some real games with [http://www.portabledev.com/pages/ds/jeuxdev.-perso/ameds.php AmeDS 2.1]!!! &lt;br /&gt;
*31/03/2008: [http://cpce.emuunlim.com CPCE] 1.90 re-released, with even more bugfixes in the FDC emulation and LPTCPC's new ability to send extended disc images from a real CPC through the parallel cable. &lt;br /&gt;
*27/03/2008: [http://sourceforge.net/project/showfiles.php?group_id=222642 JavaCPC] updated to 3.9 and gone open source! &lt;br /&gt;
*23/02/2008: [[http://CPCrulez.free.fr/ hERMOL]] has released a CPC conversion of [[http://cpcrulez.free.fr/GamesDL_hack/index.php?list=S Street Fighter II]] &lt;br /&gt;
*15/01/2008: Dedicated book about the CPC in progress [[http://retrorevival.co.uk/ Follow it here!]] &lt;br /&gt;
*19/12/2007: [[X-Mas 2007|X-Mas 2007]] Another X-mas demos released by [[http://CPCrulez.free.fr/ hERMOL]]! &lt;br /&gt;
*30/11/2007: [[YaPaDOS|YaPaDOS]]: Alpha 7 released with mayor bugs corrected, ParaDOS tool added. &lt;br /&gt;
*04/11/2007: [http://cpce.emuunlim.com CPCE 1.85] released, bug fixes in SF2 IDE, tape speedup and Win32 dialog for ZIP files. &lt;br /&gt;
*28/10/2007: [[YaPaDOS|YaPaDOS]]: AMSDOS/ParaDOS to harddisk redirection, alpha version with most of features finished. &lt;br /&gt;
*18/10/2007: [http://cpcrulez.free.fr/Scene_Demos/index.php?list=H Hate Beats]&amp;amp;nbsp;: new Amstrad CPC Plus demo released by [http://ukonx.free.fr Ukonx] &lt;br /&gt;
*06/10/2007: NEW game for Amstrad CPC available for download&amp;amp;nbsp;: [http://cpcrulez.free.fr/GamesDL_free/index.php?list=D Delirium Tremens] by Antonio Elic , Bernardin Katic et Alen Blazevic. D &lt;br /&gt;
*04/10/2007: an invitro for [http://www.secretum-meeting.pixnet.fr/ Castellum Secretum 2] meeting has just been released and is available [http://www.amstradcpc.info here]. &lt;br /&gt;
*01/10/2007: [http://zx81.zx81.free.fr/ GP2XCap32 and PSPCap32] released, with major improvements (close to fullspeed, sound is now played in 16 bits and stereo, new speed limiter function and much more) &lt;br /&gt;
*30/09/2007: [http://www.secretum-meeting.pixnet.fr/ Castellum Secretum 2] meeting will be held in Segré, France, from 26 to 28th october. &lt;br /&gt;
*17/09/2007: [http://cpce.emuunlim.com CPCE 1.84] released, with assorted bug fixes and enhancements. A hotfix was released on 23/09/2007. &lt;br /&gt;
*17/09/2007: [http://www.winape.net WinAPE 2.0 Alpha 14] released. FDC emulation enhancements and some bug fixes. &lt;br /&gt;
*04/09/2007: [http://www.amstrad.es/forum/viewtopic.php?p=12374#12374 Img2CPC] released. A command line tool to convert images to headers ready to be used with z88dk. Also can be used with little changes with WinAPE integrated debugger. &lt;br /&gt;
*01/09/2007: A lovely [http://www.cpcwiki.eu/index.php/Category:Screenshot:Demo demo screenshot gallery] has been compiled by PulkoMandy! &lt;br /&gt;
*30/08/2007: [[SymbOS|SymbOS]] 2.0 has been [http://www.symbos.de/download.htm released] including 1024KB, fast Mode2, richtext and [[PCW|PCW]] support &lt;br /&gt;
*30/08/2007: [[Cosmos|Cosmos]] 2.0 (personal cost monitor) has been released &lt;br /&gt;
*29/08/2007: [http://cezgs.computeremuzone.com/eng/card.php?id=17 Paciente 106], a great-looking and promising graphic/text adventure has been released! &lt;br /&gt;
*28/08/2007: Frogger finally released for the Amstrad Plus. Get it [http://www.winape.net/download/frogger.zip here]. &lt;br /&gt;
*09/08/2007: A new version of [http://www.geocities.com/virtualcpc/ Virtual CPC] is available for download! Many additions like video or audio recording, Symbiface II emulation etc,etc... &lt;br /&gt;
*08/08/2007: [http://www.winape.net WinAPE] 2.0 Alpha 13 released. Assembler improvements, Amstrad Plus emulation improvements, Graphics editing and Session Recording, and dozens of other improvements and fixes! &lt;br /&gt;
*04/08/2007: [http://cpcrulez.free.fr/coding_src_freeOCP.htm FreeOCP] v0.012b released, with new palette page and complete A/B drive support &lt;br /&gt;
*03/08/2007: [http://www.cpcalive.com/cpcalive_en.html CPCAlive] 1.08f released with bug fixes. &lt;br /&gt;
*30/07/2007: [[FreeOCP|FreeOCP]] v0.010 beta has been [http://cpcrulez.free.fr/coding_src_freeOCP.htm released]. &lt;br /&gt;
*29/07/2007: [[CPCE|CPCE]] 1.83 has been [http://cpce.emuunlim.com released]. &lt;br /&gt;
*07/07/2007: A hotfix of [[CPCE|CPCE]] 1.82 has been [http://cpce.emuunlim.com released]. &lt;br /&gt;
*03/07/2007: [[CPCE|CPCE]] 1.82 has been [http://cpce.emuunlim.com released]. &lt;br /&gt;
*24/06/2007: [[CPCGamesCD-CPCLoader|CPC Loader]] updated with some nice changes! &lt;br /&gt;
*16/06/2007: [[CPCE|CPCE]] 1.81 has been [http://cpce.emuunlim.com released] with many bugfixes and several new services. &lt;br /&gt;
*08/06/2007: [[SymAmp|SymAmp]] 2.0 has been [http://www.symbos.de/preview.htm released] and is also able to play PT3 sounds now &lt;br /&gt;
*23/05/2007: [http://www.cpcwiki.eu/CYBORGS-from-elmsoft.zip Cyborgs] rolling demo discovered, ripped and uploaded for your viewing pleasure&amp;amp;nbsp;:) &lt;br /&gt;
*20/05/2007: [http://cpcrulez.2ya.com/ CPC Rulez] has some CPC games that have been tweaked for the CPC+, with updated palette, nice fades etc. For now: Operation Wolf, Rick Dangerous , Cybernoid et Solomon's Keys, Double Dragon, Cybernoid II! &lt;br /&gt;
*26/04/2007: The [http://www.symstudio.info official website] for [[SymStudio|SymStudio]] has been launched and contains the new version 0.95. &lt;br /&gt;
*07/04/2007: [http://www.binarysciences.com Binary Sciences] has released [[Groops|Groops]], a puzzle game for CPC 6128. &lt;br /&gt;
*06/04/2007: [http://www.geocities.com/virtualcpc/ Virtual CPC] 1.05a released. Changes concerning performance. Improved code for Consecutive Screenshots. &lt;br /&gt;
*03/04/2007: The [http://toplist.cpcszene.de Amstrad CPC TopList] is online now: It's the list of the most frequented CPC websites, where everybody can join. &lt;br /&gt;
*01/04/2007: [[Croco Chanel N°4|Croco Chanel N°4]] Only 1 month away. [http://cc4.cpcscene.com ''Join us now&amp;amp;nbsp;!'']. ([http://www.pouet.net/prod.php?which=30010 ''Invitro'']) &lt;br /&gt;
*28/03/2007: [http://www.cpc-forum.de CPC-Forum.de] has been opened to become the new and most important discussion forum for the German-speaking part of the CPC scene &lt;br /&gt;
*25/03/2007: [[PSPCap32|PSPCap32]] v1.1.6. [http://psp-news.dcemu.co.uk/pspcap32-amstrad-cpc-emulator-for-psp-v1-1-6-symb-os--57355.html has been released (read more here)] &lt;br /&gt;
*17/03/2007: [[RetroEuskal 2007|RetroEuskal 2007]] will take place from the 20.-23.07.2007 in Bilbao/Spain. &lt;br /&gt;
*12/03/2007: [[MadriSX 2007|MadriSX 2007]] photos online. &lt;br /&gt;
*10/03/2007: [[CPCE|CPCE]] New Version. &lt;br /&gt;
*17/02/2007: [[WinApe|WinApe]] New Version. &lt;br /&gt;
*17/02/2007: [[VirtualCPC|VirtualCPC]] New Version. &lt;br /&gt;
*10/01/2007: [[FutureView|FutureView]] IV has been re-released with some changes! &lt;br /&gt;
*07/01/2007: [[Croco Chanel N°4|Croco Chanel N°4]] Very important CPC meeting near Paris from 4,5 &amp;amp;amp; 6 May 2007 &lt;br /&gt;
*06/01/2007: New version of [[WinCPC|WinCPC]] with lots of nice details &lt;br /&gt;
*28/12/2006: [[Hermol|Hermol]] has released a [http://cpcrulez.free.fr/Scene_Demos/index.php?download=x-mas_2006 demo] for Christmas 2006. &lt;br /&gt;
*29/12/2006: [[News:Area 51 converted from the ZX Spectrum to the Amstrad CPC|Nicholas Campbell has converted ''Area 51'' from the ZX Spectrum to the Amstrad CPC]] &lt;br /&gt;
*28/12/2006: [[CPCE|CPCE]] v1.71 has been released &lt;br /&gt;
*27/12/2006: [[Prodatron|Prodatron]] released version 1.1 of his [[SymbOS|SymbOS]] operating system, which now officially supports the MSX2. &lt;br /&gt;
*24/12/2006: [http://retroremakes.com/forum2/showthread.php?t=8545 Sorcery Plus] remake for the PC, based on the CPC version (of course!)!!! &lt;br /&gt;
*20/12/2006: [[CPCE|CPCE]] v1.70 has been released &lt;br /&gt;
*28/09/2006: [http://www.cpcmania.com/index.asp CPCTapeXP], a Tape-&amp;amp;gt;CDT GUI-based utility has been released! &lt;br /&gt;
*27/09/2006: [[Croco Chanel N°4|Croco Chanel N°4]] CPC meeting near Paris (France) in May 2007 call for attenders&amp;amp;nbsp;! &lt;br /&gt;
*16/09/2006: [[CPCE|CPCE]] v1.61 has been released &lt;br /&gt;
*18/11/2006: [[WACCI|WACCI]] and [[Comp.sys.amstrad.8bit|CSA8]] social meet-up, at the Pillars of Hercules pub, Greek St, London &lt;br /&gt;
*09/12/2006: [[News:CPC forever|Third issue of CPC forever released]] &lt;br /&gt;
*09/09/2006: [[News:CPC 'number of balls' record broken with the release of Boules et Bits|News:CPC 'number of balls' record broken with the release of Boules et Bits]] &lt;br /&gt;
*09/03/2006: [[News:Burgparty 2 will take place in december in Germany|Burgparty 2 will take place in december in Germany]] &lt;br /&gt;
*09/01/2006: [[News:Freax Art Album released|Freax Art Album released]] &lt;br /&gt;
*09/01/2006: [[News:New CEZGS game Phantomas saga Infinity|New CEZGS game Phantomas saga Infinity]] &lt;br /&gt;
*08/28/2006: [[News:XzentriX 2006 party in South Germany|XzentriX 2006 party in South Germany]] &lt;br /&gt;
*08/24/2006: [[News:WinApe 2.0 Alpha 9 has been released and moved to a new domain|WinApe 2.0 Alpha 9B has been released and moved to a new domain]] &lt;br /&gt;
*08/19/2006: [[News:ManageDsk v1.5 has been released|ManageDsk v1.5 has been released]] &lt;br /&gt;
*08/15/2006: [[News:WinCPC with a new domain and soon a new version including SYMBiFACE II support|WinCPC with a new domain and soon a new version including SYMBiFACE II support]] &lt;br /&gt;
*08/01/2006: [[News:CPCE v1.60 has been released|CPCE v1.60 has been released]]&lt;br /&gt;
&lt;br /&gt;
== Projects  ==&lt;br /&gt;
&lt;br /&gt;
This is a list of big CPC related projects, which are currently active. This list does not contain previews of unreleased productions or [[Emulators|CPC emulators]]. &lt;br /&gt;
&lt;br /&gt;
*[[FutureOS|FutureOS]] &lt;br /&gt;
*[[CPCISA|CPCISA]]&lt;br /&gt;
*[[MegaFlash|MegaFlash by Bryce]]&lt;br /&gt;
&lt;br /&gt;
== Historic ==&lt;br /&gt;
These projects are not active since five years or longer.&lt;br /&gt;
&lt;br /&gt;
*[[CPCng|CPCng]] &lt;br /&gt;
*[[SYMBiFACE II|SYMBiFACE II]] expansion card &lt;br /&gt;
*[[SymbOS|SymbOS]] and [[SymStudio|SymStudio]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=I/O_Port_Summary&amp;diff=109267</id>
		<title>I/O Port Summary</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=I/O_Port_Summary&amp;diff=109267"/>
				<updated>2022-09-10T08:23:33Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of all known I/O ports of the Amstrad CPC, including all [[Peripherals]]. For a list showing only the built-in standard addresses see [[Default I/O Port Summary]]. The original list of I/O ports was taken from the [[FutureOS]] handbook.&lt;br /&gt;
&lt;br /&gt;
== I/O Port Summary ==&lt;br /&gt;
Note: While most of these devices can be reached via a range of addresses due to the partial address decoding, code should never use any address other than the canonical one (all 'x'/don't care positions filled by 1's). Otherwise multiple devices will be enabled simultaneously, which is unlikely to be what you want.&lt;br /&gt;
&lt;br /&gt;
{|{{Prettytable|width: 700px; font-size: 2em;}}&lt;br /&gt;
|'''I/O'''||'''Decoded as'''||'''Port'''||'''Read'''||'''Write''' &lt;br /&gt;
|-&lt;br /&gt;
|#1C00||%x0xxxx00 xxxxxxxx||[[Dk'tronics Lightpen]] faulty mirror of #BCXX [[CRTC]] Index|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#1F00||%x0xxxx11 xxxxxxxx||[[Dk'tronics Lightpen]] faulty mirror of #BFXX [[CRTC]] Data In|| Read || -&lt;br /&gt;
|-&lt;br /&gt;
|#78XX||%0xxxx000 xxxxxxxx||[[CPC4MB|4Mb Memory extension]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#79XX||%0xxxx001 xxxxxxxx||[[CPC4MB|4Mb Memory extension]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7AXX||%0xxxx010 xxxxxxxx||[[CPC4MB|4Mb Memory extension]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7BXX||%0xxxx011 xxxxxxxx||[[CPC4MB|4Mb Memory extension]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7CXX||%0xxxx100 xxxxxxxx||[[CPC4MB|4Mb Memory extension]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7CXX||%0xxxxx00 xxxxxxxx||[[Aleste 520EX]] RAM Mapper page 0 (extended &amp;quot;Gate Array 3&amp;quot;)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7DXX||%0xxxx101 xxxxxxxx||[[CPC4MB|4Mb Memory extension]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7DXX||%0xxxxx01 xxxxxxxx||[[Aleste 520EX]] RAM Mapper page 1 (extended &amp;quot;Gate Array 3&amp;quot;)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7EXX||%0xxxx110 xxxxxxxx||[[CPC4MB|4Mb Memory extension]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7EXX||%0xxxxx10 xxxxxxxx||[[Aleste 520EX]] RAM Mapper page 2 (extended &amp;quot;Gate Array 3&amp;quot;)||Read||Write&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|#7EXX||%0xxxxxx0 xxxxxxxx||[[Y-MEM]] 512K RAM Expansion part||Read||Write&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|#7FXX||%0xxxx111 xxxxxxxx||[[CPC4MB|4Mb Memory extension]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7FXX||%0xxxxx11 xxxxxxxx||[[Aleste 520EX]] RAM Mapper page 3 (extended &amp;quot;Gate Array 3&amp;quot;)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|#7FXX||%0xxxxxx1 xxxxxxxx||[[X-MEM]] 512K RAM Expansion part||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7FXX||?||[[Dk'tronics memory expansion]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7FXX||?||[[Dobbertin Memory Expansion]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7FXX||%01xxxxxx xxxxxxxx||[[Gate Array]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7FXX||%0xxxxxxx xxxxxxxx||[[PAL16L8]] extension to [[Gate Array]] for 128K RAM banking||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#BCXX||%x0xxxx00 xxxxxxxx||6845 [[CRTC]] Index|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#BDXX||%x0xxxx01 xxxxxxxx||6845 [[CRTC]] Data Out|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#BEXX||%x0xxxx10 xxxxxxxx||6845 [[CRTC]] Status (as far as supported)||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#BFXX||%x0xxxx11 xxxxxxxx||6845 [[CRTC]] Data In (as far as supported)||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#DFXX||%xx0xxxxx xxxxxxxx||[[Upper ROM Bank Number]] (as decoded within CPC664, CPC6128, 464+, 6128+, decoding in ROM expansions may be different)|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#ECXX||%xxx0xx00 xxxxxxxx||[[KC Compact]] CIO Port B (timer)|| Read ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#EDXX||%xxx0xx01 xxxxxxxx||[[KC Compact]] CIO Port C (timer)|| Read ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#EEXX||%xxx0xx10 xxxxxxxx||[[KC Compact]] CIO Control|| Read ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#EEXX||%xxx0xxx0 xxxxxxxx||[[Aleste 520EX]] USART 8251 (RS232/Mouse) Data|| Read ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#EFXX||%xxx0xx11 xxxxxxxx||[[KC Compact]] CIO Port A (Bi-drectional [[Printer Port]])|| Read ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#EFXX||%xxx0xxx1 xxxxxxxx||[[Aleste 520EX]] USART 8251 (RS232/Mouse) Control/Status|| Read ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#EFXX||%xxx0xxxx xxxxxxxx||[[Printer Port]]|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F0E0||?||[[Draysoft Doubler]] External Tape Data Input (Bit5)||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#F4XX||%xxxx0x00 xxxxxxxx||[[8255]] PIO Port A ([[PSG]] Data)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F5XX||%xxxx0x01 xxxxxxxx||[[8255]] PIO Port B (Vsync,[[Printer Port|PrnBusy]],Tape,etc.)||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#F6XX||%xxxx0x10 xxxxxxxx||[[8255]] PIO Port C (KeybRow,Tape,[[PSG]] Control)|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F7XX||%xxxx0x11 xxxxxxxx||[[8255]] PIO Control-Register|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F880-#F88F||%1111100x 1000xxxx||[[PlayCity]] Expansion CTC channels and YMZ data|| - || Write &lt;br /&gt;
|-&lt;br /&gt;
|#F890-#F89F||%1111100x 1--1xxxx||[[MultiPlay]] Expansion (mirror port, use #F9xx)|| Read || - &lt;br /&gt;
|-&lt;br /&gt;
|#F8A0-#F8AF||%11111000 1010xxxx||[[X-CPC]] ClockPort RTC|| Read || Write &lt;br /&gt;
|-&lt;br /&gt;
|#F8B0||?||[[VIDI digitizer|Vidi-CPC Video-Digitiser]], CRTC Index||?||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8B1||?||[[VIDI digitizer|Vidi-CPC Video-Digitiser]], CRTC Data||?||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8DC||?||[[CPCI RS232 Interface|CPCI Serial Interface]] MC6850 Control/Status||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8DD||?||[[CPCI RS232 Interface|CPCI Serial Interface]] MC6850 Data||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E0||?||[[DHCP MIDI Interface]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E0||%11111000 11100000||[[Schneider RS232 Interface]] Z80-STI Indirect Data Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E1||%11111000 11100001||[[Schneider RS232 Interface]] Z80-STI General Purpose I/O Data Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E2||%11111000 11100010||[[Schneider RS232 Interface]] Z80-STI Interrupt Pending Register B (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E2||?||[[Universeller EPROM Programmer 4004|Dobbertin Eprommer 4003]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#F8E3||%11111000 11100011||[[Schneider RS232 Interface]] Z80-STI Interrupt Pending Register A (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E3||?||[[Universeller EPROM Programmer 4004|Dobbertin Eprommer 4003]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#F8E4||%11111000 11100100||[[Schneider RS232 Interface]] Z80-STI Interrupt in-Service Register B (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E4||?||[[Universeller EPROM Programmer 4004|Dobbertin Eprommer 4003]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#F8E5||%11111000 11100101||[[Schneider RS232 Interface]] Z80-STI Interrupt in-Service Register A (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E6||%11111000 11100110||[[Schneider RS232 Interface]] Z80-STI Interrupt Mask Register B (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E6||?||Port A - [[IDE8255]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#F8E7||%11111000 11100111||[[Schneider RS232 Interface]] Z80-STI Interrupt Mask Register A (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E7||?||Port C - [[IDE8255]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#F8E8||%11111000 11101000||[[Schneider RS232 Interface]] Z80-STI Indirect Index and Interrupt Vector Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E8||?||[[Music Machine]] Interrupt Sel|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E9||%11111000 11101001||[[Schneider RS232 Interface]] Z80-STI Timers A and B Control Register (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8EA||%11111000 11101010||[[Schneider RS232 Interface]] Z80-STI Timer B Data Register (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8EB||%11111000 11101011||[[Schneider RS232 Interface]] Z80-STI Timer A Data Register (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8EC||%11111000 11101100||[[Schneider RS232 Interface]] Z80-STI USART Control Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8EC||?||[[Music Machine]] ACIA Control|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8ED||?||[[Music Machine]] ACIA Data Write|| - || Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8ED||%11111000 11101101||[[Schneider RS232 Interface]] Z80-STI Receiver Status Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8EE||?||[[Music Machine]] ACIA Status||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#F8EE||%11111000 11101110||[[Schneider RS232 Interface]] Z80-STI Transmitter Status Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8EF||%11111000 11101111||[[Schneider RS232 Interface]] Z80-STI USART Data Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8EF||?||[[Music Machine]] ACIA Data Read||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#F8FX||%xxxxx0xx 1111NNNx||[[Maplins 8bit Input Port]] and [[Maplins Weather Satellite Receiver]]||Read|| -&lt;br /&gt;
|-&lt;br /&gt;
|#F8F0||?||[[Music Machine]] DAC Write|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8F2||?||[[EMR MIDI Interface]]|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8F2||?||[[Universeller EPROM Programmer 4004|Dobbertin Eprommer 4003]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|#F8F2||?||[[EMR MIDI Interface]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8F4||?||[[Music Machine]] ADC Read||Read|| - &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|#F8F5||?||[[ARA Video Digitizer]] - Read Sync Signal (bit0)||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#F8F8||?||[[Music Machine]] ADC Start|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8F8||?||[[ANTA 64K Memory Expansion]] ANTA 64k.3 latch||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8FE||%11111000 11111110||[[Z-MEM]] Software Memory Configuration|| - || Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8FF||%1111100x 111xxxxx||[[CPCISA|CPCISA control port]]|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8FF||%xxxxx0xx 111111xx||[[Peripheral Soft Reset]] (MC_BOOT_PROGRAM and MC_START_PROGRAM do OUT [F8FF],FF)|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F980-#F98F||%1111100x 1000xxxx||[[PlayCity]] Expansion CTC channels (mirror) and YMZ registers|| - || Write&lt;br /&gt;
|-&lt;br /&gt;
|#F990-#F99F||%1111100x 1--1xxxx||[[MultiPlay]] Expansion|| Read || - &lt;br /&gt;
|-&lt;br /&gt;
|#F9A0-#F9AF||%11111001 1010xxxx||[[X-CPC]] ClockPort SPR|| Read || Write &lt;br /&gt;
|-&lt;br /&gt;
|#F9B0||?||[[VIDI digitizer|Vidi-CPC Video-Digitiser]], Config (W) and Capture Data (R)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9D0||%11111000 11010000||[[Sid|SwinSID part of SONIQUE Sound Board WIP]] by [[User:DaDMaN|DaDMaN]] SwinSID1 + SwinSID2 DATA (MONO Mode / 3 Channels)||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9D1||%11111000 11010001||[[Sid|SwinSID part of SONIQUE Sound Board WIP]] by [[User:DaDMaN|DaDMaN]] SwinSID1 (LEFT) DATA (STEREO Mode / 6 Channels)||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9D2||%11111000 11010010||[[Sid|SwinSID part of SONIQUE Sound Board WIP]] by [[User:DaDMaN|DaDMaN]] SwinSID2 (RIGHT) DATA (STEREO Mode / 6 Channels)||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9DC||?||[[Panda Electronics Communications Interface Unit]] PPI Port A - 8bit Printer data||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9DD||?||[[Panda Electronics Communications Interface Unit]] PPI Port B - 8bit general purpose I/O port||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9DE||?||[[Panda Electronics Communications Interface Unit]] PPI Port C - Handshake (bit0=Strobe.out, Bit5=Busy.in)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9DF||?||[[Panda Electronics Communications Interface Unit]] PPI Control - 8bit Printer data|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9E6||?||Port B - [[IDE8255]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#F9E7||?||RS Port - [[IDE8255]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#F9F5||?||[[ARA Video Digitizer]] - Reset 10bit Config Value|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9F7||?||[[Grafpad II|Hegotron grafpad II]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#F9FC - #F9FE||?||[[Otten &amp;amp; Fecht 1 MB RAM-Disc]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9FF||?||[[Grafpad II|Hegotron grafpad II]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#FA7E||%xxxxx0x0 0xxxxxxx||Floppy Motor Control (for [[765 FDC]])|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FABC||%xxxxx0x0 10xxxx00||[[Aleste 520EX]] EXTPORT with CS53: Forward PPI Port A to 8253 Timer 0|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FABD||%xxxxx0x0 10xxxx01||[[Aleste 520EX]] EXTPORT with CS53: Forward PPI Port A to 8253 Timer 1|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FABE||%xxxxx0x0 10xxxx10||[[Aleste 520EX]] EXTPORT with CS53: Forward PPI Port A to 8253 Timer 2|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FABF||%xxxxx0x0 10xxxx11||[[Aleste 520EX]] EXTPORT with CS53: Forward PPI Port A to 8253 Control|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FABF||%xxxxx0x0 10xxxxxx||[[Aleste 520EX]] EXTPORT (config for internal hardware)|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FAD0||%11111010 11010000||[[Sid|SwinSID part of SONIQUE Sound Board WIP]] by [[User:DaDMaN|DaDMaN]] Select SID (1&amp;amp;2) Register MONO mode||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FAD1||%11111010 11010001||[[Sid|SwinSID part of SONIQUE Sound Board WIP]] by [[User:DaDMaN|DaDMaN]] Select SID1 Register||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FAD2||%11111010 11010010||[[Sid|SwinSID part of SONIQUE Sound Board WIP]] by [[User:DaDMaN|DaDMaN]] Select SID2 Register||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FADC||?||[[Amstrad Serial Interface]] Z80-SIO / DART port A Data Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FADC||?||[[RS-232 para Amstrad|MHT Ingenieros RS232 para Amstrad]] 8251 USART data|| Read || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FADD||?||[[Amstrad Serial Interface]] Z80-SIO / DART port A Control Reg.||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FADD||?||[[RS-232 para Amstrad|MHT Ingenieros RS232 para Amstrad]] 8251 USART control/status|| Read || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FADE||?||[[Amstrad Serial Interface]] Z80-SIO / DART port B Data Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FADF||?||[[Amstrad Serial Interface]] Z80-SIO / DART port B Control Reg.||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FADF||?||[[Cirkit serial interface]] 8251 UART data register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FAE6||?||Port A - [[IDE8255]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#FAE7||?||Port C - [[IDE8255]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#FAEE||?||[[Amstrad SSA-1 Speech Synthesizer]] (faulty mirror used by included RSX driver)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FAEF||%xxxxx0x0 xxx0xxxx||[[Kempston Mouse]] - Mouse Buttons||Read||-&lt;br /&gt;
|-&lt;br /&gt;
|#FAF5||?||[[ARA Video Digitizer]] - Read Capture Data||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#FAF5||?||[[ARA Video Digitizer]] - Increment 10bit Config Value|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FB7E||%xxxxx0x1 0xxxxxx0||[[765 FDC]] (internal) Status Register||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#FB7F||%xxxxx0x1 0xxxxxx1||[[765 FDC]] (internal) Data Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBBD||%xxxxx0xx x0xxxx0x||Ram select mode [[Vortex Expansions RAM card|Vortex SP512]]||?||Write &lt;br /&gt;
|-&lt;br /&gt;
|#FBDC||?||[[Amstrad Serial Interface]] 8253 Timer counter 0||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBDC||?||[[RS-232 para Amstrad|MHT Ingenieros RS232 para Amstrad]] 8253 timer 0 (transmit baudrate)|| Read || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBDD||?||[[Amstrad Serial Interface]] 8253 Timer counter 1||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBDD||?||[[RS-232 para Amstrad|MHT Ingenieros RS232 para Amstrad]] 8253 timer 1 (receive baudrate)|| Read || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBDE||?||[[Amstrad Serial Interface]] 8253 Timer counter 2||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBDE||?||[[RS-232 para Amstrad|MHT Ingenieros RS232 para Amstrad]] 8253 timer 2 (used as 1ms timer)|| Read || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBDF||?||[[Amstrad Serial Interface]] 8253 Timer Modus Select|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBDF||?||[[RS-232 para Amstrad|MHT Ingenieros RS232 para Amstrad]] 8253 timer 0-2 control|| - || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBDF||?||[[Cirkit serial interface]] 8251 UART status/control register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBxx+0||?||CPCI [[Real Time Clock]] Index (DIY)||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBxx+1||?||CPCI [[Real Time Clock]] Data (DIY)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE0||?||[[Dk'tronics Real Time Clock]] - Z80 PIO Port A Data (HD146818P RTC Data bus)|| Read || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE0||?||[[Dobbertin Harddisc]] Data Port||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE1||?||[[Dk'tronics Real Time Clock]] - Z80 PIO Port B Data (General Purpose 8bit I/O Port)|| Read || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE1||?||[[Dobbertin Harddisc]] Status, Reset||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE2||?||[[Dk'tronics Real Time Clock]] - Z80 PIO Port A Control||?|| Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE2||?||[[Dobbertin Harddisc]] Select, Configuration||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE3||?||[[Dk'tronics Real Time Clock]] - Z80 PIO Port B Control||?|| Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE3||?||[[Dobbertin Harddisc]] DMA, Interrupt||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE4||?||[[Dobbertin Harddisc]] Reset||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE6||?||Port B - [[IDE8255]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#FBE7||?||RS Port - [[IDE8255]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#FBE7||?||[[ACU Real Time Clock (DIY)]] Z80-PIO Data In/Out Port A ||Read||Write &lt;br /&gt;
|-&lt;br /&gt;
|#FBE8||?||[[Dk'tronics Real Time Clock]] &amp;quot;4bit latch&amp;quot; (details unknown)|| ? || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE8||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 8253 Timer0 (RX Clock)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE9||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 8253 Timer1 (TX Clock)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBEA||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 8253 Timer2 (not used)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBEB||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 8253 Timer Control||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBEC||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 6850 (reversed bit-order) Control||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBEC||?||[[PDS development system]] Z80 PIO Port A Data (8bit data to/from PC)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBED||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 6850 (reversed bit-order) TX Data||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBED||?||[[PDS development system]] Z80 PIO Port B Data (handshake to/from PC)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBEE||?||[[PDS development system]] Z80 PIO Port A Control||?||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBEE||?||[[Amstrad SSA-1 Speech Synthesizer]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBEE||%xxxxx0x1 xxx0xxx0||[[Kempston Mouse]] - 8bit X position||Read||-&lt;br /&gt;
|-&lt;br /&gt;
|#FBEE||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 6850 (reversed bit-order) Status||Read||-&lt;br /&gt;
|-&lt;br /&gt;
|#FBEF||?||[[PDS development system]] Z80 PIO Port B Control||?||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBEF||%xxxxx0x1 xxx0xxx1||[[Kempston Mouse]] - 8bit Y position||Read||-&lt;br /&gt;
|-&lt;br /&gt;
|#FBEF||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 6850 (reversed bit-order) RX Data||Read||-&lt;br /&gt;
|-&lt;br /&gt;
|#FBEF||?||[[ACU Real Time Clock (DIY)]] Z80-PIO Data In/Out Port B ||Read||Write &lt;br /&gt;
|-&lt;br /&gt;
|#FBF0 - #FBFF||?||[[Otten &amp;amp; Fecht 1 MB RAM-Disc]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBF0||%xxxx1011 1111xxxx||[[AMRAM2]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBF0||%xxxxx011 1111xxx0||[[AMSSIO]] Serial Interface MC6850 Control/Status Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBF1||%xxxxx011 1111xxx1||[[AMSSIO]] Serial Interface MC6850 Data Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBF5||?||[[ARA Video Digitizer]] - Invoke Video Capture|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBF6||?||[[Vortex Disc Drives]] 765 FDC (Vortex,ext) Status Register||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#FBF7||?||[[Vortex Disc Drives]] 765 FDC (Vortex,ext) Data Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBF7||?||[[ACU Real Time Clock (DIY)]] Z80-PIO Configure Port A ||Read||Write &lt;br /&gt;
|-&lt;br /&gt;
|#FBF8||%11111011 11111000||[[8bit Printer Port (Amstrad Action)]] Strobe/Busy||Read||Write &lt;br /&gt;
|-&lt;br /&gt;
|#FBF9||%11111011 11111001||[[8bit Printer Port (Amstrad Action)]] Data|| - ||Write &lt;br /&gt;
|-&lt;br /&gt;
|#FBFE||?||[[Amstrad Magnum Phaser|Magnum Light Phaser]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBFE||?||[[Dart Scanner for DMP-Printers]]||Read||?&lt;br /&gt;
|-&lt;br /&gt;
|#FBFE||?||[[Dk'tronics Speech Synthesizer]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBFE||%xxxxxxxx 11111110||[[TMPI speech synthesizer]] Data Register ||||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBFF||%xxxxxxxx 11111111||[[TMPI speech synthesizer]] Command/Status Register ||Read||Write &lt;br /&gt;
|-&lt;br /&gt;
|#FBFF||?||[[ACU Real Time Clock (DIY)]] Z80-PIO Configure Port B ||Read||Write &lt;br /&gt;
|-&lt;br /&gt;
|#FC00 - #FDFF||%1111110x xxxxxxxx||[[CPCISA|CPCISA]] 16bits mode high byte latch||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FC00||?||[[M4 Board]] ACK/KICK|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FC5C||?||[[Z80-SIO dual ports RS232 interface for CPC (French)|French DIY Dual Port RS232]] - Baudrate Selection|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FC7C||?||[[Z80-SIO dual ports RS232 interface for CPC (French)|French DIY Dual Port RS232]] - Z80-SIO Channel A Data||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FC7D||?||[[Z80-SIO dual ports RS232 interface for CPC (French)|French DIY Dual Port RS232]] - Z80-SIO Channel A Control/Status||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FC7E||?||[[Z80-SIO dual ports RS232 interface for CPC (French)|French DIY Dual Port RS232]] - Z80-SIO Channel B Data||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FC7F||?||[[Z80-SIO dual ports RS232 interface for CPC (French)|French DIY Dual Port RS232]] - Z80-SIO Channel B Control/Status||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FCE6||?||Port A - [[IDE8255]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FCE7||?||Port C - [[IDE8255]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FD00 - #FD3F||%11111101 00xxxxxx||[[Programming:SYMBiFACE_II|SYMBiFACE II]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FD08 - #FD0F||%11111101 00001xxx||[[X-Mass|X-MASS]] 2.5&amp;quot; 44-pin IDE interface / DOM / CF adapter (SYMBiFACE II compatible)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FD40 - #FD4F||%11111101 0100xxxx||[[Programming:SYMBiFACE_III|SYMBiFACE III]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FD80 - #FD87||%11111101 10000xxx||CPC-CPLink - FIFO Interface card for Co-processors, incl. Raspberry Pi ||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FDE6||?||Port B - [[IDE8255]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FDE7||?||RS Port - [[IDE8255]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FE00||?||[[M4 Board]] Data|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FE00 - #FFFF||%1111111x xxxxxxxx||[[CPCISA|CPCISA]] I/O access (low byte)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FE80 - #FE81||%11111110 1000000x||[[Albireo]] CH376 controller||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FE82||%11111110 10000010||[[Nova]] RTC &amp;amp; NVRAM|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FE84 - #FEA7||%11111110 10xxx1xx||[http://shinra.cpcscene.net/willy.html Willy] Future use or multi-soundchip ||-||-&lt;br /&gt;
|-&lt;br /&gt;
|#FEAC - #FEAD||%11111110 101011xx||[http://shinra.cpcscene.net/willy.html Willy] S2P Dream SAM2965 MIDI synthetizer ||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FEB0 - #FEB7||%11111110 10110xxx||[[Albireo]] serial port||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FEBC - #FEBF||%11111110 101111xx||[http://shinra.cpcscene.net/willy.html Willy] OPL3 ||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FEE6||?||Port A - [[IDE8255]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FEE7||?||Port C - [[IDE8255]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FEE8||%11111110 1110100x||[[Multiface II]] - Enable Multiface II ROM/RAM||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FEEA||%11111110 1110110x||[[Multiface II]] - Disable Multiface II ROM/RAM||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FEF0 - #FEF7||%11111110 11110xxx||[[CPC-CompactFlash]] - IDE registers||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FEF0 - #FEF7||%11111110 11110xxx||[[uIDE 16]] - IDE registers||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FF00 - #FFFF||%11111111 xxxxxxxx||AMSDAP (Amstrad MSx aDAPter, MSX-to-CPC I/O hardware interface (MSX ports #00-#ff)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FF20 - #FF27||%11111111 00100xxx||MP3MSX (MP3 player) via AMSDAP||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FF20 - #FF27||%11111111 00100xxx||SE-ONE (MP3 player, FM radio receiver, USB master interface) via AMSDAP||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FF60 - #FF6F||%11111111 0110xxxx||CPC [[V9990]] [[PowerGraph]] (upcoming graphic card based on the Graphics 9000 for the MSX)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FFXX||%11111111 xxxxxxxx||[[CPC Booster]] (XX=#00..#28 are used now)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FFXX||%11111111 xxxxxxxx||[[Amdrum]] (unsigned 8bit DAC)||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FFE6||?||Port B - [[IDE8255]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FFE7||?||RS Port - [[IDE8255]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Memory Mapped I/O Ports ==&lt;br /&gt;
&lt;br /&gt;
{|{{Prettytable|width: 700px; font-size: 2em;}}&lt;br /&gt;
|'''Mem'''||'''Decoded as'''||'''Port'''||'''Read'''||'''Write''' &lt;br /&gt;
|-&lt;br /&gt;
|#4000-7FFF||%01xxxxxx xxxxxxxx||[[ASIC]] - CPC+/GX4000 registers|| Read || Write&lt;br /&gt;
|-&lt;br /&gt;
|#C00?||%11000000 0000000x||[[Dobbertin Smart Watch]] data read (A0=data)|| Read || -&lt;br /&gt;
|-&lt;br /&gt;
|#C00?||%11000000 0000000x||[[Dobbertin Smart Watch]] data write (A0=data)|| Read || -&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== More Ports ==&lt;br /&gt;
&lt;br /&gt;
Some more I/O addresses (which aren't included in the above list yet) are here:&lt;br /&gt;
* [[Schneiderware Summary]]&lt;br /&gt;
&lt;br /&gt;
== Other I/O Ports ==&lt;br /&gt;
&lt;br /&gt;
A number of peripherals connect to the joystick/printer ports, and so, they do not include &amp;quot;own&amp;quot; I/O addresses. This includes hardware ''other than joysticks/printers'' - for example, mice, robots, audio devices, and simple network adapters. For a more complete list, see corresponding sections on [[Digital Joysticks|Digital Joystick]] and [[Printer Port]] pages.&lt;br /&gt;
&lt;br /&gt;
Aside from I/O addresses, there are some other important I/O signals, for example: [[NMI]] or [[External Interrupt|INT]].&lt;br /&gt;
&lt;br /&gt;
== CPCISA ports for ISA cards ==&lt;br /&gt;
&lt;br /&gt;
{|{{Prettytable|width: 700px; font-size: 2em;}}&lt;br /&gt;
|''Device''||''PC I/O range''||''CPCISA high''||''CPCISA low'' &lt;br /&gt;
|-&lt;br /&gt;
|IDE1||1F0h..1F7h||#FDF0..#FDF7||#FFF0..#FFF7&lt;br /&gt;
|-&lt;br /&gt;
|IDE2||170h..177h||#FD70..#FD77||#FF70..#FF77&lt;br /&gt;
|-&lt;br /&gt;
|Joystick||201h..201h||#FC01..#FC01||#FE01..#FE01&lt;br /&gt;
|-&lt;br /&gt;
|Ethernet||210h..21Fh||#FC10..#FC1F||#FE10..#FE1F&lt;br /&gt;
|-&lt;br /&gt;
|Sound Blaster||220h..23Fh||#FC20..#FC3F||#FE20..#FE3F&lt;br /&gt;
|-&lt;br /&gt;
|LPT2||278h..27Fh||#FC78..#FC7F||#FE78..#FE7F&lt;br /&gt;
|-&lt;br /&gt;
|COM1||2F8h..2FFh||#FCF8..#FCFF||#FEF8..#FEFF&lt;br /&gt;
|-&lt;br /&gt;
|MIDI'||300h..301h||#FD00..#FD01||#FF00..#FF01&lt;br /&gt;
|-&lt;br /&gt;
|MIDI||330h..331h||#FD30..#FD31||#FF30..#FF31&lt;br /&gt;
|-&lt;br /&gt;
|Sound control||370h..371h||#FD70..#FD71||#FF70..#FF71&lt;br /&gt;
|-&lt;br /&gt;
|FDC1||372h..377h||#FD72..#FD77||#FF72..#FF77&lt;br /&gt;
|-&lt;br /&gt;
|LPT1||378h..37Fh||#FD78..#FD7F||#FF78..#FF7F&lt;br /&gt;
|-&lt;br /&gt;
|Sound AD-LIB||388h..38Bh||#FD88..#FD8B||#FF88..#FF8B&lt;br /&gt;
|-&lt;br /&gt;
|VGA||3B0h..3BBh||#FDB0..#FDBB||#FFB0..#FFBB&lt;br /&gt;
|-&lt;br /&gt;
|LPT3||3BCh..3BFh||#FDBC..#FDBF||#FFBC..#FFBF&lt;br /&gt;
|-&lt;br /&gt;
|VGA||3C0h..3DFh||#FDC0..#FDCF||#FFC0..#FFCF&lt;br /&gt;
|-&lt;br /&gt;
|FDC1||3F2h..3F7h||#FDF2..#FDF7||#FFF2..#FFF7&lt;br /&gt;
|-&lt;br /&gt;
|COM1||3F8h..3FFh||#FDF8..#FDFF||#FFF8..#FFFF&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== CPCISA ports for ISA motherboard ==&lt;br /&gt;
&lt;br /&gt;
{|{{Prettytable|width: 700px; font-size: 2em;}}&lt;br /&gt;
|''Device''||''PC I/O range''||''CPCISA high''||''CPCISA low'' &lt;br /&gt;
|-&lt;br /&gt;
|DMA||000h..00Fh||#FC00..#FC0F||#FE00..#FE0F&lt;br /&gt;
|-&lt;br /&gt;
|interrupt||020h..03Fh||#FC20..#FC3F||#FE20..#FE3F&lt;br /&gt;
|-&lt;br /&gt;
|counter||040h..05Fh||#FC40..#FC5F||#FE40..#FE5F&lt;br /&gt;
|-&lt;br /&gt;
|keyboard||060h..067h||#FC60..#FC67||#FE60..#FE67&lt;br /&gt;
|-&lt;br /&gt;
|RTC||070h..071h||#FC70..#FC71||#FE70..#FE71&lt;br /&gt;
|-&lt;br /&gt;
|DMA||080h..08Fh||#FC80..#FC8F||#FE80..#FE8F&lt;br /&gt;
|-&lt;br /&gt;
|DMA||0C0h..0DFh||#FCC0..#FCDF||#FEC0..#FEDF&lt;br /&gt;
|-&lt;br /&gt;
|interrupt||0A0h..0BFh||#FCA0..#FCBF||#FEA0..#FEBF&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Programming]] [[Category:Stub]][[Category:CPC Internal Components]][[Category:Hardware]][[Category:Electronic Component]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Peripherals&amp;diff=109266</id>
		<title>Peripherals</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Peripherals&amp;diff=109266"/>
				<updated>2022-09-10T08:22:13Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''You can also check the Category : Peripherals for a complete list of CPCwiki pages on the matter.'''&lt;br /&gt;
&lt;br /&gt;
* [[I/O Port Summary]]&lt;br /&gt;
&lt;br /&gt;
''Please try to keep things in alphabetical order.''&lt;br /&gt;
&lt;br /&gt;
== Built-in Peripherals ==&lt;br /&gt;
&lt;br /&gt;
=== Built-in Chipset ===&lt;br /&gt;
&lt;br /&gt;
* [[765 FDC]] - Floppy Disc Controller&lt;br /&gt;
* [[8255]] - PIO - I/O controller&lt;br /&gt;
* [[Arnold V Specs Revised]] - Arnold V (CPC+) Technical Specification&lt;br /&gt;
* [[AY-3-8912]] - Sound chip / keyboard controller&lt;br /&gt;
* [[CRTC]] - Video chip&lt;br /&gt;
* [[Gate Array]] - Custom chip (frequency generation, colors, bank switching)&lt;br /&gt;
* [[Power Supply for CPC and CPC plus]]&lt;br /&gt;
* [[Printer Port]]&lt;br /&gt;
&lt;br /&gt;
=== Built-in connectors: pinout ===&lt;br /&gt;
&lt;br /&gt;
* [[Connector:2nd disc drive (CPC664, CPC6128, CPC6128+)|2nd disc drive (CPC664, CPC6128, CPC6128+)]]&lt;br /&gt;
* [[Connector:Analogue joystick (CPC Plus only)|Analogue joystick (CPC Plus only)]]&lt;br /&gt;
* [[Connector:Aux socket (CPC Plus only)|Aux socket (CPC Plus only)]] (Lightgun)&lt;br /&gt;
* [[Connector:Cartridge Slot (CPC Plus only)|Cartridge Slot (CPC Plus only)]]&lt;br /&gt;
* [[Connector:Cassette recorder|Cassette recorder]]&lt;br /&gt;
* [[Connector:Digital joystick|Digital joystick]]&lt;br /&gt;
* [[Connector:Expansion port|Expansion port]]&lt;br /&gt;
* [[Connector:Monitor|Monitor]]&lt;br /&gt;
* [[Connector:Printer port|Printer port]]&lt;br /&gt;
* [[Connector:Stereo sound|Stereo sound]]&lt;br /&gt;
&lt;br /&gt;
=== Built-in Firmware ===&lt;br /&gt;
&lt;br /&gt;
* [[BIOS Functions]]&lt;br /&gt;
* [[Locomotive BASIC]] (reference for BASIC commands, functions and error messages)&lt;br /&gt;
* [[Technical information about Locomotive BASIC]] (encoding of BASIC programs in memory)&lt;br /&gt;
&lt;br /&gt;
== Co-processor Interfaces ==&lt;br /&gt;
* [[CPC-Cplink]] - a card and software libraries allowing Raspberry Pi, Arduino or other processors to be connected directly to the CPC&lt;br /&gt;
&lt;br /&gt;
== Data transfer ==&lt;br /&gt;
&lt;br /&gt;
=== Modems ===&lt;br /&gt;
&lt;br /&gt;
* [[Cirkit_Prestel_Link_Amstrad_Interface]] (acoustic coupler bundled with [[Cirkit serial interface]]) ([[Cirkit]])&lt;br /&gt;
* [[Commstar v21/23 modem]] ([[PACE]])&lt;br /&gt;
* [[Data Research CH301S modem]] (greek company)&lt;br /&gt;
* [[Digitelec DTL 2000/2100 Modem]]&lt;br /&gt;
* [[EPTA modem]] (sold by Greek mag ΕΠΤΑ)&lt;br /&gt;
* [[KDS Communicator 104]] (connects directly to expansion port) ([[KDS Electronics]])&lt;br /&gt;
* [[Loritel]] (for french Minitel) ([[Loriciel|Loriciels]])&lt;br /&gt;
* [[Mini-Max Modem|KDS Mini-Max Modem]] (connects via RS232 interface) ([[KDS Electronics]])&lt;br /&gt;
* [[MicroLink Dual-Speed Modem]] ([[MicroLink]]) [[File:Microlink.pdf|Mircolink Manual]] and [[File:Micronet.pdf|Micronet manual]], provided by ''Spookspring''&lt;br /&gt;
* [[MicroLink Multi-Speed Modem]] ([[MicroLink]])&lt;br /&gt;
* [[Nightingale_modem]] ([[PACE]])&lt;br /&gt;
* [[Schneider BTX Modul]] (for German Bildschirmtext) ([[Schneider]])&lt;br /&gt;
&lt;br /&gt;
=== Serial Interfaces ===&lt;br /&gt;
&lt;br /&gt;
* ([[RS232|overview of RS232 interfaces]])&lt;br /&gt;
* [[Albireo]] (serial to USB on-board) ([[PulkoTronics]] / DIY)&lt;br /&gt;
* [[Aleste 520EX]] (a CPC clone with built-in RS232, intended for serial mouse) ([[Patisonic]])&lt;br /&gt;
* [[AMSSIO]] (four different versions) (RS232 interface) (DIY) (Martin Zacho)&lt;br /&gt;
* [[Amstrad Serial Interface]] ([[Amstrad]])&lt;br /&gt;
* [[Cirkit serial interface]] ([[Cirkit]])&lt;br /&gt;
* Cirkit twin-port serial interface (resold by [[Microstyle]])&lt;br /&gt;
* [[CPC Booster|CPC Booster/CPC Booster+]] (modern multifunction expansion, including RS232)&lt;br /&gt;
* [[CPCI RS232 Interface]] (DIY) ([[CPC Schneider International Sonderheft]])&lt;br /&gt;
* [[Data Media Disc System]] (disc drive with built-in RS232 interface) ([[Data Media]])&lt;br /&gt;
* [[KDS Electronics Serial Interface|KDS Serial Interface]] ([[KDS Electronics]])&lt;br /&gt;
* [[Panda Electronics Communications Interface Unit]] (dual RS232 plus 8bit printer port) (Panda Electronics Ltd)&lt;br /&gt;
* [[RS-232 para Amstrad]] ([[MHT Ingenieros]])&lt;br /&gt;
* [[SCA CPC Prolink]] ([[SCA Products]])&lt;br /&gt;
* [[Schneider RS232 Interface]] ([[Schneider]])&lt;br /&gt;
* [[Z80 STI RS232 interface]] compatible to the one before, DIY!&lt;br /&gt;
* [[Schneiderware V/24 Interface]] (DIY) ([[CPC Schneider International]])&lt;br /&gt;
* [[Simple RS232 for Printer usage]] (DIY) (one-directional, transmit only)&lt;br /&gt;
* [[Spectre Comms Serial Interface]] with Cage Comms software ([[Spectre Communications Ltd]])&lt;br /&gt;
* [[Vortex Disc Drives]] (disc drive/interface with optional RS232 port) ([[Vortex Computersysteme]])&lt;br /&gt;
* [[Z80-SIO dual ports RS232 interface for CPC (French)]] (DIY) (Philippe Lebel)&lt;br /&gt;
* [[Dual RS232]] ([[Timatic Systems]])&lt;br /&gt;
* [[USIFAC]] ([[ikonsgr]])&lt;br /&gt;
&lt;br /&gt;
=== Teletext ===&lt;br /&gt;
&lt;br /&gt;
* [[Teletext adaptor]] ([[Microtext Ltd.]])&lt;br /&gt;
* [[Volex TTX 2000a|Volex TTX 2000a Teletext-Telesoftware Adaptor]] (Volex Electronics)&lt;br /&gt;
&lt;br /&gt;
=== Others ===&lt;br /&gt;
&lt;br /&gt;
* [[CPC Booster|CPC Booster/CPC Booster+]]&lt;br /&gt;
* [[Virtual Net 96]] ([[Wizcat]])&lt;br /&gt;
* [[Soundplayer|Soundplayer+]] ([[Futurs']])&lt;br /&gt;
* [[Soundplayer|SoundplayerNG]] (DIY) ([[Futurs']])&lt;br /&gt;
* [[Red Box]] ([[General Information Systems]])&lt;br /&gt;
* [[CPC-ENet|CPC Ethernet Card]] ([[rpalmer]])&lt;br /&gt;
&lt;br /&gt;
== Digitizer / Scanner ==&lt;br /&gt;
&lt;br /&gt;
* [[ARA Video Digitizer]] ([[Jagot &amp;amp; Leon]])&lt;br /&gt;
* [[Electric Studio C6]] ([[Electric Studio]])&lt;br /&gt;
* [[Dart Scanner for DMP-Printers]] (the optics are attached to the printer head) ([[Dart Electronics]])&lt;br /&gt;
* [[Omni-Reader]] (Oberon International) (scanner with text recognition) (advert on ACU 1-1987, page 83)&lt;br /&gt;
* [[VIDI digitizer]] ([[Rombo Productions]])&lt;br /&gt;
&lt;br /&gt;
== Drives ==&lt;br /&gt;
&lt;br /&gt;
=== Disc Drives ===&lt;br /&gt;
&lt;br /&gt;
* [[3½&amp;quot; &amp;amp; 5¼&amp;quot; Disk Drives]]&lt;br /&gt;
* [[Amstrad Disk Drive|Amstrad DDI-1 / FD-1 Disk Drive]] ([[Amstrad]])&lt;br /&gt;
* [[Cumana 3&amp;quot; Disk Drive]] ([[Cumana]])&lt;br /&gt;
* [[Data Media Disc System]] ([[Data Media]])&lt;br /&gt;
* [[Jasmin AM5D 5 &amp;quot;1/4 floppy drive]]&lt;br /&gt;
* [[KDS 5¼&amp;quot; Disc Drive]] ([[KDS Electronics]])&lt;br /&gt;
* [[TIMDISC 5¼&amp;quot; 2nd Disc Drive]] ([[Timatic Systems]])&lt;br /&gt;
* [[F1|Vortex Disc Drives]] ([[Vortex Computersysteme|Vortex]])&lt;br /&gt;
* [[Four floppy drives with Amstrad disc interface]]&lt;br /&gt;
&lt;br /&gt;
=== Exotic Drives ===&lt;br /&gt;
&lt;br /&gt;
* [[Albireo]] (USB mass storage, SD card) ([[PulkoTronics]] / DIY)&lt;br /&gt;
* [[Codemasters CD]] (loads games from Audio CD via joystick port) ([[Codemasters]])&lt;br /&gt;
* [[X-Mass]] (IDE, uses Solid-state Disk-on-Module)&lt;br /&gt;
&lt;br /&gt;
=== Hard Disc Drives ===&lt;br /&gt;
&lt;br /&gt;
* [[CPC-IDE]] (modern) (discontinued prototype)&lt;br /&gt;
* [[Dobbertin Harddisc]] ([[Dobbertin]])&lt;br /&gt;
* [[IDE8255]] internal/extrernal IDE/CF interface ([[Yarek]])&lt;br /&gt;
* [[SYMBiFACE II]] (modern) (IDE and various other features)&lt;br /&gt;
* [[Vortex Winchester Drive]] ([[Vortex Computersysteme|Vortex]])&lt;br /&gt;
* [[IDE/8255]] external IDE Interface ([[rpalmer]])&lt;br /&gt;
* [[UIDE Universal IDE adapter cards for Z-80 computers]] (modern) ([[JonB]])&lt;br /&gt;
* [[X-Mass]] (modern) (uses solid state Disk-On-Module) ([[TotO]])&lt;br /&gt;
&lt;br /&gt;
=== Drive Emulators ===&lt;br /&gt;
&lt;br /&gt;
* [[Gotek]]&lt;br /&gt;
* [[HxC Floppy Emulator]]&lt;br /&gt;
* [[SDiskEmul]]&lt;br /&gt;
* [[TFE Floppy Emulator]]&lt;br /&gt;
* [[VDrive]]&lt;br /&gt;
&lt;br /&gt;
== Hardware debuggers/Hacking devices ==&lt;br /&gt;
&lt;br /&gt;
* [[Action Replay]] (whatever snapshot) ([[Datel Electronics]])&lt;br /&gt;
* [[Demon Development Cartridge]] ([[John Morrison]])&lt;br /&gt;
* [[Disc Wizard]] (whatever snapshot) ([[Draysoft]]/[[Evesham Micros]])&lt;br /&gt;
* [[Draysoft Doubler|Doubler]] (external tape input, for tape-to-tape transfers) ([[Draysoft]]/[[Evesham Micros]])&lt;br /&gt;
* [[Hackit|Hackit / Le Hacker]] (allows to view RAM at 0040h..AF00h) ([[Siren Software]])&lt;br /&gt;
* [[Mirage Imager]] (RAM-only snapshot) (Mirage Microcomputer Limited)&lt;br /&gt;
* [[Multiface II]] (RAM-and-I/O snapshot) ([[Romantic Robot]])&lt;br /&gt;
* [[PDS development system]] (old devkit been used for commercial games) (PD Systems/Andy Glaister)&lt;br /&gt;
* [[RAM7 Cartridge Hacker]] (for CPC+/GX4000 cartridges) ([[RAM7]])&lt;br /&gt;
* [[Transtape]] (whatever snapshot) (Hard Micro)&lt;br /&gt;
&lt;br /&gt;
== Input devices ==&lt;br /&gt;
&lt;br /&gt;
=== Joysticks ===&lt;br /&gt;
&lt;br /&gt;
* [[Analog Joysticks]] (CPC Plus only)&lt;br /&gt;
* [[Digital Joysticks]]&lt;br /&gt;
* [[Amstrad JY-1/JY-2 joysticks]]&lt;br /&gt;
* [[Joystick Y-cables]]&lt;br /&gt;
&lt;br /&gt;
=== Light-Guns ===&lt;br /&gt;
&lt;br /&gt;
* [[Gunstick]] ([[MHT Ingenieros]])&lt;br /&gt;
* [[Amstrad Magnum Phaser|Magnum Light Phaser]] ([[Amstrad]] and [[Trojan]])&lt;br /&gt;
* [[Trojan Light Phazer]] ([[Trojan]]) (CPC+)&lt;br /&gt;
* [[Loriciel Phaser (West Phaser)|West Phaser]] ([[Loriciel]])&lt;br /&gt;
&lt;br /&gt;
=== Light-Pens ===&lt;br /&gt;
&lt;br /&gt;
* [[Amstrad LP-1 light pen]] (Amstrad/Amsoft/Trojan) aka Trojan CAD-Master Lightpen (Trojan)&lt;br /&gt;
* [[ASS Light-Pen]] ([[ASS]])&lt;br /&gt;
* [[Dart Light Pen]] ([[Dart Electronics]])&lt;br /&gt;
* [[Datapen]] ([[Datapen Microtechnology Ltd]])&lt;br /&gt;
* [[dk'tronics Lightpen|Dk'tronics Light Pen]] ([[Dk'tronics]])&lt;br /&gt;
* [[Happy Computer Light Pen]] (DIY from german magazine)&lt;br /&gt;
* [[Light Pen Professional / Mark II (Electric Studio)|Light Pen Professional / Mark II]] ([[Electric Studio]])&lt;br /&gt;
* [[Lindy Light Pen]] ([[Lindy]])&lt;br /&gt;
&lt;br /&gt;
=== Mouse ===&lt;br /&gt;
&lt;br /&gt;
* [[Albireo]] with USB mouse ([[PulkoTronics]] / DIY)&lt;br /&gt;
* [[AMX Mouse]] (Advanced Memory Systems)&lt;br /&gt;
* [[PS2Mouse|AMX Compatible PS/2 and USB Mouse Adapter]] (DIY)&lt;br /&gt;
* [[Atari-ST mouse adapter]] (DIY) ([[Schneider Magazin]])&lt;br /&gt;
* [[dk'tronics Mouse Interface|Dk'tronics Mouse Interface]] ([[Dk'tronics]])&lt;br /&gt;
* [[CPC-Mousepack 2.0]] (Gerdes/Centaur/Reis-ware/ASS)&lt;br /&gt;
* [[Electric Studio Mouse]] ([[Electric Studio]])&lt;br /&gt;
* [[GEOS mouse|GEOS mouse]] ([[Commodore 64|C64]])&lt;br /&gt;
* [[Genius mouse]] ([[Datel Electronics]])&lt;br /&gt;
* [[Kempston Mouse]] (Kempston)&lt;br /&gt;
* [[Marconi|Marconi trackball]]&lt;br /&gt;
* [[Serial RS232 Mouse]]&lt;br /&gt;
* [[SYMBiFACE II:PS/2 mouse|PS/2 mouse]] of [[SYMBiFACE II]]&lt;br /&gt;
* [[Wireless mouse (DIY)]] (what is this?) (added 19 August 2006 by CPCLER)&lt;br /&gt;
&lt;br /&gt;
=== Others ===&lt;br /&gt;
&lt;br /&gt;
* [[CPCKey|Attaching an AT keyboard to the CPC]]&lt;br /&gt;
* [[Grafpad II]] (Hegotron/British Micro/Grafsales)&lt;br /&gt;
* [[Graphiscop II]] (M.M.C.)&lt;br /&gt;
* [[Keyboard Membrane Repair/Replacement Guide|Keyboard Repair/Replacement]]&lt;br /&gt;
&lt;br /&gt;
== Memory expansions / ROM boxes ==&lt;br /&gt;
&lt;br /&gt;
=== Memory Expansions / RAM discs ===&lt;br /&gt;
&lt;br /&gt;
* ([[Standard Memory Expansions]])&lt;br /&gt;
* [[ANTA 64K Memory Expansion]] ([[MHT Ingenieros]])&lt;br /&gt;
* [[CPC4MB| CPC4MB - 4 MB memory expansion]] ([[Yarek]])&lt;br /&gt;
* [[c't 512 KB internal RAM expansion]] (DIY) (c't magazine)&lt;br /&gt;
* [[Data Media Memory Expansion]] ([[Data Media]])&lt;br /&gt;
* [[Dk'tronics memory expansion‎|Dk'tronics Memory Expansion and Silicon Disc]] ([[Dk'tronics]])&lt;br /&gt;
* [[Dobbertin Memory Expansion]] ([[Dobbertin]]) - 64 KB to 512 KB RAM&lt;br /&gt;
* [[Inicron RAM-Box]] (Inicron) - 512 KB RAM&lt;br /&gt;
* [[Old School 512K and 1MByte RAM Expansions]] (Revaldinho) - RAM expansions built with just SRAM and 74 Series standard logic&lt;br /&gt;
*[[Universal 512K and 1MByte RAM Expansions]] (Revaldinho) - RAM expansions enabling CPC464s to run FutureOS and other 6128 only software&lt;br /&gt;
* [[Otten &amp;amp; Fecht 1 MB RAM-Disc]] ([[Otten/Fecht]])&lt;br /&gt;
* [[Phoenix M64]] - 64 KB RAM&lt;br /&gt;
* [[RAM BOX]] 512 KB memory expansion&lt;br /&gt;
* [[RAM7 2MB memory expansion]] ([[RAM7]]) - 2 MB RAM&lt;br /&gt;
* [[SYMBiFACE II]] - 512 KB RAM&lt;br /&gt;
* [[Vortex Expansions RAM card]] ([[Vortex Computersysteme|Vortex]]) - 512 KB RAM&lt;br /&gt;
* [[X-MEM]] ([[TotO]]) - 512KB RAM and 512KB ROM&lt;br /&gt;
* [[Y-MEM]] ([[TotO]]) - 512KB RAM and 512KB ROM&lt;br /&gt;
* [[Z-MEM]] ([[TotO]]) - 1MB RAM&lt;br /&gt;
&lt;br /&gt;
=== ROM Box / ROM Board ===&lt;br /&gt;
&lt;br /&gt;
* [[ACU Romboard (DIY)|ACU Romboard]] (DIY) ([[Phil Craven]]/[[Amstrad Computer User|ACU]])&lt;br /&gt;
* [[ACU Romchanger]] (DIY) ([[Phil Craven]]/[[Amstrad Computer User|ACU]]) - a CPC6128 ROM (BIOS v3, BASIC v1.1) upgrade for the CPC464&lt;br /&gt;
* [[AD1 ROM Cartridge]] ([[Arnor]])&lt;br /&gt;
* [[AMRAM]] ([[Silicon Systems]])&lt;br /&gt;
* [[AMRAM2]] ([[Silicon Systems]])&lt;br /&gt;
* [[Amstrad ROM Expander]] (DIY) (Practical Electronics/Simon Dean)&lt;br /&gt;
* [[Britannia ROM Board]] aka ROM Plus ([[Britannia Software Ltd]])&lt;br /&gt;
* [[Campursoft_ROM_Board]]&lt;br /&gt;
* [[Cirkit HX-RX1 Rom Expansion Card]] ([[Cirkit]]) (what is this?) (added  3 September 2006 by Torn) (also listed on [[Hwlist from retroisle]])&lt;br /&gt;
* [[CPC.Flash]] internal/external 4MB ROM upgrade ([[Yarek]])&lt;br /&gt;
* [[CPC GX4000-Multi EPROM Cartridge]] Use a GX cartridge for modified ROM software&lt;br /&gt;
* [[Dobbertin EPROM 224]] ([[Dobbertin]])&lt;br /&gt;
* [[FlashGordon]] ([[PulkoTronics]]) 512 KB ROM simulator using Flash, in-system programmable&lt;br /&gt;
* [[Fleet EPROM Programmer|Fleet EPROM Programmer]] (F.Kup and Fleet Microsystems Ltd.)&lt;br /&gt;
* [[FO-DOS|FO-DOS Cartridge]] - a CPC6128 ROM (BIOS v3, BASIC v1.1) upgrade for the CPC464 ([[Duchet Computers]])&lt;br /&gt;
* [[Hexam]] ([[Ace Software]])&lt;br /&gt;
* [[Honeysoft ROM Board]] ([[HoneySoft]])&lt;br /&gt;
* [[Inicron ROM-RAM-Box]] (Inicron)&lt;br /&gt;
* [[John Morrison EPROM Programmer]] ([[John Morrison]])&lt;br /&gt;
* [[KDS Sideways ROM Board]] ([[KDS Electronics]])&lt;br /&gt;
* [[LowerROM]] ([[Bryce]])&lt;br /&gt;
* [[Maplin ROM Box]] ([[Maplin]])&lt;br /&gt;
* [[MegaFlash]] (DIY - Bryce) 512 KB ROM simulator using Flash, in-system programmable&lt;br /&gt;
* [[MegaROM]] (DIY - Bryce) 128K / 256K ROMBoard&lt;br /&gt;
* [[Microgenic ROM Board]] ([[Microgenic Systems]])&lt;br /&gt;
* [[Microgenic EPROM Programmer]] ([[Microgenic Systems]])&lt;br /&gt;
* [[Microstyle RAMROM]] ([[Microstyle]])&lt;br /&gt;
* [[Microstyle ROM Board Xtra]] ([[Microstyle]])&lt;br /&gt;
* [[POKROM]] (DIY) (Electronique Radio Plans, issue 517)&lt;br /&gt;
* [[Ramcard 128]] (a ROM emulator) ([[RAM7]])&lt;br /&gt;
* Revaldinho ROM cards - open source projects&lt;br /&gt;
** [https://github.com/revaldinho/cpc_ram_expansion/wiki/CPC-Eightrom-Card EightROM Card] - an all 74 series, through-hole ROM card&lt;br /&gt;
** [https://github.com/revaldinho/cpc_ram_expansion/wiki/CPC-Sixrom-Card SixROM Card ] - a CPLD based ROM card allowing application and firmware ROM replacement&lt;br /&gt;
* [[Rombo Rombox]] ([[Rombo Productions]])&lt;br /&gt;
* [[RomboRedux|Rombo Redux]] Remake of the Rombo Rombox (The Equalizor)&lt;br /&gt;
* [[Schneiderware EPROM Burner]] (DIY) ([[CPC Schneider International]])&lt;br /&gt;
* [[Schneiderware Pseudo ROM]] (DIY) ([[CPC Schneider International]])&lt;br /&gt;
* [[Sideways ram]] (Paul Townsend)&lt;br /&gt;
* [[SuperPower ROM Box]] ([[Micro Power Ltd.]])&lt;br /&gt;
* [[Universeller EPROM Programmer 4004]] ([[Dobbertin]])&lt;br /&gt;
* [[X-MEM]] ([[ACME]])&lt;br /&gt;
* [[X-ROM]] Eprom programmer and ROM Board ([[Timatic Systems]])&lt;br /&gt;
&lt;br /&gt;
== Monitors ==&lt;br /&gt;
* Computers [[monitor_compatible|compatible]] with Amstrad Monitors&lt;br /&gt;
* [[CM14|Amstrad CM14]] Colour Monitor (for CPC Plus)&lt;br /&gt;
* [[CTM640/CTM644|Amstrad CTM640/CTM644]] Color Monitor (for CPC 464/664/6128)&lt;br /&gt;
* [[GT64/GT65|Amstrad GT64/GT65]] Green Monitor (for CPC 464/664/6128)&lt;br /&gt;
* [[MM12|Amstrad MM12]] Monochrome Monitor (for CPC Plus)&lt;br /&gt;
* [[Amstrad MP1/MP2 modulator]]&lt;br /&gt;
* [[Amstrad MPV 001 modulator]] (Spanish MP1)&lt;br /&gt;
* [[MP2F|Amstrad MP-2F Scart Adapter]] (French MP2)&lt;br /&gt;
* [[MP-3|Amstrad MP-3 TV Tuner for CTM 644]]&lt;br /&gt;
* [[MPS Modulator]] Modulator made in Greece from MPS&lt;br /&gt;
* [[Dk'tronics TV Tuner]] ([[Dk'tronics]]) (similar to MP-3)&lt;br /&gt;
* [[Screenvision TV Tuner]] (Screens Microcomputers &amp;amp; Electronics Ltd.) (similar to MP-3)&lt;br /&gt;
* CPCI HF-modulator (CPC Schneider International 11/1986, Page 78ff. Someone please scan it, my issue lacks those pages!)&lt;br /&gt;
* [[TV SCART cable]] (DIY)&lt;br /&gt;
* [[LCD And Plasma TV Solution]] (DIY) - Composite Sync&lt;br /&gt;
* [[LCD monitor and LCD TV Solution (RGB)]] (DIY) - RGB (Scart, VGA, HDMI)&lt;br /&gt;
* [[Videomaster]] Modulator made in 1993 by Campursoft&lt;br /&gt;
&lt;br /&gt;
== Multi function expansions ==&lt;br /&gt;
&lt;br /&gt;
* [[Albireo]] ([[PulkoTronics]] / DIY)&lt;br /&gt;
* [[CPC Booster|CPC Booster/CPC Booster+]]&lt;br /&gt;
* [[CPCISA]] ([[Siou]])&lt;br /&gt;
* [[CPCMax!]]&lt;br /&gt;
* [[CPCX]]&lt;br /&gt;
* [[Full Expandable Interface]] ([[Timatic Systems]])&lt;br /&gt;
* [[PlayCity]]&lt;br /&gt;
* [[SYMBiFACE II]]&lt;br /&gt;
&lt;br /&gt;
== Printers ==&lt;br /&gt;
&lt;br /&gt;
* ([[8bit Printer Ports]])&lt;br /&gt;
* ([[Amstrad Printers]])&lt;br /&gt;
* [[DMP1]] printer ([[Amstrad]]) ([[Seikosha]] Unihammer printer)&lt;br /&gt;
* [[DMP2000]] printer ([[Amstrad]]/[[Schneider]]) ([[Epson]]-compatible 9-pin printer)&lt;br /&gt;
* [[DMP2160]] printer ([[Amstrad]]/[[Schneider]]) (fast version of DMP2000)&lt;br /&gt;
* [[DMP3000]] printer ([[Amstrad]]/[[Schneider]]) (gray PC-version of DMP2000 with more ROM/RAM and IBM charset)&lt;br /&gt;
* [[DMP3160]] printer ([[Amstrad]]/[[Schneider]]) (fast version of DMP3000)&lt;br /&gt;
* [[DMP3250]]di printer ([[Amstrad]]) (dual interface version of DMP3160) (centronics + RS232)&lt;br /&gt;
* [[DMP4000]] printer ([[Amstrad]]/[[Schneider]]) ([[Epson]]-compatible 9-pin 16&amp;quot; wide printer)&lt;br /&gt;
* [[LD6000]] laser printer ([[Amstrad GmbH]]) (re-badgered Sharp printer, for German market only)&lt;br /&gt;
* [[LQ3500]](di) printer ([[Amstrad]]/[[Schneider]]) ([[Epson]]-compatible 24-pin printer)&lt;br /&gt;
* [[LQ5000]]di printer ([[Amstrad]]) ([[Epson]]-compatible 24-pin 16&amp;quot; wide printer)&lt;br /&gt;
* [[Robotron 6313|EuroPrint FT80X, Robotron 6313, Präsident 6320]] (east German)&lt;br /&gt;
* [[NLQ401|Schneider NLQ401]] ([[Schneider]]) (custom 9-pin printer, German counterpart of the DMP1)&lt;br /&gt;
* [[Star Printers]] (Star Micronics Co., Ltd.)&lt;br /&gt;
&lt;br /&gt;
== Real Time Clocks ==&lt;br /&gt;
&lt;br /&gt;
* [[ACU Real Time Clock (DIY)|ACU Real Time Clock]] (DIY) (without year counter) ([[Amstrad Computer User|ACU]])&lt;br /&gt;
* [[Aleste 520EX]] (a CPC clone with built-in RTC) ([[Patisonic]])&lt;br /&gt;
* [[Real Time Clock|CPCI Real Time Clock]] (DIY) ([[CPC Schneider International Sonderheft]])&lt;br /&gt;
* [[Dk'tronics Real Time Clock]] ([[Dk'tronics]])&lt;br /&gt;
* [[Dobbertin Smart Watch]] (the RTC itself is inserted like a ROM) ([[Dobbertin]])&lt;br /&gt;
* [[Schneiderware Real Time Clock]] (DIY) ([[CPC Schneider International]])&lt;br /&gt;
* [[SYMBiFACE_II:Realtime_clock|Realtime Clock]] of [[SYMBiFACE_II]] (modern RTC with bugged century counter)&lt;br /&gt;
* [[Realtime Clock of SYMBiFACE III]]&lt;br /&gt;
* [[uRTC-8 Universal RTC for Z80 computers]] (JonB)&lt;br /&gt;
* [[Nova]] ([[PulkoTronics]])&lt;br /&gt;
&lt;br /&gt;
== Synthesizer, sampler and music related ==&lt;br /&gt;
&lt;br /&gt;
* [[Amdrum]] (Playback) ([[Cheetah]])&lt;br /&gt;
* [[Amstrad SSA-1 Speech Synthesizer]] (Speech) ([[Amstrad]])&lt;br /&gt;
* [[CPC Booster|CPC Booster/CPC Booster+]] (Stereo Sampling/Playback) ([[Antitec]]/[[Dirty Minds]])&lt;br /&gt;
* [[Datel Digital Sound Sampler]]/[[Datel Electronics]]&lt;br /&gt;
* [[Digiblaster]] (Playback) (DIY) (8-bit DAC on printer port) ([[CPC Amstrad International]])&lt;br /&gt;
* [[Soundplayer]] (8-bit mono playback) ([[Futurs']])&lt;br /&gt;
* [[Soundplayer|Soundplayer+]] (8-bit mono playback) ([[Futurs']])&lt;br /&gt;
* [[Soundplayer|SoundplayerNG]] (DIY) (8-bit mono playback) ([[Futurs']])&lt;br /&gt;
* [[Digivox sampler]] (EMM)&lt;br /&gt;
* [[Dk'tronics Speech Synthesizer]] (Speech) ([[Dk'tronics]])&lt;br /&gt;
* [[DHCP MIDI Interface]] (DHCP Electronics)&lt;br /&gt;
* [[EMR MIDI Interface]] (MIDI) ([[EMR|ElectroMusic Research]])&lt;br /&gt;
* [[FuturePlayer]] (modern MP3 playback, max 128kbps) (Hard: Dr.Zed, Soft: TFM)&lt;br /&gt;
* [[LambdaSpeak]]&lt;br /&gt;
* [[Maestro]] (Amplifier/Speakers) (Vanguard Leisure Ltd.)&lt;br /&gt;
* [[Magic Sound Board]] for [[Aleste 520EX]] (four channel DMA playback) ([[Patisonic]])&lt;br /&gt;
* [[Mini Interface for connection to MK5 MIDI Keyboard]] ([[Cheetah]])&lt;br /&gt;
* [[Music Machine]] (Sampling/Playback/MIDI) ([[Ram Electronics]])&lt;br /&gt;
* [[MHT Speech Synthesizer]] (Speech) ([[MHT Ingenieros]])&lt;br /&gt;
* [[Silicon Systems MIDI Interface]] ([[Silicon Systems]])&lt;br /&gt;
* [[Sound Blaster]] (Amplifier/Speakers) ([[Siren Software]])&lt;br /&gt;
* [[TechniMusique Synthetiseur Musical|TMPI Musical Synthesizer]] (12 voices) ([[TechniMusique]])&lt;br /&gt;
* [[TMPI speech synthesizer|TMPI Speech Synthesizer]] (Speech) ([[TechniMusique]])&lt;br /&gt;
* [[Unconventional use of hardware to produce sounds]]&lt;br /&gt;
&lt;br /&gt;
== Cartridge ==&lt;br /&gt;
&lt;br /&gt;
* [[C4CPC|C4CPC]]  a modern cartridge replacement for the Amstrad Plus range and the GX4000.&lt;br /&gt;
* [[Plus2CPC|Plus2CPC]]  an expansion board to add a Plus cartridge port to the standard CPC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
&lt;br /&gt;
* [[RP-1 CPC 464 Diagnostic PCB]]&lt;br /&gt;
* 64 Kb Printer Buffer (DIY) (what is this?) (added 19 August 2006 by CPCLER)&lt;br /&gt;
* [[Ambug|Ambug Robot]] (DIY) ([[Magenta Electronics Ltd.]])&lt;br /&gt;
* [[Amstore]] (network with 20MB harddisk) (Northern Computers)&lt;br /&gt;
* [[Amstrad Autofire Interface and Combined Mouse Interface|Amstrad Autofire Interface and Combined Mouse Interface]] (Unknown firm??)&lt;br /&gt;
* Amstrad Expansion System Part 2 ([[Maplin]]) - appeared in Project book 19 (for Part 1 see [[Maplin ROM Box]])&lt;br /&gt;
* [[Amstrad CT-1 Radio/Alarm-Clock]] ([[Amstrad]])&lt;br /&gt;
* [[CPCISA]] ([[Siou]])&lt;br /&gt;
* [[Data Media Printerinterface]] (printer splitter for connecting 2 or 3 software-selectable printers to the CPC) ([[Data Media]])&lt;br /&gt;
* [[DCP Interpacks]] (DCP Microdevelopments)&lt;br /&gt;
* [[Dust Covers]]&lt;br /&gt;
* [[Fischertechnik Interface]] for use with the [[Fischertechnik Trainingsrobot]], the [[Fischertechnik Plotter/Scanner]], and the [[Fischertechnik Computing Experimental]] kit.&lt;br /&gt;
* [[HDCPC]] (what is this?) (added 21 August 2006 by 85.218.166.50) (according to [[Dobbertin Harddisc|this page]], HDCPC is a modern IDE harddisk interace, but it's unknown who developed that thing?)&lt;br /&gt;
* [[Hexam]] ([[ACE Software]])&lt;br /&gt;
* [[Jagot &amp;amp; Leon Interface Cards]] ([[Jagot &amp;amp; Leon]])&lt;br /&gt;
* [[KDS Power Controller]] (a box with eight relays) ([[KDS Electronics]])&lt;br /&gt;
* [[Kersten PC Emulator]]&lt;br /&gt;
* [[Maplins 8bit Input Port]] ([[Maplin]]) (among others for use with Maplin's Weather Satellite Decoder)&lt;br /&gt;
* [[Maplin ROM Box|Maplins 6x8bit Input/Output Port]] ([[Maplin]]) (an extension to Maplin's &amp;quot;Rombox&amp;quot; project)&lt;br /&gt;
* [[Maplins Weather Satellite Receiver]] ([[Maplin]])&lt;br /&gt;
* [[Oktett]] (multimeter/oscilloscope) ([[Otten/Fecht]])&lt;br /&gt;
* [[Peripheral Soft Reset]] (System BIOS Feature for Peripherals)&lt;br /&gt;
* [[Schneiderware]] (a series of [[ECB Bus]] based DIY projects that were released in [[CPC Schneider International]] magazine)&lt;br /&gt;
* [[Split Extension Connector|Cheetah Marketing Split Extension Connector]] ([[Cheetah]])&lt;br /&gt;
* Teleterminal 300s (reportedly &amp;quot;simulates&amp;quot; rs232; connects to printer port; for use with acoustic coupler, see review in CPCI 8-1985, page 55-56)&lt;br /&gt;
* [[Slomo]] A device to reduce the execution speed of the Amstrad CPC (also available for other machines) by [[Nidd Valley Micro Products]], Ltd. (UK)&lt;br /&gt;
&lt;br /&gt;
Some further (unsorted) peripherals are found here: [[Hwlist from retroisle]]. More DIYs are listed on [[Happy Computer (Schneider Sonderheft)]] (those german magazine articles aren't yet scanned).&lt;br /&gt;
&lt;br /&gt;
[[Category:Peripherals| ]][[Category:Hardware|*]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=CPCISA&amp;diff=109265</id>
		<title>CPCISA</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=CPCISA&amp;diff=109265"/>
				<updated>2022-09-10T08:19:11Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: Created page with &amp;quot;Category:Peripherals Prototype of the CPCISA card  === What it is ===  CPCISA is a project created by Siou, also hosted/worked on at...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Peripherals]]&lt;br /&gt;
[[Image:Cpcisa2b.jpg|200px|thumb|Prototype of the CPCISA card]]&lt;br /&gt;
&lt;br /&gt;
=== What it is ===&lt;br /&gt;
&lt;br /&gt;
CPCISA is a project created by [[Siou]], also hosted/worked on at [[Yarek]].&lt;br /&gt;
&lt;br /&gt;
Basically, it is a hardware add-on that lets you connect ISA cards to your old CPC! Some examples of what it can offer:&lt;br /&gt;
*An I/O interface (Serial and parallel ports, Floppy and IDE ports)&lt;br /&gt;
*An internal (card) modem (probably a full-featured modem is needed; that is, not a winmodem/softmodem)&lt;br /&gt;
*A SoundBlaster card (or 100% compatible)&lt;br /&gt;
*A network card&lt;br /&gt;
&lt;br /&gt;
ISA cards were almost fully supported, including 16-bit mode and vectorized interrupts(thru Z80 IM2). Only video cards were not supported (CPCISA decodes only I/O ports, not memory mapped VRAM).&lt;br /&gt;
&lt;br /&gt;
=== Status ===&lt;br /&gt;
&lt;br /&gt;
The card is working, however only five of them were built (including the initial dev board). This is because the card was complex and outdated, ISA peripherals and the AT standard became old and difficult to find.&lt;br /&gt;
&lt;br /&gt;
Most CPCISA softwares were created by Siou himself (IDE hard disk, ethernet and mouse drivers, as well a an audio sample player thru SoundBlaster 8-bit interface). Initial OS support was done by [[Futur's]] with a set of two ROMs (&amp;quot;Interrupt Lib&amp;quot; ROM to add vectorized interrupt support to Locomotive Firmware, and &amp;quot;ISA ROM&amp;quot; with low level ISA routines). [[Madram]] also created an Adlib music player supporting SA2 module files, which was later adapted by [[PulkoMandy]] to play these modules with the [[Willy]] card equipped with a OPL3LPT device.&lt;br /&gt;
&lt;br /&gt;
It was mostly a proof of concept; none of the drivers and software came to a state really usable for the end user (no filesystem support, no TCP/IP stack...).&lt;br /&gt;
&lt;br /&gt;
=== Additional info ===&lt;br /&gt;
*[http://siou.free.fr/General/Pages/index-cpc6128.html Siou's page on CPCISA]. Siou is the creator of the system.&lt;br /&gt;
*[http://futurs.chez.com/FElectro.html Some more information about CPCISA from Futurs' website (French)]&lt;br /&gt;
*[http://futurs.chez.com/FTelecharge.html Where to download and get information about &amp;quot;Interrupt Lib&amp;quot; and &amp;quot;ISA ROM&amp;quot; from Futurs' website (French).]&lt;br /&gt;
*[http://8bit.yarek.pl/interface/cpc.cpcisa/index.html Yarek's CPCISA page] about making a CPC-Isa compatible system which would connect to a full 286 AT PC motherboard.&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Peripheral_Soft_Reset&amp;diff=109261</id>
		<title>Peripheral Soft Reset</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Peripheral_Soft_Reset&amp;diff=109261"/>
				<updated>2022-09-06T15:43:05Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: /* Known Hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Port F8FFh is a documented, but rarely known I/O address, used by the standard BIOS functions MC_BOOT_PROGRAM and MC_START_PROGRAM (vector BD13h and BD16h). These functions are usually executed when starting a binary program with RUN&amp;quot;FILENAME.BIN&amp;quot;, both functions do issue an &amp;quot;OUT [F8FFh],FFh&amp;quot;. This feature is intended to allow Peripherals to re-initialize themselves when needed. From the official [[SOFT158]] specs:&lt;br /&gt;
&lt;br /&gt;
:&amp;quot;All expansion peripherals should be reset when an output is performed to I/O channel #F8FF. In particular a peripheral that generates interrupts must not generate an interrupt until it is re-initialised after such an output has been performed.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Most or all peripherals (including Amstrad's own [[DDI-1]]) aren't following that suggestion, and usually there is no need to do so. There may be a few special cases there hardware could take use of it, such like interrupt generating devices, especially if they do access formerly allocated memory.&lt;br /&gt;
&lt;br /&gt;
== Avoid this ==&lt;br /&gt;
&lt;br /&gt;
* Software should never write to (or even read from) Port F8FFh. That might cause connected Peripherals to reset themselves.&lt;br /&gt;
&lt;br /&gt;
* Hardware should not perform any actions (other than the intended Soft Reset action) upon accessing Port F8FFh. Eg. producing hardware that formats the disc on write to Port F8FFh would be no good. This applies also on incompletely decoded addresses, eg. formatting on write to Port F8F0h, but also mirroring that action to F8FFh.&lt;br /&gt;
&lt;br /&gt;
* When intentionally using the feature, be sure to have the port fully decoded. Ie. do not re-initialize your hardware on writes to other 'nearby' ports like F8EFh ([[Schneider RS232 Interface]]).&lt;br /&gt;
&lt;br /&gt;
== Known Hardware ==&lt;br /&gt;
&lt;br /&gt;
The Soft Reset feature is useful (initialize hardware expansions), but no used a lot; the [[PlayCity]], [[Nova]] and [[CPCISA by Yarek|CPCISA]] are the only hardware expansion using intentionally this feature (though when reverse engineering things by only examining the software drivers one may easily miss its presence, since the OUT [F8FFh] is issued by the BIOS, not by the driver).&lt;br /&gt;
&lt;br /&gt;
Moreover, there are probably various devices that do not directly use Port F8FFh, but that do react to the OUT because of incomplete port decoding. For example, the [[ACU Real Time Clock (DIY)]] decodes only A10,A4,A3 of its Port FBFFh, and so, it will also react to OUT [F8FFh],FFh.&lt;br /&gt;
&lt;br /&gt;
== Offical Specs ==&lt;br /&gt;
&lt;br /&gt;
* [[Media:S158ap12.pdf|SOFT 158 Appendix 12 (XII) (The Hardware)]] - general info on Port F8FFh (page 3)&lt;br /&gt;
* [[Media:S968ap13.pdf|SOFT 968 Appendix 13 (XIII) (Hints Tips and Workarounds)]] - info on Port F8FFh and interrupts (page 7)&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Peripheral_Soft_Reset&amp;diff=109260</id>
		<title>Peripheral Soft Reset</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Peripheral_Soft_Reset&amp;diff=109260"/>
				<updated>2022-09-06T11:46:20Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: /* Known Hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Port F8FFh is a documented, but rarely known I/O address, used by the standard BIOS functions MC_BOOT_PROGRAM and MC_START_PROGRAM (vector BD13h and BD16h). These functions are usually executed when starting a binary program with RUN&amp;quot;FILENAME.BIN&amp;quot;, both functions do issue an &amp;quot;OUT [F8FFh],FFh&amp;quot;. This feature is intended to allow Peripherals to re-initialize themselves when needed. From the official [[SOFT158]] specs:&lt;br /&gt;
&lt;br /&gt;
:&amp;quot;All expansion peripherals should be reset when an output is performed to I/O channel #F8FF. In particular a peripheral that generates interrupts must not generate an interrupt until it is re-initialised after such an output has been performed.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Most or all peripherals (including Amstrad's own [[DDI-1]]) aren't following that suggestion, and usually there is no need to do so. There may be a few special cases there hardware could take use of it, such like interrupt generating devices, especially if they do access formerly allocated memory.&lt;br /&gt;
&lt;br /&gt;
== Avoid this ==&lt;br /&gt;
&lt;br /&gt;
* Software should never write to (or even read from) Port F8FFh. That might cause connected Peripherals to reset themselves.&lt;br /&gt;
&lt;br /&gt;
* Hardware should not perform any actions (other than the intended Soft Reset action) upon accessing Port F8FFh. Eg. producing hardware that formats the disc on write to Port F8FFh would be no good. This applies also on incompletely decoded addresses, eg. formatting on write to Port F8F0h, but also mirroring that action to F8FFh.&lt;br /&gt;
&lt;br /&gt;
* When intentionally using the feature, be sure to have the port fully decoded. Ie. do not re-initialize your hardware on writes to other 'nearby' ports like F8EFh ([[Schneider RS232 Interface]]).&lt;br /&gt;
&lt;br /&gt;
== Known Hardware ==&lt;br /&gt;
&lt;br /&gt;
The Soft Reset feature is useful (initialize hardware expansions), but no used a lot, the [[PlayCity]] and [[Nova]] are the only hardware expansion using intentionally this feature (though when reverse engineering things by only examining the software drivers one may easily miss its presence, since the OUT [F8FFh] is issued by the BIOS, not by the driver).&lt;br /&gt;
&lt;br /&gt;
Aside the [[PlayCity]], the other known hardware that is (maybe unintentionally) using Port F8FFh is [[CPCISA by Yarek]]. &lt;br /&gt;
&lt;br /&gt;
Moreover, there are probably various devices that do not directly use Port F8FFh, but that do react to the OUT because of incomplete port decoding. For example, the [[ACU Real Time Clock (DIY)]] decodes only A10,A4,A3 of its Port FBFFh, and so, it will also react to OUT [F8FFh],FFh.&lt;br /&gt;
&lt;br /&gt;
== Offical Specs ==&lt;br /&gt;
&lt;br /&gt;
* [[Media:S158ap12.pdf|SOFT 158 Appendix 12 (XII) (The Hardware)]] - general info on Port F8FFh (page 3)&lt;br /&gt;
* [[Media:S968ap13.pdf|SOFT 968 Appendix 13 (XIII) (Hints Tips and Workarounds)]] - info on Port F8FFh and interrupts (page 7)&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=I/O_Port_Summary&amp;diff=109259</id>
		<title>I/O Port Summary</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=I/O_Port_Summary&amp;diff=109259"/>
				<updated>2022-09-06T11:44:39Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: /* I/O Port Summary */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of all known I/O ports of the Amstrad CPC, including all [[Peripherals]]. For a list showing only the built-in standard addresses see [[Default I/O Port Summary]]. The original list of I/O ports was taken from the [[FutureOS]] handbook.&lt;br /&gt;
&lt;br /&gt;
== I/O Port Summary ==&lt;br /&gt;
Note: While most of these devices can be reached via a range of addresses due to the partial address decoding, code should never use any address other than the canonical one (all 'x'/don't care positions filled by 1's). Otherwise multiple devices will be enabled simultaneously, which is unlikely to be what you want.&lt;br /&gt;
&lt;br /&gt;
{|{{Prettytable|width: 700px; font-size: 2em;}}&lt;br /&gt;
|'''I/O'''||'''Decoded as'''||'''Port'''||'''Read'''||'''Write''' &lt;br /&gt;
|-&lt;br /&gt;
|#1C00||%x0xxxx00 xxxxxxxx||[[Dk'tronics Lightpen]] faulty mirror of #BCXX [[CRTC]] Index|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#1F00||%x0xxxx11 xxxxxxxx||[[Dk'tronics Lightpen]] faulty mirror of #BFXX [[CRTC]] Data In|| Read || -&lt;br /&gt;
|-&lt;br /&gt;
|#78XX||%0xxxx000 xxxxxxxx||[[CPC4MB|4Mb Memory extension]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#79XX||%0xxxx001 xxxxxxxx||[[CPC4MB|4Mb Memory extension]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7AXX||%0xxxx010 xxxxxxxx||[[CPC4MB|4Mb Memory extension]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7BXX||%0xxxx011 xxxxxxxx||[[CPC4MB|4Mb Memory extension]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7CXX||%0xxxx100 xxxxxxxx||[[CPC4MB|4Mb Memory extension]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7CXX||%0xxxxx00 xxxxxxxx||[[Aleste 520EX]] RAM Mapper page 0 (extended &amp;quot;Gate Array 3&amp;quot;)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7DXX||%0xxxx101 xxxxxxxx||[[CPC4MB|4Mb Memory extension]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7DXX||%0xxxxx01 xxxxxxxx||[[Aleste 520EX]] RAM Mapper page 1 (extended &amp;quot;Gate Array 3&amp;quot;)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7EXX||%0xxxx110 xxxxxxxx||[[CPC4MB|4Mb Memory extension]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7EXX||%0xxxxx10 xxxxxxxx||[[Aleste 520EX]] RAM Mapper page 2 (extended &amp;quot;Gate Array 3&amp;quot;)||Read||Write&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|#7EXX||%0xxxxxx0 xxxxxxxx||[[Y-MEM]] 512K RAM Expansion part||Read||Write&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|#7FXX||%0xxxx111 xxxxxxxx||[[CPC4MB|4Mb Memory extension]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7FXX||%0xxxxx11 xxxxxxxx||[[Aleste 520EX]] RAM Mapper page 3 (extended &amp;quot;Gate Array 3&amp;quot;)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|#7FXX||%0xxxxxx1 xxxxxxxx||[[X-MEM]] 512K RAM Expansion part||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7FXX||?||[[Dk'tronics memory expansion]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7FXX||?||[[Dobbertin Memory Expansion]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7FXX||%01xxxxxx xxxxxxxx||[[Gate Array]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7FXX||%0xxxxxxx xxxxxxxx||[[PAL16L8]] extension to [[Gate Array]] for 128K RAM banking||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#BCXX||%x0xxxx00 xxxxxxxx||6845 [[CRTC]] Index|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#BDXX||%x0xxxx01 xxxxxxxx||6845 [[CRTC]] Data Out|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#BEXX||%x0xxxx10 xxxxxxxx||6845 [[CRTC]] Status (as far as supported)||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#BFXX||%x0xxxx11 xxxxxxxx||6845 [[CRTC]] Data In (as far as supported)||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#DFXX||%xx0xxxxx xxxxxxxx||[[Upper ROM Bank Number]] (as decoded within CPC664, CPC6128, 464+, 6128+, decoding in ROM expansions may be different)|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#ECXX||%xxx0xx00 xxxxxxxx||[[KC Compact]] CIO Port B (timer)|| Read ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#EDXX||%xxx0xx01 xxxxxxxx||[[KC Compact]] CIO Port C (timer)|| Read ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#EEXX||%xxx0xx10 xxxxxxxx||[[KC Compact]] CIO Control|| Read ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#EEXX||%xxx0xxx0 xxxxxxxx||[[Aleste 520EX]] USART 8251 (RS232/Mouse) Data|| Read ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#EFXX||%xxx0xx11 xxxxxxxx||[[KC Compact]] CIO Port A (Bi-drectional [[Printer Port]])|| Read ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#EFXX||%xxx0xxx1 xxxxxxxx||[[Aleste 520EX]] USART 8251 (RS232/Mouse) Control/Status|| Read ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#EFXX||%xxx0xxxx xxxxxxxx||[[Printer Port]]|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F0E0||?||[[Draysoft Doubler]] External Tape Data Input (Bit5)||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#F4XX||%xxxx0x00 xxxxxxxx||[[8255]] PIO Port A ([[PSG]] Data)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F5XX||%xxxx0x01 xxxxxxxx||[[8255]] PIO Port B (Vsync,[[Printer Port|PrnBusy]],Tape,etc.)||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#F6XX||%xxxx0x10 xxxxxxxx||[[8255]] PIO Port C (KeybRow,Tape,[[PSG]] Control)|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F7XX||%xxxx0x11 xxxxxxxx||[[8255]] PIO Control-Register|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F880-#F88F||%1111100x 1000xxxx||[[PlayCity]] Expansion CTC channels and YMZ data|| - || Write &lt;br /&gt;
|-&lt;br /&gt;
|#F890-#F89F||%1111100x 1--1xxxx||[[MultiPlay]] Expansion (mirror port, use #F9xx)|| Read || - &lt;br /&gt;
|-&lt;br /&gt;
|#F8A0-#F8AF||%11111000 1010xxxx||[[X-CPC]] ClockPort RTC|| Read || Write &lt;br /&gt;
|-&lt;br /&gt;
|#F8B0||?||[[VIDI digitizer|Vidi-CPC Video-Digitiser]], CRTC Index||?||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8B1||?||[[VIDI digitizer|Vidi-CPC Video-Digitiser]], CRTC Data||?||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8DC||?||[[CPCI RS232 Interface|CPCI Serial Interface]] MC6850 Control/Status||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8DD||?||[[CPCI RS232 Interface|CPCI Serial Interface]] MC6850 Data||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E0||?||[[DHCP MIDI Interface]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E0||%11111000 11100000||[[Schneider RS232 Interface]] Z80-STI Indirect Data Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E1||%11111000 11100001||[[Schneider RS232 Interface]] Z80-STI General Purpose I/O Data Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E2||%11111000 11100010||[[Schneider RS232 Interface]] Z80-STI Interrupt Pending Register B (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E2||?||[[Universeller EPROM Programmer 4004|Dobbertin Eprommer 4003]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#F8E3||%11111000 11100011||[[Schneider RS232 Interface]] Z80-STI Interrupt Pending Register A (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E3||?||[[Universeller EPROM Programmer 4004|Dobbertin Eprommer 4003]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#F8E4||%11111000 11100100||[[Schneider RS232 Interface]] Z80-STI Interrupt in-Service Register B (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E4||?||[[Universeller EPROM Programmer 4004|Dobbertin Eprommer 4003]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#F8E5||%11111000 11100101||[[Schneider RS232 Interface]] Z80-STI Interrupt in-Service Register A (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E6||%11111000 11100110||[[Schneider RS232 Interface]] Z80-STI Interrupt Mask Register B (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E6||?||Port A - [[IDE8255]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#F8E7||%11111000 11100111||[[Schneider RS232 Interface]] Z80-STI Interrupt Mask Register A (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E7||?||Port C - [[IDE8255]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#F8E8||%11111000 11101000||[[Schneider RS232 Interface]] Z80-STI Indirect Index and Interrupt Vector Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E8||?||[[Music Machine]] Interrupt Sel|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E9||%11111000 11101001||[[Schneider RS232 Interface]] Z80-STI Timers A and B Control Register (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8EA||%11111000 11101010||[[Schneider RS232 Interface]] Z80-STI Timer B Data Register (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8EB||%11111000 11101011||[[Schneider RS232 Interface]] Z80-STI Timer A Data Register (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8EC||%11111000 11101100||[[Schneider RS232 Interface]] Z80-STI USART Control Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8EC||?||[[Music Machine]] ACIA Control|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8ED||?||[[Music Machine]] ACIA Data Write|| - || Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8ED||%11111000 11101101||[[Schneider RS232 Interface]] Z80-STI Receiver Status Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8EE||?||[[Music Machine]] ACIA Status||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#F8EE||%11111000 11101110||[[Schneider RS232 Interface]] Z80-STI Transmitter Status Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8EF||%11111000 11101111||[[Schneider RS232 Interface]] Z80-STI USART Data Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8EF||?||[[Music Machine]] ACIA Data Read||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#F8FX||%xxxxx0xx 1111NNNx||[[Maplins 8bit Input Port]] and [[Maplins Weather Satellite Receiver]]||Read|| -&lt;br /&gt;
|-&lt;br /&gt;
|#F8F0||?||[[Music Machine]] DAC Write|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8F2||?||[[EMR MIDI Interface]]|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8F2||?||[[Universeller EPROM Programmer 4004|Dobbertin Eprommer 4003]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|#F8F2||?||[[EMR MIDI Interface]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8F4||?||[[Music Machine]] ADC Read||Read|| - &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|#F8F5||?||[[ARA Video Digitizer]] - Read Sync Signal (bit0)||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#F8F8||?||[[Music Machine]] ADC Start|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8F8||?||[[ANTA 64K Memory Expansion]] ANTA 64k.3 latch||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8FE||%11111000 11111110||[[Z-MEM]] Software Memory Configuration|| - || Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8FF||%1111100x 111xxxxx||[[CPCISA by Yarek|CPCISA control port]]|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8FF||%xxxxx0xx 111111xx||[[Peripheral Soft Reset]] (MC_BOOT_PROGRAM and MC_START_PROGRAM do OUT [F8FF],FF)|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F980-#F98F||%1111100x 1000xxxx||[[PlayCity]] Expansion CTC channels (mirror) and YMZ registers|| - || Write&lt;br /&gt;
|-&lt;br /&gt;
|#F990-#F99F||%1111100x 1--1xxxx||[[MultiPlay]] Expansion|| Read || - &lt;br /&gt;
|-&lt;br /&gt;
|#F9A0-#F9AF||%11111001 1010xxxx||[[X-CPC]] ClockPort SPR|| Read || Write &lt;br /&gt;
|-&lt;br /&gt;
|#F9B0||?||[[VIDI digitizer|Vidi-CPC Video-Digitiser]], Config (W) and Capture Data (R)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9D0||%11111000 11010000||[[Sid|SwinSID part of SONIQUE Sound Board WIP]] by [[User:DaDMaN|DaDMaN]] SwinSID1 + SwinSID2 DATA (MONO Mode / 3 Channels)||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9D1||%11111000 11010001||[[Sid|SwinSID part of SONIQUE Sound Board WIP]] by [[User:DaDMaN|DaDMaN]] SwinSID1 (LEFT) DATA (STEREO Mode / 6 Channels)||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9D2||%11111000 11010010||[[Sid|SwinSID part of SONIQUE Sound Board WIP]] by [[User:DaDMaN|DaDMaN]] SwinSID2 (RIGHT) DATA (STEREO Mode / 6 Channels)||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9DC||?||[[Panda Electronics Communications Interface Unit]] PPI Port A - 8bit Printer data||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9DD||?||[[Panda Electronics Communications Interface Unit]] PPI Port B - 8bit general purpose I/O port||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9DE||?||[[Panda Electronics Communications Interface Unit]] PPI Port C - Handshake (bit0=Strobe.out, Bit5=Busy.in)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9DF||?||[[Panda Electronics Communications Interface Unit]] PPI Control - 8bit Printer data|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9E6||?||Port B - [[IDE8255]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#F9E7||?||RS Port - [[IDE8255]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#F9F5||?||[[ARA Video Digitizer]] - Reset 10bit Config Value|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9F7||?||[[Grafpad II|Hegotron grafpad II]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#F9FC - #F9FE||?||[[Otten &amp;amp; Fecht 1 MB RAM-Disc]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9FF||?||[[Grafpad II|Hegotron grafpad II]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#FA7E||%xxxxx0x0 0xxxxxxx||Floppy Motor Control (for [[765 FDC]])|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FABC||%xxxxx0x0 10xxxx00||[[Aleste 520EX]] EXTPORT with CS53: Forward PPI Port A to 8253 Timer 0|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FABD||%xxxxx0x0 10xxxx01||[[Aleste 520EX]] EXTPORT with CS53: Forward PPI Port A to 8253 Timer 1|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FABE||%xxxxx0x0 10xxxx10||[[Aleste 520EX]] EXTPORT with CS53: Forward PPI Port A to 8253 Timer 2|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FABF||%xxxxx0x0 10xxxx11||[[Aleste 520EX]] EXTPORT with CS53: Forward PPI Port A to 8253 Control|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FABF||%xxxxx0x0 10xxxxxx||[[Aleste 520EX]] EXTPORT (config for internal hardware)|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FAD0||%11111010 11010000||[[Sid|SwinSID part of SONIQUE Sound Board WIP]] by [[User:DaDMaN|DaDMaN]] Select SID (1&amp;amp;2) Register MONO mode||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FAD1||%11111010 11010001||[[Sid|SwinSID part of SONIQUE Sound Board WIP]] by [[User:DaDMaN|DaDMaN]] Select SID1 Register||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FAD2||%11111010 11010010||[[Sid|SwinSID part of SONIQUE Sound Board WIP]] by [[User:DaDMaN|DaDMaN]] Select SID2 Register||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FADC||?||[[Amstrad Serial Interface]] Z80-SIO / DART port A Data Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FADC||?||[[RS-232 para Amstrad|MHT Ingenieros RS232 para Amstrad]] 8251 USART data|| Read || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FADD||?||[[Amstrad Serial Interface]] Z80-SIO / DART port A Control Reg.||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FADD||?||[[RS-232 para Amstrad|MHT Ingenieros RS232 para Amstrad]] 8251 USART control/status|| Read || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FADE||?||[[Amstrad Serial Interface]] Z80-SIO / DART port B Data Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FADF||?||[[Amstrad Serial Interface]] Z80-SIO / DART port B Control Reg.||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FADF||?||[[Cirkit serial interface]] 8251 UART data register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FAE6||?||Port A - [[IDE8255]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#FAE7||?||Port C - [[IDE8255]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#FAEE||?||[[Amstrad SSA-1 Speech Synthesizer]] (faulty mirror used by included RSX driver)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FAEF||%xxxxx0x0 xxx0xxxx||[[Kempston Mouse]] - Mouse Buttons||Read||-&lt;br /&gt;
|-&lt;br /&gt;
|#FAF5||?||[[ARA Video Digitizer]] - Read Capture Data||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#FAF5||?||[[ARA Video Digitizer]] - Increment 10bit Config Value|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FB7E||%xxxxx0x1 0xxxxxx0||[[765 FDC]] (internal) Status Register||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#FB7F||%xxxxx0x1 0xxxxxx1||[[765 FDC]] (internal) Data Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBBD||%xxxxx0xx x0xxxx0x||Ram select mode [[Vortex Expansions RAM card|Vortex SP512]]||?||Write &lt;br /&gt;
|-&lt;br /&gt;
|#FBDC||?||[[Amstrad Serial Interface]] 8253 Timer counter 0||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBDC||?||[[RS-232 para Amstrad|MHT Ingenieros RS232 para Amstrad]] 8253 timer 0 (transmit baudrate)|| Read || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBDD||?||[[Amstrad Serial Interface]] 8253 Timer counter 1||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBDD||?||[[RS-232 para Amstrad|MHT Ingenieros RS232 para Amstrad]] 8253 timer 1 (receive baudrate)|| Read || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBDE||?||[[Amstrad Serial Interface]] 8253 Timer counter 2||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBDE||?||[[RS-232 para Amstrad|MHT Ingenieros RS232 para Amstrad]] 8253 timer 2 (used as 1ms timer)|| Read || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBDF||?||[[Amstrad Serial Interface]] 8253 Timer Modus Select|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBDF||?||[[RS-232 para Amstrad|MHT Ingenieros RS232 para Amstrad]] 8253 timer 0-2 control|| - || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBDF||?||[[Cirkit serial interface]] 8251 UART status/control register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBxx+0||?||CPCI [[Real Time Clock]] Index (DIY)||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBxx+1||?||CPCI [[Real Time Clock]] Data (DIY)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE0||?||[[Dk'tronics Real Time Clock]] - Z80 PIO Port A Data (HD146818P RTC Data bus)|| Read || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE0||?||[[Dobbertin Harddisc]] Data Port||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE1||?||[[Dk'tronics Real Time Clock]] - Z80 PIO Port B Data (General Purpose 8bit I/O Port)|| Read || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE1||?||[[Dobbertin Harddisc]] Status, Reset||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE2||?||[[Dk'tronics Real Time Clock]] - Z80 PIO Port A Control||?|| Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE2||?||[[Dobbertin Harddisc]] Select, Configuration||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE3||?||[[Dk'tronics Real Time Clock]] - Z80 PIO Port B Control||?|| Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE3||?||[[Dobbertin Harddisc]] DMA, Interrupt||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE4||?||[[Dobbertin Harddisc]] Reset||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE6||?||Port B - [[IDE8255]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#FBE7||?||RS Port - [[IDE8255]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#FBE7||?||[[ACU Real Time Clock (DIY)]] Z80-PIO Data In/Out Port A ||Read||Write &lt;br /&gt;
|-&lt;br /&gt;
|#FBE8||?||[[Dk'tronics Real Time Clock]] &amp;quot;4bit latch&amp;quot; (details unknown)|| ? || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE8||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 8253 Timer0 (RX Clock)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE9||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 8253 Timer1 (TX Clock)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBEA||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 8253 Timer2 (not used)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBEB||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 8253 Timer Control||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBEC||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 6850 (reversed bit-order) Control||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBEC||?||[[PDS development system]] Z80 PIO Port A Data (8bit data to/from PC)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBED||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 6850 (reversed bit-order) TX Data||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBED||?||[[PDS development system]] Z80 PIO Port B Data (handshake to/from PC)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBEE||?||[[PDS development system]] Z80 PIO Port A Control||?||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBEE||?||[[Amstrad SSA-1 Speech Synthesizer]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBEE||%xxxxx0x1 xxx0xxx0||[[Kempston Mouse]] - 8bit X position||Read||-&lt;br /&gt;
|-&lt;br /&gt;
|#FBEE||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 6850 (reversed bit-order) Status||Read||-&lt;br /&gt;
|-&lt;br /&gt;
|#FBEF||?||[[PDS development system]] Z80 PIO Port B Control||?||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBEF||%xxxxx0x1 xxx0xxx1||[[Kempston Mouse]] - 8bit Y position||Read||-&lt;br /&gt;
|-&lt;br /&gt;
|#FBEF||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 6850 (reversed bit-order) RX Data||Read||-&lt;br /&gt;
|-&lt;br /&gt;
|#FBEF||?||[[ACU Real Time Clock (DIY)]] Z80-PIO Data In/Out Port B ||Read||Write &lt;br /&gt;
|-&lt;br /&gt;
|#FBF0 - #FBFF||?||[[Otten &amp;amp; Fecht 1 MB RAM-Disc]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBF0||%xxxx1011 1111xxxx||[[AMRAM2]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBF0||%xxxxx011 1111xxx0||[[AMSSIO]] Serial Interface MC6850 Control/Status Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBF1||%xxxxx011 1111xxx1||[[AMSSIO]] Serial Interface MC6850 Data Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBF5||?||[[ARA Video Digitizer]] - Invoke Video Capture|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBF6||?||[[Vortex Disc Drives]] 765 FDC (Vortex,ext) Status Register||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#FBF7||?||[[Vortex Disc Drives]] 765 FDC (Vortex,ext) Data Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBF7||?||[[ACU Real Time Clock (DIY)]] Z80-PIO Configure Port A ||Read||Write &lt;br /&gt;
|-&lt;br /&gt;
|#FBF8||%11111011 11111000||[[8bit Printer Port (Amstrad Action)]] Strobe/Busy||Read||Write &lt;br /&gt;
|-&lt;br /&gt;
|#FBF9||%11111011 11111001||[[8bit Printer Port (Amstrad Action)]] Data|| - ||Write &lt;br /&gt;
|-&lt;br /&gt;
|#FBFE||?||[[Amstrad Magnum Phaser|Magnum Light Phaser]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBFE||?||[[Dart Scanner for DMP-Printers]]||Read||?&lt;br /&gt;
|-&lt;br /&gt;
|#FBFE||?||[[Dk'tronics Speech Synthesizer]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBFE||%xxxxxxxx 11111110||[[TMPI speech synthesizer]] Data Register ||||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBFF||%xxxxxxxx 11111111||[[TMPI speech synthesizer]] Command/Status Register ||Read||Write &lt;br /&gt;
|-&lt;br /&gt;
|#FBFF||?||[[ACU Real Time Clock (DIY)]] Z80-PIO Configure Port B ||Read||Write &lt;br /&gt;
|-&lt;br /&gt;
|#FC00 - #FDFF||%1111110x xxxxxxxx||[[CPCISA by Yarek|CPCISA]] 16bits mode high byte latch||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FC00||?||[[M4 Board]] ACK/KICK|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FC5C||?||[[Z80-SIO dual ports RS232 interface for CPC (French)|French DIY Dual Port RS232]] - Baudrate Selection|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FC7C||?||[[Z80-SIO dual ports RS232 interface for CPC (French)|French DIY Dual Port RS232]] - Z80-SIO Channel A Data||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FC7D||?||[[Z80-SIO dual ports RS232 interface for CPC (French)|French DIY Dual Port RS232]] - Z80-SIO Channel A Control/Status||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FC7E||?||[[Z80-SIO dual ports RS232 interface for CPC (French)|French DIY Dual Port RS232]] - Z80-SIO Channel B Data||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FC7F||?||[[Z80-SIO dual ports RS232 interface for CPC (French)|French DIY Dual Port RS232]] - Z80-SIO Channel B Control/Status||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FCE6||?||Port A - [[IDE8255]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FCE7||?||Port C - [[IDE8255]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FD00 - #FD3F||%11111101 00xxxxxx||[[Programming:SYMBiFACE_II|SYMBiFACE II]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FD08 - #FD0F||%11111101 00001xxx||[[X-Mass|X-MASS]] 2.5&amp;quot; 44-pin IDE interface / DOM / CF adapter (SYMBiFACE II compatible)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FD40 - #FD4F||%11111101 0100xxxx||[[Programming:SYMBiFACE_III|SYMBiFACE III]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FD80 - #FD87||%11111101 10000xxx||CPC-CPLink - FIFO Interface card for Co-processors, incl. Raspberry Pi ||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FDE6||?||Port B - [[IDE8255]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FDE7||?||RS Port - [[IDE8255]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FE00||?||[[M4 Board]] Data|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FE00 - #FFFF||%1111111x xxxxxxxx||[[CPCISA by Yarek|CPCISA]] I/O access (low byte)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FE80 - #FE81||%11111110 1000000x||[[Albireo]] CH376 controller||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FE82||%11111110 10000010||[[Nova]] RTC &amp;amp; NVRAM|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FE84 - #FEA7||%11111110 10xxx1xx||[http://shinra.cpcscene.net/willy.html Willy] Future use or multi-soundchip ||-||-&lt;br /&gt;
|-&lt;br /&gt;
|#FEAC - #FEAD||%11111110 101011xx||[http://shinra.cpcscene.net/willy.html Willy] S2P Dream SAM2965 MIDI synthetizer ||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FEB0 - #FEB7||%11111110 10110xxx||[[Albireo]] serial port||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FEBC - #FEBF||%11111110 101111xx||[http://shinra.cpcscene.net/willy.html Willy] OPL3 ||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FEE6||?||Port A - [[IDE8255]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FEE7||?||Port C - [[IDE8255]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FEE8||%11111110 1110100x||[[Multiface II]] - Enable Multiface II ROM/RAM||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FEEA||%11111110 1110110x||[[Multiface II]] - Disable Multiface II ROM/RAM||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FEF0 - #FEF7||%11111110 11110xxx||[[CPC-CompactFlash]] - IDE registers||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FEF0 - #FEF7||%11111110 11110xxx||[[uIDE 16]] - IDE registers||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FF00 - #FFFF||%11111111 xxxxxxxx||AMSDAP (Amstrad MSx aDAPter, MSX-to-CPC I/O hardware interface (MSX ports #00-#ff)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FF20 - #FF27||%11111111 00100xxx||MP3MSX (MP3 player) via AMSDAP||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FF20 - #FF27||%11111111 00100xxx||SE-ONE (MP3 player, FM radio receiver, USB master interface) via AMSDAP||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FF60 - #FF6F||%11111111 0110xxxx||CPC [[V9990]] [[PowerGraph]] (upcoming graphic card based on the Graphics 9000 for the MSX)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FFXX||%11111111 xxxxxxxx||[[CPC Booster]] (XX=#00..#28 are used now)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FFXX||%11111111 xxxxxxxx||[[Amdrum]] (unsigned 8bit DAC)||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FFE6||?||Port B - [[IDE8255]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FFE7||?||RS Port - [[IDE8255]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Memory Mapped I/O Ports ==&lt;br /&gt;
&lt;br /&gt;
{|{{Prettytable|width: 700px; font-size: 2em;}}&lt;br /&gt;
|'''Mem'''||'''Decoded as'''||'''Port'''||'''Read'''||'''Write''' &lt;br /&gt;
|-&lt;br /&gt;
|#4000-7FFF||%01xxxxxx xxxxxxxx||[[ASIC]] - CPC+/GX4000 registers|| Read || Write&lt;br /&gt;
|-&lt;br /&gt;
|#C00?||%11000000 0000000x||[[Dobbertin Smart Watch]] data read (A0=data)|| Read || -&lt;br /&gt;
|-&lt;br /&gt;
|#C00?||%11000000 0000000x||[[Dobbertin Smart Watch]] data write (A0=data)|| Read || -&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== More Ports ==&lt;br /&gt;
&lt;br /&gt;
Some more I/O addresses (which aren't included in the above list yet) are here:&lt;br /&gt;
* [[Schneiderware Summary]]&lt;br /&gt;
&lt;br /&gt;
== Other I/O Ports ==&lt;br /&gt;
&lt;br /&gt;
A number of peripherals connect to the joystick/printer ports, and so, they do not include &amp;quot;own&amp;quot; I/O addresses. This includes hardware ''other than joysticks/printers'' - for example, mice, robots, audio devices, and simple network adapters. For a more complete list, see corresponding sections on [[Digital Joysticks|Digital Joystick]] and [[Printer Port]] pages.&lt;br /&gt;
&lt;br /&gt;
Aside from I/O addresses, there are some other important I/O signals, for example: [[NMI]] or [[External Interrupt|INT]].&lt;br /&gt;
&lt;br /&gt;
== CPCISA ports for ISA cards ==&lt;br /&gt;
&lt;br /&gt;
{|{{Prettytable|width: 700px; font-size: 2em;}}&lt;br /&gt;
|''Device''||''PC I/O range''||''CPCISA high''||''CPCISA low'' &lt;br /&gt;
|-&lt;br /&gt;
|IDE1||1F0h..1F7h||#FDF0..#FDF7||#FFF0..#FFF7&lt;br /&gt;
|-&lt;br /&gt;
|IDE2||170h..177h||#FD70..#FD77||#FF70..#FF77&lt;br /&gt;
|-&lt;br /&gt;
|Joystick||201h..201h||#FC01..#FC01||#FE01..#FE01&lt;br /&gt;
|-&lt;br /&gt;
|Ethernet||210h..21Fh||#FC10..#FC1F||#FE10..#FE1F&lt;br /&gt;
|-&lt;br /&gt;
|Sound Blaster||220h..23Fh||#FC20..#FC3F||#FE20..#FE3F&lt;br /&gt;
|-&lt;br /&gt;
|LPT2||278h..27Fh||#FC78..#FC7F||#FE78..#FE7F&lt;br /&gt;
|-&lt;br /&gt;
|COM1||2F8h..2FFh||#FCF8..#FCFF||#FEF8..#FEFF&lt;br /&gt;
|-&lt;br /&gt;
|MIDI'||300h..301h||#FD00..#FD01||#FF00..#FF01&lt;br /&gt;
|-&lt;br /&gt;
|MIDI||330h..331h||#FD30..#FD31||#FF30..#FF31&lt;br /&gt;
|-&lt;br /&gt;
|Sound control||370h..371h||#FD70..#FD71||#FF70..#FF71&lt;br /&gt;
|-&lt;br /&gt;
|FDC1||372h..377h||#FD72..#FD77||#FF72..#FF77&lt;br /&gt;
|-&lt;br /&gt;
|LPT1||378h..37Fh||#FD78..#FD7F||#FF78..#FF7F&lt;br /&gt;
|-&lt;br /&gt;
|Sound AD-LIB||388h..38Bh||#FD88..#FD8B||#FF88..#FF8B&lt;br /&gt;
|-&lt;br /&gt;
|VGA||3B0h..3BBh||#FDB0..#FDBB||#FFB0..#FFBB&lt;br /&gt;
|-&lt;br /&gt;
|LPT3||3BCh..3BFh||#FDBC..#FDBF||#FFBC..#FFBF&lt;br /&gt;
|-&lt;br /&gt;
|VGA||3C0h..3DFh||#FDC0..#FDCF||#FFC0..#FFCF&lt;br /&gt;
|-&lt;br /&gt;
|FDC1||3F2h..3F7h||#FDF2..#FDF7||#FFF2..#FFF7&lt;br /&gt;
|-&lt;br /&gt;
|COM1||3F8h..3FFh||#FDF8..#FDFF||#FFF8..#FFFF&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== CPCISA ports for ISA motherboard ==&lt;br /&gt;
&lt;br /&gt;
{|{{Prettytable|width: 700px; font-size: 2em;}}&lt;br /&gt;
|''Device''||''PC I/O range''||''CPCISA high''||''CPCISA low'' &lt;br /&gt;
|-&lt;br /&gt;
|DMA||000h..00Fh||#FC00..#FC0F||#FE00..#FE0F&lt;br /&gt;
|-&lt;br /&gt;
|interrupt||020h..03Fh||#FC20..#FC3F||#FE20..#FE3F&lt;br /&gt;
|-&lt;br /&gt;
|counter||040h..05Fh||#FC40..#FC5F||#FE40..#FE5F&lt;br /&gt;
|-&lt;br /&gt;
|keyboard||060h..067h||#FC60..#FC67||#FE60..#FE67&lt;br /&gt;
|-&lt;br /&gt;
|RTC||070h..071h||#FC70..#FC71||#FE70..#FE71&lt;br /&gt;
|-&lt;br /&gt;
|DMA||080h..08Fh||#FC80..#FC8F||#FE80..#FE8F&lt;br /&gt;
|-&lt;br /&gt;
|DMA||0C0h..0DFh||#FCC0..#FCDF||#FEC0..#FEDF&lt;br /&gt;
|-&lt;br /&gt;
|interrupt||0A0h..0BFh||#FCA0..#FCBF||#FEA0..#FEBF&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Programming]] [[Category:Stub]][[Category:CPC Internal Components]][[Category:Hardware]][[Category:Electronic Component]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=OffseT&amp;diff=109200</id>
		<title>OffseT</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=OffseT&amp;diff=109200"/>
				<updated>2022-08-07T18:04:08Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''OffseT''' (Philippe Rimauro) is a french coder, main editor of the french fanzine [[Quasar CPC|Quasar CPC]].&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
=== Fanzines and Webzines ===&lt;br /&gt;
&lt;br /&gt;
*[[Quasar CPC|Quasar CPC]] (#0 to #21)&lt;br /&gt;
&lt;br /&gt;
=== Webzines  ===&lt;br /&gt;
&lt;br /&gt;
*Quasar Net (french) [http://quasar.cpcscene.net]&lt;br /&gt;
&lt;br /&gt;
=== Demos  ===&lt;br /&gt;
&lt;br /&gt;
*[[Back to Futurs'|Back to Futurs' (2015)]]&lt;br /&gt;
&lt;br /&gt;
*[[Fuck Oeuf|Fuck Oeuf]]&lt;br /&gt;
&lt;br /&gt;
*[[Gloom's Demo|Gloom's Demo (1995)]]&lt;br /&gt;
&lt;br /&gt;
*[[Schädel Demo|Schädel Demo]]&lt;br /&gt;
&lt;br /&gt;
*[[Citron Demo|Citron Demo]]&lt;br /&gt;
&lt;br /&gt;
*[[Ze Meeting 1997|Ze Meeting 1997]]&lt;br /&gt;
&lt;br /&gt;
=== Utilities  ===&lt;br /&gt;
&lt;br /&gt;
*[[ACE_(Emulator)|ACE CPC Emulator (for MorphOS)]]&lt;br /&gt;
&lt;br /&gt;
*[[UniDOS|UniDOS]]&lt;br /&gt;
&lt;br /&gt;
*[[Kit Overscan|Kit Overscan]]&lt;br /&gt;
 &lt;br /&gt;
*[[Amsdos Musical Loader|Amsdos Musical Loader]]&lt;br /&gt;
 &lt;br /&gt;
*[[Kit 4096|Kit 4096]], a CPC+ palette editor&lt;br /&gt;
 &lt;br /&gt;
*[[PI1-Convert|PI1-Convert]]&lt;br /&gt;
 &lt;br /&gt;
*[[Hard Sprite Designer|Hard Sprite Designer]], a CPC+ sprites editor&lt;br /&gt;
 &lt;br /&gt;
*Various ROM tools (included CPC-ISA Firmware)&lt;br /&gt;
&lt;br /&gt;
=== Group  ===&lt;br /&gt;
&lt;br /&gt;
*[[Futurs'|Futurs']]&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
* CPC-Power : http://www.cpc-power.com/index.php?page=staff&amp;amp;lenom=Offset&lt;br /&gt;
* Quasar Net website : http://quasar.cpcscene.net&lt;br /&gt;
* Futurs' website : http://futurs.chez.com&lt;br /&gt;
&lt;br /&gt;
[[Category:CPC_scene_members]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=OffseT&amp;diff=109199</id>
		<title>OffseT</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=OffseT&amp;diff=109199"/>
				<updated>2022-08-07T18:03:08Z</updated>
		
		<summary type="html">&lt;p&gt;OffseT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''OffseT''' (Philippe Rimauro) is a french coder, main editor of the french fanzine [[Quasar CPC|Quasar CPC]].&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
=== Fanzines and Webzines ===&lt;br /&gt;
&lt;br /&gt;
*[[Quasar CPC|Quasar CPC]] (#0 to #21)&lt;br /&gt;
&lt;br /&gt;
=== Webzines  ===&lt;br /&gt;
&lt;br /&gt;
*Quasar Net (french) [http://quasar.cpcscene.net]&lt;br /&gt;
&lt;br /&gt;
=== Demos  ===&lt;br /&gt;
&lt;br /&gt;
*[[Back to Futurs'|Back to Futurs' (2015)]]&lt;br /&gt;
&lt;br /&gt;
*[[Fuck Oeuf|Fuck Oeuf]]&lt;br /&gt;
&lt;br /&gt;
*[[Gloom's Demo|Gloom's Demo (1995)]]&lt;br /&gt;
&lt;br /&gt;
*[[Schädel Demo|Schädel Demo]]&lt;br /&gt;
&lt;br /&gt;
*[[Citron Demo|Citron Demo]]&lt;br /&gt;
&lt;br /&gt;
*[[Ze Meeting 1997|Ze Meeting 1997]]&lt;br /&gt;
&lt;br /&gt;
=== Utilities  ===&lt;br /&gt;
&lt;br /&gt;
*[[ACE_(Emulator)|ACE CPC Emulator (for MorphOS)]]&lt;br /&gt;
&lt;br /&gt;
*[[Kit Overscan|Kit Overscan]]&lt;br /&gt;
 &lt;br /&gt;
*[[Amsdos Musical Loader|Amsdos Musical Loader]]&lt;br /&gt;
 &lt;br /&gt;
*[[Kit 4096|Kit 4096]], a CPC+ palette editor&lt;br /&gt;
 &lt;br /&gt;
*[[PI1-Convert|PI1-Convert]]&lt;br /&gt;
 &lt;br /&gt;
*[[Hard Sprite Designer|Hard Sprite Designer]], a CPC+ sprites editor&lt;br /&gt;
 &lt;br /&gt;
*Various ROM tools (included CPC-ISA Firmware)&lt;br /&gt;
&lt;br /&gt;
=== Group  ===&lt;br /&gt;
&lt;br /&gt;
*[[Futurs'|Futurs']]&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
* CPC-Power : http://www.cpc-power.com/index.php?page=staff&amp;amp;lenom=Offset&lt;br /&gt;
* Quasar Net website : http://quasar.cpcscene.net&lt;br /&gt;
* Futurs' website : http://futurs.chez.com&lt;br /&gt;
&lt;br /&gt;
[[Category:CPC_scene_members]]&lt;/div&gt;</summary>
		<author><name>OffseT</name></author>	</entry>

	</feed>