Skip to content

Releases

Segarecomp v0.8.0

Choose a tag to compare

@github-actions github-actions released this 08 Nov 19:48
501bacf

v0.8.0

This release adds major new player-facing features across Segarecomp: widescreen presentation, game patches, save states, rewind and persistent Genesis saves, alongside significant performance and recompilation improvements.

Widescreen

Added a shared widescreen system for Genesis / Mega Drive, Master System and Sega CD.

  • Original — native 4:3 output.
  • Extended Backgrounds (Level 2) — extends scenery beyond the original viewport where supported.
  • Enhanced Widescreen (Level 3) — additionally presents sprites the game already places outside the original viewport.
  • Adjustable width from 4:3 up to 16:9.
  • Comfort, Borders and Raw Extension side-presentation modes.
  • Settings can be changed live from the pause menu and are stored per game.

Widescreen capability is reported honestly and may be Partial depending on the game and platform.

Genesis patches and variants

Added support for portable .segapatch packages.

  • Data-only BPS patches.
  • Trusted native C11 patch providers through the new Segarecomp patch SDK.
  • Patched games appear as a separate Patched variant alongside Vanilla.
  • Patches are tied to the exact ROM image and package identity.
  • Vanilla builds and saves remain separate and untouched.

The release includes the public native patch SDK, documentation and a synthetic example.

Game-specific widescreen packages are maintained separately in the segarecomp-patches project and are not bundled with Segarecomp.

Native patch providers contain executable code and are not sandboxed. Install them only from sources you trust.

Save states, game saves and rewind

Save-state and rewind support now works across Genesis, Master System and Sega CD.

  • Five numbered save-state slots.
  • Quick save/load with F5 / F8.
  • Screenshots and play-time information for saved states.
  • Complete machine-state restoration, including audio hardware.
  • Invalid or incompatible states are refused without modifying the running game.

Added visual rewind with F7:

  • Captures a gameplay moment every 500 ms.
  • Browse previous moments through an in-game visual timeline.
  • Resume directly from the selected point.
  • Memory is bounded to 96 MiB and older moments are discarded automatically.

Genesis typically keeps around a minute of history; Sega CD states are larger and retain roughly 43 seconds with the default limit.

Persistent Genesis game saves

Genesis battery-backed memory now persists automatically between sessions:

  • Cartridge SRAM.
  • Supported X24C01 EEPROM cartridges.

Saves are written only after a clean user-initiated exit and survive recompilation, cache cleanup and library removal.

Patched variants receive their own independent save data.

Launcher and game variants

The launcher now understands:

  • Vanilla and patched game variants.
  • Patch installation/removal.
  • Per-variant builds and saves.
  • Widescreen configuration.
  • Save-state and rewind integration.
  • Automatic recognition of supported Sonic & Knuckles lock-on cartridge combinations.

Performance

Added a new F3 performance overlay with Player and Developer views, together with profiling and benchmark tooling.

Profile-guided optimization work improved both runtime and build throughput. On the development benchmark system:

  • software-rendered runtime performance improved by roughly 20%;
  • build times improved by roughly 10–14%.

Actual improvements vary by hardware and workload.

Recompiler improvements

  • Added optional static-first Genesis Z80 image production with --z80-static 1.
  • Improved handling and analysis of RAM-resident jump thunks.
  • Continued Optimized-AOT evaluation for cartridges executing code from RAM.
  • Added a compatibility ledger and release-readiness checks so supported features and game evidence are tracked explicitly.

Generated programs remain fully ahead-of-time: no interpreter, no JIT, no runtime opcode decoder and no runtime code generation.

Current status

Genesis / Mega Drive and Master System remain experimental but already run a growing number of commercial titles.

Sega CD continues to support authentic generated-native execution from your own BIOS and disc, including interactive gameplay, CD-DA, PCM, FM/PSG audio, persistent backup RAM, save states and rewind. Complete compatibility is still not claimed.

No ROMs, BIOS files, commercial discs or game-specific patch packages are included.

Use only software you are legally entitled to analyze.

Experimental consumer build. Download the archive for your platform, extract it, open Segarecomp and drop in a ROM you legally own. No ROMs are included. See README.txt in the archive; verify downloads against SHA256SUMS.txt. The automatic 'Source code' archives are not consumer packages.

