Skip to content

Releases: ArthurReboulSalze/RetroRecomp

RetroRecomp v0.21.0 — saved covers and expanded 16-bit support

Choose a tag to compare

@ArthurReboulSalze ArthurReboulSalze released this 08 Oct 22:12

RetroRecomp v0.21.0 — saved covers and expanded 16-bit support

Download Retro-Recomp.exe below for Windows x64, or use Check for updates in the app.

Download once, regenerate freely

Downloaded artwork is now retained in datas/BoxArt beside the converter, sorted by console. Regenerating a game reuses its saved image without contacting cover services again, including after a ROM rename or a change of export folder.

  • Available across all six console profiles.
  • Front and three-quarter artwork are kept separately and reused when switching styles.
  • Existing downloads are preserved, including the former Master System cache.
  • Changing API credentials keeps your artwork; missing or damaged images use the normal search.

Front covers remain the default. Original image quality and automatic shooting tags are preserved.

More 16-bit games and improved audio

This release also includes the recent Mega Drive and Super Nintendo development: more qualified game revisions, guarded native execution for both main and sound CPUs, an optional advanced Mega Drive scan, and improved SNES interrupt/audio timing. Master System, Game Gear, Game Boy and NES are supported; Mega Drive and Super Nintendo remain experimental. See the compatibility guide.

217 ROM-free Python tests pass in the development checkout. The clean release snapshot passes its applicable checks, including persistent-cache fixtures for every console. These checks distinguish native coverage and agreement with the internal reference from hardware fidelity, complete gameplay and physical latency.

Updating the converter preserves your games, settings, learning library and downloaded artwork. Regenerate games to receive runtime improvements. The download contains the converter only; private data stays on your machine.

Component notices are embedded in the EXE. See the README, box-art guide, third-party notices, and matching UPX 5.2.1 source archive.

RetroRecomp v0.20.0 — lightguns across more consoles

Choose a tag to compare

@ArthurReboulSalze ArthurReboulSalze released this 08 Oct 14:08

RetroRecomp v0.20.0 — lightguns across more consoles

Play with the mouse

Mega Drive now supports Menacer aiming in Menacer 6-Game Cartridge and
T2 - The Arcade Game. Super Nintendo adds Super Scope 6. Move the mouse
to aim, left-click to fire, and use F5 to choose the cross or dot, size and
color. The default red cross has thicker strokes for better visibility.
Original controller-selection and calibration screens remain intact.

T2's gun detection and CPU/audio scheduling have been corrected. Gun input in
all three games has been confirmed by the user after the fix.

One app, six consoles

The README is shorter and focuses on the multiconsole experience: mixed-folder
batches, compact standalone games and shared menus. Master System, Game Gear
and original Game Boy are supported. NES, Mega Drive and Super Nintendo remain
experimental; the 16-bit profiles accept six qualified Mega Drive revisions
and two Super Nintendo revisions. See the current game list
and gun controls. Other gun games are not automatically enabled.
PAL execution and F8/F9 states are still unavailable on the 16-bit profiles.

Validation

168 ROM-free Python tests and 127 authored native gun checks pass. Each new gun
cartridge passes 3,600-frame demo and scripted-play comparisons with the internal
reference, with zero interpreted main-CPU instructions on those tested paths.
The sound processors remain interpreted. CPU agreement, hardware fidelity,
complete gameplay and physical latency are separate measures; these checks do
not establish complete hardware accuracy or zero latency.

Update

Download the single Windows x64 Retro-Recomp.exe, or use Check for updates.
Regenerate the affected games to receive the gun improvements. Updating the
converter preserves existing games and settings. No ROMs, downloaded covers,
generated games, personal settings or compilation library are bundled.
Component notices remain embedded in the EXE; their own licensing terms apply.
The matching UPX source archive is in the repository.

RetroRecomp v0.19.0 — more native 16-bit execution and refined scanlines

Choose a tag to compare

@ArthurReboulSalze ArthurReboulSalze released this 08 Oct 10:32

RetroRecomp v0.19.0 — more native 16-bit execution and refined scanlines

Mega Drive

