Skip to content

Releases

Mega Man Zero 0.0.11

Choose a tag to compare

@mstan mstan released this 01 Nov 03:13
1a4ea6c

Mega Man Zero 0.0.11 pins the owner-approved GBA engine batch, including immutable HUD row mappings and RAM code views.

Native and adaptive widescreen gameplay and current-build save/load checks passed; the owner confirmed the game looks good. The prior gameplay, current-build save/load, owner review and per-game timing evidence is reused for the unchanged simulation package. This release adds the reviewed HostWindow controller-menu contribution with text-focus fixes; its focused SDL virtual-controller contract passes. No new performance win or whole-binary equivalence is claimed.

The Windows x64 ZIP includes the launcher, mod catalog, runtime DLLs and bundled overlay compiler. Supply your own supported ROM and GBA BIOS; neither is included. Preserve native in-game saves when updating. See the included README for controls, widescreen setup and its existing save-state presentation caveat.

The overlay package includes the pinned public core-header dependency and passes a bundled TCC include/compile check.

Title source: 1a4ea6c
Engine: c1a5fda36fb41c2fcba6c901692006ac69d50555

Mega Man Zero 0.0.10

Choose a tag to compare

@mstan mstan released this 01 Nov 00:11
ab644df

Mega Man Zero 0.0.10 pins the owner-approved GBA engine batch, including immutable HUD row mappings and RAM code views.

Native and adaptive widescreen gameplay and current-build save/load checks passed; the owner confirmed the game looks good. The final matched timing result is neutral/inconclusive, with no qualified CPU or elapsed regression. Release runtime code and constants match the approved binary after changing only engine identity data.

The Windows x64 ZIP includes the launcher, mod catalog, runtime DLLs and bundled overlay compiler. Supply your own supported ROM and GBA BIOS; neither is included. Preserve native in-game saves when updating. See the included README for controls, widescreen setup and its existing save-state presentation caveat.

The overlay package includes the pinned public core-header dependency and passes a bundled TCC include/compile check.

Title source: ab644df
Engine: 91b3428deeed1df11ae8a17d0b01726093a7b9ed

v0.0.9 - Native runtime optimizations

Choose a tag to compare

@mstan mstan released this 27 Oct 20:39

Updated to the native optimization engine, pinned at cf1680122fda0cc49c4e8774d9b065b5c8b768e6. Native RAM access, text rendering and presentation conversion reduce host overhead while the audited GBA BIOS continues to execute as generated LLE code. Generated guest code uses O2; Windows runtime code uses O3.

The matched wide-view workload on the older qualification host used 5.1% less process CPU time. Native-view measurements were neutral/inconclusive. This is a whole-package CPU result, not an FPS claim. Adaptive Widescreen remains available.

Native in-game saves are preserved. Save states are specific to each build. Supply your own supported ROM and GBA BIOS; neither is included.

BUILDINFO.json records source pins, the Windows optimization profile and artifact identities; SHA256SUMS.txt verifies every artifact.

v0.0.8 - Native runtime optimizations

Choose a tag to compare

@mstan mstan released this 27 Oct 18:50

Updated to the native optimization engine, pinned at 455fe8eb49abd39e3d168105bb6c7290581c0306. Native RAM access, text rendering and presentation conversion reduce host overhead while the audited GBA BIOS continues to execute as generated LLE code. Generated guest code uses O2; Windows runtime code uses O3.

The matched wide-view workload on the older qualification host used 5.1% less process CPU time. Native-view measurements were neutral/inconclusive. This is a whole-package CPU result, not an FPS claim. Adaptive Widescreen remains available.

Native in-game saves are preserved. Save states are specific to each build. Supply your own supported ROM and GBA BIOS; neither is included.

BUILDINFO.json records source pins, the Windows optimization profile and artifact identities; SHA256SUMS.txt verifies every artifact.

v0.0.7

Choose a tag to compare

@mstan mstan released this 18 Oct 20:26
0c7e953

Updates the native engine and launcher, including callback discovery and guarded RAM/cartridge execution fixes. Each Windows package passed a clean-extraction, fresh-save 6,000-frame strict-static boot with zero dispatch misses, interpreted instructions, or healed functions. This covers the tested boot route; it does not certify every gameplay route.

Supply your own supported game ROM and GBA BIOS. ROMs, BIOS dumps, saves, and remembered settings are not included.

Source: 0c7e953
PR: #3

v0.0.6 — fix the widescreen message-box tear

Choose a tag to compare

@mstan mstan released this 29 Aug 21:34

