Browser-Based Emulation

SpectrEm Web

A full-featured ZX Spectrum emulator supporting the 48K, 128K, +2, and +2A/+3 models. Built with C++ compiled to WebAssembly, featuring frame-accurate ULA timing and comprehensive debug tools.

SpectrEm Emulator Screenshot
ZX Spectrum Z80 • 48K–128K • 3.5 MHz

Supported Models

48K

ZX Spectrum 48K

The original Sinclair machine with Issue 2 & 3 motherboard variants. 16KB ROM, 48KB RAM, and the iconic rubber keyboard.

128K

ZX Spectrum 128K

Expanded memory with bank switching via port 0x7FFD. Dual 16KB ROMs, AY-3-8912 sound chip, and the 128K BASIC editor.

+2

ZX Spectrum +2

Amstrad's first Spectrum with built-in datacorder. Same 128K architecture with updated ROM and improved keyboard.

+2A/+3

ZX Spectrum +2A/+3

Extended paging via port 0x1FFD, 64KB ROM, and the +3's built-in 3" floppy drive with uPD765A FDC emulation.

Key Features

Z80 CPU at 3.5 MHz

Complete Z80 instruction set across all 7 opcode tables with accurate ULA memory contention timing and frame-precise execution.

Frame-Accurate ULA

256x192 display with precise border rendering at 50Hz. PAL composite video signal buffer with optional GPU decode for authentic output.

Full Audio Suite

Beeper synthesis, AY-3-8912 on 128K+ models (toggleable on 48K), SpecDrum 8-bit DAC emulation, and tape audio during loading.

Tape & Disk

TAP and TZX cassette formats with instant or real-time loading, transport controls, and tape recording. DSK floppy support on +3 with full copy protection handling.

CRT Shader Effects

WebGL shader pipeline with CRT curvature, scanlines, phosphor persistence, PAL composite decode, shadow mask, glow, and configurable bezel reflections.

Snapshots & States

Load and save SNA and Z80 formats with auto machine detection. 10 named save state slots with autosave and IndexedDB persistence.

Expansion Hardware

Joystick

Multiple Interfaces

Kempston, Sinclair 1 & 2, and Cursor joystick modes with full Gamepad API support and configurable button mapping.

Disk

Opus Discovery

WD1770 FDC with 6821 PIA, 8KB ROM overlay, post-fetch paging, and OPD disk format support for this popular third-party interface.

Network

Spectranet

W5100 Ethernet controller with 4 TCP/UDP sockets, AM29F010 flash memory, TNFS file browser, and WebSocket bridge for real network I/O.

Audio

SpecDrum

8-bit DAC peripheral emulation for digital drum samples, adding PCM audio alongside the beeper and AY sound channels.

FDC

Copy Protection

Handles Speedlock +3, CM-flagged sectors, Paul Owens non-standard sizes, and weak sector variants at FDC runtime without disk modification.

Mobile

Touch Input

Virtual on-screen keyboard and gamepad overlays with responsive layout adapting to portrait and landscape orientations.

Developer & Debug Tools

One of the most comprehensive debugging suites ever built for the ZX Spectrum platform.

CPU Debugger

Full Z80 register view, flags, disassembly with syntax colouring, address/beam/conditional breakpoints, and single-step controls.

Retro Debugger

Full-screen WebGL debug overlay with floating panels rendered at 60fps using the original Spectrum ROM font.

Sound Monitor

Beeper and AY waveform visualisation, channel frequencies, envelope shapes, and per-channel muting controls.

BASIC Editor

Full Sinclair BASIC tokenizer and parser with syntax highlighting, variable inspector, line breakpoints, and auto-formatting.

Memory Heatmap

Visual read/write access tracking with configurable fade speed, memory map visualisation, and full address space browser.

UDG & Font Editors

Interactive pixel grid editors for User Defined Graphics with BASIC code generation, and a full 96-character font designer with live preview.

Technical Architecture

WebAssembly Core

C++ emulation core compiled to a 1.4MB WASM binary via Emscripten. The Z80 CPU, ULA, sound chips, FDC, and all peripherals run at native speed in a dedicated Web Worker.

ULA Contention Timing

Hardware-accurate memory contention delays where the ULA steals CPU cycles during display rendering. Per-model timing: 69,888 T-states (48K) and 70,908 T-states (128K+) per frame.

PAL Composite Pipeline

The display generates a PAL composite video signal buffer that can be decoded by the GPU shader, reproducing authentic colour fringing and blending artefacts.

Spectrum Theme System

Dark and light modes with colours derived from the authentic ZX Spectrum hardware palette. WCAG AA contrast compliance in both themes with accent colours mapped to Spectrum hardware values.

Ready to load a tape?

No installation required. Just click and start loading.