Repository navigation
Home
RustyNES is a cycle-accurate Nintendo Entertainment System emulator written in Rust. It aims at the accuracy bar set by Mesen2, higan and ares: one master clock, every CPU cycle clocked in two halves with the PPU caught up to each, so a sprite-zero hit, a mid-scanline scroll write or an MMC3 IRQ lands on the exact dot without a per-game patch.
The current release is v3.2.0 "Confluence" (2026-10-15). At that release the project reports AccuracyCoin 146/146 (upstream f5f41dc2), a zero-diff nestest log, and 208 mapper families. Those figures change from release to release; the authoritative numbers are always in docs/STATUS.md and the README.
Around the core sit a desktop application, a WebAssembly build (play in the browser), Android and iOS apps, a libretro core for RetroArch, rollback netplay, RetroAchievements, a TAS editor, a debugger and Lua scripting, all running the same deterministic core.
This wiki is a short orientation guide. Each page explains one idea and then links to the document in the repository that specifies it. The repository is the source of truth: when a wiki page and a repository document disagree, the repository wins. In particular:
| For | Read |
|---|---|
| Current pass counts, the mapper matrix, feature flags | docs/STATUS.md |
| What changed in each release |
CHANGELOG.md and the Releases page
|
| Every known approximation, with evidence | docs/accuracy-ledger.md |
| Plans for future releases | to-dos/ROADMAP.md |
| The user guide | docs/user-guide/ |
| The documentation as a website | Documentation handbook and the API documentation |
- Players: Getting-Started.
- Building it yourself: Building-from-Source.
- How the emulator works: Architecture-Overview, then Scheduler, CPU-2A03, PPU-2C02, APU-Mixer and Mapper-Ecosystem.
- How accuracy is checked: Testing-Strategy.
RustyNES is licensed GPL-3.0-or-later. It is a derivative work of GPL-licensed NES emulators, principally Mesen2 and, for some subsystems, puNES, FCEUX and Nestopia UE. The derivations are recorded file by file in docs/originality-and-provenance.md and in NOTICE; the relicensing decision is ADR 0036. RustyNES is developed with LLM tooling under a human-directed, test-driven workflow; the README's development note explains what that means.
RustyNES is a cycle-accurate NES emulator written in Rust, licensed GPL-3.0-or-later. It is a derivative work of GPL-licensed emulators; see provenance and NOTICE. This wiki is a summary; the repository's docs/ are authoritative. | GitHub Repository | Web Demo