<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.amstrad-cpc.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Antoniovillena</id>
	<title>CPCWiki - THE Amstrad CPC encyclopedia! - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.amstrad-cpc.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Antoniovillena"/>
	<link rel="alternate" type="text/html" href="https://wiki.amstrad-cpc.net/wiki/Special:Contributions/Antoniovillena"/>
	<updated>2026-09-04T01:45:44Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://wiki.amstrad-cpc.net/index.php?title=Roland_javascript_emulator&amp;diff=87159</id>
		<title>Roland javascript emulator</title>
		<link rel="alternate" type="text/html" href="https://wiki.amstrad-cpc.net/index.php?title=Roland_javascript_emulator&amp;diff=87159"/>
		<updated>2013-01-13T09:33:33Z</updated>

		<summary type="html">&lt;p&gt;Antoniovillena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Information extracted from emulator homepage: [http://roland.retrolandia.net/ http://roland.retrolandia.net/] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Roland is an Amstrad CPC emulator written in javascript. It can be slow in your machine, so I recommend you to use with Chrome 10+ for best performance results. &lt;br /&gt;
&lt;br /&gt;
By now, only CPC 464 model is emulated. Sound &amp;amp;amp; disk doesn&#039;t work, and many games will crash or doesn&#039;t work properly, because this is a beta release (the first beta one). Green links (on left frame) are .TAP files, and the blue ones are .CDT. Please be patient by loading .CDT files, they are very slow and there isn&#039;t any notification until loading is done. &lt;br /&gt;
&lt;br /&gt;
Roland has a GPL license, the source code is here. It shares the same Z80 engine as jbacteria and jtandy, but the rest is developed from scratch. There is another CPC emulator, at a very advanced state (disk emulation), so I encourage you to try it. &lt;br /&gt;
&lt;br /&gt;
Instructions: &lt;br /&gt;
&lt;br /&gt;
*Only CPC 464 model supported. &lt;br /&gt;
*Keyboard is as in your PC, so the mapping PCKEY -&amp;amp;gt; cpckey is: INS -&amp;amp;gt; copy, ENTER -&amp;amp;gt; return, PC NUMPAD KEYS -&amp;amp;gt; cpc function keys, NUMPAD+ -&amp;amp;gt; enter, DEL -&amp;amp;gt; clr, BACKSPACE -&amp;amp;gt; del. &lt;br /&gt;
*F1 for pause emulation, and show the keymap help. &lt;br /&gt;
*Supported .CDT and .TAP files from server (.CDTs in blue, .TAPs in green). &lt;br /&gt;
*Supported SNA files: load by dragging a local file to emulator window, save with F10. &lt;br /&gt;
*Supported memory snapshots: save with F3 and load with F4. &lt;br /&gt;
*F5 for reset (normal browser refresh) and F11 for full screen&lt;/div&gt;</summary>
		<author><name>Antoniovillena</name></author>
	</entry>
	<entry>
		<id>https://wiki.amstrad-cpc.net/index.php?title=Format:TAP_tape_image_file_format&amp;diff=87154</id>
		<title>Format:TAP tape image file format</title>
		<link rel="alternate" type="text/html" href="https://wiki.amstrad-cpc.net/index.php?title=Format:TAP_tape_image_file_format&amp;diff=87154"/>
		<updated>2011-05-01T05:29:53Z</updated>

		<summary type="html">&lt;p&gt;Antoniovillena: /* Tape-Image (.TAP) file format */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This document describes the TAP format for use in Amstrad CPC emulators, and a simple way to implement by trapping the ROM loader routine. &lt;br /&gt;
&lt;br /&gt;
= Tape-Image (.TAP) file format  =&lt;br /&gt;
&lt;br /&gt;
The .TAP files contain blocks of tape-saved data. All blocks start with two bytes specifying how many bytes will follow (not counting the two length bytes). Then raw tape data follows, starting with the flag byte. Unlike speccy format, the checksum bytes are not included, so you don&#039;t need calculate the crc-ccitt every 256 bytes, or padding the last page with zeroes, or ending with four 0xff bytes trailer. &lt;br /&gt;
&lt;br /&gt;
   1D 00 2C 50 68 61 6E 74 6F 6D 61 73 32 20 20 20 20 20 20 01 FF 02 58 00 00 AD FF&lt;br /&gt;
   ^^^^^...... first block is 29 bytes (28 bytes+flag)&lt;br /&gt;
         ^^... flag byte (A reg, 2C for headers, 16 for data blocks)&lt;br /&gt;
 file name .^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^&lt;br /&gt;
 block number ..............................................^^&lt;br /&gt;
 last block (a non-zero value means last block) ...............^^&lt;br /&gt;
 file type (02 unprotected binary) ...............................^^&lt;br /&gt;
 data length (88 bytes) .............................................^^^^^&lt;br /&gt;
 data location (0xAD00) ...................................................^^^^^&lt;br /&gt;
 first block (a non-zero value means first block) ...............................^^&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 58 00 10 AD 59 00 16 06 12 0A 00 2A 02 18 06 1E 07 30 0C 00 0D ..&lt;br /&gt;
 ^^^^^............... logical length, in consecutive blocks (88 bytes)&lt;br /&gt;
       ^^^^^......... execution address for machine code programs (0xAD10)&lt;br /&gt;
             ^^^^^... second block is 89 bytes (88 bytes+flag)&lt;br /&gt;
 flag byte ........^^&lt;br /&gt;
 second block data ...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^&lt;br /&gt;
&lt;br /&gt;
Note that it is possible to join .TAP files by simply stringing them together. &lt;br /&gt;
&lt;br /&gt;
For example, in DOS / Windows: &lt;br /&gt;
&lt;br /&gt;
     COPY /B FILE1.TAP + FILE2.TAP ALL.TAP&lt;br /&gt;
&lt;br /&gt;
or in Unix/Linux: &lt;br /&gt;
&lt;br /&gt;
     cp file1.tap all.tap &amp;amp;amp;&amp;amp;amp; cat file2.tap &amp;amp;gt;&amp;amp;gt; all.tap&lt;br /&gt;
&lt;br /&gt;
For completeness, I&#039;ll include the structure of a tape header. A header always consists of 28 bytes: &lt;br /&gt;
&lt;br /&gt;
 Byte Size  Name           Description&lt;br /&gt;
&lt;br /&gt;
    0   16  Filename       Name of the file, padded with nulls&lt;br /&gt;
   16    1  Block number   The first block is 1, numbers are consecutive&lt;br /&gt;
   17    1  Last block     A non-zero value means that this is the last block of a file&lt;br /&gt;
   18    1  File type      A value recording  the type of the file (see below)&lt;br /&gt;
   19    2  Data length    The number of data bytes in the data record&lt;br /&gt;
   21    2  Data location  Where the data was written from originally&lt;br /&gt;
   23    1  First block    A non-zero value means that this is the first block of a file&lt;br /&gt;
   24    2  Logical length This is the total length of the file in bytes&lt;br /&gt;
   26    2  Entry address  The execution address for machine code programs&lt;br /&gt;
&lt;br /&gt;
The file type (byte 18) is split into a number of fields: &lt;br /&gt;
&lt;br /&gt;
 Bit 0      Protection     If this bit is set the file is protected in some way &lt;br /&gt;
 Bits 1..3  File contents  0 = Internal BASIC&lt;br /&gt;
                           1 = Binary&lt;br /&gt;
                           2 = Screen image&lt;br /&gt;
                           3 = ASCII&lt;br /&gt;
                           4..7 are unallocated&lt;br /&gt;
 Bits 4..7  Version        ASCII files should be version 1, all other files, version 0&lt;br /&gt;
&lt;br /&gt;
= Trapping the ROM routine  =&lt;br /&gt;
&lt;br /&gt;
The recommendable entry point in the Amstrad CPC ROM is a routine named &amp;quot;CAS READ&amp;quot;, that has the next parameters: &lt;br /&gt;
&lt;br /&gt;
  A = sync byte&lt;br /&gt;
 HL = location of data&lt;br /&gt;
 DE = length of data&lt;br /&gt;
&lt;br /&gt;
So when you trap the routine, you must check that sync byte matches with A register and length of block-1 with DE register. Then copy from file to memory starting at HL address, and finally change the F register to 0x45 (no errors) and the PC with the exit point. Addresses are, in hexadecimal, in the next table: &lt;br /&gt;
&lt;br /&gt;
              464 ROM   664 ROM  6128 ROM&lt;br /&gt;
 Entry Point     2836      29A6      29A6&lt;br /&gt;
 Exit Point      2872      29E2      29E2&lt;/div&gt;</summary>
		<author><name>Antoniovillena</name></author>
	</entry>
	<entry>
		<id>https://wiki.amstrad-cpc.net/index.php?title=List_of_file_formats&amp;diff=51292</id>
		<title>List of file formats</title>
		<link rel="alternate" type="text/html" href="https://wiki.amstrad-cpc.net/index.php?title=List_of_file_formats&amp;diff=51292"/>
		<updated>2011-04-29T10:31:45Z</updated>

		<summary type="html">&lt;p&gt;Antoniovillena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== CPC file extensions  ==&lt;br /&gt;
&lt;br /&gt;
This list is a collection of file-extensions used on the Amstrad/Schneider CPC and CPC Plus computer range. It&#039;s not a collection of file-extensions used by PC systems for CPC related stuff. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Extension&#039;&#039; &lt;br /&gt;
| &#039;&#039;Explanations&#039;&#039; &lt;br /&gt;
| &#039;&#039;Programs that use this extenstion&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| $$$ &lt;br /&gt;
| Temporary Amsdos file &lt;br /&gt;
| [[Amsdos|amsdos]]&lt;br /&gt;
|-&lt;br /&gt;
| 128 &lt;br /&gt;
| Soundtrakker 128KB music file &lt;br /&gt;
| [[Soundtrakker|Soundtrakker]]&lt;br /&gt;
|-&lt;br /&gt;
| 64K &lt;br /&gt;
| FutureOS Main-memory program &lt;br /&gt;
| [[FutureOS|FutureOS]]&lt;br /&gt;
|-&lt;br /&gt;
| ACE &lt;br /&gt;
| Packed Windows archive &lt;br /&gt;
| [[ACE|ACE]]&lt;br /&gt;
|-&lt;br /&gt;
| ARC &lt;br /&gt;
| CP/M, Xexor ARC File format &lt;br /&gt;
| [[CP/M]], [[Format:Xexor ARC file format|Xexor ARC Format]]&lt;br /&gt;
|-&lt;br /&gt;
| ASC &lt;br /&gt;
| ASCII text &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ASM &lt;br /&gt;
| Assembler source code &lt;br /&gt;
| ASM.COM&lt;br /&gt;
|-&lt;br /&gt;
| AYC &lt;br /&gt;
| Derivate or converted YM music file &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| BAK &lt;br /&gt;
| Backup file &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| BAS &lt;br /&gt;
| Basic program &lt;br /&gt;
| [[AMSDOS|AMSDOS]]&lt;br /&gt;
|-&lt;br /&gt;
| BAT &lt;br /&gt;
| Batch-File &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| BIN &lt;br /&gt;
| binary file &lt;br /&gt;
| [[AMSDOS|AMSDOS]]&lt;br /&gt;
|-&lt;br /&gt;
| CCP &lt;br /&gt;
| Key definition for CP/M Plus &lt;br /&gt;
| [[CP/M 3.0|CP/M 3.0]]&lt;br /&gt;
|-&lt;br /&gt;
| COM &lt;br /&gt;
| Executable CP/M or [[SymbOS|SymbOS]]-SymShell program &lt;br /&gt;
| [[CP/M|CP/M]], [[SymShell|SymShell]]&lt;br /&gt;
|-&lt;br /&gt;
| CUT &lt;br /&gt;
| AMX Pagemaker Clipart &lt;br /&gt;
| [[AMX Pagemaker|AMX Pagemaker]]&lt;br /&gt;
|-&lt;br /&gt;
| DD &lt;br /&gt;
| Device driver for GSX (CP/M Plus) &lt;br /&gt;
| [[CP/M 3.0|CP/M 3.0]]&lt;br /&gt;
|-&lt;br /&gt;
| DEU &lt;br /&gt;
| DEU German text &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ENG &lt;br /&gt;
| English text &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| EXE &lt;br /&gt;
| EXE Executable file, SymbOS &lt;br /&gt;
| [[SymbOS|SymbOS]]&lt;br /&gt;
|-&lt;br /&gt;
| Fld &lt;br /&gt;
| Map file of a game &lt;br /&gt;
| [[GSED]]&lt;br /&gt;
|-&lt;br /&gt;
| FNT &lt;br /&gt;
| Font of AMX Pagemaker &lt;br /&gt;
| [[AMX Pagemaker|AMX Pagemaker]]&lt;br /&gt;
|-&lt;br /&gt;
| FRA &lt;br /&gt;
| French text &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| GEs &lt;br /&gt;
| Set of Graphic-elements &lt;br /&gt;
| [[GSED]]&lt;br /&gt;
|-&lt;br /&gt;
| H &lt;br /&gt;
| C variable definitions &lt;br /&gt;
| Small C i.e.&lt;br /&gt;
|-&lt;br /&gt;
| HED &lt;br /&gt;
| Header/Icon definition for FutureOS &lt;br /&gt;
| [[FutureOS|FutureOS]]&lt;br /&gt;
|-&lt;br /&gt;
| HGB &lt;br /&gt;
| FutureOS Background Picture &lt;br /&gt;
| [[FutureOS|FutureOS]]&lt;br /&gt;
|-&lt;br /&gt;
| HLP &lt;br /&gt;
| Help file &lt;br /&gt;
| CP/M and others&lt;br /&gt;
|-&lt;br /&gt;
| INF &lt;br /&gt;
| AMX Pagemaker site &lt;br /&gt;
| [[AMX Pagemaker|AMX Pagemaker]]&lt;br /&gt;
|-&lt;br /&gt;
| INS &lt;br /&gt;
| Soundtrakker Instrument file &lt;br /&gt;
| [[Soundtrakker|Soundtrakker]]&lt;br /&gt;
|-&lt;br /&gt;
| MAC &lt;br /&gt;
| Makroassembler source code &lt;br /&gt;
| MAC.COM&lt;br /&gt;
|-&lt;br /&gt;
| MAX &lt;br /&gt;
| Maxam Source Code &lt;br /&gt;
| [[Maxam|Maxam]]&lt;br /&gt;
|-&lt;br /&gt;
| MDL &lt;br /&gt;
| Digitracker Module &lt;br /&gt;
| [[Digitracker|Digitracker]]&lt;br /&gt;
|-&lt;br /&gt;
| MOD &lt;br /&gt;
| Crown Protracker Module or Amiga MO$D File &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| MP3 &lt;br /&gt;
| MP3 Sound file &lt;br /&gt;
| [[FuturePlayer|FuturePlayer]]&lt;br /&gt;
|-&lt;br /&gt;
| OBJ &lt;br /&gt;
| Object Code &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| OVL &lt;br /&gt;
| Overlay parts of WordStar o.e. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| PA1 &lt;br /&gt;
| AMX Pagemaker site (part 1) &lt;br /&gt;
| [[AMX Pagemaker|AMX Pagemaker]]&lt;br /&gt;
|-&lt;br /&gt;
| PA2 &lt;br /&gt;
| AMX Pagemaker site (part 2) &lt;br /&gt;
| [[AMX Pagemaker|AMX Pagemaker]]&lt;br /&gt;
|-&lt;br /&gt;
| PA3 &lt;br /&gt;
| AMX Pagemaker site (part 3) &lt;br /&gt;
| [[AMX Pagemaker|AMX Pagemaker]]&lt;br /&gt;
|-&lt;br /&gt;
| PA4 &lt;br /&gt;
| AMX Pagemaker site (part 4) &lt;br /&gt;
| [[AMX Pagemaker|AMX Pagemaker]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Format:Advanced OCP Art Studio File Formats|PAL]] &lt;br /&gt;
| OCP Art Studio Palette &lt;br /&gt;
| [[The OCP Art Studio|The OCP Art Studio]]&lt;br /&gt;
|-&lt;br /&gt;
| PAS &lt;br /&gt;
| (Turbo-)Pascal source code &lt;br /&gt;
| Turbo Pascal&lt;br /&gt;
|-&lt;br /&gt;
| PRV &lt;br /&gt;
| AMX Pagemaker site (Preview) &lt;br /&gt;
| AMX Pagemaker&lt;br /&gt;
|-&lt;br /&gt;
| PRL &lt;br /&gt;
| page relocatable file &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| RAR &lt;br /&gt;
| Packed Windows Archive &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ROM &lt;br /&gt;
| Rom-File (16K) &lt;br /&gt;
| diff. (Pseudo-)/(EP)ROM Manager&lt;br /&gt;
|-&lt;br /&gt;
| PT3 &lt;br /&gt;
| Spectrum Protracker 3 Music &lt;br /&gt;
| [[SymAmp|SymAmp]]&lt;br /&gt;
|-&lt;br /&gt;
| SAV &lt;br /&gt;
| SymbOS screen saver &lt;br /&gt;
| [[SymbOS|SymbOS]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Format:Advanced OCP Art Studio File Formats|SCR]] &lt;br /&gt;
| OCP Art Studio Screen &lt;br /&gt;
| [[The OCP Art Studio|The OCP Art Studio]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Format:SGX (SymbOS graphic files)|SGX]] &lt;br /&gt;
| SymbOS graphic &lt;br /&gt;
| [[SymbOS|SymbOS]]&lt;br /&gt;
|-&lt;br /&gt;
| SKM &lt;br /&gt;
| compilated [[STarKos]] Module &lt;br /&gt;
| [[SymAmp|SymAmp]]&lt;br /&gt;
|-&lt;br /&gt;
| SKR &lt;br /&gt;
| Set of Scripts &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| SKS &lt;br /&gt;
| STarKos Module &lt;br /&gt;
| [[STarKos|STarKos]]&lt;br /&gt;
|-&lt;br /&gt;
| SMC &lt;br /&gt;
| Executable C Program for FutureOS &lt;br /&gt;
| [[FutureOS|FutureOS]]&lt;br /&gt;
|-&lt;br /&gt;
| SND &lt;br /&gt;
| Soundtrakker 64KB Music &lt;br /&gt;
| [[Soundtrakker|Soundtrakker]]&lt;br /&gt;
|-&lt;br /&gt;
| SPR &lt;br /&gt;
| Set of Sprites &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ST2 &lt;br /&gt;
| Compilated [[Soundtrakker|Soundtrakker]] 128 Module &lt;br /&gt;
| [[SymAmp|SymAmp]]&lt;br /&gt;
|-&lt;br /&gt;
| SUB &lt;br /&gt;
| Submit/Batch file (CP/M) &lt;br /&gt;
| [[CP/M|CP/M]]&lt;br /&gt;
|-&lt;br /&gt;
| TXT &lt;br /&gt;
| ASCII text &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| [[Format:VID (SymbOS video files)|VID]] &lt;br /&gt;
| [[SymbOS|SymbOS]] video &lt;br /&gt;
| [[SymPlay|SymPlay]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Format:Advanced OCP Art Studio File Formats|WIN]] &lt;br /&gt;
| OCP Art Studio Clip &lt;br /&gt;
| [[The OCP Art Studio|The OCP Art Studio]]&lt;br /&gt;
|-&lt;br /&gt;
| WP &lt;br /&gt;
| Key definition for WordStar &lt;br /&gt;
| [[WordStar|WordStar]]&lt;br /&gt;
|-&lt;br /&gt;
| X16 &lt;br /&gt;
| FutureOS Expansion RAM program &lt;br /&gt;
| [[FutureOS|FutureOS]]&lt;br /&gt;
|-&lt;br /&gt;
| YM &lt;br /&gt;
| YM Music file &lt;br /&gt;
| YM-Player and others&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== PC / Emulator related file formats  ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Extension&#039;&#039; &lt;br /&gt;
| &#039;&#039;Explanations&#039;&#039; &lt;br /&gt;
| &#039;&#039;Programs that use this extenstion&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| [[Format:CDT tape image file format|CDT]] &lt;br /&gt;
| Tape image file format &lt;br /&gt;
| [[Arnold]],[[CaPriCe]], [[JavaCPC]], [[WinCPC]], [[WinApe]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Format:CPR CPC Plus cartridge file format|CPR]] &lt;br /&gt;
| CPC Plus cartridge file format &lt;br /&gt;
| [[Arnold]],[[WinApe]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Format:DSC disk image file format|DSC]] &lt;br /&gt;
| Disc image &lt;br /&gt;
| DSK-CPC&lt;br /&gt;
|-&lt;br /&gt;
| [[Format:DSK disk image file format|DSK]] &lt;br /&gt;
| Disc image &lt;br /&gt;
| [[Arnold]],[[CaPriCe]], [[JavaCPC]], [[SymSnap]], [[WinCPC]], [[WinApe]],DSK-CPC&lt;br /&gt;
|-&lt;br /&gt;
| [[Format:SNA snapshot file format|SNA]] &lt;br /&gt;
| Machine snapshot image file format &lt;br /&gt;
| [[Arnold]],[[CaPriCe]], [[JavaCPC]], [[SymSnap]], [[WinCPC]], [[WinApe]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Format:TAP tape image file format|TAP]] &lt;br /&gt;
| Emulator tape image &lt;br /&gt;
| [[Roland javascript emulator|Roland]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Definitions]]&lt;/div&gt;</summary>
		<author><name>Antoniovillena</name></author>
	</entry>
	<entry>
		<id>https://wiki.amstrad-cpc.net/index.php?title=List_of_file_formats&amp;diff=51291</id>
		<title>List of file formats</title>
		<link rel="alternate" type="text/html" href="https://wiki.amstrad-cpc.net/index.php?title=List_of_file_formats&amp;diff=51291"/>
		<updated>2011-04-29T10:30:35Z</updated>

		<summary type="html">&lt;p&gt;Antoniovillena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== CPC file extensions  ==&lt;br /&gt;