Sonic the Hedgehog now uses the same instruction-AOT path as Columns,
Golden Axe and Castle of Illusion, preserving the real 68000 PC, stack and
interrupt frames. The earlier Sonic-specific callbacks are no longer used
on this path. After learning four missing ROM entries, demo and scripted-play
checks of 3,600 frames each completed with zero interpreted main-CPU opcodes.
Their complete visible-frame sequences and final CPU, memory and VDP state
match the internal reference. Golden Axe also passes the same full-length
regression check. The sound Z80 remains interpreted.

Super Nintendo

Super Mario World now has a compiled 65816 operation map for every physical
ROM byte, with live LoROM mapping, real PC/stack control flow, timed operand
reads and register-width handling. Conversion tests learn RAM helpers in
a library scoped to the exact cartridge hash; each native helper verifies
its PC and four live bytes before running. Modified or unknown code keeps
the reported fallback. Games never write this learning library themselves.

The first ROM-only pass reported 372,060 interpreted instructions in demo and
100,750 in play. Learning 130 RAM variants reduced both to zero over the next
two 3,600-frame checks, about 49 million retired instructions per scenario.
Visible-frame sequences, final CPU/memory state and CPU/master/APU clocks
match the internal reference. The earlier reference divergence is resolved
on these tested paths. Authored fixtures pass 16,544 instruction/state/bus
comparisons, including register widths and changed-code guards.
The SPC700 sound processor remains interpreted.

Scanlines and validation

Mega Drive and SNES scanlines now draw a fine translucent gap for each guest
raster row instead of darkening every other game row. A cached mask follows
the actual display height, including fractional fullscreen scaling and HiDPI;
below 2x, the effect stays off to preserve readability. Framebuffers and guest
timing are unchanged. Numeric presentation checks pass, and both compressed
test exports launch with the filter active without creating files or folders.

Both 16-bit converters compare native and reference execution over the full
requested demo/play length. Missing diagnostics or differences reject the
candidate and preserve the previous export. The memory command also reports
the MD/SNES converter's ROM entries, guarded RAM variants and library size.
162 ROM-free Python tests pass. Native/reference agreement uses shared engine
semantics; independent hardware fidelity, complete gameplay and physical
latency remain separate evidence.

Scope and update

Mega Drive and SNES remain experimental. Compatibility is still restricted
to the four exact qualified NTSC Mega Drive revisions and the qualified USA
revision of Super Mario World. Other games, PAL execution and F8/F9 states
are not enabled for these profiles; SNES cartridge-save persistence is also
unfinished. SNES conversion needs installed stable Rust >= 1.85.
See qualified cartridges and evidence.

Download the single Windows x64 Retro-Recomp.exe, or use Check for updates.
Regenerate games to receive the new execution paths and scanlines; updating
the converter preserves existing game exports and settings. No ROMs, downloaded
covers, generated games, settings or personal compilation library are bundled.
Component terms and notices remain in the EXE, including the imported
frameworks' PolyForm Noncommercial licences. The matching
UPX 5.2.1 source archive remains in the repository.

RetroRecomp v0.18.0 — Mega Drive expansion and broader NES support

Choose a tag to compare

@ArthurReboulSalze ArthurReboulSalze released this 08 Oct 03:07

RetroRecomp 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.

RetroRecomp v0.17.0 — improved Sega audio and better box-art icons

Choose a tag to compare

@ArthurReboulSalze ArthurReboulSalze released this 07 Oct 21:38

RetroRecomp v0.17.0 — improved Sega audio and better box-art icons

Download Retro-Recomp.exe below for Windows x64, or use Check for updates in the converter. Your games and settings stay in place.

Improved Master System and Game Gear audio

The new output path reduces waiting during audio conversion and prevents an unlimited sound backlog. It adapts to the Windows audio device and keeps a buffer margin for smooth PAL/NTSC playback. Console timing, controls and PSG sound synthesis stay unchanged.

Numeric audio checks passed, including silent Windows output tests. Two 600-frame Alex Kidd scenarios kept identical raw PSG sound, VDP traces and final CPU states, matched the reference CPU and used zero fallback. These are technical checks on bounded paths, not a measurement of total physical audio latency. Audio details.

