Repository navigation
RetroRecomp v0.18.0 — Mega Drive expansion and broader NES support
Pre-releaseRetroRecomp v0.18.0 — Mega Drive expansion and broader NES support
Download Retro-Recomp.exe below for Windows x64, or use Check for updates in the converter. Your existing games and settings stay in place.
Six console profiles in one converter
Master System, Game Gear and original Game Boy remain supported for everyday use. This release adds experimental Mega Drive and Super Nintendo profiles, alongside the experimental NES profile. Each uses the same RetroRecomp menus, mapping, filters and fullscreen controls.
Mega Drive accepts qualified NTSC revisions of Sonic the Hedgehog, Columns, Golden Axe and Castle of Illusion. Super Nintendo currently accepts only the qualified USA revision of Super Mario World. Other revisions and games are explicitly rejected rather than compiled using another game's profile.
More native Mega Drive execution
The new compiler for Columns, Golden Axe and Castle of Illusion follows the real 68000 program counter, stack and interrupt frames. Conversion tests learn missing ROM entries and code in RAM, then generate native operations in another pass. RAM operations check all instruction bytes before running; unknown or modified code keeps the reported fallback. A failed reference comparison preserves the previous export.
Starting with an empty converter library, all three games reached zero interpreted 68000 opcodes in two passes, on demo and scripted-play scenarios of 3,600 frames each. Visible-frame sequences and final CPU, memory and VDP state matched the internal reference. Cold conversions took about 65–78 seconds per title with two concurrent jobs on the development machine. Authored fixtures also passed 6,208 instruction/state comparisons, plus stack and modified-RAM guard checks. Golden Axe uses the VDP's correct 256-pixel H32 width; H40 games use 320 pixels.
The Mega Drive sound Z80 remains interpreted. Sonic retains its earlier compiler route and reference divergence. Super Mario World still has substantial 65816 fallback, interpreted SPC700 sound and reference divergence. PAL and F8/F9 are not yet enabled on either 16-bit profile, and SNES cartridge saves are not yet persistent. SNES conversion also requires an installed stable Rust toolchain >= 1.85. See the qualified cartridges, build requirements and limits.
Broader NES support
- Native entries now cover physical PRG ROM banks, with live bank dispatch and correct boundary operands. RAM and unstable mapping safeguards remain.
- PAL/NTSC selection, persistent F8/F9 quick states and mouse Zapper input for known gun games are included.
- States validate the ROM, timing, ABI and checksum; a failed load leaves the running game intact. Ordinary launch/quit and loading a missing state create no data folder.
- The complete 256 × 240 picture is preserved.
Authored NTSC/PAL checks passed 332,800 instruction cases across NROM, MMC1, UxROM, CNROM and MMC3. Super Mario Bros. 3, Mega Man 2 and Mega Man also reached zero fallback on three 1,800-frame scripted paths. See the NES profile and validation limits.
Keyboard layout and clean updates
Key labels and letter defaults now follow the active keyboard layout, including AZERTY, in the Master System, Game Gear, NES, Mega Drive and SNES menus. Saved custom mappings keep their physical positions; Game Boy already handled this.
Regenerate a game to apply runtime changes. Updating the converter does not rebuild or replace your existing game exports. The download is one converter EXE with no ROMs, downloaded covers, generated games, settings or personal compilation library.
151 ROM-free Python tests pass. Native coverage, CPU agreement, hardware fidelity, gameplay and physical latency remain separate: these bounded software comparisons use shared engine semantics and do not prove full-game compatibility or independent hardware accuracy. Physical latency has not been measured.
Original RetroRecomp contributions remain MIT. Imported engines retain their own terms, including the 16-bit frameworks' PolyForm Noncommercial licences. See the README, third-party notices, and matching UPX 5.2.1 source archive.