Segarecomp v0.7.0

Choose a tag to compare

@github-actions github-actions released this 01 Nov 10:31
e387909

v0.7.0

This release is a major step forward for Sega CD, taking it from an early generated-native vertical slice to an interactive platform integrated into the normal Segarecomp launcher workflow.

Sega CD

  • Added authentic BIOS boot and generated-native application execution using your own BIOS and disc.
  • Sonic CD (USA) is now playable through the generated-native Sega CD path.
    • Boot, title screen, START transitions, level entry, special-stage attract sequence and other checkpoints have been independently validated.
  • Added the shared SDL3 interactive viewer:
    • keyboard and gamepad input;
    • pause/settings UI;
    • frame hold and single-step;
    • deterministic input recording and replay.
  • Added self-service Sega CD builds.
    • The launcher can build a native program directly from your own BIOS and CUE/BIN disc.
    • No manually prepared module list or reference-emulator trace is required for the normal build flow.
    • Loaded executable regions are discovered and verified during bounded build-time passes.
  • Added File-first structural AOT, allowing eligible ISO9660 files to be compiled before the game reaches them and improving coverage of menu choices and previously unvisited routes.
  • Added generic build-time reconstruction and recognition of relocated, copied and transformed executable images.
  • Added static BIOS boot-image admission, reducing unnecessary discovery/build rounds.

Sega CD hardware and audio

Substantial new machine support landed in this release:

  • CD-DA music playback from standard raw audio tracks.
  • RF5C164 PCM sound effects with deterministic 44.1 kHz output.
  • Generated-native main-side Z80 execution.
  • YM2612 FM + PSG audio from the Sega CD Z80 sound driver.
  • Mixing of CD-DA, PCM, FM and PSG into the viewer audio stream.
  • 1M Word RAM → VDP DMA.
  • VDP horizontal interrupts.
  • Additional graphics ASIC behavior used by Sonic CD.
  • Improved CD/CDC, Word RAM and dual-CPU behavior.
  • Additional Z80 image-epoch and self-modifying-driver handling while retaining fail-closed execution.

Saves

  • Added persistent Sega CD internal backup RAM.
  • Save data survives launcher/game sessions.
  • Save files are treated as protected user data and are not removed by normal build-cache cleanup, rebuilds or storage maintenance.

Launcher and GUI

Sega CD is now a first-class platform in the normal Segarecomp interface rather than a separate developer-oriented flow.

  • Sega CD games appear in the same Library as Genesis and Master System.
  • Unified game Details layout and actions.
  • Normal Build / Rebuild / Cancel / Unqueue / Play workflow.
  • Sega CD builds use the shared build queue and progress UI.
  • Cover-art support, including Libretro lookup.
  • Storage usage and cleanup integration.
  • Build provenance and diagnostics.
  • BIOS, disc, program and save-data status are shown directly in the game details.
  • Sega CD-specific input recording/replay remains available without creating a separate UI.
  • The same responsive layouts and controller navigation used by Genesis and Master System now apply to Sega CD.

Recompiler work

This cycle also included extensive work on static executable-code discovery and AOT efficiency:

  • Source-relative generated bodies and verified dynamic module binding.
  • Recursive loader/module discovery.
  • Build-time executable-image reconstruction.
  • Static producer recognition for derived code.
  • Further generated-C factoring and compilation-efficiency research.
  • Extensive M68K model and corpus experiments; approaches that did not meet the project’s recall/soundness gates were not promoted into production.

Generated CPU execution remains fully ahead-of-time: no interpreter, no JIT, no runtime opcode decoder and no runtime code generation.

Current status

Genesis / Mega Drive and Master System remain the most mature targets.

Sega CD support is now genuinely interactive and can run authentic software from your own BIOS and disc, but complete Sega CD compatibility is not claimed. Generated/decompressed code, uncommon hardware behavior and routes not yet covered by static discovery may still stop with explicit typed diagnostics.

No ROMs, BIOS files or commercial disc images are included or uploaded. Use only software you are legally entitled to analyze.

