Introduction
A TZX file is a copy of a cassette tape for the Sinclair ZX Spectrum. Most Spectrum software was sold on tape, and TZX is the format used to preserve it. Emulators play a TZX file as if it were the tape.
The simpler TAP format only stores the bytes of
standard tape blocks. TZX also describes the timing of the sound itself: the lengths of
pilot tones, sync pulses and bits. That lets it hold the turbo loaders and copy protection
that many commercial games used. Amstrad CPC tapes use the same format with the extension
.cdt.
Structure
The file starts with a 10-byte header: the text ZXTape!, the byte
1A, then the major and minor version numbers. Blocks follow until the end of
the file. Each block starts with an ID byte that says what it is and how long it is.
Common blocks are 10 for a standard speed data block, as the Spectrum’s own
loader writes it, 11 for a turbo speed block with its own timings,
12 for a pure tone, 13 for a sequence of pulses, 14
for pure data, 20 for a pause, 21 and 22 to start
and end a group, and 30 and 32 for a text description and
archive information such as title and publisher.
0HeaderZXTape!,1A, major and minor version10 bytes10Block an ID byte, then the block’s own fields and datarepeated
Links
Software
- Fuse, a ZX Spectrum emulator (Windows, macOS, Linux)
- ZEsarUX, an emulator of the Spectrum and other machines (Windows, macOS, Linux)
- Spectaculator, a ZX Spectrum emulator (Windows)