Saturday, October 24, 2026 4,350 lists 78,096 records on file
List your app or device

  1. Home
  2. ZX Spectrum Emulators
  3. ZOT

ZOT

What it is

ZOT is a free, MIT-licensed emulator for the Z80 CPU, ZX Spectrum 48K, and CP/M 2.2, built around one shared Z80 core. Written in C, its core components rely only on the C standard library, and the README says the core passes documented and undocumented Z80 tests in ZEXALL. The core is described as small enough for microcontrollers such as the RP2040. Spectrum emulation includes 16KB of ROM, 48KB of RAM, ULA video, keyboard and beeper support, memory contention, and PAL frame timing. The tape player loads TZX and TAP files, while 48K .z80 snapshots in versions 1, 2, and 3 are supported. The CP/M emulator implements 39 listed BDOS functions, includes commands such as DIR, ERA, TYPE, REN, USER, and SAVE, and maps drives A: through P: to host directories with an 8MB emulated capacity. Makefile targets build the project, Spectrum SDL frontend, or CP/M terminal frontend.

For and against

For

  • Emulates Z80, ZX Spectrum 48K, and CP/M 2.2
  • Supports TZX, TAP, and three .z80 snapshot versions
  • Maps CP/M drives A: through P: to host directories
  • Runs on listed RP2040-based microcontroller hosts
  • Core has no dependencies beyond the C standard library

Against

  • Spectrum frontend requires SDL2
  • CP/M disk capacity is 8MB
  • z80-specs files use a different license
  • Spectrum support is limited to the 48K model

The verdict

ZOT combines a tested Z80 core with Spectrum and CP/M environments, including tape, snapshots, peripherals, and host-directory storage. Its C implementation and microcontroller targets make it relevant to both Linux builds and embedded experiments.

Who it suits

ZOT suits developers and retro-computing users interested in Z80, ZX Spectrum, or CP/M emulation. It also targets microcontroller projects and Linux users building the supplied frontends.

On the record

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.github.com · read 7 Oct 2026
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.github.com · read 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.github.com · read 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.github.com · read 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.github.com · read 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.github.com · read 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.github.com · read 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.github.com · read 8 Oct 2026
Maker
The GitHub profile identifies antirez as Salvatore Sanfilippo, a computer programmer based in Sicily, Italy, who mostly writes open-source software.github.com · read 8 Oct 2026
Microcontroller target
The README says the Z80 core is small enough to run on microcontrollers such as the RP2040.github.com · read 7 Oct 2026
Purpose
ZOT is a Z80 CPU, ZX Spectrum 48K, and CP/M 2.2 emulator built on the same Z80 core.github.com · read 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.github.com · read 8 Oct 2026
Snapshots
The emulator loads 48K .z80 snapshots in versions 1, 2, and 3.github.com · read 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.github.com · read 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.github.com · read 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.github.com · read 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.github.com · read 7 Oct 2026
Z80 accuracy
The Z80 core implements documented and undocumented instructions and passes the ZEXDOC and ZEXALL test suites at 100%.github.com · read 8 Oct 2026

Alternatives to ZOT

Every alternative, ranked