Skip to content

ZX Spectrum assembly

Learn Z80 assembly by building games

No installation needed. Edit and run your first program in this page.

Start: Meet Assembly →
CPU
Zilog Z80
Speed
3.5 MHz
RAM
48 KB
Graphics
ULA
Sound
Beeper

Spectrum assembly is the concrete Z80 route through the machine.

Write instructions for the Z80, build them into a program, and observe the result on the Spectrum. Games give a purpose to memory layout, graphics, input, sound and timing.

  • You can enter assembly directly; completing Sinclair BASIC is not required.
  • Meet Assembly introduces instructions, memory, loops and branches through experiments you can edit and run in the page.
  • The Craft explores design choices such as movement, collision, feedback and challenge.

Optional: work on your own computer

Begin in your browser: each Meet Assembly lesson includes editable source, Asm198x and a working Spectrum. You can also save your source and build locally with Asm198x or Pasmo. The setup guide explains local tools and firmware requirements; the browser lessons need no installation or ROM files.

Set up local tools →

Start with Meet Assembly

Eight lessons take you from a border colour to a moving character and a debugger investigation. Predict a change, edit the source, then inspect the real machine. No BASIC or previous programming experience is required.

Build Meteor Storm

Turn that foundation into a timed dodging game. Small pixel and clock experiments grow into independent objects, collision, rewards and a drawing budget.

Explore the existing games

These earlier projects remain available to explore. The additional Meet the Machine experiments are also available.

The machine behind the games

These are some of the connections between a game and the machine that runs it. Individual lessons develop the details as they become useful.

Attribute system

Each 8×8 pixel cell shares INK and PAPER colours. Explore how that affects the shapes, backgrounds and movement you design.

ULA graphics

Explore how the display reads bitmap and attribute memory, and why pixel rows are not stored in ordinary screen order.

Z80 assembly

Work with registers, instructions and memory. Z80 knowledge transfers to other Z80 systems; their display, sound and input interfaces need their own code.

Software sprites

Draw moving objects into screen memory. Explore the work needed to preserve a background, detect collisions and update the display in time.

Memory map

The 48K Spectrum has a 64 KB address space: 16 KB of ROM followed by 48 KB of RAM. The display occupies the first part of RAM; the rest is not automatically free for a program to overwrite.

$0000–$3FFFROM (16 KB) — BASIC interpreter & system
$4000–$57FFScreen bitmap (6144 bytes)
$5800–$5AFFScreen attributes (768 bytes)
$5B00–$FFFFRAM above the display — shared with BASIC system data, buffers and the stack