diff options
Diffstat (limited to 'source/docs/snapshots.txt')
-rw-r--r-- | source/docs/snapshots.txt | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/source/docs/snapshots.txt b/source/docs/snapshots.txt deleted file mode 100644 index ef0d1fd..0000000 --- a/source/docs/snapshots.txt +++ /dev/null @@ -1,84 +0,0 @@ -***** Important notice ******************************************************** - This document describes the snapshot file format for Snes9x 1.52 and later, - not compatible with 1.51. -******************************************************************************* - - Snes9x snapshot file format: (may be gzip-compressed) - - Begins with fixed length signature, consisting of a string, ':', a 4-digit - decimal version, and a '\n'. - -#!s9xsnp:0006 <-- '\n' after the 6 - - Then we have various blocks. The block format is: 3-character block name, - ':', 6-digit length, ':', then the data. Blocks are written in a defined - order. Structs are written packed with their members in a defined order, in - big-endian order where applicable. - -NAM:000019:Chrono Trigger.zip - - Currently defined blocks (in order) are: - - Essential parts: - NAM - ROM filename, from Memory.ROMFilename. 0-terminated string. - CPU - struct SCPUState, CPU internal state variables. - REG - struct SRegisters, emulated CPU registers. - PPU - struct SPPU, PPU internal variables. Note that IPPU is never saved. - DMA - struct SDMA, DMA/HDMA state variables. - VRA - Memory.VRAM, 0x10000 bytes. - RAM - Memory.RAM, 0x20000 bytes (WRAM). - SRA - Memory.SRAM, 0x20000 bytes. - FIL - Memory.FillRAM, 0x8000 bytes (register backing store). - SND - All of sound emulated registers and state valiables. - CTL - struct SControlSnapshot, controller emulation. - TIM - struct STimings, variables about timings between emulated events. - - Optional parts: - SFX - struct FxRegs_s, Super FX. - SA1 - struct SSA1, SA1 internal state variables. - SAR - struct SSA1Registers, SA1 emulated registers. - DP1 - struct SDSP1, DSP-1. - DP2 - struct SDSP2, DSP-2. - DP4 - struct SDSP4, DSP-4. - CX4 - Memory.C4RAM, 0x2000 bytes. - ST0 - struct SST010, ST-010. - OBC - struct SOBC1, OBC1 internal state variables. - OBM - Memory.OBC1RAM, 0x2000 byts. - S71 - struct SSPC7110Snapshot, SPC7110. - SRT - struct SSRTCSnapshot, S-RTC internal state variables. - CLK - struct SRTCData, S-RTC emulated registers. - BSX - struct SBSX, BS-X. - SHO - rendered SNES screen. - MOV - struct SnapshotMovieInfo. - MID - Some block of data the movie subsystem. - -================== - -Without changing the snapshot version number: ---------------------------------------------- - -Blocks may be safely added at the END of the file, as anything after the last -block is ignored. Blocks may not be moved or removed. - -Blocks may not decrease in size. Say you decrease from 10 bytes to 5. Then -later you increase back to 8. The only way you could safely do this is if -bytes 5-7 still mean the same thing they meant when the block was 10 bytes -long. - -Blocks may increase in size as you wish, as long as you can handle old -savestates with the old shorter size. - -Struct members may not change in interpretation. New struct members may be -added (at the END!) only if you can cope with them being binary-0 in older -savestates. Struct members may not be removed or changed in size/type. - -With changing the snapshot version number: ------------------------------------------- - -Blocks may be added, moved, or removed at will. - -Blocks may decrease in size. - -Struct members may be added, moved, or deleted, and their -interpretations/types may be changed. Use the 'debuted_in' and 'deleted_in' -fields to indicate when the new member debuted or the old member went away. |