Case study

Twilight Princess: a decompilation with fully matching GameCube code

Reconstructs Twilight Princess source that compiles back to binaries identical to the originals, building GameCube, Wii and Nvidia Shield releases from one codebase through conditional compilation. README reports the GameCube code as completely matching but not every translation unit linked yet, with Debug and Wii alignment ongoing; the repository ships no assets or assembly and will not produce a port.

Requirements and limitations

  • README describes a work-in-progress decompilation with ten listed targets: three GameCube releases (GZ2E01, GZ2P01, GZ2J01), five Wii builds including a kiosk demo, and two Nvidia Shield China builds. Output is the original platform’s executable and REL modules; README states the project will not produce a PC or other port, and Dusklight is a separate project built on this code.
  • Building needs the user’s own disc image of the chosen version in a supported format (ISO/GCM, RVZ, WIA, WBFS, CISO, NFS, GCZ or TGC), which can be deleted after the first build. The repository contains no game assets or assembly; decomp-toolkit splits the original locally.
  • Builds run natively on Windows with Python and ninja, or on Linux/macOS with ninja and the automatically downloaded wibo wrapper. configure.py pins decomp-toolkit v1.8.0, objdiff v3.6.1, binutils 2.42-1 and a 20251118 compiler bundle, selecting Metrowerks compiler versions per target and library; objdiff provides per-object diffing.
  • The default build links source-built objects for units marked complete and original extracted objects for the rest, then checks the output against each version’s build.sha1 (758 entries for GZ2E01). decomp.dev’s reports for the pinned commit list 100% of code matched for all three GameCube versions, with 2,583 of 2,608 units complete, against 54.47% for ShieldD and 47.06% for Wii RZDE01_00. CI runs in a private container holding game files; this collection ran no build.
  • LICENSE.md is CC0-1.0; it does not cover Nintendo’s game, disc content or the downloaded compilers. The reviewed sources establish no REA or coding-agent involvement.

About this entry

Type
Case study
Category
Independent reconstruction cases
Relationship
Independent reconstruction project
Targets
Game

Sources reviewed

The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.

Primary sources

  1. README.md GitHub · zeldaret/tp · Revision c8fa8c9
  2. configure.py GitHub · zeldaret/tp · Revision c8fa8c9
  3. tools/project.py GitHub · zeldaret/tp · Revision c8fa8c9
  4. config/GZ2E01/build.sha1 GitHub · zeldaret/tp · Revision c8fa8c9
  5. LICENSE.md GitHub · zeldaret/tp · Revision c8fa8c9
  6. .github/workflows/build.yml GitHub · zeldaret/tp · Revision c8fa8c9
  7. https://github.com/zeldaret/tp/actions/runs/28052837187
  8. https://decomp.dev/zeldaret/tp