Better box-art icons

  • Configure ScreenScraper, TheGamesDB or IGDB under Options → Box art. Developer/API access is required; credentials are protected with your Windows account.
  • Local artwork remains first priority, with public Libretro downloads as a no-key fallback. ArcadeItalia is listed for reference; its MAME API does not cover the current console profiles.
  • Real three-quarter boxes are preferred. If unavailable, the front cover stays flat, with no invented spine or perspective.
  • Original or HD images are requested when available, and all nine icon sizes are generated directly from the source, up to 256 × 256.
  • Portable Game Boy and NES builds also locate their bundled license notices correctly.

See box-art setup. Authenticated providers are covered by fixture tests; live testing needs user-supplied developer credentials.

Regenerate a game to receive the new audio output or icons. Updating the converter does not rewrite existing game executables. Master System, Game Gear and original Game Boy remain supported; NES remains experimental.

The download is a single converter EXE with no ROMs, downloaded covers, generated games, settings or personal compilation library. Original RetroRecomp contributions remain MIT; third-party terms and attribution are unchanged. See the README, third-party notices, and matching UPX 5.2.1 source archive.

RetroRecomp v0.16.0 — broader native NES coverage

Choose a tag to compare

@ArthurReboulSalze ArthurReboulSalze released this 29 Sep 14:17

RetroRecomp v0.16.0 — broader native NES coverage

Download Retro-Recomp.exe below for Windows x64. If you already have the converter, use Check for updates to install this version and restart. Your generated games and settings stay in place.

The experimental NES NROM (mapper 0) profile now compiles every ROM position that can begin a complete instruction, including indirect targets missed by scripted exploration. Bank-switched NES cartridges keep the existing discovery-based path. The pinned NESRecomp checkout is unchanged; RetroRecomp builds a private compiler adapter.

On the local Super Mario Bros. cartridge, 32,767 of 32,768 potential CPU ROM entry positions compiled. Three 3,600-frame scripted scenarios used zero interpreter cycles. Internal CPU/visible-state comparisons passed for 120 boot frames and 600 frames on each gameplay path; a separate 3,600-frame gameplay comparison also matched the same engine's interpreter. One first conversion took about 2 minutes 44 seconds, and its packed game grew from about 1.33 MB to 2.42 MB. These checks do not establish full-game coverage, independent NES hardware fidelity, or physical input latency. NES remains experimental.

NES game window titles now show just the game name and Native code or Interpreter fallback. Any ROM, RAM or other interpreted CPU work keeps the fallback status visible until the game closes. Gameplay probes also keep exercising inputs throughout longer tests. Only Mario was regenerated locally; this release does not include or rebuild other game executables.

The download is a single converter EXE with no ROMs, covers, generated games, settings or personal observation library. The original RetroRecomp code is MIT; the NES backend retains its PolyForm Noncommercial terms and attribution. Local checks: 109 Python tests, a source/package audit of 171 allowed files and 29 frozen modules, and a version smoke test. See the README, NES profile, third-party notices, and matching UPX source archive.

RetroRecomp v0.15.0 — faster Game Boy conversion

Choose a tag to compare

@ArthurReboulSalze ArthurReboulSalze released this 29 Sep 10:53

RetroRecomp v0.15.0 — faster Game Boy conversion and a cleaner workspace

Download Retro-Recomp.exe below for Windows x64. If you already have the converter, click Check for updates to install this version and restart; your games and settings stay in place.

Original Game Boy is now a fully supported, functional RetroRecomp profile, rather than an alpha feature. Deep reference CPU validation runs by default, including after upgrading from an older saved preference. You can turn it off under Options → Game Boy, or use --no-gb-deep-validation on the command line. That choice changes validation depth, not native code discovery.

The new Options window groups shared export, artwork, overwrite and batch settings under Common, with separate console tabs. Moving these controls out of the main window gives the ROM list more room. Credits and Check for updates have swapped places.

