SNA format: Difference between revisions

From Sinclair Wiki
Jump to navigation Jump to search
(Mention '.snapshot' extention)
Line 1: Line 1:
The '''SNA''' format is a simple snapshot format supported by a large number of emulators.  It was originally used by the [[Mirage Microdriver]] for saving onto tape or [[ZX Interface 1|Microdrive]].  The format as used for emulation contains only the snapshot data, and not any tape or Microdriver headers, so it is generally not possible to load a [[TAP format|TAP file]] of a Microdriver snapshot into an emulator that supports the SNA format without first removing the TAP file's header and checksum data.
The '''SNA''' format is a simple snapshot format supported by a large number of emulators.  It was originally used by the [[Mirage Microdriver]] for saving onto tape or [[ZX Interface 1|Microdrive]].  The format as used for emulation contains only the snapshot data, and not any tape or Microdriver headers, so it is generally not possible to load a [[TAP format|TAP file]] of a Microdriver snapshot into an emulator that supports the SNA format without first removing the TAP file's header and checksum data.


The format seems to have been first for emulation by Peter McGavin's 'Spectrum' emulator on the Amiga.  It was later used by Arnt Gulbrandsen's JPP under MS-DOS.
The format seems to have been first for emulation by Peter McGavin's 'Spectrum' emulator on the Amiga, where the file extension '.snapshot' was used.  It was later used by Arnt Gulbrandsen's JPP under MS-DOS.


The version of the format used by emulators is modified slightly compared to the original, to support saving of the border colour.  The Mirage Microdriver saves a copy of the byte at address $0700, which is then used to detect whether the Interface 1 ROM is paged in or not — $71 for the Spectrum ROM, $C9 for the Interface 1 ROM[http://worldofspectrum.org/forums/showthread.php?t=44269], and does not save the border, as the border colour is held in a write-only register.  Peter McGavin's emulator is described in the documentation for JPP as storing 'rubbish' at this location in the header [http://cd.textfiles.com/230/EMULATOR/SINCLAIR/JPP/JPP.TXT].
The version of the format used by emulators is modified slightly compared to the original, to support saving of the border colour.  The Mirage Microdriver saves a copy of the byte at address $0700, which is then used to detect whether the Interface 1 ROM is paged in or not — $71 for the Spectrum ROM, $C9 for the Interface 1 ROM[http://worldofspectrum.org/forums/showthread.php?t=44269], and does not save the border, as the border colour is held in a write-only register.  Peter McGavin's emulator is described in the documentation for JPP as storing 'rubbish' at this location in the header [http://cd.textfiles.com/230/EMULATOR/SINCLAIR/JPP/JPP.TXT].

Revision as of 01:05, 25 April 2014

The SNA format is a simple snapshot format supported by a large number of emulators. It was originally used by the Mirage Microdriver for saving onto tape or Microdrive. The format as used for emulation contains only the snapshot data, and not any tape or Microdriver headers, so it is generally not possible to load a TAP file of a Microdriver snapshot into an emulator that supports the SNA format without first removing the TAP file's header and checksum data.

The format seems to have been first for emulation by Peter McGavin's 'Spectrum' emulator on the Amiga, where the file extension '.snapshot' was used. It was later used by Arnt Gulbrandsen's JPP under MS-DOS.

The version of the format used by emulators is modified slightly compared to the original, to support saving of the border colour. The Mirage Microdriver saves a copy of the byte at address $0700, which is then used to detect whether the Interface 1 ROM is paged in or not — $71 for the Spectrum ROM, $C9 for the Interface 1 ROM[1], and does not save the border, as the border colour is held in a write-only register. Peter McGavin's emulator is described in the documentation for JPP as storing 'rubbish' at this location in the header [2].

The original format only supports 48K snapshots. Emulators have since extended this format to support saving of 128K snapshots, originally for the Pentagon 128[3]. This extended format consists of a dump in the original 48K format, followed by a short header containing the program counter and last written 128K memory port register value, and then the remaining memory pages not saved in the initial dump.