Revision history
The current version of the file format is 1.5.
Version 1.5
(Last updated: 15th March 2025)
Added ZXSTZF_FSET flag to ZXSTZ80REGS (with thanks to Patrik Rak).
Added ZXSTLEC and ZXSTLECRAMPAGE (LEC Memory Extension by Jiří Lamač) (José Luis - JSpeccy)
Added ZXSTSPECTRANET (Spectranet Ethernet Interface by Dylan Smith) (Fuse Team)
Renamed ZXSTZF_EILAST to ZXSTZF_SUPPRESS_INTS to make it clearer that this flag should be set when other scenarios (e.g. invalid
$ddor$fdprefix) prevent interrupts being accepted. This is just a naming change and does not effect binary compatibility (with thanks to Alex Makeev).
Version 1.4
ZXSTOPUS (Opus Discovery Disk Interface by Opus Supplies) (Fuse Team)
ZXSTOPUSDISK (Opus Discovery disk drive contents) (Fuse Team)
ZXSTDSKFILE Added ZXSTDSKF_SIDEB flag to determine which side of a 2-sided disk image is the active side.
Machine IDs Added ZXSTMID_NTSC48K and ZXSTMID_128Ke to the list of supported machines (Fuse Team/Andrew Owen).
Added ZXSTMF_ALTERNATETIMINGS to the snapshot header to specify normal or alternate machine timings.
MEMPTR has been added to ZXSTZ80REGS.
Version 1.3
Added the following blocks for new hardware supported in Fuse 0.9.x and Spectaculator 7.00:
ZXSTDOCK (DOCK memory for the Timex Sinclair models)
ZXSTCF (ZXCF CompactFlash Interface by Sami Vehmaa)
ZXSTCFRAM (RAM contents of the ZXCF)
ZXSTATASP (ZXATASP IDE Interface by Sami Vehmaa)
ZXSTATARAM (RAM contents of the ZXATASP)
ZXSTPLUSD (Plus D Disk Interface by Miles Gordon Technology, later distributed by Datel)
ZXSTPLUSDISK (Plus D disk drive contents)
ZXSTSIDE (The Simple 8-bit IDE interface most commonly used as a component of the original +3e by Garry Lancaster)
Added new machine IDs for the Pentagon 512 and Pentagon 1024.
Updated ZXSTSPECREGS for the Pentagon 1024 (with thanks to Philip Kendall).
Updated the ZXSTRAMPAGE block to account for the extra memory pages used by the Pentagon 512 and Pentagon 1024.
Added new machine IDs for the ZX Spectrum SE and Timex Sinclair TS2068.
Added the Comcon programmable joystick to the ZXSTJOYSTICK block.
Added the Timex joysticks to the ZXSTJOYSTICK and ZXSTKEYBOARD blocks.
Added ZXKJT_NONE to the ZXSTKEYBOARD block on request from the Fuse team.
Updated the ZXSTSPECREGS, ZXSTAY, ZXSTROM and ZXSTRAMPAGE blocks to include information about the Timex Sinclair and ZS Scorpion machines.
Added extra comments when saving the Multiface RAM when in 16K RAM mode.
Added extra information in the ZXSTZ80REGS block specifying ZXSTZF_EILAST be set when the Z80 will not accept an interrupt before the next instruction.
With thanks to the Fuse team for supplying the blocks for the Timex machines, the Pentagon 512 and 1024 machines, ZXCF, ZXATASP and Simple 8-bit IDE interfaces.
Version 1.2
Added the following blocks for new hardware supported in Spectaculator 6.0 and Fuse 0.6.x:
Added the ZXSTSCLD block to support the Timex TC2048 and TC2068 machines.
ZXSTCOVOX (Covox sound system).
ZXSTGS (General sound).
ZXSTGSRAMPAGE (General sound memory).
ZXSTBETA128 (Beta 128 disk interface by Technology Research).
ZXSTBETADISK (Beta 128 disk drive contents)
Version 1.1
First public release of the specification. Includes includes additional and updated blocks developed for the release of Spectaculator 5.1.
NOTE: New software is only required to support version 1.1 upwards. Spectaculator will continue to be compatible with older versions.
Added the ZXSTCREATOR block. This allows the source of zx-state files can be determined.
Added the chKeyboardJoystick member to the ZXSTKEYBOARD block. This has increased the size of the block by 1 byte over version 1.0.
Added the ZXSTJOYSTICK block.
Added the following members to the ZXSTZ80REGS block:
chFlags
chBitReg
chReserved
NOTE: There were three reserved BYTEs occupying this space in version 1.0.
Added chFe to the ZXSTSPECREGS block. This replaces an existing reserved member.
Version 1.0
First version of the file format created for version 2.5 of Spectaculator.