&lt;br /&gt;
This list is a collection of file-extensions used on the Amstrad/Schneider CPC and CPC Plus computer range. It&#039;s not a collection of file-extensions used by PC systems for CPC related stuff. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Extension&#039;&#039; &lt;br /&gt;
| &#039;&#039;Explanations&#039;&#039; &lt;br /&gt;
| &#039;&#039;Programs that use this extenstion&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| $$$ &lt;br /&gt;
| Temporary Amsdos file &lt;br /&gt;
| [[Amsdos|amsdos]]&lt;br /&gt;
|-&lt;br /&gt;
| 128 &lt;br /&gt;
| Soundtrakker 128KB music file &lt;br /&gt;
| [[Soundtrakker|Soundtrakker]]&lt;br /&gt;
|-&lt;br /&gt;
| 64K &lt;br /&gt;
| FutureOS Main-memory program &lt;br /&gt;
| [[FutureOS|FutureOS]]&lt;br /&gt;
|-&lt;br /&gt;
| ACE &lt;br /&gt;
| Packed Windows archive &lt;br /&gt;
| [[ACE|ACE]]&lt;br /&gt;
|-&lt;br /&gt;
| ARC &lt;br /&gt;
| CP/M, Xexor ARC File format &lt;br /&gt;
| [[CP/M]], [[Format:Xexor ARC file format|Xexor ARC Format]]&lt;br /&gt;
|-&lt;br /&gt;
| ASC &lt;br /&gt;
| ASCII text &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ASM &lt;br /&gt;
| Assembler source code &lt;br /&gt;
| ASM.COM&lt;br /&gt;
|-&lt;br /&gt;
| AYC &lt;br /&gt;
| Derivate or converted YM music file &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| BAK &lt;br /&gt;
| Backup file &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| BAS &lt;br /&gt;
| Basic program &lt;br /&gt;
| [[AMSDOS|AMSDOS]]&lt;br /&gt;
|-&lt;br /&gt;
| BAT &lt;br /&gt;
| Batch-File &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| BIN &lt;br /&gt;
| binary file &lt;br /&gt;
| [[AMSDOS|AMSDOS]]&lt;br /&gt;
|-&lt;br /&gt;
| CCP &lt;br /&gt;
| Key definition for CP/M Plus &lt;br /&gt;
| [[CP/M 3.0|CP/M 3.0]]&lt;br /&gt;
|-&lt;br /&gt;
| COM &lt;br /&gt;
| Executable CP/M or [[SymbOS|SymbOS]]-SymShell program &lt;br /&gt;
| [[CP/M|CP/M]], [[SymShell|SymShell]]&lt;br /&gt;
|-&lt;br /&gt;
| CUT &lt;br /&gt;
| AMX Pagemaker Clipart &lt;br /&gt;
| [[AMX Pagemaker|AMX Pagemaker]]&lt;br /&gt;
|-&lt;br /&gt;
| DD &lt;br /&gt;
| Device driver for GSX (CP/M Plus) &lt;br /&gt;
| [[CP/M 3.0|CP/M 3.0]]&lt;br /&gt;
|-&lt;br /&gt;
| DEU &lt;br /&gt;
| DEU German text &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ENG &lt;br /&gt;
| English text &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| EXE &lt;br /&gt;
| EXE Executable file, SymbOS &lt;br /&gt;
| [[SymbOS|SymbOS]]&lt;br /&gt;
|-&lt;br /&gt;
| Fld &lt;br /&gt;
| Map file of a game &lt;br /&gt;
| [[GSED]]&lt;br /&gt;
|-&lt;br /&gt;
| FNT &lt;br /&gt;
| Font of AMX Pagemaker &lt;br /&gt;
| [[AMX Pagemaker|AMX Pagemaker]]&lt;br /&gt;
|-&lt;br /&gt;
| FRA &lt;br /&gt;
| French text &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| GEs &lt;br /&gt;
| Set of Graphic-elements &lt;br /&gt;
| [[GSED]]&lt;br /&gt;
|-&lt;br /&gt;
| H &lt;br /&gt;
| C variable definitions &lt;br /&gt;
| Small C i.e.&lt;br /&gt;
|-&lt;br /&gt;
| HED &lt;br /&gt;
| Header/Icon definition for FutureOS &lt;br /&gt;
| [[FutureOS|FutureOS]]&lt;br /&gt;
|-&lt;br /&gt;
| HGB &lt;br /&gt;
| FutureOS Background Picture &lt;br /&gt;
| [[FutureOS|FutureOS]]&lt;br /&gt;
|-&lt;br /&gt;
| HLP &lt;br /&gt;
| Help file &lt;br /&gt;
| CP/M and others&lt;br /&gt;
|-&lt;br /&gt;
| INF &lt;br /&gt;
| AMX Pagemaker site &lt;br /&gt;
| [[AMX Pagemaker|AMX Pagemaker]]&lt;br /&gt;
|-&lt;br /&gt;
| INS &lt;br /&gt;
| Soundtrakker Instrument file &lt;br /&gt;
| [[Soundtrakker|Soundtrakker]]&lt;br /&gt;
|-&lt;br /&gt;
| MAC &lt;br /&gt;
| Makroassembler source code &lt;br /&gt;
| MAC.COM&lt;br /&gt;
|-&lt;br /&gt;
| MAX &lt;br /&gt;
| Maxam Source Code &lt;br /&gt;
| [[Maxam|Maxam]]&lt;br /&gt;
|-&lt;br /&gt;
| MDL &lt;br /&gt;
| Digitracker Module &lt;br /&gt;
| [[Digitracker|Digitracker]]&lt;br /&gt;
|-&lt;br /&gt;
| MOD &lt;br /&gt;
| Crown Protracker Module or Amiga MO$D File &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| MP3 &lt;br /&gt;
| MP3 Sound file &lt;br /&gt;
| [[FuturePlayer|FuturePlayer]]&lt;br /&gt;
|-&lt;br /&gt;
| OBJ &lt;br /&gt;
| Object Code &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| OVL &lt;br /&gt;
| Overlay parts of WordStar o.e. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| PA1 &lt;br /&gt;
| AMX Pagemaker site (part 1) &lt;br /&gt;
| [[AMX Pagemaker|AMX Pagemaker]]&lt;br /&gt;
|-&lt;br /&gt;
| PA2 &lt;br /&gt;
| AMX Pagemaker site (part 2) &lt;br /&gt;
| [[AMX Pagemaker|AMX Pagemaker]]&lt;br /&gt;
|-&lt;br /&gt;
| PA3 &lt;br /&gt;
| AMX Pagemaker site (part 3) &lt;br /&gt;
| [[AMX Pagemaker|AMX Pagemaker]]&lt;br /&gt;
|-&lt;br /&gt;
| PA4 &lt;br /&gt;
| AMX Pagemaker site (part 4) &lt;br /&gt;
| [[AMX Pagemaker|AMX Pagemaker]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Format:Advanced OCP Art Studio File Formats|PAL]] &lt;br /&gt;
| OCP Art Studio Palette &lt;br /&gt;
| [[The OCP Art Studio|The OCP Art Studio]]&lt;br /&gt;
|-&lt;br /&gt;
| PAS &lt;br /&gt;
| (Turbo-)Pascal source code &lt;br /&gt;
| Turbo Pascal&lt;br /&gt;
|-&lt;br /&gt;
| PRV &lt;br /&gt;
| AMX Pagemaker site (Preview) &lt;br /&gt;
| AMX Pagemaker&lt;br /&gt;
|-&lt;br /&gt;
| PRL &lt;br /&gt;
| page relocatable file &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| RAR &lt;br /&gt;
| Packed Windows Archive &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ROM &lt;br /&gt;
| Rom-File (16K) &lt;br /&gt;
| diff. (Pseudo-)/(EP)ROM Manager&lt;br /&gt;
|-&lt;br /&gt;
| PT3 &lt;br /&gt;
| Spectrum Protracker 3 Music &lt;br /&gt;
| [[SymAmp|SymAmp]]&lt;br /&gt;
|-&lt;br /&gt;
| SAV &lt;br /&gt;
| SymbOS screen saver &lt;br /&gt;
| [[SymbOS|SymbOS]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Format:Advanced OCP Art Studio File Formats|SCR]] &lt;br /&gt;
| OCP Art Studio Screen &lt;br /&gt;
| [[The OCP Art Studio|The OCP Art Studio]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Format:SGX (SymbOS graphic files)|SGX]] &lt;br /&gt;
| SymbOS graphic &lt;br /&gt;
| [[SymbOS|SymbOS]]&lt;br /&gt;
|-&lt;br /&gt;
| SKM &lt;br /&gt;
| compilated [[STarKos]] Module &lt;br /&gt;
| [[SymAmp|SymAmp]]&lt;br /&gt;
|-&lt;br /&gt;
| SKR &lt;br /&gt;
| Set of Scripts &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| SKS &lt;br /&gt;
| STarKos Module &lt;br /&gt;
| [[STarKos|STarKos]]&lt;br /&gt;
|-&lt;br /&gt;
| SMC &lt;br /&gt;
| Executable C Program for FutureOS &lt;br /&gt;
| [[FutureOS|FutureOS]]&lt;br /&gt;
|-&lt;br /&gt;
| SND &lt;br /&gt;
| Soundtrakker 64KB Music &lt;br /&gt;
| [[Soundtrakker|Soundtrakker]]&lt;br /&gt;
|-&lt;br /&gt;
| SPR &lt;br /&gt;
| Set of Sprites &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ST2 &lt;br /&gt;
| Compilated [[Soundtrakker|Soundtrakker]] 128 Module &lt;br /&gt;
| [[SymAmp|SymAmp]]&lt;br /&gt;
|-&lt;br /&gt;
| SUB &lt;br /&gt;
| Submit/Batch file (CP/M) &lt;br /&gt;
| [[CP/M|CP/M]]&lt;br /&gt;
|-&lt;br /&gt;
| TXT &lt;br /&gt;
| ASCII text &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| [[Format:VID (SymbOS video files)|VID]] &lt;br /&gt;
| [[SymbOS|SymbOS]] video &lt;br /&gt;
| [[SymPlay|SymPlay]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Format:Advanced OCP Art Studio File Formats|WIN]] &lt;br /&gt;
| OCP Art Studio Clip &lt;br /&gt;
| [[The OCP Art Studio|The OCP Art Studio]]&lt;br /&gt;
|-&lt;br /&gt;
| WP &lt;br /&gt;
| Key definition for WordStar &lt;br /&gt;
| [[WordStar|WordStar]]&lt;br /&gt;
|-&lt;br /&gt;
| X16 &lt;br /&gt;
| FutureOS Expansion RAM program &lt;br /&gt;
| [[FutureOS|FutureOS]]&lt;br /&gt;
|-&lt;br /&gt;
| YM &lt;br /&gt;
| YM Music file &lt;br /&gt;
| YM-Player and others&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== PC / Emulator related file formats ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Extension&#039;&#039; &lt;br /&gt;
| &#039;&#039;Explanations&#039;&#039; &lt;br /&gt;
| &#039;&#039;Programs that use this extenstion&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| [[Format:CDT tape image file format|CDT]]&lt;br /&gt;
| Tape image file format&lt;br /&gt;
| [[Arnold]],[[CaPriCe]], [[JavaCPC]], [[WinCPC]], [[WinApe]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Format:CPR CPC Plus cartridge file format|CPR]]&lt;br /&gt;
| CPC Plus cartridge file format&lt;br /&gt;
| [[Arnold]],[[WinApe]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Format:DSC disk image file format|DSC]] &lt;br /&gt;
| Disc image &lt;br /&gt;
| DSK-CPC&lt;br /&gt;
|-&lt;br /&gt;
| [[Format:DSK disk image file format|DSK]] &lt;br /&gt;
| Disc image &lt;br /&gt;
| [[Arnold]],[[CaPriCe]], [[JavaCPC]], [[SymSnap]], [[WinCPC]], [[WinApe]],DSK-CPC&lt;br /&gt;
|-&lt;br /&gt;
| [[Format:SNA snapshot file format|SNA]]&lt;br /&gt;
| Machine snapshot image file format &lt;br /&gt;
| [[Arnold]],[[CaPriCe]], [[JavaCPC]], [[SymSnap]], [[WinCPC]], [[WinApe]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Definitions]]&lt;/div&gt;</summary>
		<author><name>Antoniovillena</name></author>
	</entry>
	<entry>
		<id>https://wiki.amstrad-cpc.net/index.php?title=List_of_file_formats&amp;diff=51290</id>
		<title>List of file formats</title>
		<link rel="alternate" type="text/html" href="https://wiki.amstrad-cpc.net/index.php?title=List_of_file_formats&amp;diff=51290"/>
		<updated>2011-04-29T10:27:31Z</updated>

		<summary type="html">&lt;p&gt;Antoniovillena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== CPC file extensions  ==&lt;br /&gt;
