Changes

Snapshot

173 bytes added, 3 January
The following chunks are currently defined:
== DSCA,DSCB CPC+ ==
This chunk is supported by Arnold, WinAPE , No$CPC and ACE; it is saved only when . Arnold, WinAPE and ACE will save the related option is block when Plus configuration enabled. No$CPC will save the block if the Plus features have been unlocked.
The DSCA block contains the filename of the disc image inserted into drive A. The filename is stored as 8-bit ASCII (any Unicode characters with codes 0x100 or above will be translated to ? and therefore filenames with these characters can't be stored in Snapshots). The length of the block is the length of the filename in bytes. DSCB is similar to DSCA but stores the filename of the disc image inserted into drive B. == TAPE == This chunk is supported by ACE; it is saved only when the related option is enabled. The TAPE block contains the filename of the tape image inserted. The filename is stored as 8-bit ASCII (any Unicode characters with codes 0x100 or above will be translated to ? and therefore filenames with these characters can't be stored in Snapshots). The length of the block is the length of the filename in bytes. == ROMS == This chunk is supported by WinAPE and ACE; it is saved only when the related option is enabled. This block contains When creating a list of filenames for each ROM (and cartridge) that is defined. The length of the block is the length for all strings. If a ROM is not defined, a single NUL (0) byte is present, otherwise there is a null terminated 8-bit ASCII string. First in the list is the filename (or internal name) for the cartridge (prefixed with a 'A' character), followed by lower rom and then upper roms 0-31 (WinAPE) or 0-255 (ACE). WinAPE lists internal ROMs by their internal name (the name listed in the drop down when you configure the roms, e.g. OS464).ACE always put the actual file name, even for internal ROMs (e.g. System/Firmware_v3.rom). After the list of the upper ROMs, ACE also put the names of the internal Basic and AMSDOS ROMs.Then, the presence of the "CartridgeKeepExtROM" let ACE know if the cartridge ROMs should disable installed external upper ROMs or not (depending on user preferences). NOTE: The selected Multiface ROM is not saved in the snapshot. == INFO == This chunk is written by No$CPC. It contains an 8-bit ASCII string with the version information for No$CPC. == MEM0-8 == The MEM0-8 several chunks contain at most 64KB of data. The data may be compressed or stored uncompressed. If the size is exactly 65536 bytes the data is uncompressed, otherwise it is compressed. Up usually a good idea to 512KB additional RAM can be stored in a snapshot.  The compression scheme is RLE with 0x0e5 as place the control byte. Data is encoded as: * <byte> for a single occurrence of a byte (not 0x0e5) (e.g. 0x013)* 0x0e5,<count>,<byte> for multiple occurances of a byte (e. 0x0e5,0x04,0x013 for 0x013 repeated 4 times)* 0x0e5,0 for a single 0x0e5 byte (e.g. 0x0e5) The blocks are: * MEM0 - main 64KB ram* MEM1 - c4,c5,c6,c7 configurations (extra 64KB ram CPC+ one in 128KB machines) (256KB Dk'Tronics RAM, X-MEM)* MEM2 - cc,cd,cefirst position,cf configurations because some (256KB Dk'Tronics RAM, X-MEMold)* MEM3 - d4,d5,d6,d7 configurations (256KB Dk'Tronics RAM, X-MEM)* MEM4 - dc,dd,de,df configurations (256KB Dk'Tronics RAM, X-MEM)* MEM5 - e4,e5,e6,e7 configurations (256KB Dk'Tronics Silicon Disk, X-MEM)* MEM6 - ec,ed,ee,ef configurations (256KB Dk'Tronics Silicon Disk, X-MEM)* MEM7 - f4,f5,f6,f7 configurations (256KB Dk'Tronics Silicon Disk, X-MEM)* MEM8 - fc,fd,fe,ff configurations (256KB Dk'Tronics Silicon Disk, X-MEM) === Notes === 1. A snapshot may contain a mix of "standard" memory data (e.g. the data follows the header tools and is uncompressed) and additional MEM blocks as required. 2. If the snapshot is not compressed, then up to 128KB will be stored as "standard" memory data, the additional RAM stored in MEM2-MEM8 blocks. 3. If the snapshot is compressed, then the "standard" memory data will have 0 size and there will be a MEM0 in addition to the additional memory blocks. 4. Version 3 doesn't require memory to be continuous. A Dk'tronics silicon disk emulators are relying on it's own can be described with this version. 5. WinAPE allows a 4MB RAM expansion to be enabled but doesn't save the additional RAM in the snapshot. 6. ACE can save additional memory in snapshots (up to 4MB) using the MX?? chunks. == MX09-40 == This chunk is supported by ACE. MX?? chunks allow snapshots to store up to 4160KB ram. MX?? chunks are following MEM0-8 chunks. They are numbered from 09 to 40 (hexadecimal numbering).Information are stored compressed like in MEM0-8 chunks. == CPC+ == This chunk is supported by Arnold, Winape, No$CPC and ACE. Arnold, Winape and ACE will save the block when Plus configuration enabled. No$CPC will save the block if the Plus features have been unlocked.
{|
| ASIC is waiting for byte from unlock sequence. e.g. if "2", ASIC is waiting for &amp;FF, the first byte of the unlock sequence. if "3" ASIC is waiting for &amp;77, the second byte of the unlock sequence.
|}
 
