Skip to content

v1.2 — HUD fix (timer + shot counter render)

Choose a tag to compare

@mstan mstan released this 05 May 03:46
· 21 commits to master since this release

Status

Gumshoe is now fully playable end-to-end with HUD rendering correctly.

What changed since v1.1

Pins nesrecomp at 47b4ab7 which closes the static-JSR side of the GxROM bank-pairing fix:

  • GxROM static JSR to \$C000+ now resolves to the source's paired upper bank (bank | 1) rather than the recompiler's fixed_bank. Previously every JSR from a low-half bank to \$C000+ linked to bank 7's body, so Gumshoe's per-frame HUD render call (bank00:\$82B5: JSR \$D158) executed bank 7's button-state EOR diff loop instead of bank 1's HUD render.

This mirrors the call_by_address pairing fix in nesrecomp 49f9fe3 — that one fixed dynamic dispatch, this one fixes static JSR.

What this restores

  • Top-center timer "M:SS" countdown (sprite slots 56-59 at Y=\$10)
  • Top-right shot counter "=NNN" (sprite slots 60-63 at Y=\$18)
  • Top-left portrait icon

Validation

  • Visual: HUD elements render and update during gameplay.
  • Smoke matrix: regenerated Faxanadu (mapper 4), Zelda/Metroid/Yoshi (mapper 1), Duck Hunt (mapper 0) against the new nesrecomp tip — generated *_full.c SHA-256 byte-identical pre/post-fix (none are mapper 66, so the fix's else branch preserves original behavior).
  • dispatch_miss_info reports zero misses during gameplay.

Install

Download `GumshoeNESRecomp-windows-x64.zip`, extract, run `GumshoeRecomp.exe`, select your `Gumshoe (USA, Europe)` ROM when prompted.

ROM not included — provide your own dump of the original cartridge.


macOS (Apple Silicon) build — GumshoeNESRecomp-macos-arm64.zip

Native arm64 .app (SDL2 bundled, ad-hoc signed). ROM not included.

Status: Light-gun (Zapper) game: aim with the mouse, left-click to shoot (enabled by default).