Skip to main content

ZX Spectrum Emulator for Researchers and Developers

Project description

Build Status

zx

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

Elven

More screenshots

Features

  • 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+https://github.com/kosarev/zx

Local development setups are also supported:

$ git clone --recursive https://github.com/kosarev/zx
$ cd zx
$ python3 setup.py develop --prefix ~/.local

Running:

$ zx

Controls

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 https://www.worldofspectrum.org/pub/sinclair/games/e/EricTheFloaters.tzx.zip

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

Project details


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 details)

Uploaded Source

File details

Details for the file zx-0.7.0.tar.gz.

File metadata

  • Download URL: zx-0.7.0.tar.gz
  • Upload date:
  • Size: 71.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.9

File hashes

Hashes for zx-0.7.0.tar.gz
Algorithm Hash digest
SHA256 bae7a0cfe146bcecdcb453178fcde9c82cad2efd68e56ad05b7e13c443dc9ed7
MD5 e7357ef81aebea75ed53b12edf6081fc
BLAKE2b-256 1db7b6e8b3f3754c59023f03402f98a0ef5c816a462ba1541b6d346ed4d7f2ee

See more details on using hashes here.

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