Next: CPU 6502 module, Previous: Terminology, 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.

Type | Name | Description
19 BYTE | MAGIC | "VICE Snapshot File\032", padded with 0
BYTE | VMAJOR | fileformat major version number
BYTE | VMINOR | fileformat minor version number
16 BYTE | MACHINENAME | Name of emulated machine, like "PET", "CBM-II", "VIC20", "C64" or "C128". zerobyte-padded.
13 BYTE | VERSION MAGIC | "VICE Version\032", padded with 0
4 BYTE | VERSION | Release version (major, minor, micro). Byte 4 is always zero.
DWORD | SVNVERSION | SVN 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.

Type | Name | Description
16 BYTE | MODULENAME | The name of the module in ASCII, padded with 0 to 16 byte.
BYTE | VMAJOR | major version number
BYTE | VMINOR | minor version number
DWORD | SIZE | size of the module, including this header