Skip to main content

ZX Spectrum Emulator for Researchers and Developers

Project description

Build Status


ZX Spectrum Emulator written in a mix of Python and C++.


More screenshots


  • Designed to be suitable for research and development purposes such as unattended testing of Spectrum software, timing analysis, etc.
  • Meant to be easy to customize and re-use via Python interfaces.
  • Fast and accurate emulation.
  • Based on the fast and flexible Z80 emulator.

Development status

  • General status: working pre-alpha.
  • Supported machines: 48K only for now.
  • Display: multi-colour effects, accurate timings.
  • Sound: not supported yet.
  • Tape: TAP and TZX formats supported as well as conversion to WAV.
  • Snapshots: Z80.
  • Playback recordings: RZX.

Installation and running

For the latest release:

$ sudo pip3 install zx

Or directly from the repository for current development version:

$ sudo pip3 install git+

Local development setups are also supported:

$ git clone --recursive
$ cd zx
$ python3 develop --prefix ~/.local


$ zx


F1 displays help.

F2 is to save snapshot.

F3 is to load snapshot or tape file.

F6 pauses/resumes tape.

F10 and ESC quit the emulator.

F11 and double click switch between fullscreen and windowed mode.

PAUSE and mouse click pause/resume emulation or RZX playback.

Any Spectrum key stroke resumes emulation and leaves the RZX playback mode back to the regular emulation mode.

Running snapshots, recordings and tapes

$ zx elven.z80
$ zx exolon.rzx
$ zx

Converting files

Supported formats: .rzx, .scr, .tap, .tzx, .wav, .z80, .zip.

$ zx jack.tzx jack.wav
$ zx eric.tap eric.z80

Dumping files

$ zx dump rick.z80
OrderedDict([('id', 'z80_snapshot'), ('a', 213), ('f', 66), ...

On the dump command, zx parses the specified file (that can be of any supported format) in the form of raw Python data.

Reference papers

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zx-0.7.0.tar.gz (71.4 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page