Spectrum with Pasmo
Alternative local tools for this machine’s assembly lessons.
This guide uses Pasmo. For the recommended Asm198x workflow and available browser lessons, use the main setup guide.
Install the alternative tools
macOS
1. Install Homebrew (if needed)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"2. Install Pasmo Assembler
brew install pasmoThe curriculum's sources use Pasmo notation, and Pasmo builds them as they are. Asm198x builds the same program bytes.
3. Install Emu198x
With Homebrew, run brew install emu198x/tap/emu198x-spectrum.
Or download the emu198x-spectrum archive for your Mac from the latest Emu198x release: aarch64-apple-darwin for Apple silicon, x86_64-apple-darwin for Intel. Extract it into a folder you can find again.
The release notes include checksums. The emulator needs a 48K Spectrum ROM; see Running your code.
4. Verify Installation
pasmo --versionWindows
1. Download Pasmo
Download pasmo from pasmo.speccy.org.
Extract to a folder like C:\Tools\pasmo and add it to your PATH.
2. Install Emu198x
Download the emu198x-spectrum x86_64-pc-windows-msvc zip from the latest Emu198x release and extract it into a folder such as C:\Tools\emu198x.
The release notes include checksums. The emulator needs a 48K Spectrum ROM; see Running your code.
3. Verify Installation
pasmo --versionLinux
1. Install Pasmo (Debian/Ubuntu)
sudo apt install pasmo2. Install Emu198x
If you use Homebrew on Linux, run brew install emu198x/tap/emu198x-spectrum.
Or download the emu198x-spectrum archive: aarch64-unknown-linux-gnu for ARM64, or x86_64-unknown-linux-gnu for x86-64, from the latest Emu198x release and extract it into a folder you can find again.
The release notes include checksums. The emulator needs a 48K Spectrum ROM; see Running your code.
3. Verify Installation
pasmo --versionBuilding Your Code
Once installed, build your assembly files directly:
pasmo --tapbas game.asm game.tapRunning Your Code
Emu198x needs a lawfully obtained 48K Spectrum ROM; the ROM guide explains what firmware is and how to obtain it. For an archive, open a terminal in the folder where you extracted Emu198x. With Homebrew, omit ./ from the command below and run it from your project folder. On macOS or Linux, this loads the tape and runs it:
./emu198x-spectrum --rom "path/to/48.rom" --tape game.tap --autoload-tapeIn Windows PowerShell:
.\emu198x-spectrum.exe --rom "C:\path\to\48.rom" --tape game.tap --autoload-tapeReplace the paths with your ROM and tape locations, keeping the quotes if a path contains spaces. --autoload-tape waits for the Spectrum to start, types LOAD "" and plays the tape. Without it, enter LOAD "" yourself and press F9 to start the tape.