Skip to content
This repository was archived by the owner on Sep 14, 2026. It is now read-only.

DKC2Recomp v0.0.2 (Alpha)

Latest

Choose a tag to compare

@mstan mstan released this 23 Aug 19:02
· 1 commit 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 paths listed below, and treat the widescreen path as
experimental. It is pinned as the latest release only because it supersedes
v0.0.1 — not because it is considered complete.

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.

What changed since v0.0.1

Dependencies moved to current upstream tips

  • snesrecomp → fe6045c: persisted shader graphics settings, opt-in
    synthetic SRAM for mods.
  • recomp-ui → ad2f3e2: IPS/IPS32/BPS patch support, shader preset picker,
    fast-forward speed slider, FMV filtering, free-text mod option rows, and an
    opt-in dashboard identity card.

The dependency move was verified behaviourally inert for DKC2: regeneration is
byte-identical against the checked-in recomp/ configuration (3,325 roots,
3,403 exact AOT variants, 74 LLE variants), and the frame-3309 framebuffer,
WRAM, VRAM, CGRAM, and OAM hashes reproduce exactly on both the old and the new
engine pin.

Fixes to the build and its gates

  • .gitmodules pointed both submodules at personal forks rather than the
    mstan upstreams, so a fresh --recurse-submodules clone resolved to
    repositories that do not carry the pinned commits. Fixed.
  • The exact-state sprite regression gate had been failing since v0.0.1 against
    a baseline that no longer reproduces on any tier. Re-pinned and cross-checked
    against the interpreter tier: framebuffer, CGRAM, and OAM now agree
    byte-for-byte at the same frame, and the former 91-frame host-pacing offset
    between tiers is gone. WRAM and VRAM still diverge between tiers at that
    checkpoint; this is recorded as a known issue rather than papered over.
  • The version-snapshot test derives the expected version from CMakeLists.txt
    instead of hardcoding it, so a version bump cannot strand the gate.
  • The per-run timestamped tier-2 coverage manifests the current engine emits
    are no longer left untracked in the working tree.

This release also carries the substantial widescreen and route-auditor work
that had accumulated as unreleased since v0.0.1 — see CHANGELOG.md in the
archive for the full list.

Verification

  • Full test suite: 57/57 with the private ROM gates enabled (v0.0.1 shipped
    at 56/57).
  • The authoritative 12,000-frame headless gate completes 2 full attract
    cycles with 0 sequence errors
    , no audio clipping, and no waveform
    discontinuities.

Known issues

  • Widescreen is experimental. Hornet Hole, Rambi Rumble, and King Zing are
    visually unverified and may expose layer-specific gaps.
  • WRAM and VRAM diverge between the AOT and interpreter tiers at the
    frame-3309 checkpoint (the interpreter uploads ~1,024 more VRAM words by
    that frame). Rendered output is unaffected, but the tiers are not in
    identical guest state there.

Install

Unzip and run DKC2Recomp.exe, then point the launcher at your own ROM.

SHA-256 of the archive:
33e36ad0a83b47de4a723fbe2d45e17a30c3bbbb15f6998173684317dc1abb89