Skip to content

Super Metroid v0.3.11 - progression and save fixes

Latest

Choose a tag to compare

@github-actions github-actions released this 16 Oct 03:15
fe56436

Fixes four progression and recovery defects in the recompiled game:

  • Item messages could corrupt inventory and permanently stop the guest. Morph
    Ball could set collected items to 0x00FF instead of 0x0004. Item processing
    and the message NMI wait now remain on the ROM scheduler across yields.
  • Crab Maze could hang when a compiled enemy slope helper led execution into
    sprite data. The affected helper now uses the portable ROM interpreter.
  • An HDMA wrapper mishandled inline call arguments during Ceres effects. The
    wrapper and its inline-argument consumer now execute their original ROM
    instructions and return, including the consumer's LoROM-mirror entry.
  • Host savestates loaded in a fresh process could run reset over restored RAM.
    New default-LLE snapshots preserve the active CPU, scheduler continuation and
    SPC state. Legacy snapshots and suspended HLE fibers retain prior limitations;
    host snapshots require matching runtime builds. Ordinary guest SRAM is separate.

Includes the overlapping desktop-header include fix from PR #18 and a reusable
memory-assisted QA harness. The prior campaign entered all 261 accessible rooms,
revisited 255 Zebes rooms with diagnostic post-boss flags, acquired all 21 pickup
types, and completed Kraid, Phantoon and Ridley death sequences using explicit
health/phase assistance. Real save-station SRAM and host snapshots were loaded
in fresh processes, including a snapshot taken during an open pickup message.
Room jumps bypass traversal requirements; this is not an unassisted completion.
Mother Brain, the final escape and credits remain unvalidated.

Retains the v0.3.10 framework and launcher pins, including its attract-demo fix.
The release integration is regenerated and tested against those exact pins;
see framework_pins.txt for the dependency revisions.

Release integration passed all 8 tests and default-setting runtime checks for cold boot, landing, Morph Ball and Bombs, Crab Maze, the Upper Tourian save room, real save-station SRAM and fresh-process host snapshot recovery, including an open item message.

Super Metroid v0.3.11 — setup packs

These packs do not contain the game. Each holds a setup program, the
recompiler and the source; on first run it takes your own copy of
Super Metroid (Japan, USA) (En,Ja).sfc (SHA-256 12b77c4bc9c1832cee8881244659065ee1d84c70c3d29e6eaf92e6798cc2ca72), recompiles it locally, and builds
the playable game. No ROM data is included or downloaded.

The portable build tools (cmake-clang-v1) are embedded in every pack.

Framework revisions

Framework revisions in this build:
  snesrecomp=2562bcf48036f4819b503908a8066a2fb8266b6c  (2562bcf48036)
  recomp-ui=cac2b8f4aaa5d1061c6b8f2c3ed7e73c46b0400e  (cac2b8f4aaa5)
  recomp-net=21414dc15d3282839b3c8a6f1454a110355e9959  (21414dc15d32)
  retcomm-rbengine=2a03e73693acee0fb78076ea058642c931bef12e  (2a03e73693ac)