#zx0 #8-bit #z80

app zx0dec

Command-line tool to decompress files in the ZX0 compression format commonly used on 8 bit platforms

1 unstable release

0.1.0 May 27, 2023

#138 in Compression


243 lines


A command-line application for decompressing files compressed with Einar Saukas' ZX0 compression format.

Normally, you use the ZX0 format to save space on 8 bit platforms like the ZX Spectrum. You compress the data on a modern computer, and use a decompressor implemented in assembly language on the target platform.

For some use cases, like build tools and other utilities, it may still be useful to have a decompressor on your workstation. There is already a command-line decompressor written in C but as I wanted a Rust library I also implemented an application while I was at it.


You need a working Rust environment, which you can install with Rustup.

The command-line application is named zx0dec. Install it by cloning this repo, cd into it and run:

cargo install --path cli


You can get help with the command zx0dec --help:

Usage: zx0dec [OPTIONS] <INPUT> <OUTPUT>

  <INPUT>   Compressed file to read from
  <OUTPUT>  File to write the decompressed data to

  -c, --classic                 Treat input as old (v1) file format
  -m, --max-output-size <SIZE>  Maximum number of decompressed bytes to write
  -h, --help                    Print help

Usage as a library

See zx0decompressor.


~37K SLoC