Fixes the widescreen message-box tear.

Fixed

Dialogue text no longer tears into the extended margin. With adaptive
widescreen enabled, the first characters of a message box were duplicated in the
far-left margin — "You got a Cyber-elf!!" rendered as a detached Yo at the
screen edge plus u got a Cyber-elf!! in the box itself.

Zero's HP/emblem cluster is republished into the left margin so the HUD stays at
the extended content edge, and the boss gauge likewise on the right. Both rules
were applied to every scanline, though the HUD they republish occupies only its
own rows. Mega Man Zero draws the message box on the same background layer in
the same columns, confined by a hardware window, so on message rows those rules
republished the box's border and leading glyphs into the margin instead.

Both anchors now skip the scanlines the game itself marks as the message window,
so those margin rows show the room behind the box. The anchored HUD is unchanged
on its own rows, and faithful 240x160 presentation is untouched.

The same defect applied symmetrically to the boss gauge on the right, and is
fixed with it.

Unchanged from v0.0.5

  • Mods page with Adaptive Widescreen (Display, disabled by default) —
    expand supported stage scenes from 240x160 up to 480x160, following the live
    window or fullscreen aspect ratio.
  • BIOS intro skipped by default. Boot handoff only: SWIs are still serviced
    by the recompiled real BIOS (LLE), which remains the correctness oracle. A GBA
    BIOS dump is still required. Restore the boot animation with
    [bios] skip_intro = false or --no-bios-skip-intro.
  • Portable release archive (extracts correctly on Linux, Steam Deck and Proton).

Known issues

  • Loading a save state can leave the extended view pillarboxed (black margins)
    for the rest of the session. Reaching the same point by playing renders
    correctly. Under investigation.
  • The 288px fixed extended view can hit a strict-static dispatch miss at
    0x08002424. Pre-existing since 0.0.3.

Requirements

Bring your own legally obtained Mega Man Zero (USA) ROM
(sha1 193b14120119162518a73c70876f0b8bffdbd96e) and GBA BIOS dump. No ROM,
BIOS, or save data is included.

v0.0.5 — portable release archive (Linux/Proton fix)

Choose a tag to compare

@mstan mstan released this 29 Aug 17:59

Packaging fix for v0.0.4 — the game itself is
unchanged.

Update: every earlier Mega Man Zero archive (v0.0.1-v0.0.4) has since been
repacked in place with the same fix, so any of them now extracts correctly.
The archive payloads were rewritten container-only; the executables inside are
untouched.

Fixed

  • The archive now extracts correctly on non-Windows systems. v0.0.4 was
    written with Windows backslash ZIP entry names, which POSIX extractors treat
    as literal filename characters instead of directory separators. Unpacking it
    under Linux/Proton produced files literally named
    assets\fonts\LatoLatin-Regular.ttf and mods\packages\... rather than the
    nested trees, so the launcher found neither its fonts nor its mod catalog.
    The archive is now written with portable / separators and re-read at
    package time to reject any non-portable entry.

Windows users were unaffected by this, and the executable is byte-for-byte the
same build as v0.0.4.

Everything from v0.0.4

  • Mods page with Adaptive Widescreen (Display, disabled by default) —
    expand supported stage scenes from 240x160 up to 480x160, following the live
    window or fullscreen aspect ratio.
  • BIOS intro skipped by default. Boot handoff only: SWIs are still serviced
    by the recompiled real BIOS (LLE), which remains the correctness oracle. This
    is not an HLE BIOS and a GBA BIOS dump is still required. Restore the boot
    animation with [bios] skip_intro = false or --no-bios-skip-intro.
  • Engine gbarecomp → a1de406 (shared arm-recomp-core, [bios].skip_intro)
    and launcher recomp-ui → 2b7e9c6 (Rewind toggle, small-display fitting).
  • Strict-static gate passes with the intro skip enabled on all three
    deterministic routes — menu@10000, campaign-combat@40000 and
    campaign-clear@60000 — each FULLY_STATIC, 0 dispatch misses, 0 interpreted
    instructions.

Known issues

  • With the extended view active, a dialogue textbox can render its leading
    glyphs detached in the left margin (the 256px text layer's wrap becoming
    visible past the authentic 240px field).
  • The 288px fixed extended view can hit a strict-static dispatch miss at
    0x08002424. Pre-existing; also reproduces on 0.0.3.

Requirements

Bring your own legally obtained Mega Man Zero (USA) ROM
(sha1 193b14120119162518a73c70876f0b8bffdbd96e) and GBA BIOS dump. No ROM,
BIOS, or save data is included.

