ZOT
ZOT is a free emulator for the Z80 CPU, ZX Spectrum 48K, and CP/M 2.2, using one shared Z80 core.
What ZOT is
ZOT is a free emulator for the Z80 CPU, ZX Spectrum 48K, and CP/M 2.2, using one shared Z80 core. Written in C, its core components depend only on the C standard library. The README says the core passes the documented and undocumented Z80 tests in ZEXALL and is small enough for microcontrollers such as the RP2040. Its Spectrum emulation includes 16KB of ROM, 48KB of RAM, ULA video, keyboard and beeper support, memory contention, and PAL frame timing. The tape player reads TZX and TAP files, and the emulator loads 48K .z80 snapshots in versions 1, 2, and 3. The CP/M 2.2 emulator implements 39 listed BDOS functions and includes a C-based command processor with DIR, ERA, TYPE, REN, USER, and SAVE commands. It maps drives A: through P: to host directories, with an emulated capacity of 8MB. Makefile targets build the full project, a Spectrum SDL frontend, or a CP/M terminal frontend; SDL2 is needed only for the Spectrum frontend. ZOT is MIT licensed, though files in z80-specs use a different license.
Good
- One shared core serves Z80, Spectrum, and CP/M emulation.
- Loads TZX, TAP, and three .z80 snapshot versions.
- CP/M drives map to host directories.
- Core components need only the C standard library.
Watch out
- SDL2 is required for the Spectrum frontend.
- Files in z80-specs use a different license.
Who it suits
ZOT suits people who want to run ZX Spectrum 48K or CP/M 2.2 software, or work with a Z80 emulator. Its RP2040-sized core and Raspberry Pi Pico RP2040, Pimoroni Tufty 2040, and PicoCalc targets may also interest microcontroller users.
Verdict
ZOT combines Spectrum and CP/M emulation around a shared Z80 core, with tape and snapshot support. It is free and open source, but SDL2 is needed for its Spectrum frontend.
The facts
Each one read from ZOT's own pages, with the date it was checked.
Where it runs
- Build and platform
- The project provides Makefile targets for building everything, the Spectrum SDL frontend, or the CP/M terminal frontend; SDL2 is only required for the Spectrum frontend.checked 7 Oct 2026
What it does
- CP/M compatibility
- The CP/M 2.2 emulator implements all 39 BDOS functions and includes a C-based command processor with built-in DIR, ERA, TYPE, REN, USER, and SAVE commands.checked 8 Oct 2026
- CP/M storage
- The README describes CP/M drives A: through P: mapped to host directories and an emulated disk capacity of 8MB.checked 7 Oct 2026
- Desktop interface
- The SDL frontend maps a PC keyboard to the Spectrum keyboard and supports Kempston joystick input, snapshot loading, and tape playback through command-line arguments and drag-and-drop.checked 8 Oct 2026
- Development process
- The maker says the implementation used a clean-room setup with Claude Code Opus 4.6, without access to other emulator source code, and with human feedback steering design decisions.checked 7 Oct 2026
- Host files
- The CP/M emulator maps drives A: through P: to host directories and describes an emulated disk capacity of 8 MB.checked 8 Oct 2026
- Implementation
- The project is written in C and has no dependencies beyond the standard library, except that its optional Spectrum SDL frontend uses SDL2.checked 8 Oct 2026
- License
- The project is licensed under MIT, while files in z80-specs use a different license described in that directory’s README.checked 8 Oct 2026
- Microcontroller target
- The README says the Z80 core is small enough to run on microcontrollers such as the RP2040.checked 7 Oct 2026
- Purpose
- ZOT is a Z80 CPU, ZX Spectrum 48K, and CP/M 2.2 emulator built on the same Z80 core.checked 8 Oct 2026
- ROM redistribution
- The README says the included ZX Spectrum 48K ROM is copyrighted and describes redistribution as relying on permission granted by Amstrad, with a request to contact the maintainer if the current rights holder wants it removed.checked 8 Oct 2026
- Snapshots
- The emulator loads 48K .z80 snapshots in versions 1, 2, and 3.checked 8 Oct 2026
- Spectrum emulation
- The Spectrum emulator models 16 KB of ROM, 48 KB of RAM, ULA video, keyboard, beeper, tape I/O, and memory contention.checked 8 Oct 2026
- Tape formats
- The tape player supports TAP files and multiple TZX block types, including standard speed data, turbo speed data, pure tone, pulse sequences, and direct recording.checked 8 Oct 2026
- Tested software
- The project says it has superficially verified WordStar, Turbo Pascal, MBASIC, Zork I–III, Hitchhiker’s Guide to the Galaxy, BBC BASIC, and standard CP/M utilities.checked 8 Oct 2026
- What it does
- ZOT is a Z80 CPU, ZX Spectrum 48K, and CP/M 2.2 emulator built on a shared Z80 core.checked 7 Oct 2026
- Z80 accuracy
- The Z80 core implements documented and undocumented instructions and passes the ZEXDOC and ZEXALL test suites at 100%.checked 8 Oct 2026
The company
- Maker
- The GitHub profile identifies antirez as Salvatore Sanfilippo, a computer programmer based in Sicily, Italy, who mostly writes open-source software.checked 8 Oct 2026
Alternatives to ZOT
- 1
Unreal Speccy Portable
Free planOpen sourceAndroidiOSLinuxmacOS7.8Free plan - 2
Avidemux
Free planOpen sourceWebLinuxmacOSWindows7.3Free plan - 3
Klive IDE
Free planOpen sourceAPIExtensionLinuxmacOS7.2Free plan - 4

JNEXT
Free planLinuxmacOSWindows6.6Free plan - 5

Spectaculator
AndroidiOSWindows6.6$2.99 one-time - 6
SpeccyDate
Free planmacOSWindows6.3Free plan
