RustZX is a ZX Spectrum emulator written entirely in Rust, providing cross-platform support and highly accurate emulation of the ZX Spectrum 48K and 128K models.
Watch a video showcase of version 0.9.x or read the CHANGELOG.md for the latest updates.
.tap
, .sna
, and .scr
..gz
compressed assets.sdl2
.libasound2-dev
.Run RustZX with various options:
For loading tape in 48K mode, press j
then Ctrl+p
twice, as on a real Spectrum. You should see LOAD ""
on the emulator's screen, then press Enter
. In 128K mode, just press Enter
. In --nofastload
mode, press Insert
to play the tape and Delete
to stop.
If you have choppy audio, try the --sound-latency
option with larger values.
F1
- Quick saveF2
- Quick loadF3
- Set normal emulation speedF4
- Set 2x emulation speedF5
- Max possible emulation speedF6
- Enable frame trace infoF9
- Enable Kempston/Sinclair joystick keyboard layerInsert
- Start tapeDelete
- Stop tapeEnd
- Break commandCaps Lock
- Caps lock commandBackspace
- Delete<Arrows>
- 128K arrow keysEsc
- Unlock mouse (if --mouse
is used)<Arrows>
- Kempston joystick arrowsAlt
- Kempston fireWASD
- Sinclair Joy 1 arrowsCaps Lock
- Sinclair Joy 1 fireIJKL
- Sinclair Joy 2 arrowsEnter
- Sinclair Joy 2 fireRustZX includes ROMs created by Sinclair Research Ltd (now owned by Amstrad plc), with permission to distribute them in conjunction with emulators. In RustZX, these ROMs are embedded in the core emulator library. You can opt-out of embedded ROMs by disabling the embedded-roms
feature.
For more information and to contribute to the project, visit the RustZX repository.