&lt;br /&gt;
This list is a collection of file-extensions used on the Amstrad/Schneider CPC and CPC Plus computer range. It&#039;s not a collection of file-extensions used by PC systems for CPC related stuff. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Extension&#039;&#039; &lt;br /&gt;
| &#039;&#039;Explanations&#039;&#039; &lt;br /&gt;
| &#039;&#039;Programs that use this extenstion&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| $$$ &lt;br /&gt;
| Temporary Amsdos file &lt;br /&gt;
| [[Amsdos|amsdos]]&lt;br /&gt;
|-&lt;br /&gt;
| 128 &lt;br /&gt;
| Soundtrakker 128KB music file &lt;br /&gt;
| [[Soundtrakker|Soundtrakker]]&lt;br /&gt;
|-&lt;br /&gt;
| 64K &lt;br /&gt;
| FutureOS Main-memory program &lt;br /&gt;
| [[FutureOS|FutureOS]]&lt;br /&gt;
|-&lt;br /&gt;
| ACE &lt;br /&gt;
| Packed Windows archive &lt;br /&gt;
| [[ACE|ACE]]&lt;br /&gt;
|-&lt;br /&gt;
| ARC &lt;br /&gt;
| CP/M, Xexor ARC File format &lt;br /&gt;
| [[CP/M]], [[Format:Xexor ARC file format|Xexor ARC Format]]&lt;br /&gt;
|-&lt;br /&gt;
| ASC &lt;br /&gt;
| ASCII text &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ASM &lt;br /&gt;
| Assembler source code &lt;br /&gt;
| ASM.COM&lt;br /&gt;
|-&lt;br /&gt;
| AYC &lt;br /&gt;
| Derivate or converted YM music file &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| BAK &lt;br /&gt;
| Backup file &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| BAS &lt;br /&gt;
| Basic program &lt;br /&gt;
| [[AMSDOS|AMSDOS]]&lt;br /&gt;
|-&lt;br /&gt;
| BAT &lt;br /&gt;
| Batch-File &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| BIN &lt;br /&gt;
| binary file &lt;br /&gt;
| [[AMSDOS|AMSDOS]]&lt;br /&gt;
|-&lt;br /&gt;
| CCP &lt;br /&gt;
| Key definition for CP/M Plus &lt;br /&gt;
| [[CP/M 3.0|CP/M 3.0]]&lt;br /&gt;
|-&lt;br /&gt;
| COM &lt;br /&gt;
| Executable CP/M or [[SymbOS|SymbOS]]-SymShell program &lt;br /&gt;
| [[CP/M|CP/M]], [[SymShell|SymShell]]&lt;br /&gt;
|-&lt;br /&gt;
| CUT &lt;br /&gt;
| AMX Pagemaker Clipart &lt;br /&gt;
| [[AMX Pagemaker|AMX Pagemaker]]&lt;br /&gt;
|-&lt;br /&gt;
| DD &lt;br /&gt;
| Device driver for GSX (CP/M Plus) &lt;br /&gt;
| [[CP/M 3.0|CP/M 3.0]]&lt;br /&gt;
|-&lt;br /&gt;
| DEU &lt;br /&gt;
| DEU German text &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ENG &lt;br /&gt;
| English text &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| EXE &lt;br /&gt;
| EXE Executable file, SymbOS &lt;br /&gt;
| [[SymbOS|SymbOS]]&lt;br /&gt;
|-&lt;br /&gt;
| Fld &lt;br /&gt;
| Map file of a game &lt;br /&gt;
| [[GSED]]&lt;br /&gt;
|-&lt;br /&gt;
| FNT &lt;br /&gt;
| Font of AMX Pagemaker &lt;br /&gt;
| [[AMX Pagemaker|AMX Pagemaker]]&lt;br /&gt;
|-&lt;br /&gt;
| FRA &lt;br /&gt;
| French text &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| GEs &lt;br /&gt;
| Set of Graphic-elements &lt;br /&gt;
| [[GSED]]&lt;br /&gt;
|-&lt;br /&gt;
| H &lt;br /&gt;
| C variable definitions &lt;br /&gt;
| Small C i.e.&lt;br /&gt;
|-&lt;br /&gt;
| HED &lt;br /&gt;
| Header/Icon definition for FutureOS &lt;br /&gt;
| [[FutureOS|FutureOS]]&lt;br /&gt;
|-&lt;br /&gt;
| HGB &lt;br /&gt;
| FutureOS Background Picture &lt;br /&gt;
| [[FutureOS|FutureOS]]&lt;br /&gt;
|-&lt;br /&gt;
| HLP &lt;br /&gt;
| Help file &lt;br /&gt;
| CP/M and others&lt;br /&gt;
|-&lt;br /&gt;
| INF &lt;br /&gt;
| AMX Pagemaker site &lt;br /&gt;
| [[AMX Pagemaker|AMX Pagemaker]]&lt;br /&gt;
|-&lt;br /&gt;
| INS &lt;br /&gt;
| Soundtrakker Instrument file &lt;br /&gt;
| [[Soundtrakker|Soundtrakker]]&lt;br /&gt;
|-&lt;br /&gt;
| MAC &lt;br /&gt;
| Makroassembler source code &lt;br /&gt;
| MAC.COM&lt;br /&gt;
|-&lt;br /&gt;
| MAX &lt;br /&gt;
| Maxam Source Code &lt;br /&gt;
| [[Maxam|Maxam]]&lt;br /&gt;
|-&lt;br /&gt;
| MDL &lt;br /&gt;
| Digitracker Module &lt;br /&gt;
| [[Digitracker|Digitracker]]&lt;br /&gt;
|-&lt;br /&gt;
| MOD &lt;br /&gt;
| Crown Protracker Module or Amiga MO$D File &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| MP3 &lt;br /&gt;
| MP3 Sound file &lt;br /&gt;
| [[FuturePlayer|FuturePlayer]]&lt;br /&gt;
|-&lt;br /&gt;
| OBJ &lt;br /&gt;
| Object Code &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| OVL &lt;br /&gt;
| Overlay parts of WordStar o.e. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| PA1 &lt;br /&gt;
| AMX Pagemaker site (part 1) &lt;br /&gt;
| [[AMX Pagemaker|AMX Pagemaker]]&lt;br /&gt;
|-&lt;br /&gt;
| PA2 &lt;br /&gt;
| AMX Pagemaker site (part 2) &lt;br /&gt;
| [[AMX Pagemaker|AMX Pagemaker]]&lt;br /&gt;
|-&lt;br /&gt;
| PA3 &lt;br /&gt;
| AMX Pagemaker site (part 3) &lt;br /&gt;
| [[AMX Pagemaker|AMX Pagemaker]]&lt;br /&gt;
|-&lt;br /&gt;
| PA4 &lt;br /&gt;
| AMX Pagemaker site (part 4) &lt;br /&gt;
| [[AMX Pagemaker|AMX Pagemaker]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Format:Advanced OCP Art Studio File Formats|PAL]] &lt;br /&gt;
| OCP Art Studio Palette &lt;br /&gt;
| [[The OCP Art Studio|The OCP Art Studio]]&lt;br /&gt;
|-&lt;br /&gt;
| PAS &lt;br /&gt;
| (Turbo-)Pascal source code &lt;br /&gt;
| Turbo Pascal&lt;br /&gt;
|-&lt;br /&gt;
| PRV &lt;br /&gt;
| AMX Pagemaker site (Preview) &lt;br /&gt;
| AMX Pagemaker&lt;br /&gt;
|-&lt;br /&gt;
| PRL &lt;br /&gt;
| page relocatable file &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| RAR &lt;br /&gt;
| Packed Windows Archive &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ROM &lt;br /&gt;
| Rom-File (16K) &lt;br /&gt;
| diff. (Pseudo-)/(EP)ROM Manager&lt;br /&gt;
|-&lt;br /&gt;
| PT3 &lt;br /&gt;
| Spectrum Protracker 3 Music &lt;br /&gt;
| [[SymAmp|SymAmp]]&lt;br /&gt;
|-&lt;br /&gt;
| SAV &lt;br /&gt;
| SymbOS screen saver &lt;br /&gt;
| [[SymbOS|SymbOS]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Format:Advanced OCP Art Studio File Formats|SCR]] &lt;br /&gt;
| OCP Art Studio Screen &lt;br /&gt;
| [[The OCP Art Studio|The OCP Art Studio]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Format:SGX (SymbOS graphic files)|SGX]] &lt;br /&gt;
| SymbOS graphic &lt;br /&gt;
| [[SymbOS|SymbOS]]&lt;br /&gt;
|-&lt;br /&gt;
| SKM &lt;br /&gt;
| compilated [[STarKos]] Module &lt;br /&gt;
| [[SymAmp|SymAmp]]&lt;br /&gt;
|-&lt;br /&gt;
| SKR &lt;br /&gt;
| Set of Scripts &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| SKS &lt;br /&gt;
| STarKos Module &lt;br /&gt;
| [[STarKos|STarKos]]&lt;br /&gt;
|-&lt;br /&gt;
| SMC &lt;br /&gt;
| Executable C Program for FutureOS &lt;br /&gt;
| [[FutureOS|FutureOS]]&lt;br /&gt;
|-&lt;br /&gt;
| SND &lt;br /&gt;
| Soundtrakker 64KB Music &lt;br /&gt;
| [[Soundtrakker|Soundtrakker]]&lt;br /&gt;
|-&lt;br /&gt;
| SPR &lt;br /&gt;
| Set of Sprites &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ST2 &lt;br /&gt;
| Compilated [[Soundtrakker|Soundtrakker]] 128 Module &lt;br /&gt;
| [[SymAmp|SymAmp]]&lt;br /&gt;
|-&lt;br /&gt;
| SUB &lt;br /&gt;
| Submit/Batch file (CP/M) &lt;br /&gt;
| [[CP/M|CP/M]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Format:TAP tape image file format|TAP]] &lt;br /&gt;
| Emulator tape image &lt;br /&gt;
| [[Roland javascript emulator|Roland]]&lt;br /&gt;
|-&lt;br /&gt;
| TXT &lt;br /&gt;
| ASCII text &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| [[Format:VID (SymbOS video files)|VID]] &lt;br /&gt;
| [[SymbOS|SymbOS]] video &lt;br /&gt;
| [[SymPlay|SymPlay]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Format:Advanced OCP Art Studio File Formats|WIN]] &lt;br /&gt;
| OCP Art Studio Clip &lt;br /&gt;
| [[The OCP Art Studio|The OCP Art Studio]]&lt;br /&gt;
|-&lt;br /&gt;
| WP &lt;br /&gt;
| Key definition for WordStar &lt;br /&gt;
| [[WordStar|WordStar]]&lt;br /&gt;
|-&lt;br /&gt;
| X16 &lt;br /&gt;
| FutureOS Expansion RAM program &lt;br /&gt;
| [[FutureOS|FutureOS]]&lt;br /&gt;
|-&lt;br /&gt;
| YM &lt;br /&gt;
| YM Music file &lt;br /&gt;
| YM-Player and others&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== PC / Emulator related file formats ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Extension&#039;&#039; &lt;br /&gt;
| &#039;&#039;Explanations&#039;&#039; &lt;br /&gt;
| &#039;&#039;Programs that use this extenstion&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| [[Format:CDT tape image file format|CDT]]&lt;br /&gt;
| Tape image file format&lt;br /&gt;
| [[Arnold]],[[CaPriCe]], [[JavaCPC]], [[WinCPC]], [[WinApe]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Format:CPR CPC Plus cartridge file format|CPR]]&lt;br /&gt;
| CPC Plus cartridge file format&lt;br /&gt;
| [[Arnold]],[[WinApe]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Format:DSC disk image file format|DSC]] &lt;br /&gt;
| Disc image &lt;br /&gt;
| DSK-CPC&lt;br /&gt;
|-&lt;br /&gt;
| [[Format:DSK disk image file format|DSK]] &lt;br /&gt;
| Disc image &lt;br /&gt;
| [[Arnold]],[[CaPriCe]], [[JavaCPC]], [[SymSnap]], [[WinCPC]], [[WinApe]],DSK-CPC&lt;br /&gt;
|-&lt;br /&gt;
| [[Format:SNA snapshot file format|SNA]]&lt;br /&gt;
| Machine snapshot image file format &lt;br /&gt;
| [[Arnold]],[[CaPriCe]], [[JavaCPC]], [[SymSnap]], [[WinCPC]], [[WinApe]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Definitions]]&lt;/div&gt;</summary>
		<author><name>Antoniovillena</name></author>
	</entry>
	<entry>
		<id>https://wiki.amstrad-cpc.net/index.php?title=Emulators&amp;diff=4628</id>
		<title>Emulators</title>
		<link rel="alternate" type="text/html" href="https://wiki.amstrad-cpc.net/index.php?title=Emulators&amp;diff=4628"/>
		<updated>2011-04-29T10:24:15Z</updated>

		<summary type="html">&lt;p&gt;Antoniovillena: &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.10&lt;br /&gt;
