RustyN64
github.com
What it is
RustyN64 is a free Nintendo 64 emulator written in pure Rust, built for cycle-accurate emulation. Its core schedules the CPU and coprocessors against a shared 187.5 MHz master-clock timeline. Version 0.7.0 is described as its first playable release, showing video, sound and controller input with homebrew ROMs. The project says its low-level graphics path matches Angrylion across 164 conformance vectors, while its accuracy battery remains stubbed at 0%. Identical seeds, ROMs and input sequences are stated to produce identical framebuffer and audio output. The desktop frontend offers save states, rewind and run-ahead, disabled by default. A WebAssembly browser entry point runs a homebrew ROM and displays video on a 2D canvas; a fuller browser shell remains roadmap work. Commercial support is limited: one title can boot and execute game code but has not yet reached a rendered frame. Desktop builds are listed for Linux x64, macOS ARM64 and Windows x64. Desktop use requires a wgpu-supported GPU backend, and commercial ROMs are not included.
Spec sheet
- What it does
- RustyN64 is a cycle-accurate Nintendo 64 emulator written in pure Rust.Read 30 Sep 2026 · github.com
- Product
- RustyN64 is a cycle-accurate Nintendo 64 emulator written in pure Rust.Read 29 Sep 2026 · github.com
- Audience
- The project invites contributions in code, testing, documentation, and design, and provides a contribution guide and quality-gate instructions.Read 29 Sep 2026 · github.com
- Platforms
- The project says Linux x64, macOS ARM64, and Windows x64 are built and tested in CI.Read 29 Sep 2026 · github.com
- License
- RustyN64 is dual-licensed under MIT or Apache License 2.0.Read 30 Sep 2026 · github.com
- Accuracy status
- The project says its commercial-ROM accuracy battery is stubbed at 0% and real-game visual-golden work has not started.Read 30 Sep 2026 · github.com
- Audio and controls
- The frontend connects VI video output, AI audio, and SI controller input to the game.Read 30 Sep 2026 · github.com
- Browser demo
- A WebAssembly browser entry point runs a homebrew ROM and displays video on a 2D canvas; the full browser shell is on the roadmap.Read 29 Sep 2026 · github.com
- Browser support
- A WebAssembly browser entry point runs a homebrew ROM and displays scan-out on a 2D canvas; the full browser shell is described as roadmap work.Read 30 Sep 2026 · github.com
- Compatibility limit
- A commercial title can boot and execute game code but does not yet reach a rendered frame; the project defers that work to Phase 7.Read 30 Sep 2026 · github.com
- Current release
- The repository describes v0.7.0 as its first playable release, demonstrated on homebrew ROMs.Read 30 Sep 2026 · github.com
- Desktop platforms
- The project lists Linux x64, macOS ARM64, and Windows x64 as built and tested in CI.Read 30 Sep 2026 · github.com
- Determinism
- The project states that the same seed, ROM, and input sequence produce a bit-identical framebuffer and audio.Read 29 Sep 2026 · github.com
- Emulation
- The project uses low-level emulation for the RSP and RDP, coordinated by a canonical 187.5 MHz master clock.Read 29 Sep 2026 · github.com
- Emulation architecture
- Its core uses a canonical 187.5 MHz master-clock timeline to schedule the CPU and coprocessors.Read 30 Sep 2026 · github.com
- Frontend
- The egui shell supports save-states, rewind, and run-ahead, with those frontend features off by default.Read 29 Sep 2026 · github.com
- Frontend features
- The frontend includes save states, rewind, and run-ahead, with these options off by default.Read 30 Sep 2026 · github.com
- Graphics
- The low-level RDP rasterizer and VI scan-out bit-match Angrylion across 164 conformance vectors, according to the project.Read 30 Sep 2026 · github.com
- Intended audience
- The project invites contributions in code, testing, documentation, and design, and describes itself as preserving video game history.Read 30 Sep 2026 · github.com
- Performance limit
- The project says it has not published headline performance measurements and does not yet have a full-speed run path.Read 29 Sep 2026 · github.com
- Requirements
- The desktop frontend requires a GPU with a wgpu-supported backend, and Linux additionally requires listed audio, input, and window-system development headers.Read 29 Sep 2026 · github.com
- ROM handling
- The project says commercial Nintendo ROMs are not bundled and that users are responsible for using dumps from cartridges they legally own.Read 30 Sep 2026 · github.com
- Security and safety
- The repository says every chip crate and core crate forbids unsafe code and that there is zero unsafe code in the tree.Read 30 Sep 2026 · github.com
- System requirements
- The project specifies Rust 1.96.0 and a GPU with a wgpu-supported Vulkan, Metal, or DX12 backend; Linux also needs listed audio and windowing development headers.Read 30 Sep 2026 · github.com
Plans and prices
Strong points and limits
Strong points
- Free and dual-licensed under MIT or Apache-2.0
- Desktop builds for Linux, macOS and Windows
- Frontend includes save states, rewind and run-ahead
- Deterministic output is stated for matching inputs
Limits
- Commercial title has not reached a rendered frame
- Full browser shell remains on the roadmap
- Desktop use requires a wgpu-supported GPU
- Commercial ROMs are not included
Who it suits
RustyN64 suits people interested in Nintendo 64 emulation or contributing code, testing, documentation or design. Its current playable release demonstrates homebrew ROMs rather than rendered commercial gameplay.
RustyN64 in depth
Read the full write-up
Overview
RustyN64 is a free, open-source Nintendo 64 emulator for readers interested in how accurate emulation is built, or in contributing to an early-stage project. Its first playable release runs homebrew ROMs with picture, sound and controller input; it is not yet a practical choice for playing commercial N64 games.
Key features
A canonical 187.5 MHz clock schedules the CPU and coprocessors, with low-level emulation for the RSP and RDP. That architecture makes RustyN64 particularly relevant to developers and accuracy-focused hobbyists. The project says its software RDP and VI scan-out bit-match Angrylion across 164 conformance vectors, but its overall accuracy battery remains stubbed at 0%, so that result is a narrow milestone rather than evidence of finished compatibility.
The project also states that identical seeds, ROMs and input sequences produce bit-identical framebuffer and audio. Reproducible output can help with debugging and accuracy work. The egui desktop frontend includes save states, rewind and run-ahead, all off by default, giving users optional controls without implying they are enabled in a standard session.
The frontend connects video, audio and controller input. A WebAssembly entry point can run a homebrew ROM and show video on a 2D canvas, but the fuller browser shell remains roadmap work. A commercial title can boot and execute game code, yet does not reach a rendered frame; that work is deferred to Phase 7. With no full-speed run path and no published headline performance measurements, RustyN64 is a poor fit for readers seeking a proven everyday game library.
The project invites contributions in code, testing, documentation and design, and provides a contribution guide and quality-gate instructions. Its chip and core crates forbid unsafe code, and the repository states there is no unsafe code in the tree. The emulator is dual-licensed under MIT or Apache License 2.0. Commercial Nintendo ROMs are not bundled; users are responsible for using dumps from cartridges they legally own.
Pricing
RustyN64
free covers the open-source emulator under MIT or Apache-2.0. There are no paid tiers or trial terms to weigh. This suits contributors and anyone willing to work within its current homebrew-focused compatibility; the absence of a demonstrated commercial-game rendering path is the meaningful trade-off, not a feature gated behind a higher plan.
Platforms
RustyN64 lists Linux x64, macOS ARM64 and Windows x64 as built and tested in CI, plus a WebAssembly browser demo. Desktop use requires Rust 1.96.0 and a GPU with a wgpu-supported Vulkan, Metal or DX12 backend. Linux also needs the listed audio, input and window-system development headers, a setup burden that may put off readers seeking a ready-to-run desktop app. The browser demo is narrower than a full web frontend: it runs a homebrew ROM and displays scan-out on a 2D canvas.
Who it's for
Choose RustyN64 if you want to explore cycle-accurate N64 architecture, work on emulator development, or test a homebrew ROM on a supported desktop or in the browser demo. Its contribution path and deterministic-output claim also make it an interesting project for testing and documentation contributors. Look elsewhere if your priority is playing commercial N64 games, broad compatibility or a demonstrated full-speed experience.
Pros and cons
Pro: A shared clock and low-level RSP and RDP emulation give the project a clearly defined accuracy-oriented architecture.
Pro: Bit-identical output is claimed for matching seeds, ROMs and inputs, a useful property for repeatable development work.
Pro: Save states, rewind and run-ahead are available in the frontend, and the software RDP and VI scan-out match Angrylion across 164 vectors.
Con: Commercial titles do not yet reach a rendered frame, so the current playable milestone is limited to homebrew.
Con: The broader accuracy battery remains at 0%, and there is no full-speed run path or published headline performance measurement.
Con: Desktop setup depends on a supported GPU backend, with additional development-header requirements on Linux.
Alternatives
For a wider comparison, browse Nintendo 64 Emulators. Readers who want a broader multi-platform option can consider RetroArch, a free, open-source project available across desktop, mobile and web platforms. CEN64 is another free open-source N64 emulator for Linux, macOS and Windows; Mac users should account for its source-build requirement, and it requires PIF data and ROM files. Gopher64 offers a downloadable emulator for Android and desktop systems, with a name-your-own-price plan.
Luna's Project64 is a free GPLv2 option for Linux and Windows. Mupen64Plus provides a free emulator and plugins, with download bundles for supported operating systems. 1964 GEPD Edition is a free Linux and Windows download, with games and ROMs excluded. Virtual Jaguar is a free emulator core that requires a libretro frontend such as RetroArch. Provenance is a free-when-sideloaded-or-built-from-source option for iOS and macOS, with all emulation features included.
Verdict
RustyN64 is best for technically curious N64 enthusiasts and contributors who value a cycle-accurate architecture and a reproducible homebrew path. Its strongest reason to choose it is that focused engineering foundation; its clearest reason to look elsewhere is that commercial games still do not render. Treat it as a promising emulator project to follow or help build, not as a general-purpose N64 player today.
Verdict
RustyN64 documents a cycle-accurate architecture and a playable homebrew path, but commercial game rendering is not yet demonstrated. Desktop users also need a supported GPU backend.
Where Specifiction places it
- Nintendo 64 Emulators#6 of 248.1