Super Mario Land's local deep conversion took 55.8 seconds with a populated entry library, compared with a historical run of about 750 seconds (over 10× longer). These runs had different cache and implementation conditions, so this is a historical comparison, not a controlled benchmark or a time guarantee for other games. With an empty entry library, the current deep conversion took 84.5 seconds. Efficient CPU memory comparisons, bounded parallel C builds and concurrent independent CPU checks produced the improvement.

The three final 3,600-frame Mario probes reported zero interpreter fallback cycles, and the requested generated/reference CPU comparisons matched. Those checks do not prove complete-game coverage, independent hardware fidelity, gameplay quality or physical input latency. NES remains experimental; Game Boy Color-only cartridges remain unsupported. No existing game executables were regenerated for this converter release.

The download is a single converter EXE. It contains no ROMs, covers, generated games, settings or personal compilation library. Automated checks: 107 Python tests, a desktop UI structure check, and an audit of the packaged executable and its bundled notices. See the README, Game Boy measurements and third-party notices. The matching UPX source archive is available in this repository.

RetroRecomp v0.14.5 — faster batches and clearer game editions

Choose a tag to compare

@ArthurReboulSalze ArthurReboulSalze released this 29 Sep 09:07

RetroRecomp v0.14.5 — faster batches and clearer game editions

Download Retro-Recomp.exe below for Windows x64. If you already use v0.14.2, open RetroRecomp and click Check for updates to test the in-app replacement and restart.

  • Batch conversion can run up to eight games at once, with three workers by default across the supported consoles.
  • Overwrite existing executables is checked by default. Uncheck it to keep completed exports and convert only missing games.
  • Different ROM editions keep separate executables, using source region/revision labels or stable version A/B labels. Sequel numbers remain part of the game name. Byte-identical files with different names are reported as duplicates with the earlier game's name.
  • Connection or firewall failures during an update check now show a clear message.

Master System, Game Gear and original Game Boy are supported; NES remains experimental. This release contains only the converter, with no ROMs, covers, generated games, settings or compilation memory. Existing games and settings are preserved by the updater. Automated checks: 105 tests plus an audit of the frozen executable and its resources. Visual and gameplay validation remain separate from those checks.

The converter's Credits window contains the license notices. The matching UPX 5.2.1 source archive is in this repository (SHA-256: a7d457be4ef942e46844ee8f301206b111394cbcbde3599747a6904c54ff116b).

RetroRecomp v0.14.2 — standalone Windows converter

Choose a tag to compare

@ArthurReboulSalze ArthurReboulSalze released this 29 Sep 07:43

RetroRecomp v0.14.2 — standalone Windows converter

Download Retro-Recomp.exe below. It is the complete Windows x64 converter; its Credits window contains the license notices. The matching UPX 5.2.1 source archive remains available in this repository (SHA-256: a7d457be4ef942e46844ee8f301206b111394cbcbde3599747a6904c54ff116b).

The manual update button now downloads and verifies the EXE directly. Versions through v0.14.1 used a ZIP-only updater, so replace their converter EXE manually once to adopt this format. Existing games, settings and compilation memory are preserved.

Master System, Game Gear and original Game Boy remain the playable profiles; NES remains experimental. This release contains no ROMs, covers or generated games. It was checked with 97 automated tests and an audit of the frozen executable's code and resources.

RetroRecomp v0.14.1 — credits and version display

Choose a tag to compare

@ArthurReboulSalze ArthurReboulSalze released this 29 Sep 07:16

RetroRecomp v0.14.1 — visible upstream credits

The converter now has a Credits button. It explains that RetroRecomp
combines several independent console-specific recompilers and runtimes in one
application, credits creator and integrator Arthur Reboul Salze, and links the
upstream repositories used for Master System, Game Gear, Game Boy and NES.
The console list scrolls to accommodate future profiles. Licensing notices
remain available from the same window. The main toolbar also shows the
installed RetroRecomp version beside the Credits and update controls.

The v0.14.0 converter can install this version through its manual Check for
updates
button. The release includes only the converter and legal notices;
it does not regenerate games or bundle ROMs, covers, settings or game data.
The NES profile remains experimental.