■ Refract WrapWrap your own ZX Spectrum Next software into a single self-contained page — free for free releases and demos.
Notice: Whilst this FREE web based platform agnostic ZX Spectrum Next emulator is in development, we have mostly tested a small sample set of FREE public domain games and demos on it. Untested 3rd party software may malfunction or probably not work altogether. Other than the FREE bundled games included, please ensure you own any 3rd party commercial games and apps before attempting to run them on this emulator. Please support the developers that made them so they can make even more for your enjoyment. You may also need to load a system ROM for some 3rd party software to function correctly.
Tape loading is still under development. The .tzx format is recommended when simulating loading from tape files. The file formats .z80 .sna .snx and .nex are best suited for instant loading.
REFRACT 4.5 — shortcuts
F1 / ?
Toggle this help
F5
Save machine state (.rfs)
F8
Load a saved state
F2
Screenshot (PNG, 2:1 pixels)
F9
Record video (MP4 if the browser can encode it)
F11
Fullscreen
P / Pause btn
Pause or resume
Arrows + Ctrl
Kempston 1 (also a gamepad)
Shift / Ctrl
CAPS SHIFT / SYMBOL SHIFT
Display
Pixel → Scanlines → CRT → Integer
Load system ROM
16K / 32K / 64K image into the four ROM slots
Video
Auto → 50 Hz → 60 Hz → Auto
Tape
.tap / .tzx play on EAR; CODE blocks poke RAM
States capture RAM, NextRegs, palettes, sprites, copper and the Z80N. Drop a .rfs on the screen the same way you drop a snapshot. Gamepads map D-pad / left stick to Kempston and A/B/X to fire. A system ROM can be picked with Load system ROM, with Load file, or dropped on the picture. Reset keeps the last ROM.
External files are disabled — bundled titles only
drop a .zip, snapshot, .tap, .tzx, .z80, .sna, .rfs, .rom, or a game folder
Tape—
No tape mounted. Load a .tap or .tzx.
Custom loader on a .tapSome blocks on this tape have no header, so the game reads them with its own routine rather than the ROM. A .tap stores no timing information — standard ROM timings are synthesised for it — and a loader that used its own will not lock on. If this one stalls, a .tzx of the same title records the real timings and usually loads.
System ROM neededMount a ZX Spectrum system ROM image before play. The tape motor stays stopped until then.
FREE Bundled Software
Free to play, included with the copyright owner's permission. Commercial paid redistribution of this emulator or bundled software is not permitted. Check out the Refract Wrap button at the top of the page to wrap your own software titles for ZX Spectrum Next.
Layers — tap to mute
ULA—
Layer 2—
Tilemap—
Sprites—
Machine
Keyboard
The Spectrum matrix is mapped directly. Shift is CAPS SHIFT, Ctrl or Alt is SYMBOL SHIFT, Backspace is CAPS+0. Arrow keys drive the Kempston joystick on port $DF and Ctrl fires; 5–8 still work as the Sinclair cursor keys.
Load file accepts .nex .snx .sna .z80 .tap .tzx .rom .rfs and zips. .z80/.sna restore a snapshot. .tap/.tzx attach a tape (EAR on $FE). Prefer .tzx for anything with a custom loader — a .tap carries no timings. and instant-load standard CODE blocks when no real ROM is present.
Snapshots that call ROM routines need a real ROM. Use Load system ROM, or drop a .rom on the screen — 16K fills every slot, 32K or 64K fills them in order. The built-in stub only covers the IM 1 interrupt handler and the esxDOS API.
If a game streams assets from the SD card, use Mount game folder first, then load the snapshot. The folder is read in your browser and served to the program's file calls — game/level1.bin opens exactly as it would on hardware. Nothing is uploaded.
Restricted build Loading third-party snapshots, ROM images and game folders is disabled in this build. REFRACT currently runs only the Software Amusements titles included above.