| Jun 4, 1997&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [ftp://ftp.lip6.fr/pub/amstrad/emulator/CPCEM110.ZIP]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Amiga  ==&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 10, 1996&lt;br /&gt;
| [[CPC old generation|CPC range]], [[Plus|Plus range]]&lt;br /&gt;
| Shareware&lt;br /&gt;
| [ftp://ftp.lip6.fr/pub/amstrad/emulator/ACPCDE20.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/]&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;
&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;
| [[ZXM|ZXM]]&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| [[ZX Spectrum|ZX Spectrum]]&lt;br /&gt;
| &lt;br /&gt;
| [http://www.systemed.net/cpc/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;
| Mar 7, 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://nocash.emubase.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;
&lt;br /&gt;
== Java  ==&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;
| [[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]], [[ZX81]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://jemu.winape.net/]&lt;br /&gt;
|-&lt;br /&gt;
| [[JavaCPC|JavaCPC]]&lt;br /&gt;
| 6.7&lt;br /&gt;
| Nov 1, 2009&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://cpc-live.com/]&lt;br /&gt;
|-&lt;br /&gt;
| [[WebCPC|WebCPC]]&lt;br /&gt;
| &lt;br /&gt;
| &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  ==&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;
| Apr 3, 2011 &lt;br /&gt;
| [[CPC old generation|CPC range]] &lt;br /&gt;
| Freeware &lt;br /&gt;
| [http://www.cpcbox.com/]&lt;br /&gt;
|-&lt;br /&gt;
| [[Roland javascript emulator|Roland]] &lt;br /&gt;
| &lt;br /&gt;
| Apr 20, 2011 &lt;br /&gt;
| [[CPC old generation|CPC range]] &lt;br /&gt;
| Open source &lt;br /&gt;
| [http://roland.antoniovillena.es/]&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.8&lt;br /&gt;
| &lt;br /&gt;
| [[CPC old generation|CPC range]], [[Plus|Plus range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://www.bannister.org/software/arnold.htm]&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;
| [[MacMESS|MacMESS]]&lt;br /&gt;
| 0.132&lt;br /&gt;
| Jul 19, 2009&lt;br /&gt;
| [[CPC old generation|CPC range]], [[Plus|Plus range]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://www.macmess.org/]&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;
&lt;br /&gt;
== SunOS / Solaris  ==&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;
| [[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;
&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;
| Mar 17, 2009&lt;br /&gt;
| [[CPC old generation|CPC range]], [[Plus|Plus range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://arnold.berlios.de/]&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 Reloaded]]&lt;br /&gt;
| r449&lt;br /&gt;
| Jan 30, 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;
| [[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;
| 1.7&lt;br /&gt;
| Dec 6, 2009&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.11b1 WIP&lt;br /&gt;
| Feb 18, 2011&lt;br /&gt;
| [[CPC old generation|CPC range]], [[ZX Spectrum]], [[Nintendo NES]], [[ColecoVision]], [[Arcade]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://code.google.com/p/dsp-emulator/]&lt;br /&gt;
|-&lt;br /&gt;
| [[ep128emu|ep128emu]]&lt;br /&gt;
| 2.0.9.1&lt;br /&gt;
| Jan 3, 2011&lt;br /&gt;
| [[CPC old generation|CPC range]], [[ZX Spectrum]], [[Enterprise]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://sourceforge.net/projects/ep128emu/]&lt;br /&gt;
|-&lt;br /&gt;
| [[MESS|MESS]]&lt;br /&gt;
| 0.141&lt;br /&gt;
| Jan 9, 2011&lt;br /&gt;
| [[CPC old generation|CPC range]], [[Plus|Plus range]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://www.mess.org/]&lt;br /&gt;
|-&lt;br /&gt;
| [[Roland Emulator|Roland]] &lt;br /&gt;
| 0.5b2&lt;br /&gt;
| Jan 5, 2009&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://www.rolandemu.de/home.en.html]&lt;br /&gt;
|-&lt;br /&gt;
| [[XCPC|Xcpc]]&lt;br /&gt;
| &lt;br /&gt;
| Jan 22, 2007&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://xcpc.sourceforge.net/]&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;
| [[Arnimedes|Arnimedes]] &lt;br /&gt;
| 1.01&lt;br /&gt;
| Sep 17, 2006&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;
| &lt;br /&gt;
| Jan 11, 2004&lt;br /&gt;
| [[CPC old generation|CPC range]], [[Plus|Plus range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://arnold.emuunlim.com/]&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 Reloaded]]&lt;br /&gt;
| r449&lt;br /&gt;
| Jan 30, 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;
| [[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;
| [[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;
| [[CpcAlive|CpcAlive]] &lt;br /&gt;
| 1.09h&lt;br /&gt;
| Dec 12, 2010&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [http://www.cpcalive.com/cpcalive_en.html]&lt;br /&gt;
|-&lt;br /&gt;
| [[CPCE|CPCE]] &lt;br /&gt;
| 1.94&lt;br /&gt;
| Mar 7, 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.7&lt;br /&gt;
| Dec 6, 2009&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;
| [[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;
| [[DSP|DSP]]&lt;br /&gt;
| 0.11b1&lt;br /&gt;
| Mar 10, 2011&lt;br /&gt;
| [[CPC old generation|CPC range]], [[ZX Spectrum]], [[Nintendo NES]], [[ColecoVision]], [[Arcade]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://code.google.com/p/dsp-emulator/]&lt;br /&gt;
|-&lt;br /&gt;
| [[ep128emu|ep128emu]]&lt;br /&gt;
| 2.0.9.1&lt;br /&gt;
| Jan 3, 2011&lt;br /&gt;
| [[CPC old generation|CPC range]], [[ZX Spectrum]], [[Enterprise]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://sourceforge.net/projects/ep128emu/]&lt;br /&gt;
|-&lt;br /&gt;
| [[MESS|MESS]]&lt;br /&gt;
| 0.141&lt;br /&gt;
| Jan 9, 2011&lt;br /&gt;
| [[CPC old generation|CPC range]], [[Plus|Plus range]] &amp;amp; lots of other computer systems&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://www.mess.org/]&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]], [[ZX81]], [[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://nocash.emubase.de/cpc.htm]&lt;br /&gt;
|-&lt;br /&gt;
| [[PC-CPC|PC-CPC]] &lt;br /&gt;
| 0.1as&lt;br /&gt;
| Dec 30, 2010&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [http://demoniak-contrib.forumactif.com/f3-programmes-pc-pour-cpc]&lt;br /&gt;
|-&lt;br /&gt;
| [[Roland Emulator|Roland]] &lt;br /&gt;
| 0.5b2&lt;br /&gt;
| Jan 5, 2009&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Open source&lt;br /&gt;
| [http://www.rolandemu.de/home.en.html]&lt;br /&gt;
|-&lt;br /&gt;
| [[VirtualCPC|Virtual CPC]] &lt;br /&gt;
| 1.06&lt;br /&gt;
| Aug 8, 2007&lt;br /&gt;
| [[CPC old generation|CPC range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [http://antaresweb.dyndns.org/cpc/]&lt;br /&gt;
|-&lt;br /&gt;
| [[WinApe|WinApe]] &lt;br /&gt;
| 2.0a17&lt;br /&gt;
| Sep 9, 2008&lt;br /&gt;
| [[CPC old generation|CPC range]], [[Plus|Plus range]]&lt;br /&gt;
| Freeware&lt;br /&gt;
| [http://www.winape.net/]&lt;br /&gt;
|-&lt;br /&gt;
| [[WinCPC|WinCPC]] &lt;br /&gt;
| 0.9.25&lt;br /&gt;
| Jan 6, 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;
| [[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;
&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;
&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://dreamcast.dcemu.co.uk/dreamcpc.php]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Handheld Consoles  =&lt;br /&gt;
&lt;br /&gt;
== Dingoo A320 ==&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 / 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;
| [[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.2&lt;br /&gt;
| Mar 21, 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;
| [[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;
== 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://deadketchup.kyuran.be/tag/cpc/]&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_fr/index.php?/categories/3-Amstrad/]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Smartphones / PDAs  =&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;
&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.7&lt;br /&gt;
| Jul 5, 2010&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.clickgamer.com/moreinfo.htm?pid=4079&amp;amp;section=ppc]&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) &lt;br /&gt;
*[[C-ONE|C-ONE]] (TurboCPC core running on the C-One reconfigurable computer)&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>Antoniovillena</name></author>
	</entry>
	<entry>
		<id>https://wiki.amstrad-cpc.net/index.php?title=Roland_javascript_emulator&amp;diff=87158</id>
		<title>Roland javascript emulator</title>
		<link rel="alternate" type="text/html" href="https://wiki.amstrad-cpc.net/index.php?title=Roland_javascript_emulator&amp;diff=87158"/>
		<updated>2011-04-29T10:21:17Z</updated>

		<summary type="html">&lt;p&gt;Antoniovillena: Created page with &amp;quot;Information extracted from emulator homepage: [http://roland.antoniovillena.es/ http://roland.antoniovillena.es/]   &amp;lt;br&amp;gt; Roland is an Amstrad CPC emulator written in javascript. ...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Information extracted from emulator homepage: [http://roland.antoniovillena.es/ http://roland.antoniovillena.es/] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Roland is an Amstrad CPC emulator written in javascript. It can be slow in your machine, so I recommend you to use with Chrome 10+ for best performance results. &lt;br /&gt;
&lt;br /&gt;
By now, only CPC 464 model is emulated. Sound &amp;amp;amp; disk doesn&#039;t work, and many games will crash or doesn&#039;t work properly, because this is a beta release (the first beta one). Green links (on left frame) are .TAP files, and the blue ones are .CDT. Please be patient by loading .CDT files, they are very slow and there isn&#039;t any notification until loading is done. &lt;br /&gt;
&lt;br /&gt;
Roland has a GPL license, the source code is here. It shares the same Z80 engine as jbacteria and jtandy, but the rest is developed from scratch. There is another CPC emulator, at a very advanced state (disk emulation), so I encourage you to try it. &lt;br /&gt;
&lt;br /&gt;
Instructions: &lt;br /&gt;
&lt;br /&gt;
*Only CPC 464 model supported. &lt;br /&gt;
*Keyboard is as in your PC, so the mapping PCKEY -&amp;amp;gt; cpckey is: INS -&amp;amp;gt; copy, ENTER -&amp;amp;gt; return, PC NUMPAD KEYS -&amp;amp;gt; cpc function keys, NUMPAD+ -&amp;amp;gt; enter, DEL -&amp;amp;gt; clr, BACKSPACE -&amp;amp;gt; del. &lt;br /&gt;
*F1 for pause emulation, and show the keymap help. &lt;br /&gt;
*Supported .CDT and .TAP files from server (.CDTs in blue, .TAPs in green). &lt;br /&gt;
*Supported SNA files: load by dragging a local file to emulator window, save with F10. &lt;br /&gt;
*Supported memory snapshots: save with F3 and load with F4. &lt;br /&gt;
*F5 for reset (normal browser refresh) and F11 for full screen&lt;/div&gt;</summary>
		<author><name>Antoniovillena</name></author>
	</entry>
	<entry>
		<id>https://wiki.amstrad-cpc.net/index.php?title=Format:TAP_tape_image_file_format&amp;diff=87153</id>
		<title>Format:TAP tape image file format</title>
		<link rel="alternate" type="text/html" href="https://wiki.amstrad-cpc.net/index.php?title=Format:TAP_tape_image_file_format&amp;diff=87153"/>
		<updated>2011-04-28T14:46:15Z</updated>

		<summary type="html">&lt;p&gt;Antoniovillena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This document describes the TAP format for use in Amstrad CPC emulators, and a simple way to implement by trapping the ROM loader routine. &lt;br /&gt;
&lt;br /&gt;
= Tape-Image (.TAP) file format  =&lt;br /&gt;
&lt;br /&gt;
The .TAP files contain blocks of tape-saved data. All blocks start with two bytes specifying how many bytes will follow (not counting the two length bytes). Then raw tape data follows, starting with the flag byte. Unlike speccy format, the checksum bytes are not included, so you don&#039;t need calculate the crc-ccitt every 256 bytes, or padding the last page with zeroes, or ending with four 0xff bytes trailer. &lt;br /&gt;
&lt;br /&gt;
   1D 00 2C 50 68 61 6E 74 6F 6D 61 73 32 20 20 20 20 20 20 01 FF 02 58 00 00 AD FF&lt;br /&gt;
   ^^^^^...... first block is 29 bytes (28 bytes+flag)&lt;br /&gt;
         ^^... flag byte (A reg, 2C for headers, 16 for data blocks)&lt;br /&gt;
 file name .^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^&lt;br /&gt;
 block number ..............................................^^&lt;br /&gt;
 last block (a non-zero value means last block) ...............^^&lt;br /&gt;
 file type (02 unprotected binary) ...............................^^&lt;br /&gt;
 data length (88 bytes) .............................................^^^^^&lt;br /&gt;
 data location (0xAD00) ...................................................^^^^^&lt;br /&gt;
 first block (a non-zero value means first block) ...............................^^&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 58 00 10 AD 59 00 16 06 12 0A 00 2A 02 18 06 1E 07 30 0C 00 0D ..&lt;br /&gt;
 ^^^^^............... logical length, in consecutive blocks (88 bytes)&lt;br /&gt;
       ^^^^^......... execution address for machine code programs (0xAD10)&lt;br /&gt;
             ^^^^^... second block is 89 bytes (88 bytes+flag)&lt;br /&gt;
 flag byte ........^^&lt;br /&gt;
 second block data ...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^&lt;br /&gt;
&lt;br /&gt;
Note that it is possible to join .TAP files by simply stringing them together. &lt;br /&gt;
&lt;br /&gt;
For example, in DOS / Windows: &lt;br /&gt;
&lt;br /&gt;
     COPY /B FILE1.TAP + FILE2.TAP ALL.TAP&lt;br /&gt;
&lt;br /&gt;
or in Unix/Linux: &lt;br /&gt;
&lt;br /&gt;
     cp file1.tap all.tap &amp;amp;amp;&amp;amp;amp; cat file2.tap &amp;amp;gt;&amp;amp;gt; all.tap&lt;br /&gt;
&lt;br /&gt;
For completeness, I&#039;ll include the structure of a tape header. A header always consists of 28 bytes: &lt;br /&gt;
&lt;br /&gt;
 Byte Size  Name           Description&lt;br /&gt;
&lt;br /&gt;
    0   16  Filename       Padded to 16 bytes with nulls&lt;br /&gt;
   16    1  Block number   Filename (padded with blanks)&lt;br /&gt;
   17    1  Last block     A non-zero value means that this is the last block of a file&lt;br /&gt;
   18    1  File type      A value recording  the type of the file (see below)&lt;br /&gt;
   19    2  Data length    The number of data bytes in the data record&lt;br /&gt;
   21    2  Data location  Where the data was written from originally&lt;br /&gt;
   23    1  First block    A non-zero value means that this is the first block of a file&lt;br /&gt;
   24    2  Logical length This is the total length of the file in bytes&lt;br /&gt;
   26    2  Entry address  The execution address for machine code programs&lt;br /&gt;
&lt;br /&gt;
The file type (byte 18) is split into a number of fields: &lt;br /&gt;
&lt;br /&gt;
 Bit 0      Protection     If this bit is set the file is protected in some way &lt;br /&gt;
 Bits 1..3  File contents  0 = Internal BASIC&lt;br /&gt;
                           1 = Binary&lt;br /&gt;
                           2 = Screen image&lt;br /&gt;
                           3 = ASCII&lt;br /&gt;
                           4..7 are unallocated&lt;br /&gt;
 Bits 4..7  Version        ASCII files should be version 1, all other files, version 0 &lt;br /&gt;
&lt;br /&gt;
= Trapping the ROM routine  =&lt;br /&gt;
&lt;br /&gt;
The recommendable entry point in the Amstrad CPC ROM is a routine named &amp;quot;CAS READ&amp;quot;, that has the next parameters: &lt;br /&gt;
&lt;br /&gt;
  A = sync byte&lt;br /&gt;
 HL = location of data&lt;br /&gt;
 DE = length of data&lt;br /&gt;
&lt;br /&gt;
So when you trap the routine, you must check that sync byte matches with A register and length of block-1 with DE register. Then copy from file to memory starting at HL address, and finally change the F register to 0x45 (no errors) and the PC with the exit point. Addresses are, in hexadecimal, in the next table: &lt;br /&gt;
&lt;br /&gt;
              464 ROM   664 ROM  6128 ROM&lt;br /&gt;
 Entry Point     2836      29A6      29A6&lt;br /&gt;
 Exit Point      2872      29E2      29E2&lt;/div&gt;</summary>
		<author><name>Antoniovillena</name></author>
	</entry>
	<entry>
		<id>https://wiki.amstrad-cpc.net/index.php?title=Format:TAP_tape_image_file_format&amp;diff=87152</id>
		<title>Format:TAP tape image file format</title>
		<link rel="alternate" type="text/html" href="https://wiki.amstrad-cpc.net/index.php?title=Format:TAP_tape_image_file_format&amp;diff=87152"/>
		<updated>2011-04-28T14:43:03Z</updated>

		<summary type="html">&lt;p&gt;Antoniovillena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This document describes the TAP format for use in Amstrad CPC emulators, and a simple way to implement by trapping the ROM loader routine. &lt;br /&gt;
&lt;br /&gt;
= Tape-Image (.TAP) file format  =&lt;br /&gt;
&lt;br /&gt;
The .TAP files contain blocks of tape-saved data. All blocks start with two bytes specifying how many bytes will follow (not counting the two length bytes). Then raw tape data follows, starting with the flag byte. Unlike speccy format, the checksum bytes are not included, so you don&#039;t need calculate the crc-ccitt every 256 bytes, or padding the last page with zeroes, or ending with four 0xff bytes trailer. &lt;br /&gt;
&lt;br /&gt;
   1D 00 2C 50 68 61 6E 74 6F 6D 61 73 32 20 20 20 20 20 20 01 FF 02 58 00 00 AD FF&lt;br /&gt;
  ^^^^^...... first block is 29 bytes (28 bytes+flag)&lt;br /&gt;
        ^^... flag byte (A reg, 2C for headers, 16 for data blocks)&lt;br /&gt;
 file name .^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^&lt;br /&gt;
 block number ..............................................^^&lt;br /&gt;
 last block (a non-zero value means last block) ...............^^&lt;br /&gt;
 file type (02 unprotected binary) ...............................^^&lt;br /&gt;
 data length (88 bytes) .............................................^^^^^&lt;br /&gt;
 data location (0xAD00) ...................................................^^^^^&lt;br /&gt;
 first block (a non-zero value means first block) ...............................^^&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 58 00 10 AD 59 00 16 06 12 0A 00 2A 02 18 06 1E 07 30 0C 00 0D ..&lt;br /&gt;
 ^^^^^............... logical length, in consecutive blocks (88 bytes)&lt;br /&gt;
      ^^^^^......... execution address for machine code programs (0xAD10)&lt;br /&gt;
            ^^^^^... second block is 89 bytes (88 bytes+flag)&lt;br /&gt;
 flag byte ........^^&lt;br /&gt;
 second block data ...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^&lt;br /&gt;
&lt;br /&gt;
Note that it is possible to join .TAP files by simply stringing them together. &lt;br /&gt;
&lt;br /&gt;
For example, in DOS / Windows: &lt;br /&gt;
&lt;br /&gt;
     COPY /B FILE1.TAP + FILE2.TAP ALL.TAP&lt;br /&gt;
&lt;br /&gt;
or in Unix/Linux: &lt;br /&gt;
&lt;br /&gt;
     cp file1.tap all.tap &amp;amp;amp;&amp;amp;amp; cat file2.tap &amp;amp;gt;&amp;amp;gt; all.tap&lt;br /&gt;
&lt;br /&gt;
For completeness, I&#039;ll include the structure of a tape header. A header always consists of 28 bytes: &lt;br /&gt;
&lt;br /&gt;
 Byte Size  Name           Description&lt;br /&gt;
&lt;br /&gt;
    0   16  Filename       Padded to 16 bytes with nulls&lt;br /&gt;
  16    1  Block number   Filename (padded with blanks)&lt;br /&gt;
  17    1  Last block     A non-zero value means that this is the last block of a file&lt;br /&gt;
  18    1  File type      A value recording  the type of the file (see below)&lt;br /&gt;
  19    2  Data length    The number of data bytes in the data record&lt;br /&gt;
  21    2  Data location  Where the data was written from originally&lt;br /&gt;
  23    1  First block    A non-zero value means that this is the first block of a file&lt;br /&gt;
  24    2  Logical length This is the total length of the file in bytes&lt;br /&gt;
  26    2  Entry address  The execution address for machine code programs&lt;br /&gt;
&lt;br /&gt;
The file type (byte 18) is split into a number of fields: &lt;br /&gt;
&lt;br /&gt;
 Bit 0      Protection     If this bit is set the file is protected in some way &lt;br /&gt;
 Bits 1..3  File contents  0 = Internal BASIC&lt;br /&gt;
                          1 = Binary&lt;br /&gt;
                          2 = Screen image&lt;br /&gt;
                          3 = ASCII&lt;br /&gt;
                          4..7 are unallocated&lt;br /&gt;
 Bits 4..7  Version        ASCII files should be version 1, all other files, version 0 &lt;br /&gt;
&lt;br /&gt;
= Trapping the ROM routine  =&lt;br /&gt;
&lt;br /&gt;
The recommendable entry point in the Amstrad CPC ROM is a routine named &amp;quot;CAS READ&amp;quot;, that has the next parameters: &lt;br /&gt;
&lt;br /&gt;
  A = sync byte&lt;br /&gt;
 HL = location of data&lt;br /&gt;
 DE = length of data&lt;br /&gt;
&lt;br /&gt;
So when you trap the routine, you must check that sync byte matches with A register and length of block-1 with DE register. Then copy from file to memory starting at HL address, and finally change the F register to 0x45 (no errors) and the PC with the exit point. Addresses are, in hexadecimal, in the next table: &lt;br /&gt;
&lt;br /&gt;
              464 ROM   664 ROM  6128 ROM&lt;br /&gt;
 Entry Point     2836      29A6      29A6&lt;br /&gt;
 Exit Point      2872      29E2      29E2&lt;/div&gt;</summary>
		<author><name>Antoniovillena</name></author>
	</entry>
	<entry>
		<id>https://wiki.amstrad-cpc.net/index.php?title=Format:TAP_tape_image_file_format&amp;diff=87151</id>
		<title>Format:TAP tape image file format</title>
		<link rel="alternate" type="text/html" href="https://wiki.amstrad-cpc.net/index.php?title=Format:TAP_tape_image_file_format&amp;diff=87151"/>
		<updated>2011-04-28T14:39:38Z</updated>

		<summary type="html">&lt;p&gt;Antoniovillena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This document describes the TAP format for use in Amstrad CPC emulators, and a simple way to implement by trapping the ROM loader routine. &lt;br /&gt;
&lt;br /&gt;
= Tape-Image (.TAP) file format  =&lt;br /&gt;
&lt;br /&gt;
The .TAP files contain blocks of tape-saved data. All blocks start with two bytes specifying how many bytes will follow (not counting the two length bytes). Then raw tape data follows, starting with the flag byte. Unlike speccy format, the checksum bytes are not included, so you don&#039;t need calculate the crc-ccitt every 256 bytes, or padding the last page with zeroes, or ending with four 0xff bytes trailer. &lt;br /&gt;
&lt;br /&gt;
  1D 00 2C 50 68 61 6E 74 6F 6D 61 73 32 20 20 20 20 20 20 01 FF 02 58 00 00 AD FF&lt;br /&gt;
 &lt;br /&gt;
  ^^^^^...... first block is 29 bytes (28 bytes+flag)&lt;br /&gt;
        ^^... flag byte (A reg, 2C for headers, 16 for data blocks)&lt;br /&gt;
 file name .^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^&lt;br /&gt;
 block number ..............................................^^&lt;br /&gt;
 last block (a non-zero value means last block) ...............^^&lt;br /&gt;
 file type (02 unprotected binary) ...............................^^&lt;br /&gt;
 data length (88 bytes) .............................................^^^^^&lt;br /&gt;
 data location (0xAD00) ...................................................^^^^^&lt;br /&gt;
 first block (a non-zero value means first block) ...............................^^&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 58 00 10 AD 59 00 16 06 12 0A 00 2A 02 18 06 1E 07 30 0C 00 0D ..&lt;br /&gt;
 &lt;br /&gt;
 ^^^^^............... logical length, in consecutive blocks (88 bytes)&lt;br /&gt;
       ^^^^^......... execution address for machine code programs (0xAD10)&lt;br /&gt;
             ^^^^^... second block is 89 bytes (88 bytes+flag)&lt;br /&gt;
 flag byte ........^^&lt;br /&gt;
 second block data ...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^&lt;br /&gt;
&lt;br /&gt;
Note that it is possible to join .TAP files by simply stringing them together. &lt;br /&gt;
&lt;br /&gt;
For example, in DOS / Windows: &lt;br /&gt;
&lt;br /&gt;
     COPY /B FILE1.TAP + FILE2.TAP ALL.TAP&lt;br /&gt;
&lt;br /&gt;
or in Unix/Linux: &lt;br /&gt;
&lt;br /&gt;
     cp file1.tap all.tap &amp;amp;amp;&amp;amp;amp; cat file2.tap &amp;amp;gt;&amp;amp;gt; all.tap&lt;br /&gt;
&lt;br /&gt;
For completeness, I&#039;ll include the structure of a tape header. A header always consists of 28 bytes: &lt;br /&gt;
&lt;br /&gt;
 Byte Size  Name           Description&lt;br /&gt;
&lt;br /&gt;
    0   16  Filename       Padded to 16 bytes with nulls&lt;br /&gt;
   16    1  Block number   Filename (padded with blanks)&lt;br /&gt;
   17    1  Last block     A non-zero value means that this is the last block of a file&lt;br /&gt;
   18    1  File type      A value recording  the type of the file (see below)&lt;br /&gt;
   19    2  Data length    The number of data bytes in the data record&lt;br /&gt;
   21    2  Data location  Where the data was written from originally&lt;br /&gt;
   23    1  First block    A non-zero value means that this is the first block of a file&lt;br /&gt;
   24    2  Logical length This is the total length of the file in bytes&lt;br /&gt;
   26    2  Entry address  The execution address for machine code programs&lt;br /&gt;
&lt;br /&gt;
The file type (byte 18) is split into a number of fields: &lt;br /&gt;
&lt;br /&gt;
 Bit 0      Protection     If this bit is set the file is protected in some way &lt;br /&gt;
 Bits 1..3  File contents  0 = Internal BASIC&lt;br /&gt;
                           1 = Binary&lt;br /&gt;
                           2 = Screen image&lt;br /&gt;
                           3 = ASCII&lt;br /&gt;
                           4..7 are unallocated&lt;br /&gt;
 Bits 4..7  Version        ASCII files should be version 1, all other files, version 0 &lt;br /&gt;
&lt;br /&gt;
= Trapping the ROM routine  =&lt;br /&gt;
&lt;br /&gt;
The recommendable entry point in the Amstrad CPC ROM is a routine named &amp;quot;CAS READ&amp;quot;, that has the next parameters: &lt;br /&gt;
&lt;br /&gt;
  A = sync byte&lt;br /&gt;
 HL = location of data&lt;br /&gt;
 DE = length of data&lt;br /&gt;
&lt;br /&gt;
So when you trap the routine, you must check that sync byte matches with A register and length of block-1 with DE register. Then copy from file to memory starting at HL address, and finally change the F register to 0x45 (no errors) and the PC with the exit point. Addresses are, in hexadecimal, in the next table: &lt;br /&gt;
&lt;br /&gt;
              464 ROM   664 ROM  6128 ROM&lt;br /&gt;
 Entry Point     2836      29A6      29A6&lt;br /&gt;
 Exit Point      2872      29E2      29E2&lt;/div&gt;</summary>
		<author><name>Antoniovillena</name></author>
	</entry>
	<entry>
		<id>https://wiki.amstrad-cpc.net/index.php?title=Format:TAP_tape_image_file_format&amp;diff=87150</id>
		<title>Format:TAP tape image file format</title>
		<link rel="alternate" type="text/html" href="https://wiki.amstrad-cpc.net/index.php?title=Format:TAP_tape_image_file_format&amp;diff=87150"/>
		<updated>2011-04-28T14:36:53Z</updated>

		<summary type="html">&lt;p&gt;Antoniovillena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This document describes the TAP format for use in Amstrad CPC emulators, and a simple way to implement by trapping the ROM loader routine. &lt;br /&gt;
&lt;br /&gt;
= Tape-Image (.TAP) file format  =&lt;br /&gt;
&lt;br /&gt;
The .TAP files contain blocks of tape-saved data. All blocks start with two bytes specifying how many bytes will follow (not counting the two length bytes). Then raw tape data follows, starting with the flag byte. Unlike speccy format, the checksum bytes are not included, so you don&#039;t need calculate the crc-ccitt every 256 bytes, or padding the last page with zeroes, or ending with four 0xff bytes trailer. &lt;br /&gt;
&lt;br /&gt;
   1D 00 2C 50 68 61 6E 74 6F 6D 61 73 32 20 20 20 20 20 20 01 FF 02 58 00 00 AD FF&lt;br /&gt;
 &lt;br /&gt;
   ^^^^^...... first block is 29 bytes (28 bytes+flag)&lt;br /&gt;
         ^^... flag byte (A reg, 2C for headers, 16 for data blocks)&lt;br /&gt;
 file name .^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^&lt;br /&gt;
 block number ..............................................^^&lt;br /&gt;
 last block (a non-zero value means last block) ...............^^&lt;br /&gt;
 file type (02 unprotected binary) ...............................^^&lt;br /&gt;
 data length (88 bytes) .............................................^^^^^&lt;br /&gt;
 data location (0xAD00) ...................................................^^^^^&lt;br /&gt;
 first block (a non-zero value means first block) ...............................^^&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 58 00 10 AD 59 00 16 06 12 0A 00 2A 02 18 06 1E 07 30 0C 00 0D ..&lt;br /&gt;
 &lt;br /&gt;
 ^^^^^............... logical length, in consecutive blocks (88 bytes)&lt;br /&gt;
      ^^^^^......... execution address for machine code programs (0xAD10)&lt;br /&gt;
            ^^^^^... second block is 89 bytes (88 bytes+flag)&lt;br /&gt;
 flag byte ........^^&lt;br /&gt;
 second block data ...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^&lt;br /&gt;
&lt;br /&gt;
Note that it is possible to join .TAP files by simply stringing them together. &lt;br /&gt;
&lt;br /&gt;
For example, in DOS / Windows: &lt;br /&gt;
&lt;br /&gt;
     COPY /B FILE1.TAP + FILE2.TAP ALL.TAP&lt;br /&gt;
&lt;br /&gt;
or in Unix/Linux: &lt;br /&gt;
&lt;br /&gt;
     cp file1.tap all.tap &amp;amp;amp;&amp;amp;amp; cat file2.tap &amp;amp;gt;&amp;amp;gt; all.tap&lt;br /&gt;
&lt;br /&gt;
For completeness, I&#039;ll include the structure of a tape header. A header always consists of 28 bytes: &lt;br /&gt;
&lt;br /&gt;
 Byte Size  Name           Description&lt;br /&gt;
&lt;br /&gt;
    0   16  Filename       Padded to 16 bytes with nulls&lt;br /&gt;
  16    1  Block number   Filename (padded with blanks)&lt;br /&gt;
  17    1  Last block     A non-zero value means that this is the last block of a file&lt;br /&gt;
  18    1  File type      A value recording  the type of the file (see below)&lt;br /&gt;
  19    2  Data length    The number of data bytes in the data record&lt;br /&gt;
  21    2  Data location  Where the data was written from originally&lt;br /&gt;
  23    1  First block    A non-zero value means that this is the first block of a file&lt;br /&gt;
  24    2  Logical length This is the total length of the file in bytes&lt;br /&gt;
  26    2  Entry address  The execution address for machine code programs&lt;br /&gt;
&lt;br /&gt;
The file type (byte 18) is split into a number of fields: &lt;br /&gt;
&lt;br /&gt;
 Bit 0      Protection     If this bit is set the file is protected in some way &lt;br /&gt;
 Bits 1..3  File contents  0 = Internal BASIC&lt;br /&gt;
                           1 = Binary&lt;br /&gt;
                           2 = Screen image&lt;br /&gt;
                           3 = ASCII&lt;br /&gt;
                           4..7 are unallocated&lt;br /&gt;
 Bits 4..7  Version        ASCII files should be version 1, all other files, version 0 &lt;br /&gt;
&lt;br /&gt;
= Trapping the ROM routine  =&lt;br /&gt;
&lt;br /&gt;
The recommendable entry point in the Amstrad CPC ROM is a routine named &amp;quot;CAS READ&amp;quot;, that has the next parameters: &lt;br /&gt;
&lt;br /&gt;
  A = sync byte&lt;br /&gt;
 HL = location of data&lt;br /&gt;
 DE = length of data&lt;br /&gt;
&lt;br /&gt;
So when you trap the routine, you must check that sync byte matches with A register and length of block-1 with DE register. Then copy from file to memory starting at HL address, and finally change the F register to 0x45 (no errors) and the PC with the exit point. Addresses are, in hexadecimal, in the next table: &lt;br /&gt;
&lt;br /&gt;
              464 ROM   664 ROM  6128 ROM&lt;br /&gt;
 Entry Point     2836      29A6      29A6&lt;br /&gt;
 Exit Point      2872      29E2      29E2&lt;/div&gt;</summary>
		<author><name>Antoniovillena</name></author>
	</entry>
	<entry>
		<id>https://wiki.amstrad-cpc.net/index.php?title=Format:TAP_tape_image_file_format&amp;diff=87149</id>
		<title>Format:TAP tape image file format</title>
		<link rel="alternate" type="text/html" href="https://wiki.amstrad-cpc.net/index.php?title=Format:TAP_tape_image_file_format&amp;diff=87149"/>
		<updated>2011-04-28T14:35:27Z</updated>

		<summary type="html">&lt;p&gt;Antoniovillena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This document describes the TAP format for use in Amstrad CPC emulators, and a simple way to implement by trapping the ROM loader routine. &lt;br /&gt;
&lt;br /&gt;
= Tape-Image (.TAP) file format  =&lt;br /&gt;
&lt;br /&gt;
The .TAP files contain blocks of tape-saved data. All blocks start with two bytes specifying how many bytes will follow (not counting the two length bytes). Then raw tape data follows, starting with the flag byte. Unlike speccy format, the checksum bytes are not included, so you don&#039;t need calculate the crc-ccitt every 256 bytes, or padding the last page with zeroes, or ending with four 0xff bytes trailer. &lt;br /&gt;
&lt;br /&gt;
   1D 00 2C 50 68 61 6E 74 6F 6D 61 73 32 20 20 20 20 20 20 01 FF 02 58 00 00 AD FF&lt;br /&gt;
 &lt;br /&gt;
  ^^^^^...... first block is 29 bytes (28 bytes+flag)&lt;br /&gt;
        ^^... flag byte (A reg, 2C for headers, 16 for data blocks)&lt;br /&gt;
 file name .^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^&lt;br /&gt;
 block number ..............................................^^&lt;br /&gt;
 last block (a non-zero value means last block) ...............^^&lt;br /&gt;
 file type (02 unprotected binary) ...............................^^&lt;br /&gt;
 data length (88 bytes) .............................................^^^^^&lt;br /&gt;
 data location (0xAD00) ...................................................^^^^^&lt;br /&gt;
 first block (a non-zero value means first block) ...............................^^&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 58 00 10 AD 59 00 16 06 12 0A 00 2A 02 18 06 1E 07 30 0C 00 0D ..&lt;br /&gt;
 &lt;br /&gt;
 ^^^^^............... logical length, in consecutive blocks (88 bytes)&lt;br /&gt;
       ^^^^^......... execution address for machine code programs (0xAD10)&lt;br /&gt;
             ^^^^^... second block is 89 bytes (88 bytes+flag)&lt;br /&gt;
 flag byte ........^^&lt;br /&gt;
 second block data ...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^&lt;br /&gt;
&lt;br /&gt;
Note that it is possible to join .TAP files by simply stringing them together. &lt;br /&gt;
&lt;br /&gt;
For example, in DOS / Windows: &lt;br /&gt;
&lt;br /&gt;
     COPY /B FILE1.TAP + FILE2.TAP ALL.TAP&lt;br /&gt;
&lt;br /&gt;
or in Unix/Linux: &lt;br /&gt;
&lt;br /&gt;
     cp file1.tap all.tap &amp;amp;amp;&amp;amp;amp; cat file2.tap &amp;amp;gt;&amp;amp;gt; all.tap&lt;br /&gt;
&lt;br /&gt;
For completeness, I&#039;ll include the structure of a tape header. A header always consists of 28 bytes: &lt;br /&gt;
&lt;br /&gt;
 Byte Size  Name           Description&lt;br /&gt;
&lt;br /&gt;
    0   16  Filename       Padded to 16 bytes with nulls&lt;br /&gt;
   16    1  Block number   Filename (padded with blanks)&lt;br /&gt;
   17    1  Last block     A non-zero value means that this is the last block of a file&lt;br /&gt;
   18    1  File type      A value recording  the type of the file (see below)&lt;br /&gt;
   19    2  Data length    The number of data bytes in the data record&lt;br /&gt;
   21    2  Data location  Where the data was written from originally&lt;br /&gt;
   23    1  First block    A non-zero value means that this is the first block of a file&lt;br /&gt;
   24    2  Logical length This is the total length of the file in bytes&lt;br /&gt;
   26    2  Entry address  The execution address for machine code programs&lt;br /&gt;
&lt;br /&gt;
The file type (byte 18) is split into a number of fields: &lt;br /&gt;
&lt;br /&gt;
 Bit 0      Protection     If this bit is set the file is protected in some way &lt;br /&gt;
 Bits 1..3  File contents  0 = Internal BASIC&lt;br /&gt;
                       1 = Binary&lt;br /&gt;
                       2 = Screen image&lt;br /&gt;
                       3 = ASCII&lt;br /&gt;
                       4..7 are unallocated&lt;br /&gt;
 Bits 4..7  Version        ASCII files should be version 1, all other files, version 0 &lt;br /&gt;
&lt;br /&gt;
= Trapping the ROM routine  =&lt;br /&gt;
&lt;br /&gt;
The recommendable entry point in the Amstrad CPC ROM is a routine named &amp;quot;CAS READ&amp;quot;, that has the next parameters: &lt;br /&gt;
&lt;br /&gt;
  A = sync byte&lt;br /&gt;
 HL = location of data&lt;br /&gt;
 DE = length of data&lt;br /&gt;
&lt;br /&gt;
So when you trap the routine, you must check that sync byte matches with A register and length of block-1 with DE register. Then copy from file to memory starting at HL address, and finally change the F register to 0x45 (no errors) and the PC with the exit point. Addresses are, in hexadecimal, in the next table: &lt;br /&gt;
&lt;br /&gt;
              464 ROM   664 ROM  6128 ROM&lt;br /&gt;
 Entry Point     2836      29A6      29A6&lt;br /&gt;
 Exit Point      2872      29E2      29E2&lt;/div&gt;</summary>
		<author><name>Antoniovillena</name></author>
	</entry>
	<entry>
		<id>https://wiki.amstrad-cpc.net/index.php?title=Format:TAP_tape_image_file_format&amp;diff=87148</id>
		<title>Format:TAP tape image file format</title>
		<link rel="alternate" type="text/html" href="https://wiki.amstrad-cpc.net/index.php?title=Format:TAP_tape_image_file_format&amp;diff=87148"/>
		<updated>2011-04-28T14:34:07Z</updated>

		<summary type="html">&lt;p&gt;Antoniovillena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This document describes the TAP format for use in Amstrad CPC emulators, and a simple way to implement by trapping the ROM loader routine. &lt;br /&gt;
&lt;br /&gt;
= Tape-Image (.TAP) file format  =&lt;br /&gt;
&lt;br /&gt;
The .TAP files contain blocks of tape-saved data. All blocks start with two bytes specifying how many bytes will follow (not counting the two length bytes). Then raw tape data follows, starting with the flag byte. Unlike speccy format, the checksum bytes are not included, so you don&#039;t need calculate the crc-ccitt every 256 bytes, or padding the last page with zeroes, or ending with four 0xff bytes trailer. &lt;br /&gt;
&lt;br /&gt;
   1D 00 2C 50 68 61 6E 74 6F 6D 61 73 32 20 20 20 20 20 20 01 FF 02 58 00 00 AD FF&lt;br /&gt;
 &lt;br /&gt;
   ^^^^^...... first block is 29 bytes (28 bytes+flag)&lt;br /&gt;
         ^^... flag byte (A reg, 2C for headers, 16 for data blocks)&lt;br /&gt;
 file name .^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^&lt;br /&gt;
 block number ..............................................^^&lt;br /&gt;
 last block (a non-zero value means last block) ...............^^&lt;br /&gt;
 file type (02 unprotected binary) ...............................^^&lt;br /&gt;
 data length (88 bytes) .............................................^^^^^&lt;br /&gt;
 data location (0xAD00) ...................................................^^^^^&lt;br /&gt;
 first block (a non-zero value means first block) ...............................^^&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 58 00 10 AD 59 00 16 06 12 0A 00 2A 02 18 06 1E 07 30 0C 00 0D ..&lt;br /&gt;
 &lt;br /&gt;
 ^^^^^............... logical length, in consecutive blocks (88 bytes)&lt;br /&gt;
     ^^^^^......... execution address for machine code programs (0xAD10)&lt;br /&gt;
           ^^^^^... second block is 89 bytes (88 bytes+flag)&lt;br /&gt;
 flag byte ........^^&lt;br /&gt;
 second block data ...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^&lt;br /&gt;
&lt;br /&gt;
Note that it is possible to join .TAP files by simply stringing them together. &lt;br /&gt;
&lt;br /&gt;
For example, in DOS / Windows: &lt;br /&gt;
&lt;br /&gt;
     COPY /B FILE1.TAP + FILE2.TAP ALL.TAP&lt;br /&gt;
&lt;br /&gt;
or in Unix/Linux: &lt;br /&gt;
&lt;br /&gt;
     cp file1.tap all.tap &amp;amp;amp;&amp;amp;amp; cat file2.tap &amp;amp;gt;&amp;amp;gt; all.tap&lt;br /&gt;
&lt;br /&gt;
For completeness, I&#039;ll include the structure of a tape header. A header always consists of 28 bytes: &lt;br /&gt;
&lt;br /&gt;
 Byte Size  Name           Description&lt;br /&gt;
&lt;br /&gt;
    0   16  Filename       Padded to 16 bytes with nulls&lt;br /&gt;
 16    1  Block number   Filename (padded with blanks)&lt;br /&gt;
 17    1  Last block     A non-zero value means that this is the last block of a file&lt;br /&gt;
 18    1  File type      A value recording  the type of the file (see below)&lt;br /&gt;
 19    2  Data length    The number of data bytes in the data record&lt;br /&gt;
 21    2  Data location  Where the data was written from originally&lt;br /&gt;
 23    1  First block    A non-zero value means that this is the first block of a file&lt;br /&gt;
 24    2  Logical length This is the total length of the file in bytes&lt;br /&gt;
 26    2  Entry address  The execution address for machine code programs&lt;br /&gt;
&lt;br /&gt;
The file type (byte 18) is split into a number of fields: &lt;br /&gt;
&lt;br /&gt;
 Bit 0      Protection     If this bit is set the file is protected in some way &lt;br /&gt;
 Bits 1..3  File contents  0 = Internal BASIC&lt;br /&gt;
                        1 = Binary&lt;br /&gt;
                        2 = Screen image&lt;br /&gt;
                        3 = ASCII&lt;br /&gt;
                        4..7 are unallocated&lt;br /&gt;
 Bits 4..7  Version        ASCII files should be version 1, all other files, version 0 &lt;br /&gt;
&lt;br /&gt;
= Trapping the ROM routine  =&lt;br /&gt;
&lt;br /&gt;
The recommendable entry point in the Amstrad CPC ROM is a routine named &amp;quot;CAS READ&amp;quot;, that has the next parameters: &lt;br /&gt;
&lt;br /&gt;
  A = sync byte&lt;br /&gt;
 HL = location of data&lt;br /&gt;
 DE = length of data&lt;br /&gt;
&lt;br /&gt;
So when you trap the routine, you must check that sync byte matches with A register and length of block-1 with DE register. Then copy from file to memory starting at HL address, and finally change the F register to 0x45 (no errors) and the PC with the exit point. Addresses are, in hexadecimal, in the next table: &lt;br /&gt;
&lt;br /&gt;
              464 ROM   664 ROM  6128 ROM&lt;br /&gt;
 Entry Point     2836      29A6      29A6&lt;br /&gt;
 Exit Point      2872      29E2      29E2&lt;/div&gt;</summary>
		<author><name>Antoniovillena</name></author>
	</entry>
	<entry>
		<id>https://wiki.amstrad-cpc.net/index.php?title=Format:TAP_tape_image_file_format&amp;diff=87147</id>
		<title>Format:TAP tape image file format</title>
		<link rel="alternate" type="text/html" href="https://wiki.amstrad-cpc.net/index.php?title=Format:TAP_tape_image_file_format&amp;diff=87147"/>
		<updated>2011-04-28T14:33:08Z</updated>

		<summary type="html">&lt;p&gt;Antoniovillena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This document describes the TAP format for use in Amstrad CPC emulators, and a simple way to implement by trapping the ROM loader routine. &lt;br /&gt;
&lt;br /&gt;
= Tape-Image (.TAP) file format  =&lt;br /&gt;
&lt;br /&gt;
The .TAP files contain blocks of tape-saved data. All blocks start with two bytes specifying how many bytes will follow (not counting the two length bytes). Then raw tape data follows, starting with the flag byte. Unlike speccy format, the checksum bytes are not included, so you don&#039;t need calculate the crc-ccitt every 256 bytes, or padding the last page with zeroes, or ending with four 0xff bytes trailer. &lt;br /&gt;
&lt;br /&gt;
   1D 00 2C 50 68 61 6E 74 6F 6D 61 73 32 20 20 20 20 20 20 01 FF 02 58 00 00 AD FF&lt;br /&gt;
 &lt;br /&gt;
  ^^^^^...... first block is 29 bytes (28 bytes+flag)&lt;br /&gt;
        ^^... flag byte (A reg, 2C for headers, 16 for data blocks)&lt;br /&gt;
 file name .^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^&lt;br /&gt;
 block number ..............................................^^&lt;br /&gt;
 last block (a non-zero value means last block) ...............^^&lt;br /&gt;
 file type (02 unprotected binary) ...............................^^&lt;br /&gt;
 data length (88 bytes) .............................................^^^^^&lt;br /&gt;
 data location (0xAD00) ...................................................^^^^^&lt;br /&gt;
 first block (a non-zero value means first block) ...............................^^&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 58 00 10 AD 59 00 16 06 12 0A 00 2A 02 18 06 1E 07 30 0C 00 0D ..&lt;br /&gt;
 &lt;br /&gt;
 ^^^^^............... logical length, in consecutive blocks (88 bytes)&lt;br /&gt;
      ^^^^^......... execution address for machine code programs (0xAD10)&lt;br /&gt;
            ^^^^^... second block is 89 bytes (88 bytes+flag)&lt;br /&gt;
 flag byte ........^^&lt;br /&gt;
 second block data ...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^&lt;br /&gt;
&lt;br /&gt;
Note that it is possible to join .TAP files by simply stringing them together. &lt;br /&gt;
&lt;br /&gt;
For example, in DOS / Windows: &lt;br /&gt;
&lt;br /&gt;
     COPY /B FILE1.TAP + FILE2.TAP ALL.TAP&lt;br /&gt;
&lt;br /&gt;
or in Unix/Linux: &lt;br /&gt;
&lt;br /&gt;
     cp file1.tap all.tap &amp;amp;amp;&amp;amp;amp; cat file2.tap &amp;amp;gt;&amp;amp;gt; all.tap&lt;br /&gt;
&lt;br /&gt;
For completeness, I&#039;ll include the structure of a tape header. A header always consists of 28 bytes: &lt;br /&gt;
&lt;br /&gt;
 Byte Size  Name           Description&lt;br /&gt;
&lt;br /&gt;
    0   16  Filename       Padded to 16 bytes with nulls&lt;br /&gt;
  16    1  Block number   Filename (padded with blanks)&lt;br /&gt;
  17    1  Last block     A non-zero value means that this is the last block of a file&lt;br /&gt;
  18    1  File type      A value recording  the type of the file (see below)&lt;br /&gt;
  19    2  Data length    The number of data bytes in the data record&lt;br /&gt;
  21    2  Data location  Where the data was written from originally&lt;br /&gt;
  23    1  First block    A non-zero value means that this is the first block of a file&lt;br /&gt;
  24    2  Logical length This is the total length of the file in bytes&lt;br /&gt;
  26    2  Entry address  The execution address for machine code programs&lt;br /&gt;
&lt;br /&gt;
The file type (byte 18) is split into a number of fields: &lt;br /&gt;
&lt;br /&gt;
 Bit 0      Protection     If this bit is set the file is protected in some way &lt;br /&gt;
 Bits 1..3  File contents  0 = Internal BASIC&lt;br /&gt;
                         1 = Binary&lt;br /&gt;
                         2 = Screen image&lt;br /&gt;
                         3 = ASCII&lt;br /&gt;
                         4..7 are unallocated&lt;br /&gt;
 Bits 4..7  Version        ASCII files should be version 1, all other files, version 0 &lt;br /&gt;
&lt;br /&gt;
= Trapping the ROM routine  =&lt;br /&gt;
&lt;br /&gt;
The recommendable entry point in the Amstrad CPC ROM is a routine named &amp;quot;CAS READ&amp;quot;, that has the next parameters: &lt;br /&gt;
&lt;br /&gt;
  A = sync byte&lt;br /&gt;
 HL = location of data&lt;br /&gt;
 DE = length of data&lt;br /&gt;
&lt;br /&gt;
So when you trap the routine, you must check that sync byte matches with A register and length of block-1 with DE register. Then copy from file to memory starting at HL address, and finally change the F register to 0x45 (no errors) and the PC with the exit point. Addresses are, in hexadecimal, in the next table: &lt;br /&gt;
&lt;br /&gt;
              464 ROM   664 ROM  6128 ROM&lt;br /&gt;
 Entry Point     2836      29A6      29A6&lt;br /&gt;
 Exit Point      2872      29E2      29E2&lt;/div&gt;</summary>
		<author><name>Antoniovillena</name></author>
	</entry>
	<entry>
		<id>https://wiki.amstrad-cpc.net/index.php?title=Format:TAP_tape_image_file_format&amp;diff=87146</id>
		<title>Format:TAP tape image file format</title>
		<link rel="alternate" type="text/html" href="https://wiki.amstrad-cpc.net/index.php?title=Format:TAP_tape_image_file_format&amp;diff=87146"/>
		<updated>2011-04-28T14:31:19Z</updated>

		<summary type="html">&lt;p&gt;Antoniovillena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This document describes the TAP format for use in Amstrad CPC emulators, and a simple way to implement by trapping the ROM loader routine. &lt;br /&gt;
&lt;br /&gt;
= Tape-Image (.TAP) file format  =&lt;br /&gt;
&lt;br /&gt;
The .TAP files contain blocks of tape-saved data. All blocks start with two bytes specifying how many bytes will follow (not counting the two length bytes). Then raw tape data follows, starting with the flag byte. Unlike speccy format, the checksum bytes are not included, so you don&#039;t need calculate the crc-ccitt every 256 bytes, or padding the last page with zeroes, or ending with four 0xff bytes trailer. &lt;br /&gt;
&lt;br /&gt;
   1D 00 2C 50 68 61 6E 74 6F 6D 61 73 32 20 20 20 20 20 20 01 FF 02 58 00 00 AD FF&lt;br /&gt;
 &lt;br /&gt;
  ^^^^^...... first block is 29 bytes (28 bytes+flag)&lt;br /&gt;
        ^^... flag byte (A reg, 2C for headers, 16 for data blocks)&lt;br /&gt;
 file name .^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^&lt;br /&gt;
 block number ..............................................^^&lt;br /&gt;
 last block (a non-zero value means last block) ...............^^&lt;br /&gt;
 file type (02 unprotected binary) ...............................^^&lt;br /&gt;
 data length (88 bytes) .............................................^^^^^&lt;br /&gt;
 data location (0xAD00) ...................................................^^^^^&lt;br /&gt;
 first block (a non-zero value means first block) ...............................^^&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 58 00 10 AD 59 00 16 06 12 0A 00 2A 02 18 06 1E 07 30 0C 00 0D ..&lt;br /&gt;
 &lt;br /&gt;
 ^^^^^............... logical length, in consecutive blocks (88 bytes)&lt;br /&gt;
      ^^^^^......... execution address for machine code programs (0xAD10)&lt;br /&gt;
            ^^^^^... second block is 89 bytes (88 bytes+flag)&lt;br /&gt;
 flag byte ........^^&lt;br /&gt;
 second block data ...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^&lt;br /&gt;
&lt;br /&gt;
Note that it is possible to join .TAP files by simply stringing them together. &lt;br /&gt;
&lt;br /&gt;
For example, in DOS / Windows: &lt;br /&gt;
&lt;br /&gt;
     COPY /B FILE1.TAP + FILE2.TAP ALL.TAP&lt;br /&gt;
&lt;br /&gt;
or in Unix/Linux: &lt;br /&gt;
&lt;br /&gt;
     cp file1.tap all.tap &amp;amp;amp;&amp;amp;amp; cat file2.tap &amp;amp;gt;&amp;amp;gt; all.tap&lt;br /&gt;
&lt;br /&gt;
For completeness, I&#039;ll include the structure of a tape header. A header always consists of 28 bytes: &lt;br /&gt;
&lt;br /&gt;
 Byte Size  Name           Description&lt;br /&gt;
&lt;br /&gt;
    0   16  Filename       Padded to 16 bytes with nulls&lt;br /&gt;
  16    1  Block number   Filename (padded with blanks)&lt;br /&gt;
  17    1  Last block     A non-zero value means that this is the last block of a file&lt;br /&gt;
  18    1  File type      A value recording  the type of the file (see below)&lt;br /&gt;
  19    2  Data length    The number of data bytes in the data record&lt;br /&gt;
  21    2  Data location  Where the data was written from originally&lt;br /&gt;
  23    1  First block    A non-zero value means that this is the first block of a file&lt;br /&gt;
  24    2  Logical length This is the total length of the file in bytes&lt;br /&gt;
  26    2  Entry address  The execution address for machine code programs&lt;br /&gt;
&lt;br /&gt;
The file type (byte 18) is split into a number of fields: &lt;br /&gt;
&lt;br /&gt;
 Bit 0      Protection     If this bit is set the file is protected in some way &lt;br /&gt;
 Bits 1..3  File contents  0 = Internal BASIC&lt;br /&gt;
                          1 = Binary&lt;br /&gt;
                          2 = Screen image&lt;br /&gt;
                          3 = ASCII&lt;br /&gt;
                          4..7 are unallocated&lt;br /&gt;
 Bits 4..7  Version        ASCII files should be version 1, all other files, version 0 &lt;br /&gt;
&lt;br /&gt;
= Trapping the ROM routine  =&lt;br /&gt;
&lt;br /&gt;
The recommendable entry point in the Amstrad CPC ROM is a routine named &amp;quot;CAS READ&amp;quot;, that has the next parameters: &lt;br /&gt;
&lt;br /&gt;
  A = sync byte&lt;br /&gt;
 HL = location of data&lt;br /&gt;
 DE = length of data&lt;br /&gt;
&lt;br /&gt;
So when you trap the routine, you must check that sync byte matches with A register and length of block-1 with DE register. Then copy from file to memory starting at HL address, and finally change the F register to 0x45 (no errors) and the PC with the exit point. Addresses are, in hexadecimal, in the next table: &lt;br /&gt;
&lt;br /&gt;
              464 ROM   664 ROM  6128 ROM&lt;br /&gt;
 Entry Point     2836      29A6      29A6&lt;br /&gt;
 Exit Point      2872      29E2      29E2&lt;/div&gt;</summary>
		<author><name>Antoniovillena</name></author>
	</entry>
	<entry>
		<id>https://wiki.amstrad-cpc.net/index.php?title=Format:TAP_tape_image_file_format&amp;diff=87145</id>
		<title>Format:TAP tape image file format</title>
		<link rel="alternate" type="text/html" href="https://wiki.amstrad-cpc.net/index.php?title=Format:TAP_tape_image_file_format&amp;diff=87145"/>
		<updated>2011-04-28T14:24:49Z</updated>

		<summary type="html">&lt;p&gt;Antoniovillena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This document describes the TAP format for use in Amstrad CPC emulators, and a simple way to implement by trapping the ROM loader routine. &lt;br /&gt;
&lt;br /&gt;
= Tape-Image (.TAP) file format  =&lt;br /&gt;
&lt;br /&gt;
The .TAP files contain blocks of tape-saved data. All blocks start with two bytes specifying how many bytes will follow (not counting the two length bytes). Then raw tape data follows, starting with the flag byte. Unlike speccy format, the checksum bytes are not included, so you don&#039;t need calculate the crc-ccitt every 256 bytes, or padding the last page with zeroes, or ending with four 0xff bytes trailer. &lt;br /&gt;
&lt;br /&gt;
 1D 00 2C 50 68 61 6E 74 6F 6D 61 73 32 20 20 20 20 20 20 01 FF 02 58 00 00 AD FF&lt;br /&gt;
 ^^^^^...... first block is 29 bytes (28 bytes+flag)&lt;br /&gt;
     ^^... flag byte (A reg, 2C for headers, 16 for data blocks)&lt;br /&gt;
 file name ..^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^&lt;br /&gt;
 block number ............................................^^&lt;br /&gt;
 last block (a non-zero value means last block) .............^^&lt;br /&gt;
 file type (02 unprotected binary) .............................^^&lt;br /&gt;
 data length (88 bytes) ...........................................^^^^^&lt;br /&gt;
 data location (0xAD00) .................................................^^^^^&lt;br /&gt;
 first block (a non-zero value means first block) .............................^^&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 58 00 10 AD 59 00 16 06 12 0A 00 2A 02 18 06 1E 07 30 0C 00 0D ..&lt;br /&gt;
 ^^^^^............... logical length, in consecutive blocks (88 bytes)&lt;br /&gt;
  ^^^^^......... execution address for machine code programs (0xAD10)&lt;br /&gt;
        ^^^^^... second block is 89 bytes (88 bytes+flag)&lt;br /&gt;
 flag byte ........^^&lt;br /&gt;
 second block data ...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^&lt;br /&gt;
&lt;br /&gt;
Note that it is possible to join .TAP files by simply stringing them together. &lt;br /&gt;
&lt;br /&gt;
For example, in DOS / Windows: &lt;br /&gt;
&lt;br /&gt;
     COPY /B FILE1.TAP + FILE2.TAP ALL.TAP&lt;br /&gt;
&lt;br /&gt;
or in Unix/Linux: &lt;br /&gt;
&lt;br /&gt;
     cp file1.tap all.tap &amp;amp;amp;&amp;amp;amp; cat file2.tap &amp;amp;gt;&amp;amp;gt; all.tap&lt;br /&gt;
&lt;br /&gt;
For completeness, I&#039;ll include the structure of a tape header. A header always consists of 28 bytes: &lt;br /&gt;
&lt;br /&gt;
 Byte Size  Name           Description&lt;br /&gt;
&lt;br /&gt;
    0   16  Filename       Padded to 16 bytes with nulls&lt;br /&gt;
 16    1  Block number   Filename (padded with blanks)&lt;br /&gt;
 17    1  Last block     A non-zero value means that this is the last block of a file&lt;br /&gt;
 18    1  File type      A value recording  the type of the file (see below)&lt;br /&gt;
 19    2  Data length    The number of data bytes in the data record&lt;br /&gt;
 21    2  Data location  Where the data was written from originally&lt;br /&gt;
 23    1  First block    A non-zero value means that this is the first block of a file&lt;br /&gt;
 24    2  Logical length This is the total length of the file in bytes&lt;br /&gt;
 26    2  Entry address  The execution address for machine code programs&lt;br /&gt;
&lt;br /&gt;
The file type (byte 18) is split into a number of fields: &lt;br /&gt;
&lt;br /&gt;
 Bit 0      Protection     If this bit is set the file is protected in some way &lt;br /&gt;
 Bits 1..3  File contents  0 = Internal BASIC&lt;br /&gt;
                           1 = Binary&lt;br /&gt;
                           2 = Screen image&lt;br /&gt;
                           3 = ASCII&lt;br /&gt;
                           4..7 are unallocated&lt;br /&gt;
 Bits 4..7  Version        ASCII files should be version 1, all other files, version 0 &lt;br /&gt;
&lt;br /&gt;
= Trapping the ROM routine  =&lt;br /&gt;
&lt;br /&gt;
The recommendable entry point in the Amstrad CPC ROM is a routine named &amp;quot;CAS READ&amp;quot;, that has the next parameters: &lt;br /&gt;
&lt;br /&gt;
  A = sync byte&lt;br /&gt;
 HL = location of data&lt;br /&gt;
 DE = length of data&lt;br /&gt;
&lt;br /&gt;
So when you trap the routine, you must check that sync byte matches with A register and length of block-1 with DE register. Then copy from file to memory starting at HL address, and finally change the F register to 0x45 (no errors) and the PC with the exit point. Addresses are, in hexadecimal, in the next table: &lt;br /&gt;
&lt;br /&gt;
              464 ROM   664 ROM  6128 ROM&lt;br /&gt;
 Entry Point     2836      29A6      29A6&lt;br /&gt;
 Exit Point      2872      29E2      29E2&lt;/div&gt;</summary>
		<author><name>Antoniovillena</name></author>
	</entry>
	<entry>
		<id>https://wiki.amstrad-cpc.net/index.php?title=Format:TAP_tape_image_file_format&amp;diff=87144</id>
		<title>Format:TAP tape image file format</title>
		<link rel="alternate" type="text/html" href="https://wiki.amstrad-cpc.net/index.php?title=Format:TAP_tape_image_file_format&amp;diff=87144"/>
		<updated>2011-04-28T14:19:44Z</updated>

		<summary type="html">&lt;p&gt;Antoniovillena: Created page with &amp;quot;This document describes the TAP format for use in Amstrad CPC emulators, and a simple way to implement by trapping the ROM loader routine.   = Tape-Image (.TAP) file format  =  T...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This document describes the TAP format for use in Amstrad CPC emulators, and a simple way to implement by trapping the ROM loader routine. &lt;br /&gt;
&lt;br /&gt;
= Tape-Image (.TAP) file format  =&lt;br /&gt;
&lt;br /&gt;
The .TAP files contain blocks of tape-saved data. All blocks start with two bytes specifying how many bytes will follow (not counting the two length bytes). Then raw tape data follows, starting with the flag byte. Unlike speccy format, the checksum bytes are not included, so you don&#039;t need calculate the crc-ccitt every 256 bytes, or padding the last page with zeroes, or ending with four 0xff bytes trailer. &lt;br /&gt;
&lt;br /&gt;
  1D 00 2C 50 68 61 6E 74 6F 6D 61 73 32 20 20 20 20 20 20 01 FF 02 58 00 00 AD FF&lt;br /&gt;
 ^^^^^...... first block is 29 bytes (28 bytes+flag)&lt;br /&gt;
       ^^... flag byte (A reg, 2C for headers, 16 for data blocks)&lt;br /&gt;
 file name ..^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^&lt;br /&gt;
 block number ............................................^^&lt;br /&gt;
 last block (a non-zero value means last block) .............^^&lt;br /&gt;
 file type (02 unprotected binary) .............................^^&lt;br /&gt;
 data length (88 bytes) ...........................................^^^^^&lt;br /&gt;
 data location (0xAD00) .................................................^^^^^&lt;br /&gt;
 first block (a non-zero value means first block) .............................^^&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
  58 00 10 AD 59 00 16 06 12 0A 00 2A 02 18 06 1E 07 30 0C 00 0D ..&lt;br /&gt;
 ^^^^^............... logical length, in consecutive blocks (88 bytes)&lt;br /&gt;
    ^^^^^......... execution address for machine code programs (0xAD10)&lt;br /&gt;
          ^^^^^... second block is 89 bytes (88 bytes+flag)&lt;br /&gt;
 flag byte ........^^&lt;br /&gt;
 second block data ...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^&lt;br /&gt;
&lt;br /&gt;
Note that it is possible to join .TAP files by simply stringing them together. &lt;br /&gt;
&lt;br /&gt;
For example, in DOS / Windows: &lt;br /&gt;
&lt;br /&gt;
     COPY /B FILE1.TAP + FILE2.TAP ALL.TAP&lt;br /&gt;
&lt;br /&gt;
or in Unix/Linux: &lt;br /&gt;
&lt;br /&gt;
     cp file1.tap all.tap &amp;amp;amp;&amp;amp;amp; cat file2.tap &amp;amp;gt;&amp;amp;gt; all.tap&lt;br /&gt;
&lt;br /&gt;
For completeness, I&#039;ll include the structure of a tape header. A header always consists of 28 bytes: &lt;br /&gt;
&lt;br /&gt;
 Byte Size  Name           Description&lt;br /&gt;
&lt;br /&gt;
    0   16  Filename       Padded to 16 bytes with nulls&lt;br /&gt;
  16    1  Block number   Filename (padded with blanks)&lt;br /&gt;
  17    1  Last block     A non-zero value means that this is the last block of a file&lt;br /&gt;
  18    1  File type      A value recording  the type of the file (see below)&lt;br /&gt;
  19    2  Data length    The number of data bytes in the data record&lt;br /&gt;
  21    2  Data location  Where the data was written from originally&lt;br /&gt;
  23    1  First block    A non-zero value means that this is the first block of a file&lt;br /&gt;
  24    2  Logical length This is the total length of the file in bytes&lt;br /&gt;
  26    2  Entry address  The execution address for machine code programs&lt;br /&gt;
&lt;br /&gt;
The file type (byte 18) is split into a number of fields: &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Bit 0 Protection If this bit is set the file is protected in some way Bits 1..3 File contents 0 = Internal BASIC &lt;br /&gt;
&lt;br /&gt;
                            1 = Binary&lt;br /&gt;
                        2 = Screen image&lt;br /&gt;
                        3 = ASCII&lt;br /&gt;
                        4..7 are unallocated&lt;br /&gt;
&lt;br /&gt;
Bits 4..7 Version ASCII files should be version 1, all other files, version 0 &lt;br /&gt;
&lt;br /&gt;
= Trapping the ROM routine  =&lt;br /&gt;
&lt;br /&gt;
The recommendable entry point in the Amstrad CPC ROM is a routine named &amp;quot;CAS READ&amp;quot;, that has the next parameters: &lt;br /&gt;
&lt;br /&gt;
   A = sync byte&lt;br /&gt;
 HL = location of data&lt;br /&gt;
 DE = length of data&lt;br /&gt;
&lt;br /&gt;
So when you trap the routine, you must check that sync byte matches with A register and length of block-1 with DE register. Then copy from file to memory starting at HL address, and finally change the F register to 0x45 (no errors) and the PC with the exit point. Addresses are, in hexadecimal, in the next table: &lt;br /&gt;
&lt;br /&gt;
                 464 ROM   664 ROM  6128 ROM&lt;br /&gt;
 Entry Point      2836      29A6      29A6&lt;br /&gt;
 Exit Point      2872      29E2      29E2&lt;/div&gt;</summary>
		<author><name>Antoniovillena</name></author>
	</entry>
</feed>