Next: , Previous: , Up: Module formats   [Contents][Index]


9.2.2.2 Module framework

The VICE snapshot file starts with the magic string and includes the fileformat version number.

TypeNameDescription
19 BYTEMAGIC"VICE Snapshot File\032", padded with 0
BYTEVMAJORfileformat major version number
BYTEVMINORfileformat minor version number
16 BYTEMACHINENAMEName of emulated machine, like "PET", "CBM-II", "VIC20", "C64" or "C128". zerobyte-padded.
13 BYTEVERSION MAGIC"VICE Version\032", padded with 0
4 BYTEVERSIONRelease version (major, minor, micro). Byte 4 is always zero.
DWORDSVNVERSIONSVN revision (or 0 if not available)

The file header is followed by a number of different snapshot modules.

Each module has a header with the information given in the table below. The header includes two version numbers, VMAJOR and VMINOR. In the past the idea was that modules with the same VMAJOR should be able to be exchanged. This however proved to be too difficult to maintain, and insanely hard to test for correctness, which is why now the emulator will reject the snapshot when it finds a module that is too old. Because of this you should not use snapshots for permanent/long term storage.

TypeNameDescription
16 BYTEMODULENAMEThe name of the module in ASCII, padded with 0 to 16 byte.
BYTEVMAJORmajor version number
BYTEVMINORminor version number
DWORDSIZEsize of the module, including this header