Blocks that control playback or describe the tape, from the TZX 1.20 specification.
Offsets count from the byte after the ID; numbers are little-endian. Text is ISO 8859-1,
with lines separated by 0D. Jumps and calls count every block, of any kind,
relative to the current one.
Control blocks
| ID | Block | Fields |
|---|---|---|
20 | Pause or stop the tape | Pause length in ms (2 bytes): silence at low level. 0 means stop the tape until the user restarts it. |
21 | Group start | Name length (1), name (under 30 characters). The blocks up to the next group end are shown as one item. |
22 | Group end | No fields. |
23 | Jump to block | Signed relative jump (2 bytes): 1 the next block, −1 the previous; 0 is not allowed. |
24 | Loop start | Number of repetitions (2 bytes), more than 1. Loops cannot be nested. |
25 | Loop end | No fields. |
26 | Call sequence | Number of calls (2 bytes), then that many signed relative offsets (2 bytes each). Each call plays from the target until a return block. |
27 | Return from sequence | No fields. |
28 | Select block | Block length (2), number of selections (1), then for each: relative offset (2), description length (1), description. Lets the user choose a part of a multi-load tape. |
2A | Stop the tape if in 48K mode | Length (4 bytes) = 0. Stops only on a 48K machine, for tapes whose later parts are 128K-only. |
2B | Set signal level | Length (4 bytes) = 1, level (1 byte): 0 low, 1 high. |
5A | Glue | 9 bytes: the rest of a TZX header (XTape!, 1A, version), left where two TZX files were joined. Skip it. |
Information blocks
| ID | Block | Fields |
|---|---|---|
30 | Text description | Length (1), text: a note about the following blocks. |
31 | Message | Seconds to show it (1; 0 means until a key is pressed), length (1), text: shown during playback without stopping the tape; at most 8 lines of 30 characters. |
32 | Archive info | Block length (2), number of entries (1), then for each: text ID (1), length (1), text. See text IDs. |
33 | Hardware type | Number of entries (1), then for each: hardware type (1), hardware ID (1), information (1). See hardware IDs. |
35 | Custom info | Identification string (10 bytes), length (4), data: information whose layout the identification string names, defined by the program that writes it. |
Archive info text IDs
| ID | Text |
|---|---|
00 | Full title |
01 | Software house or publisher |
02 | Author(s) |
03 | Year of publication |
04 | Language |
05 | Game or utility type |
06 | Price |
07 | Protection scheme or loader |
08 | Origin |
FF | Comments |
Deprecated blocks
34 Emulation info (8 bytes: emulator flags, screen refresh delay,
interrupt frequency, reserved) and 40 Snapshot (type 0 for .Z80
or 1 for .SNA, a 3-byte length, then the snapshot) are no longer used, and
revision 1.20 files should not contain them.