Skip to content

Getting Started with ZX Spectrum Development

Set up your tools for ZX Spectrum programming.

What You Need

To develop for the ZX Spectrum, you need two things: a way to compile your code, and an emulator to run it.

⚙️ Dev Toolchain

The course’s assembly sources are written in pasmo syntax, and two assemblers build them identically — pick either.

The 198x family’s own assembler: one small binary, no installation beyond unpacking, and it covers every platform in the course. Download it for your machine from the releases page, then:

asm198x --dialect pasmonext --sna game.asm -o game.sna

PasmoNext

The enhanced Pasmo our dialect is named for. Build it from source, or use it via our (now legacy) Docker image:

docker run --rm -v "$(pwd)":/code -w /code \
  code198x/sinclair-zx-spectrum pasmonext --sna game.asm game.sna

BASIC

For the BASIC track, zmakebas turns BASIC listings into tape images — it’s in the same Docker image:

docker run --rm -v "$(pwd)":/code -w /code \
  code198x/sinclair-zx-spectrum zmakebas -o game.tap game.bas

🖥️ Emulator

Install Fuse natively for the best experience.

macOS

brew install --cask fuse-emulator

Linux

sudo apt install fuse-emulator-gtk

Windows — Download from fuse-emulator.sourceforge.net

Run

fuse game.tap

Or drag the .tap file onto the Fuse window.

Ready to Build

Your tools are set up. Time to write some code.

Start with Assembly →