[ Spectaculator, ZX Spectrum Emulator ] Home | Downloads | Support [ ZX Spectrum Image ]

Table of contents

The zx-state file format
Block types

The zx-state file format

Introduction

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.

Background

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:

  • 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.
For Spectaculator 2.5, the zx-state format was created to address these problems. The main design goals were:
  • 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.
As more emulated hardware was added to Spectaculator (and Fuse) in later versions, additional blocks were added to the specification to support it.

  Copyright © 2001 - 2011 Jonathan Needle Top