The zx-state file format
A zx-state (.szx) file is Spectaculator's preferred snapshot (state) format. It is a modern snapshot format designed to overcome the limitations of existing formats such as .z80 and .sna.
The current version of the specification is 1.4.
Currently only Spectaculator and Fuse support this format but it is hoped other emulators will do soon.
Early versions Spectaculator (up to 2.0) used the popular .z80 and .sna for snapshot saving and loading.
As more and more features were added to Spectaculator, the limitations of both formats became a major problem:
For Spectaculator 2.5, the zx-state format was created to address these problems. The main design goals were:
- The state of all the hardware Spectaculator emulates could not be stored.
- Both formats are not easily extendable without breaking compatability between existing emulators and utility programs.
- Where modifications had been made (including those made by myself), not all programs supported them.
- Even worse, some modifications actually broke older programs.
As more emulated hardware was added to Spectaculator (and Fuse) in later versions, additional blocks were added to the specification to support it.
- Make sure the format can be easily extended (to support new hardware) without breaking existing programs.
- Reduce the file size as much as possible by using the Zlib compression library.
- Complement Spectaculator's plug-in architecture by making a plug-in responsible for its own state data.
- Create an open file format specification to be used by other emulator authors.