Experimental consumer build. Download the archive for your platform, extract it, open Segarecomp and drop in a ROM you legally own. No ROMs are included. See README.txt in the archive; verify downloads against SHA256SUMS.txt. The automatic 'Source code' archives are not consumer packages.

Segarecomp v0.6.1

Choose a tag to compare

@github-actions github-actions released this 17 Oct 09:40
5f7621b

v0.6.1

This release focuses on a substantially smoother launcher experience, better defaults and additional Genesis / Mega Drive compatibility.

What's new since v0.6.0

  • Major launcher usability improvements:

    • Builds can now be cancelled safely, including compiler child processes.
    • Queued builds can be removed before they start.
    • Optimized is now the default launcher mode for newly imported games.
      • Genesis uses the gen2 optimized model.
      • Master System uses Optimized where supported.
      • The CLI remains conservative and keeps Compatibility as its default.
    • Added first-run onboarding for whether to keep or automatically remove build intermediates.
    • Existing compatible builds from previous releases can now remain playable after updating Segarecomp, without forcing an immediate recompile.
    • Recompiling remains available independently when desired.
  • Added complete gamepad-only launcher navigation.

    • Library, Details, Settings, Storage and build workflows can be navigated without a mouse.
    • Added a controller-friendly built-in file picker for ROMs and covers.
    • Improved focus handling, navigation hints and controller workflows.
  • Additional Genesis compatibility improvements:

    • Added support for a common X24C01 cartridge EEPROM profile.
    • Added controller GPIO WORD access behavior used by additional games.
    • Improved H-interrupt / computed-RTS static target handling.
    • Added correct handling for VDP commands with the DMA bit set while DMA is disabled.
    • Added a deterministic headless compatibility driver for repeatable input, video and audio testing.
  • Updated project documentation to better reflect current real-world compatibility and the purpose of Segarecomp.

The launcher now recommends the optimized recompilation paths as the first choice while retaining the existing fail-closed Compatibility fallback.

Generated games remain fully ahead-of-time: no interpreter, no JIT and no runtime opcode decoding.

Genesis / Mega Drive and Master System compatibility remain experimental. Sega CD remains at its synthetic dual-CPU/disc vertical-slice stage.

No ROMs, BIOS files or commercial disc images are included. Use only software you are legally entitled to analyze.

Experimental consumer build. Download the archive for your platform, extract it, open Segarecomp and drop in a ROM you legally own. No ROMs are included. See README.txt in the archive; verify downloads against SHA256SUMS.txt. The automatic 'Source code' archives are not consumer packages.

Segarecomp v0.6.0

Choose a tag to compare

@github-actions github-actions released this 17 Oct 09:33
a8d0ba3

v0.6.0

This release introduces the first Sega CD generated-native execution path, while continuing to improve Genesis compatibility and static-analysis foundations.

What's new since v0.5.0

  • Added the first Sega CD platform implementation.

    • Dual generated-native MC68000 execution for the main and sub CPUs.
    • CUE/BIN disc ingestion and deterministic disc identity.
    • Gate Array and Word RAM support, including 2M/1M modes.
    • CDD/CDC sector reading and DMA into Word RAM.
    • Deterministic dual-CPU scheduling.
    • Reuses the existing Genesis VDP to produce video output.
  • Added disc-loaded Sega CD executable modules.

    • ISO9660 file lookup and module lists.
    • Modules can be loaded into Word RAM or PRG RAM and executed as precompiled native C.
    • Multiple executable images may occupy the same address at different times.
    • Runtime selection is based on verified live bytes — no runtime decoding or JIT compilation.
  • Added segarecomp sega-cd inspect and segarecomp sega-cd emit developer workflows.

  • Improved Genesis MC68000 exception handling for software that enables interrupts with an SSP of zero, correctly wrapping exception frames onto the top of the 24-bit address space.

  • Improved static control-flow discovery by safely combining compatible target information across analysis roots.

  • Investigated self-modifying Genesis Z80 sound drivers.

    • Static analysis can already prove some exact code mutations.
    • Complete mutation closure is not yet established, so structural Z80 self-modification remains unsupported and continues to fail closed rather than being guessed or interpreted.

Sega CD status

Sega CD support is currently a synthetic vertical slice, not general game compatibility.