== DSCA,DSCB ==
 
This chunk is supported by WinAPE and ACE; it is saved only when the related option is enabled.
 
The DSCA block contains the filename of the disc image inserted into drive A. The filename is stored as 8-bit ASCII (any Unicode characters with codes 0x100 or above will be translated to ? and therefore filenames with these characters can't be stored in Snapshots). The length of the block is the length of the filename in bytes.
 
DSCB is similar to DSCA but stores the filename of the disc image inserted into drive B.
 
== TAPE ==
 
This chunk is supported by ACE; it is saved only when the related option is enabled.
 
The TAPE block contains the filename of the tape image inserted. The filename is stored as 8-bit ASCII (any Unicode characters with codes 0x100 or above will be translated to ? and therefore filenames with these characters can't be stored in Snapshots). The length of the block is the length of the filename in bytes.
 
== ROMS ==
 
This chunk is supported by WinAPE and ACE; it is saved only when the related option is enabled.
 
This block contains a list of filenames for each ROM (and cartridge) that is defined. The length of the block is the length for all strings.
 
If a ROM is not defined, a single NUL (0) byte is present, otherwise there is a null terminated 8-bit ASCII string.
 
First in the list is the filename (or internal name) for the cartridge (prefixed with a 'A' character), followed by lower rom and then upper roms 0-31 (WinAPE) or 0-255 (ACE).
 
WinAPE lists internal ROMs by their internal name (the name listed in the drop down when you configure the roms, e.g. OS464).
ACE always put the actual file name, even for internal ROMs (e.g. System/Firmware_v3.rom).
 
After the list of the upper ROMs, ACE also put the names of the internal Basic and AMSDOS ROMs.
Then, the presence of the "CartridgeKeepExtROM" let ACE know if the cartridge ROMs should disable installed external upper ROMs or not (depending on user preferences).
 
NOTE: The selected Multiface ROM is not saved in the snapshot.
 
== INFO ==
 
This chunk is written by No$CPC. It contains an 8-bit ASCII string with the version information for No$CPC.
 
== MEM0-8 ==
 
The MEM0-8 chunks contain at most 64KB of data. The data may be compressed or stored uncompressed. If the size is exactly 65536 bytes the data is uncompressed, otherwise it is compressed. Up to 512KB additional RAM can be stored in a snapshot.
 
The compression scheme is RLE with 0x0e5 as the control byte.
 
Data is encoded as:
 
* <byte> for a single occurrence of a byte (not 0x0e5) (e.g. 0x013)
* 0x0e5,<count>,<byte> for multiple occurances of a byte (e. 0x0e5,0x04,0x013 for 0x013 repeated 4 times)
* 0x0e5,0 for a single 0x0e5 byte (e.g. 0x0e5)
 
The blocks are:
 
* MEM0 - main 64KB ram
* MEM1 - c4,c5,c6,c7 configurations (extra 64KB ram in 128KB machines) (256KB Dk'Tronics RAM, X-MEM)
* MEM2 - cc,cd,ce,cf configurations (256KB Dk'Tronics RAM, X-MEM)
* MEM3 - d4,d5,d6,d7 configurations (256KB Dk'Tronics RAM, X-MEM)
* MEM4 - dc,dd,de,df configurations (256KB Dk'Tronics RAM, X-MEM)
* MEM5 - e4,e5,e6,e7 configurations (256KB Dk'Tronics Silicon Disk, X-MEM)
* MEM6 - ec,ed,ee,ef configurations (256KB Dk'Tronics Silicon Disk, X-MEM)
* MEM7 - f4,f5,f6,f7 configurations (256KB Dk'Tronics Silicon Disk, X-MEM)
* MEM8 - fc,fd,fe,ff configurations (256KB Dk'Tronics Silicon Disk, X-MEM)
 
=== Notes ===
 
1. A snapshot may contain a mix of "standard" memory data (e.g. the data follows the header and is uncompressed) and additional MEM blocks as required.
 
2. If the snapshot is not compressed, then up to 128KB will be stored as "standard" memory data, the additional RAM stored in MEM2-MEM8 blocks.
 
3. If the snapshot is compressed, then the "standard" memory data will have 0 size and there will be a MEM0 in addition to the additional memory blocks.
 
4. Version 3 doesn't require memory to be continuous. A Dk'tronics silicon disk on it's own can be described with this version.
 
5. WinAPE allows a 4MB RAM expansion to be enabled but doesn't save the additional RAM in the snapshot.
 
6. ACE can save additional memory in snapshots (up to 4MB) using the MX?? chunks.
 
== MX09-40 ==
 
This chunk is supported by ACE.
 
MX?? chunks allow snapshots to store up to 4160KB ram.
 
MX?? chunks are following MEM0-8 chunks. They are numbered from 09 to 40 (hexadecimal numbering).
Information are stored compressed like in MEM0-8 chunks.
== BRKC ==
198
edits