Bizmuth

The manual for Bizmuth, an emulator of the ZX Spectrum Next and the classic Spectrums, built for developing and testing Next software.

The manual describes Bizmuth 1.0.0-rc3 and the development builds after it. It is not a guide to programming the Next; the reference pages describe the hardware for someone who already writes for it.

About

What Bizmuth is, the accuracy rule it is built to, its CPU core, and credits and licences.

User Guide

Running the emulator day to day.

Getting Started

The ROMs you supply, first-run setup, choosing a machine, loading something.

Loading Software

Snapshots, tapes, disks and .nex, and what each one does to the machine.

SD Cards

The two slots, read-only mode, Scan / Fix, and what can go wrong.

Keyboard and Controllers

The Spectrum keyboard, joystick modes, gamepads and the mouse.

Preferences

The nine tabs, and the settings saved without asking.

Save States

What a state captures, what it does not, and version compatibility.

Config File

Every key in config.json, and its default.

Steam Deck and SteamOS

Library entries and Steam Input.

Controller Overlay

Bizmuth from a gamepad, and --player.

ESP and Serial

WiFi for the guest.

Command-line Options

Every option, grouped by purpose.

Headless Runs and Testing

Captures, scripted input, regression checks and FantASM tests.

Compatibility

How 47 published Next card images behave.

Developer Guide

The debugger, DeZog and scripting.

Breakpoints and Conditions

Breakpoints, watchpoints, page windows, and the condition language.

Assertions

assert, debug and watch written in your source, checked as the program runs.

ADP

The text debugging protocol.

Rhai Scripting

Handlers for events in the machine.

DeZog

Source-level debugging from VS Code.

Reference

Tables to look things up in.

Z80N Instructions

The thirty extended opcodes, with their flags and cycle counts.

Next Registers

The nextreg map, and the coupling between registers.

I/O Ports

Port decode, read values and write side effects.

Machine Timing

Frame geometry, interrupt position and memory contention.

ULAplus

The 64-colour palette.

Plus3DOS and NextBASIC Files

The +3DOS header and tokenised NextBASIC.

Performance

Emulation speed, frame time by area, and frame times.

Release Notes

Where each release’s notes are published and shipped.