The implemented path proves generated-native dual-CPU execution, disc access, Word RAM, CD DMA, dynamically loaded precompiled modules and VDP output using project-authored discs.

BIOS execution, commercial disc support, PCM, CD-DA, graphics ASIC support and several other Sega CD subsystems are not yet implemented.

As always, generated programs remain fully ahead-of-time: no interpreter, no JIT and no runtime opcode decoding.

Genesis and Master System support remain experimental.

No ROMs, BIOS files or commercial disc images are included. Use only software you are legally entitled to analyze.

Experimental consumer build. Download the archive for your platform, extract it, open Segarecomp and drop in a ROM you legally own. No ROMs are included. See README.txt in the archive; verify downloads against SHA256SUMS.txt. The automatic 'Source code' archives are not consumer packages.

Segarecomp v0.5.0

Choose a tag to compare

@github-actions github-actions released this 16 Oct 00:00
b04b9ea

v0.5.0

This release significantly expands the Segarecomp launcher and player experience, while adding experimental optimized recompilation for Master System and further Genesis/SMS compatibility improvements.

What’s new since v0.4.0

  • Added experimental Optimized AOT for Master System.
    • Uses a native build-time Z80 executable-region model.
    • Measured builds can substantially reduce generated code and compilation work.
    • Compatibility remains the default.
    • If omitted code is reached at runtime, the launcher can automatically rebuild/restart the game in Compatibility mode.
  • Major launcher overhaul:
    • persistent game library;
    • grid/list views, search and game details;
    • ROM import and ZIP import;
    • favorites, metadata and region information;
    • build queue and multi-game build status;
    • automatic and manual cover-art support;
    • safe storage/cache management;
    • improved build/rebuild cleanup and artifact retention settings.
  • Added a shared Genesis / Master System SDL3 viewer UI:
    • pause menu and quick settings;
    • fullscreen and scaling options;
    • Pixel Perfect and CRT-style video presets;
    • keyboard and gamepad remapping;
    • audio volume/mute controls;
    • controller diagnostics;
    • screenshots and in-game status notifications.
  • Added native Nintendo Switch 2 Pro Controller USB support on Windows through the packaged SDL3/libusb stack.
    • Verified with a physical controller.
    • Steam must currently be fully closed.
    • Bluetooth is not supported by the pinned SDL driver.
  • Improved Master System compatibility for instructions crossing fixed/banked ROM-window boundaries, fixing progression in additional titles.
  • Added several generic Genesis compatibility fixes, including improved VDP/HV-counter access, sign-extended address handling, interrupt delivery and control-flow cases.
  • Improved launcher presentation with new artwork, application icons, cover handling, responsive layouts, better high-DPI behavior and stacked notifications.

Generated games remain fully ahead-of-time: no interpreter, no JIT and no runtime opcode decoding. ML-based selection, where enabled, runs only during compilation.

Genesis and Master System compatibility remain experimental, and unsupported games may still fail closed during compilation or execution.

Prebuilt packages are available for Windows x86_64, Linux x86_64 and macOS Apple Silicon.

No ROMs are included. Use only software you are legally entitled to analyze.

Experimental consumer build. Download the archive for your platform, extract it, open Segarecomp and drop in a ROM you legally own. No ROMs are included. See README.txt in the archive; verify downloads against SHA256SUMS.txt. The automatic 'Source code' archives are not consumer packages.

Segarecomp v0.4.0

Choose a tag to compare

@github-actions github-actions released this 12 Oct 18:50
8518821

v0.4.0

This release focuses on Genesis / Mega Drive compatibility, video accuracy and optimized recompilation.

