ZX84
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ZX84load the game Manic Miner and run it"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ZX84
A ZX Spectrum emulator for your browser & MCP server for AI testing
https://zx84.envytech.workers.dev
Experience the legendary ZX Spectrum with authentic CRT filtering, and a powerful integrated debugger. Built from scratch in TypeScript with zero runtime dependencies.
This project has been extensively developed using AI - specifically Claude Code.
⨠Features
đŽ Complete Spectrum Family
48K â The original rubber-key classic
128K / +2 â 128KB RAM, AY sound chip, improved BASIC
+2A / +3 â Built-in disk drive support with full +3DOS emulation
đšī¸ Authentic Hardware Emulation
Z80 CPU â Cycle-accurate with contended memory timing
ULA â Precise video rendering with floating bus emulation
AY-3-8912 â 3-channel programmable sound chip (128K models)
Beeper â 1-bit audio with DC-blocking filter
uPD765A FDC â Full floppy disk controller (+3 only)
đ Universal File Support
Load your software instantly with drag-and-drop:
Snapshots:
.sna(48K/128K),.z80(v1/v2/v3),.szx(ZX-State)Tapes:
.tap,.tzxwith instant ROM-trap loadingDisks:
.dskfor +3 models (standard & extended formats)Archives:
.zipfiles with automatic extraction
đ¨ Authentic CRT Display
Relive the 80s with customizable visual filters:
Scanlines â Adjustable horizontal line intensity
Phosphor Masks â RGB aperture grille or shadow mask patterns
Curvature â Authentic barrel distortion
Brightness/Contrast â Fine-tune the picture
Border Modes â None, standard, or full (for overscan effects)
Sub-frame Rendering â Pixel-perfect rainbow effects including Nirvana+
đĩ Crystal-Clear Audio
AudioWorklet â Low-latency, glitch-free sound
Stereo Modes â ABC, ACB, BAC, or mono mixing
Volume Control â Individual beeper and AY levels
Frame Pacing â Audio-buffer-driven timing (no drift)
đšī¸ Controller Support
Play your way with multiple input options:
Keyboard â Full PC keyboard mapping with extended symbols
;,:,',#,?,@,~,{,},-,+,=,_,[,]ESCas BREAK (CAPS SHIFT + SPACE)
Joystick Emulation â Kempston, Cursor, Sinclair IF2, Sinclair 1
Gamepad â Dual physical controller support via Gamepad API
Mouse â Kempston mouse and AMX mouse support
On-screen D-Pad â Touch and mouse controls
đ§ Powerful Debugger
Built-in development tools for reverse engineering and learning:
Breakpoints â Double-click to set, visual indicators
Stepping â Step Into, Step Over, Step Out
Run to Cursor â Right-click any instruction
Live Disassembly â Real-time Z80 code view at PC
Register Inspector â All CPU registers with tooltips
Memory Viewer â Banking state and layout (128K)
Execution Tracing â Full, Contention, or Port I/O modes
Loop Detection â Automatic stuck-loop analysis
đ Activity Monitoring
Watch your Spectrum work in real-time:
Activity LEDs â Keyboard, Kempston, Tape, Beeper, AY, Disk
Tape Deck â Block list, position, play/pause control
Disk Drive â Motor, head, track, sector, operation status
Performance â T-states/frame, clock speed (MHz)
Turbo Mode â ~50MHz for fast-loading
đž Smart Persistence
Auto-save â ROMs stored in IndexedDB
Last Session â Restores your last loaded file on startup
UI State â Model, scale, display settings, pane layout
Custom Fonts â Load and store
.ch8font files
đ¯ Transcription Tools
Extract text and graphics from running programs:
Pixel OCR â Live character recognition from screen
đ Peripherals
Hardware add-ons for expanded capabilities:
Multiface 1 / 128 / 3 â Snapshot/poke hardware with NMI button
VTX-5000 â Viewdata/Prestel modem with ROM overlay (48K only)
+3 Floppy Drive â Motor and seek sound effects
đ Getting Started
Installation
npm install
npm run devOpen http://localhost:5173 in your browser.
Quick Start
Choose a Model â Select 48K, 128K, +2, +2A, or +3 from the hardware pane
Load a ROM â Click "Load ROM" and select the appropriate ROM file for your model
Load Software â Drag and drop a
.sna,.z80,.szx,.tap,.tzx,.dsk, or.zipfile onto the window
That's it! For tape files, the emulator will start playback automatically.
Keyboard Controls
ESC â BREAK (stops tape loading)
Arrow Keys â Mapped to CAPS SHIFT + 5/6/7/8
Backspace â DELETE (CAPS SHIFT + 0)
All symbols â Extended mappings for
;:'"#?@~{}-=_[]
đŽ Controls
Debugger
Play/Pause â Run or pause emulation
Step Into â Execute one instruction (when paused)
Step Over â Execute, stepping over CALLs (when paused)
Step Out â Run until RET (when paused)
Double-click â Toggle breakpoint on disassembly line
Right-click â Context menu with "Run to here"
Trace â Select mode (Full, Contention, Port I/O, Loop Analysis)
Display
Scale â 1x to 4x integer scaling
Border â None, Standard, or Full
Scanlines â 0-100% intensity
Curvature â Off, Low, Medium, High
Mask Type â None, RGB, Aperture Grille
Sub-frame â Enable for rainbow/raster effects
Audio
Volume â 0-100% master volume
Stereo Mode â ABC, ACB, BAC, Mono
đī¸ Build for Production
npm run build # TypeScript check + Vite build â dist/
npm run preview # Serve production build locallyđ License
đ Acknowledgments
Built with inspiration from the ZX Spectrum community and based on extensive hardware documentation. Special thanks to all the homebrew developers keeping the Spectrum alive!
Enjoy your trip back to 1984! đ
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/damieng/zx84'
If you have feedback or need assistance with the MCP directory API, please join our Discord server