poka.sh

Docs

TZX

Generated by scripts/gen-format-pages.py from docs/data/format-metadata/, FILE_FORMATS.csv and docs/formats-master.csv. Do not edit by hand: change the source, then run the script.

ZX Spectrum TZX Preview.

At a glance

Purpose A TZX tape image (ZX Spectrum, or CDT for the Amstrad CPC): the blocks of a cassette recorded as data, tones and pulses.
Extensions .tzx
Poka parser poka-tzx
Viewer poka-metadata-card-viewer
Depth tier Metadata card (see Depth tiers)
Breadth tier B4 Summary (see Breadth tiers)

How much Poka reads

B4 Summary. The container and metadata are read and summarised (counts, properties, structure), but the main content is not rendered.

Confidence: medium (the reviewer read the code). Basis: Reviewed 2026-10-26: read parsers/poka-tzx/src/main.rs (446 lines) and plugin.json. No unit tests or tests/samples.rs, and the corpus has no .tzx and .cdt sample. Covers .tzx and .cdt. The card walks every block (IDs 0x10–0x35 and 0x5A), counting them by type and summing the data payload, and shows the archive-info fields (title, publisher, author, year, language, category, protection) and up to eight text descriptions. Judgement: B4: the block structure is summarised but no block's data is decoded.

What Poka does not read

  • The standard Spectrum headers inside data blocks (program and file names, types, lengths) are not decoded
  • Data, pulse and tone blocks are only measured; no file is extracted or shown
  • Message, hardware-type and custom-info blocks are skipped
  • An unknown block ID ends the walk out of step (it is skipped as zero bytes)
  • Files over 256 MiB are cut (flagged)

Libraries

Libraries Poka uses or has assessed for this format, with the status, licence and language the registry records.

  • rtzx (candidate; MIT; Rust; https://docs.rs/rtzx/latest/rtzx/) — Parses .tzx and .cdt via TzxData::parse_from; can also render waveform samples. Repo: github.com/LichP/rtzx.
  • zentools (candidate; Apache-2.0; Go; https://pkg.go.dev/github.com/ha1tch/zentools) — Go library and CLI; pkg/tzx reads and writes TZX (targets v1.20); block coverage not verified.
  • tzxtools (reference; GPL-3.0-or-later; Python; https://libraries.io/pypi/tzxtools) — copyleft; Command-line toolkit for TZX/TSX/TAP; licence listed as GPL-3.0+ on Libraries.io, language taken from PyPI distribution.

Sources

  • parsers/poka-tzx/src/main.rs
  • parsers/poka-tzx/plugin.json