Skip to content

Releases

Mega Man X2 0.2.2 - diagnostic capture fix

Choose a tag to compare

@mstan mstan released this 01 Nov 03:48

Fix diagnostic DSP audio recording after reset or a save-state load (snesrecomp #233). When SNESRECOMP_DSPOUT is enabled, the recorder now tracks timeline changes, bounds ring reads, excludes speculative frames, and fails the capture run on output errors. Normal gameplay and playback do not use this recorder.

This Windows x64 hotfix retains the prior release engine and feature selections, plus the capture fix. Keep native saves and settings when updating. Host save states are build-specific. Supply your own supported ROM.

Mega Man X2 v0.2.1 - automatic replay diagnostics

Choose a tag to compare

@mstan mstan released this 30 Oct 04:14

Mega Man X2 v0.2.1 includes the new default-on diagnostic recording from v0.2.0 and applies recorded viewport bounds before simulation, so reports made at different window aspects reproduce the same spawn and cull bounds.

Diagnostics are enabled by default for now, including with existing settings. After a problem, close the game and send the complete logs folder with your issue list, approximate times, and any useful video. Keep every replay checkpoint and settings sidecar together. Nothing is uploaded automatically.

The bundled tools/replay_diagnostic.py restores reports in an isolated directory, checks every frame, and saves the first divergence. Recording runs through the shared bounded background writer; storage failure stops capture without stopping gameplay. See docs/DIAGNOSTICS.md for reporting, replay, retention, and opt-out instructions. Disable run-ahead when capturing a report.

Preserves the widescreen fixes from v0.1.5. Verified current-build save/load and rewind, fresh-process replay, adaptive window widths, active mods, reset and renderer changes, malformed report rejection, bounded retention, shared writer tests, and clean final-ZIP boot/default logging/replay.

Extract the complete Windows x64 ZIP, then supply your verified Mega Man X2 (USA) ROM. ROMs, saves, and developer profiles are not included.

Mega Man X2 v0.2.0 - automatic replay diagnostics

Choose a tag to compare

@mstan mstan released this 30 Oct 04:04

Mega Man X2 v0.2.0 adds automatic diagnostic recording, enabled by default for now, including when upgrading with existing settings.

After a problem, close the game and send the complete logs folder with your issue list, approximate times, and any useful video. The capture includes replayable machine checkpoints, inputs, build/ROM identity, settings, and active mod options. Nothing is uploaded automatically.

  • Bounded background recording retains up to an hour of segments, with a 256 MiB checkpoint budget; storage failures stop capture without stopping gameplay.
  • The bundled tools/replay_diagnostic.py restores a report in an isolated folder, checks every frame, and saves the first divergence. Keep all replay sidecars together and use the matching game release and your own USA ROM.
  • Session logs are written beside the executable without opening a console. See docs/DIAGNOSTICS.md for reporting, replay, and opt-out instructions. Disable run-ahead when capturing a report.
  • Preserves the widescreen fixes from v0.1.5. No ROM, save, or developer profile is included.

Validated with current-build save/load and rewind, fresh-process replay of every retained segment, active widescreen settings, reset and renderer changes, damaged/incomplete report rejection, unavailable storage, bounded retention, shared writer tests, and a clean-PATH boot and replay from the final ZIP.

Extract the complete Windows x64 ZIP, then supply your verified Mega Man X2 (USA) ROM.

Mega Man X2 v0.1.5

Choose a tag to compare

@mstan mstan released this 27 Oct 22:32
9c3b374

Mega Man X2 v0.1.5 fixes the widescreen sequences and presentation reviewed
during the X2 trigger audit:

  • Correct rocket/ascent and Ostrich scenery, including the entrance bars.
  • Draw the Serges room extension before the moving camera reveals its edge;
    keep the entering machine, pilot and seat complete.
  • Continue Sigma's side walls and keep boss canvases contained.
  • Show one room-facing door and preserve its opening/closing animation.
  • Correct HUD placement and the Zero/Black Zero approaches at wide aspects.

The X2 owner playtest is cleared. Automated checks include assisted original
boss/branch/ending triggers, native and wide rendering, current-build
save/load and rewind, plus packaged runtime/dependency checks. This is a
Windows x64 package; extract the complete ZIP. A verified Mega Man X2 (USA)
ROM is required and is not included. Enable the optional widescreen package
from the launcher's Mods page.

The detailed audit keeps the scope of each check and its cheats explicit;
it does not claim an exhaustive independent original-game audio comparison.

v0.1.4

Choose a tag to compare

@mstan mstan released this 18 Oct 20:43

Developer regeneration and launcher rebuilds now share the same verified-USA generation recipe, preserving widescreen and DIZ postprocessors and separate historical coverage inputs. Update recursive framework, UI and disassembly metadata dependencies.

Add a default-off instruction debugger build option. Corrected fresh-boot checkpoint sampling uses the original loader and produces 342-pixel widened captures across stages $01-$0C. The speculative coverage trial was not qualified and is excluded.

The Windows package uses normal first-run audio/configuration defaults, omits private keybindings and mod selections, includes its runtime DLL closure, and rejects trace builds. Extracted stock and widened input runs pass with only Windows system directories on PATH.

Coverage details and remaining limits.

v0.1.3 - startup fix and engine update

Choose a tag to compare

@mstan mstan released this 03 Oct 17:52

Mega Man X2 0.1.3 — startup fix and engine update.

Startup

Startup to the first frame drops from about 30 seconds to about half a second.
The delay came from unbuffered console output, which could wait on the disk
for every character when output was redirected
(snesrecomp#129).

Engine

Moves to the current snesrecomp engine (b39da56) and recomp-ui. That
includes RDNMI vblank latching, 16-bit indexed read timing, nested-interpreter
deadline unwinds, the save-state menu (keybinds.ini), and a soft-reset fix
for titles without an SPC player.

Packaging

Built against SDL3 3.4.12, so libiconv-2.dll is no longer shipped. Verified
by launching from the extracted zip with PATH stripped to the Windows
system directories.

Install

Extract the whole folder and run the executable. Supply your own
legally-obtained ROM when prompted — the ROM is never redistributed.

Linux/macOS: not rebuilt for this release.

v0.1.2 - packaging and engine update

Choose a tag to compare

@mstan mstan released this 22 Sep 01:39

Mega Man X2 0.1.2 — packaging and engine update.

Packaging

Windows packaging no longer copies a hand-written list of runtime DLLs into the
zip. That list was a snapshot of the build's dependencies on the day it was
written, and it silently went stale whenever a newer SDL3 pulled in something
new — which is exactly how a sister project shipped a zip that could not start
at all (0xc000007b / 0xc0000135).

The package is now derived from the executable's real dependency graph, and the
finished zip is re-checked: every dependency must resolve inside it, and every
binary must be 64-bit. Anything missing or wrong-architecture fails the build
instead of shipping. This release was verified by launching it with PATH
stripped to C:\Windows\system32;C:\Windows.

This build also links the MinGW C/C++ runtime statically, so
libgcc_s_seh-1.dll, libstdc++-6.dll and libwinpthread-1.dll are no longer
shipped or needed.

Engine

Moves to the current snesrecomp engine, a large jump from the previous release.
Expect the accumulated engine work of the last several months. Please report
anything that looks wrong versus the previous version.

Install

Extract the whole folder and run the executable. Supply your own
legally-obtained ROM when prompted — the ROM is never redistributed.

Linux/macOS: not rebuilt for this release; the previous version's assets
remain current.

Mega Man X2 v0.1.1 - audio crackle fixed

Choose a tag to compare

@mstan mstan released this 06 Aug 01:59

Audio: family-wide crackle fixed

The shared engine retired a hardcoded 534 output samples per audio callback
regardless of how many the host actually asked for, so consumption tracked the
callback rate and ignored the callback size. Any host not asking for exactly
534 drove the DSP output ring permanently out of balance.

Measured on the Super Mario Kart port before the fix: 17.8 k samples/s consumed
against 32.04 k/s produced, the ring pinned at its cap, and 43% of every audio
sample generated was discarded
- 384,032 of them carrying audible music - in
64,935 separate drop runs. Tempo survived because the drops landed as thousands
of very short runs per second, which is why this was heard as static rather than
as obviously wrong pitch.

The consumer now retires exactly as many samples as it emits frames, converts
the SPC's native 32040 Hz onto the device rate with continuous-phase
interpolation, and steers ring occupancy with a +/-0.5% servo (about 8 cents,
well below audibility) so the guest and the audio device can no longer drift
apart. Starvation fades over 64 frames instead of cutting to silence.

After the fix, same measurement: 0 samples dropped, 0 audible drops, 0 drop
runs, occupancy stable, consumed/produced 0.999, no steady-state underruns.

Engine: snesrecomp 1c271f9 + ad7860b. Launcher: recomp-ui 58e9d72.

Mega Man X2 v0.1.0 — SDL3 + first Linux build

Choose a tag to compare

@mstan mstan released this 05 Aug 07:19

What's new

First release with SDL3 and a Linux build.

  • Ported to SDL3 (SDL2 remains available for local builds). Latest recomp-ui
    compiles its SDL3 backend unconditionally, so the previous hardcoded SDL2
    wiring no longer worked at all.
  • First Linux AppImage for Mega Man X2. State — config.ini,
    keybinds.ini, rom.cfg, saves/, mods/ — lives next to the .AppImage,
    survives updates, and re-anchors if you move the file. Drop your ROM beside
    the .AppImage and it is picked up automatically.
  • Windows archive now uses portable ZIP paths, so Linux and Steam Deck
    extractors rebuild the bundled assets/ and mods/packages/ hierarchy
    correctly. Previously a Proton user's extraction produced files literally named
    assets\fonts\... and the launcher found no fonts and no mods.
  • Fixed a black screen under SDL3: SNES frames are opaque RGB with a zero alpha
    byte, which SDL3 blended away to the clear colour (audio kept playing).
  • Production builds no longer announce a TCP debug server they do not have.

Notes

  • A verified Mega Man X2 (USA) ROM is required and is not included.
  • Windows: extract the full archive, then run MegaManX2SNESRecomp.exe. The
    bare .exe will not run without the bundled SDL3.dll, MinGW runtime DLLs and
    assets/.
  • Linux: chmod +x the .AppImage and run it from a writable folder — that
    folder is where your config and saves live.
  • Widescreen is a default-off option on the launcher's Mods page.

Mega Man X2 Recompiled v0.0.1

Choose a tag to compare

@mstan mstan released this 28 Jul 19:12

Initial release

  • First packaged Windows release of Mega Man X2 (USA) recompiled for native
    desktop execution.
  • Includes the shared launcher, display and audio settings, key rebinding,
    crash diagnostics, and the built-in mod loader.
  • The bundled Mega Man X2 Widescreen package is available from the
    launcher’s Mods page and is disabled by default.

Notes

  • Windows zip only. Extract the full archive, then run
    MegaManX2SNESRecomp.exe.
  • A verified Mega Man X2 (USA) ROM is required and is not included.
  • Widescreen is experimental; stage-by-stage validation is still in progress.