What's new since v0.3.0

  • Added the experimental second-generation Optimized AOT model.
    • Better cross-title executable-region selection than the previous model.
    • Roughly 40–60% of the generated C of Compatibility mode on measured titles.
    • Remains an explicit experimental option; Compatibility is still the default.
    • Falls back safely when selective recompilation cannot be validated.
  • Improved selective AOT support for games that copy executable code into RAM, reducing unnecessary broad-AOT fallbacks.
  • Major Genesis VDP/rendering improvements:
    • scanline-aware raster state and mid-frame palette changes;
    • H32 display mode;
    • interlace mode 2;
    • additional scrolling modes;
    • Window plane improvements;
    • mid-frame sprite-table changes;
    • horizontal interrupts.
  • Added proper console-region handling for USA, Japan and Europe.
    • PAL titles can now run, currently using 60 Hz timing; true 50 Hz PAL timing is not implemented yet.
  • Genesis Z80 sound-code materialization now respects the selected/default console region, improving compatibility with region-sensitive games.
  • Improved several Genesis hardware compatibility cases, including controller/version-register and PSG access behavior.
  • Substantially improved the launcher UI:
    • cleaner ROM/game information and controls;
    • better region and AOT-mode selection;
    • improved title decoding;
    • asynchronous Optimized-mode preparation;
    • better high-DPI behavior on Windows.
  • Expanded compatibility with additional Genesis titles through generic hardware fixes rather than game-specific patches.

Generated programs remain fully ahead-of-time: no interpreter, JIT, runtime opcode decoding or runtime ML.

Genesis and Master System support remain experimental, and game compatibility is still incomplete.

Prebuilt packages are available for Windows x86_64, Linux x86_64 and macOS Apple Silicon.

No ROMs are included. Use only software you are legally entitled to analyze.

Experimental consumer build. Download the archive for your platform, extract it, open Segarecomp and drop in a ROM you legally own. No ROMs are included. See README.txt in the archive; verify downloads against SHA256SUMS.txt. The automatic 'Source code' archives are not consumer packages.

Segarecomp v0.4.0-alpha.2

Pre-release

Choose a tag to compare

@github-actions github-actions released this 12 Oct 17:30
8518821

Experimental consumer build. Download the archive for your platform, extract it, open Segarecomp and drop in a ROM you legally own. No ROMs are included. See README.txt in the archive; verify downloads against SHA256SUMS.txt. The automatic 'Source code' archives are not consumer packages.

Segarecomp v0.4.0-alpha.1

Pre-release

Choose a tag to compare

@github-actions github-actions released this 11 Oct 14:30
7814e35

Experimental consumer build. Download the archive for your platform, extract it, open Segarecomp and drop in a ROM you legally own. No ROMs are included. See README.txt in the archive; verify downloads against SHA256SUMS.txt. The automatic 'Source code' archives are not consumer packages.

Segarecomp v0.3.0

Choose a tag to compare

@github-actions github-actions released this 10 Oct 20:48
ed9b26b

v0.3.0

This release focuses on Genesis / Mega Drive compatibility and recompilation efficiency.

What's new since v0.2.0-alpha.1

  • Added an optional Optimized AOT mode for Genesis.
    • Uses a native, statically embedded executable-region model to reduce the amount of generated code.
    • Validation titles saw roughly 70–81% less generated C.
    • Generated programs remain fully static: no interpreter, JIT, runtime opcode decoding or runtime ML.
    • If the optimized plan cannot be safely validated, segarecomp falls back to broad compatibility AOT.
  • Added several bounded Genesis compatibility fixes, allowing more commercial titles to progress through the generated-native pipeline.
  • Added build-time support for bounded RAM jump thunks without introducing runtime opcode decoding.
  • Added standard header-declared Genesis cartridge SRAM support, including mapping and write protection.
  • Improved controller I/O, VDP/DMA behavior, Z80-area accesses and several MC68000 edge cases.
  • Removed the superseded report-only analysis framework after the new production AOT path replaced it.

Genesis and Master System support remain experimental, and game compatibility is still incomplete.

Prebuilt packages are available for Windows x86_64, Linux x86_64 and macOS Apple Silicon.

Experimental consumer build. Download the archive for your platform, extract it, open Segarecomp and drop in a ROM you legally own. No ROMs are included. See README.txt in the archive; verify downloads against SHA256SUMS.txt. The automatic 'Source code' archives are not consumer packages.

Segarecomp v0.3.0-alpha.1

Pre-release

Choose a tag to compare

@github-actions github-actions released this 10 Oct 20:28
ed9b26b

Experimental consumer build. Download the archive for your platform, extract it, open Segarecomp and drop in a ROM you legally own. No ROMs are included. See README.txt in the archive; verify downloads against SHA256SUMS.txt. The automatic 'Source code' archives are not consumer packages.