Nintendo - NES / Famicom (RustyNES)¶
Background¶
RustyNES is a cycle-accurate Nintendo Entertainment System (NES) and Famicom emulator written entirely in pure Rust. It targets the highest accuracy bar (comparable to Mesen and higan) through strict lockstep timing at PPU-dot resolution, without relying on threading or standard library timing.
It is extremely portable and deterministic, making it a reliable choice for netplay, TAS, and accurate emulation enthusiasts.
Author/License¶
The RustyNES core has been authored by
- DoubleGate
The RustyNES core is licensed under
- MIT OR Apache-2.0
A summary of the licenses behind RetroArch and its cores can be found here.
Extensions¶
Content that can be loaded by the RustyNES core have the following file extensions:
- .nes
- .fds
Databases¶
RetroArch database(s) that are associated with the RustyNES core:
Features¶
Frontend-level settings or features that the RustyNES core respects.
| Feature | Supported |
|---|---|
| Restart | ✔ |
| Screenshots | ✔ |
| Saves | ✔ |
| States | ✔ |
| Rewind | ✔ |
| Netplay | ✔ |
| Core Options | ✕ |
| Memory Monitoring (achievements) | ✔ |
| RetroArch Cheats | ✔ |
| Native Cheats | ✔ |
| Controls | ✔ |
| Remapping | ✔ |
| Multi-Mouse | ✕ |
| Rumble | ✕ |
| Sensors | ✕ |
| Camera | ✕ |
| Location | ✕ |
| Subsystem | ✕ |
| Softpatching | ✔ |
| Disk Control | ✔ |
| Username | ✕ |
| Language | ✕ |
| Crop Overscan | ✕ |
| Active Touchpad | ✕ |
Directories¶
The RustyNES core's directory name is 'RustyNES'.
BIOS¶
No BIOS file is required for cartridge (.nes) content. Famicom Disk System (.fds) content requires the following firmware file in the frontend's system directory to boot (the core itself will still load without it, since it's marked optional at the frontend level, but no FDS game will run):
| Filename | Description | md5sum |
|---|---|---|
| disksys.rom | Family Computer Disk System BIOS - required to boot .fds content | ca30b50f880eb660a320674ed365ef7a |
Joypad¶

| User 1 - 2 input descriptors | RetroPad Inputs |
|---|---|
| B | ![]() |
| A | ![]() |
| Select | ![]() |
| Start | ![]() |
| D-Pad Up | ![]() |
| D-Pad Down | ![]() |
| D-Pad Left | ![]() |
| D-Pad Right | ![]() |