v0.0.4 — Mods page, BIOS intro skip, engine + launcher bump (superseded by v0.0.5)

Choose a tag to compare

@mstan mstan released this 29 Aug 17:24

Picks up the latest shared engine and launcher, adds a Mods page, and boots
straight into the game.

Mods

The launcher now has a Mods page listing game-owned enhancements. Mega Man
Zero ships one, disabled by default:

  • Adaptive Widescreen (Display) — expand supported stage scenes from
    240x160 up to 480x160, following the live window or fullscreen aspect ratio.

This replaces the old generic Display "Adaptive view" toggle, so there is one
authoritative control. The fixed-width aspect vocabulary (240 / 288 / 384 / 480)
is a separate axis and stays on the Display page. User-installed .gbamod
archives join the same catalog.

BIOS intro is skipped by default

Launching now goes straight into the game instead of playing the BIOS boot logo
and chime.

This is the boot handoff only. SWIs are still serviced by the recompiled
real BIOS (LLE), which remains the correctness oracle — this is not an HLE BIOS,
and a GBA BIOS dump is still required. To restore the authentic boot animation:

[bios]
skip_intro = false

or launch with --no-bios-skip-intro.

Engine and launcher

  • gbarecomp d3500bc → c85774a — moves to the shared arm-recomp-core ARM
    decoder/codegen, plus the new [bios].skip_intro option.
  • recomp-ui 26a9676 → 2b7e9c6 — launcher updates including a Rewind toggle and
    small-display window fitting.

Accuracy

Skipping the intro hands off at a different point in the frame, which shifts IRQ
arrival relative to guest code, so the hardware returns into interior
instructions the real-intro boot never interrupted. 24 such addresses were
observed across the deterministic menu, campaign-combat and campaign-clear
routes and seeded as resume aliases (every one resolves inside an existing
generated function — none was a new function entry).

The strict-static gate passes on all three routes with the intro skip enabled:

route result
menu @ 10000 PASS — FULLY_STATIC, 0 misses, 0 interpreted
campaign-combat @ 40000 PASS — FULLY_STATIC, 0 misses, 0 interpreted
campaign-clear @ 60000 PASS — FULLY_STATIC, 0 misses, 0 interpreted

Known issues

  • With the extended view active, a dialogue textbox can render its leading
    glyphs detached in the left margin (the 256px text layer's wrap becoming
    visible past the authentic 240px field).
  • The 288px fixed extended view can hit a strict-static dispatch miss at
    0x08002424. This is pre-existing and also reproduces on 0.0.3.

Requirements

Bring your own legally obtained Mega Man Zero (USA) ROM
(sha1 193b14120119162518a73c70876f0b8bffdbd96e) and GBA BIOS dump. No ROM,
BIOS, or save data is included.

v0.0.3 — Mega Man Zero (pre-boot launcher)

Choose a tag to compare

@mstan mstan released this 17 Jul 08:00

Adds the shared recomp-ui Dear ImGui pre-boot launcher: pick your ROM/BIOS, tune display/audio/controls, rebind keys, then play. Real box art + Game Boy Advance controller art, GBA identity (SHA-1) verification, and settings that persist next to the exe.

Includes an experimental widescreen aspect cycle (3:2 native / 9:5 / 12:5 / 6:2) for the extended-view enhancement, selectable in the launcher's Display settings. Skip the launcher with --no-launcher or the in-launcher toggle.

Built against gbarecomp + recomp-ui as pinned git submodules.

v0.0.2 - Mega Man Zero widescreen

Choose a tag to compare

@mstan mstan released this 15 Jul 01:07

Mega Man Zero v0.0.2 adds opt-in widescreen support while preserving the faithful 240x160 default.

Highlights:

  • Configurable 240-480 pixel view width; 288x160 is recommended.
  • Resizable window with the configured aspect ratio preserved.
  • Extended HUD anchoring, enemy activation/spawn range, and camera-edge rendering.
  • Black transient side pillars removed during normal room traversal.
  • Widescreen remains game-authorized and opt-in; non-participating games stay at 240x160.

To enable the recommended view, create game.toml beside the executable:

[video]
view_width = 288

Known limitation: loading a save state while widescreen is active can temporarily desynchronize extended presentation. A normal room reload, including dying and choosing Retry, rebuilds it. SRAM saves and 240x160 mode are unaffected.

Archive SHA-256: DD3438630606E2A40D1974209CFC2D68EEB059E716D5673F5C70927C592991F3