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.
Supported Models
ZX Spectrum 48K
The original Sinclair machine with Issue 2 & 3 motherboard variants. 16KB ROM, 48KB RAM, and the iconic rubber keyboard.
ZX Spectrum 128K
Expanded memory with bank switching via port 0x7FFD. Dual 16KB ROMs, AY-3-8912 sound chip, and the 128K BASIC editor.
ZX Spectrum +2
Amstrad's first Spectrum with built-in datacorder. Same 128K architecture with updated ROM and improved keyboard.
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
Multiple Interfaces
Kempston, Sinclair 1 & 2, and Cursor joystick modes with full Gamepad API support and configurable button mapping.
Opus Discovery
WD1770 FDC with 6821 PIA, 8KB ROM overlay, post-fetch paging, and OPD disk format support for this popular third-party interface.
Spectranet
W5100 Ethernet controller with 4 TCP/UDP sockets, AM29F010 flash memory, TNFS file browser, and WebSocket bridge for real network I/O.
SpecDrum
8-bit DAC peripheral emulation for digital drum samples, adding PCM audio alongside the beeper and AY sound channels.
Copy Protection
Handles Speedlock +3, CM-flagged sectors, Paul Owens non-standard sizes, and weak sector variants at FDC runtime without disk modification.
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.