Case study
Animal Crossing: Wild World: matching Korean DS decompilation with differential runtime checks
Reconstructs the ARM9 game code of Animal Crossing: Wild World’s Korean DS release as one C or C++ source per function, checked against the user’s ROM with the original Metrowerks compiler and linker. Each function also has a readable Clean rewrite, and an included DS interpreter compares the ROM code, natively compiled sources and rewrites on recorded play. Data sections, the ARM7 binary, the linked SDK libraries and regrouping into original source files remain outside the reconstruction.
- Targets
- Game
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Sources reviewed
Requirements & limits
- Prerequisites: Requires the user’s own Korean ROM matching SHA-1 1fffd601d3439e37cd934e72d08e487a93fc449b and the Metrowerks CodeWarrior for DS compiler (mwccarm); neither is distributed. NitroSDK, NitroSystem, NitroDWC with the GameSpy SDK, NitroWiFi and the Metrowerks runtime (4,083 functions) are excluded, and the tools count them as not decompiled when absent.
- Prerequisites: Python 3.11+ drives extraction, verification and linking, and ds-decomp’s dsd v0.12.1 performs the whole-program link and module comparison. Linux and macOS run the Windows compiler through wibo. The PC runtime builds as a 32-bit program with clang on Windows or gcc on Linux.
- Scope: Covers only the Korean release (ADMK) ARM9 code. The verification page, dated 2026-10-18, reports all 25,247 game functions passing byte and relocation checks, 24,767 linked with mwldarm into modules that match the ROM, and 17 marked FAKEMATCH. Data sections mostly still come from the ROM through ds-decomp objects; the ARM7 binary, .bss pointers and source-file regrouping are not covered, and most names are placeholders.
- Testing evidence: CI runs in a private container that holds the ROM and compiler. runtime.md reports Reference, Native and Clean runs agreeing on a 1,300-frame title recording, a 13,760-frame new-game recording and eight scenes from a save that is not in the repository, while three scenes still differ. The GitHub Actions build for the reviewed commit passed verification, linking and the Native checks but failed its Clean-function differential check.
- License: The repository is dedicated under CC0 1.0 and states that it is not affiliated with Nintendo. The ROM, compiler, SDK libraries and test save keep their own rights.
About this entry
The description was reviewed against primary sources.
Primary sources
- README.md GitHub · banatic/acww-decomp · Revision c7e3256
- docs/verification.md GitHub · banatic/acww-decomp · Revision c7e3256
- docs/runtime.md GitHub · banatic/acww-decomp · Revision c7e3256
- INSTALL.md GitHub · banatic/acww-decomp · Revision c7e3256
- libs/README.md GitHub · banatic/acww-decomp · Revision c7e3256
- docs/ci.md GitHub · banatic/acww-decomp · Revision c7e3256
- .github/workflows/build.yml GitHub · banatic/acww-decomp · Revision c7e3256
- LICENSE GitHub · banatic/acww-decomp · Revision c7e3256
- https://github.com/banatic/acww-decomp/actions/runs/39115041988
More in Games
- Animal Forest: an in-progress matching N64 decompilation · Case study
- BFM-decomp: Brave Fencer Musashi matching decompilation · Case study
- Breath of the Wild: per-function matching decompilation of the Switch executable · Case study
- Castlevania: Symphony of the Night: matching decompilation across PlayStation, PSP and Saturn builds · Case study
- DX-Ball: an REA-guided function-level reconstruction with Codex · Case study
- DX-Ball: reconstruct sound panning · Case study