RustyNES v2.9.7 — "Tandem" (the desktop's features on the web and on phones, full release binaries, and an A12 fix found by real games)
RustyNES v2.9.7 — "Tandem"
The platform release of the line to v3.0.0: the desktop's features on the web and on phones, release binaries that include everything, and a core A12 fix found by real games. Acclaim's MC-ACC games and the Donkey Kong Country 4 world map now render correctly.
The release binaries are the full build
The downloads now include RetroAchievements, Lua scripting, HD packs, A/V recording (with ffmpeg on your PATH) and the debugger telemetry. There is one archive per platform, under the same names as before. CI now builds this set on macOS and Windows for every pull request.
On the web
- Battery saves persist in the browser (IndexedDB), including the flash saves of GTROM and UNROM 512 games. The save is restored before the game's first frame.
- Vs. DualSystem cabinets run with both screens, with coin and four-player input as on the desktop, and save states work.
On Android and iOS
- Famicom Disk System disks and NSF music files load. You supply the FDS BIOS (
disksys.rom) once. Disk sides and NSF tracks have buttons in the in-game menu. - Vs. DualSystem cabinets load as two consoles, one screen at a time with a swap button.
- "Cancel opposite directions" is now a setting, on by default as before.
- The iOS changes are uncompiled on the Linux build host; they are on the device run sheet.
On the desktop
- Save states work with a Vs. DualSystem cabinet loaded. Before, F1 did nothing and said nothing.
- The Settings "Overclock (extra scanlines)" field works. It was saved and never applied. It is held at stock timing during movies and netplay.
- The user-facing panels are translatable into Spanish (machine-drafted; native review welcome).
Accuracy
- The PPU now reports the A12 line the way the console drives it. It reported one A12 pulse per scanline where the hardware makes eight. The MMC3 ignores the extra seven, so its test ROMs and AccuracyCoin passed. Boards that count every pulse were running eight times slow:
- Acclaim's MC-ACC: six real games checked. Four of them (Alien 3, Terminator 2, The Incredible Crash Dummies, WWF King of the Ring) lost their status bars or title text, and Alien 3 went black. All four are now correct, and MC-ACC is promoted to Curated.
- J.Y. Company boards: the Donkey Kong Country 4 world map (mapper 211) renders correctly.
- Mapper 91, submapper 0.
- Time Diver: Avenger (mapper 250) renders its playfield correctly. Its IRQ counted CPU cycles instead of scanlines.
- Uchuu Keibitai SDF (MMC5) is localised to its intro and still open.
Save states
States for the MMC3-clone boards (and mappers 176, 268, 513) have a new layout, and older ones still load. Mapper 250 states from earlier versions do not load.
Verification
- The full
--features test-romssuite passes: 3,065 tests, 0 failed, 20 ignored. AccuracyCoin is 144/144, nestest is 0-diff, and both MMC3 test-ROM suites and Holy Mapperel pass unchanged. - The local commercial suites: 60/0 real games and 138/0 extended, both unchanged. Of 698 coverage titles, 10 changed frames, each checked against a v2.9.6 build: the seven newly staged games, the Donkey Kong Country 4 map (fixed) and the two Time Diver dumps (fixed).
- The A12 change costs about 1.9% on the nestest frame benchmarks and nothing measurable on the others, over two independent runs.
- Browser and device behaviour is not verified here: the iOS Swift is uncompiled, and the web features are manual checks.
The MiSTer core
The RTL is unchanged, so the bitstreams attached here are v2.9.2's files, byte for byte: on-die md5 c17b0f37d5c49b150c023734b583f468, off-die md5 75ae3a99e840e29675ded9898dae127d. No hardware has run any bitstream.
Install
- Download the pre-built binaries for Linux, macOS, and Windows below.
- The MiSTer core bitstreams are attached below:
RustyNES_MiSTer-v2.9.7.rbf(on-die, also asRustyNES_20260928.rbf) andRustyNES_MiSTer-v2.9.7-offdie.rbf. - The WebAssembly build is live at doublegate.github.io/RustyNES.
- Licensed under GPL-3.0-or-later.