- Home
- ZX Spectrum Emulators
- RustZX
RustZX
What it is
RustZX is a free, open-source ZX Spectrum emulator written in Rust for Linux and Windows. It emulates the Spectrum 48K and 128K, with Z80 core, AY chip, and beeper sound emulation. It supports TAP tapes, SNA and SZX snapshots, and SCR screenshots, as well as Kempston and Sinclair joysticks and a Kempston mouse. Quick save and load use the F1 and F2 keys. The project also includes a separate no_std core library intended to help port the emulator to other environments, and its repository identifies an MIT license. The README gives `cargo install rustzx` as the installation command. Building requires a C compiler and CMake for bundled SDL2; Linux also requires development packages including libasound2-dev. Sinclair-created ROMs are included in the core library, with an option to omit them by disabling the embedded-roms feature. The releases page lists v0.16.0 as the latest release.
For and against
For
- Emulates ZX Spectrum 48K and 128K models.
- Supports TAP, SNA, SZX, and SCR formats.
- Includes joystick and Kempston mouse support.
- Quick save and load use F1 and F2.
Against
- Building requires a C compiler and CMake.
- Linux installation requires libasound2-dev development packages.
The verdict
RustZX combines Spectrum emulation with common tape, snapshot, and peripheral support. Account for its build requirements, particularly the additional Linux package.
Who it suits
RustZX suits users who want to run ZX Spectrum 48K or 128K software on Linux or Windows. It may also interest developers looking to adapt its separate core library to other environments.
On the record
- Audio
- Features include Z80 core emulation, AY chip emulation, and beeper sound emulation.github.com · read 4 Oct 2026
- Controls
- It supports Kempston and Sinclair joysticks, Kempston mouse, and quick save/load.github.com · read 4 Oct 2026
- Core library
- The separate rustzx-core library is no_std-capable, with resource-heavy features configurable through Cargo features.github.com · read 5 Oct 2026
- Cross-platform
- The README describes RustZX as cross-platform.github.com · read 4 Oct 2026
- Distribution
- The README says Sinclair-created ROMs are included in the core library and can be opted out by disabling the embedded-roms feature.github.com · read 4 Oct 2026
- File formats
- It supports TAP tape files, SNA and SZX snapshots, and SCR screenshots.github.com · read 5 Oct 2026
- Input emulation
- It supports Kempston and Sinclair joysticks, plus Kempston mouse emulation.github.com · read 5 Oct 2026
- Install
- The README gives `cargo install rustzx` as the installation command and lists C compiler and CMake requirements for bundled SDL2.github.com · read 4 Oct 2026
- Installation
- The README gives cargo install rustzx as the installation command and says building requires a C compiler and CMake for bundled SDL2.github.com · read 5 Oct 2026
- License
- The repository identifies the project as MIT licensed.github.com · read 5 Oct 2026
- Linux dependency
- On Linux, the README says to install required development packages including libasound2-dev.github.com · read 4 Oct 2026
- Linux requirement
- Linux installation also requires the libasound2-dev development package.github.com · read 5 Oct 2026
- Models
- It emulates the ZX Spectrum 48K and 128K.github.com · read 4 Oct 2026
- Processor and sound
- Features include Z80 core emulation, AY chip emulation, and beeper sound emulation.github.com · read 5 Oct 2026
- Product
- RustZX is a ZX Spectrum emulator written in Rust.github.com · read 4 Oct 2026
- Purpose
- RustZX is a ZX Spectrum emulator written in Rust.github.com · read 5 Oct 2026
- Release
- The releases page lists RustZX v0.16.0 as the latest release and describes additional Z80 register and instruction-flag emulation.github.com · read 5 Oct 2026
- Save states
- Quick save and load are available using the F1 and F2 keys.github.com · read 5 Oct 2026