Skip to content

DKC2Recomp v0.0.4 (Alpha) - macOS

Pre-release
Pre-release

Choose a tag to compare

@elliotttate elliotttate released this 01 Sep 23:45
· 41 commits to main since this release

⚠️ This is an alpha / pre-release

Donkey Kong Country 2 is not finished. This build is published as an early
alpha so the current state is testable. Expect missing, wrong, or unstable
behaviour outside the tested paths, and treat the widescreen path as
experimental.

You must supply your own Donkey Kong Country 2 ROM (USA v1.0, 4 MiB,
SHA-256 35421a9a…). No ROM data is included or distributed here.

This release is the native macOS build (arm64, macOS 26, ad-hoc signed, not
notarized: Control-click the app and choose Open if Gatekeeper blocks the
first launch).

What changed since v0.0.3

Level-wall presentation

  • The inward view bias at level walls froze the picture for the camera's
    first 43 pixels away from a wall, then scrolled at catch-up speed while
    every sprite, HUD included, slid across it. The new default, Glide,
    keeps the wide frame inside the level so nothing past a wall is ever shown,
    but releases the inward view one pixel per eight pixels of camera travel:
    the background scrolls at seven eighths of the camera speed for 344 pixels
    and is then centered and locked.
  • The pause menu's Settings page gains a Level edge choice, remembered in
    launcher.cfg: Glide (default), Reflect terrain past the wall (view locked
    to the game's camera, the nearest authored columns mirrored into the
    unauthored strip), Black past the wall, and Shift view inward at the wall
    (the previous behaviour). DKC2_WIDESCREEN_EDGE=reflect|bars|shift|glide
    overrides it for one run.

Structural widescreen rules instead of per-scene fixes

  • Widescreen policy is now derived from live PPU geometry each frame: bounded
    backgrounds repeat their rendered scanline, a 64-column allocation whose
    extension page is another enabled layer's map counts as bounded, a bounded
    backdrop in a 64-column allocation continues each line at the period its
    own pixels prove, rolling terrain layers are classified per HDMA scanline
    band read from the cartridge's own tables, and a second physical terrain
    layer reads the owner's world-keyed store through an alias view. This
    removes the Mudhole, Topsail, Mainbrace, Krow's Nest, Parrot Chute,
    ship-hold, split-scroll role-swap, west-reflection, and east-mask special
    cases while reproducing their accepted output.
  • A new corpus tool replays every preserved Quick Save at 4:3, 16:9, and
    16:10 and checks the native center, visible margins, old-boundary seams,
    raw VRAM fallbacks, and runtime failures; the headless widescreen trace
    reports the presentation bias, visible margins, and HDMA band count.

Validation

49 of 49 CTest checks including the hidden macOS app smoke runs, a 15-state
Quick Save corpus at 16:9 and 16:10 with every native center pixel-exact and
no failures, held-Right motion profiles from the wall states under every
policy, and deep strict signature verification of the packaged app.