DKC2Recomp v0.0.4 (Alpha) - macOS
Pre-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.