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.
Asm198x (recommended)
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.snaPasmoNext
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.snaBASIC
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-emulatorLinux
sudo apt install fuse-emulator-gtkWindows — Download from fuse-emulator.sourceforge.net
Run
fuse game.tapOr drag the .tap file onto the Fuse window.