Case study
wii-ipl: a decompilation of the Wii Menu (System Menu 4.3)
A work-in-progress decompilation of the Wii Menu, the console’s System Menu (IPL), targeting version 4.3 in its USA, European, Japanese and Korean builds. It recovers the menu’s own code together with the Revolution SDK, NintendoWare (NW4R), EGG and middleware libraries linked into it, matched unit by unit against the original executable with decomp-toolkit and objdiff. The repository holds no assets or assembly; a build needs the user’s own Wii Menu WAD and yields only main.dol.
Requirements & limits
- The reviewed main commit has no releases or tags. decomp.dev’s report for that commit puts 4.3U at 58.5% matched code, 8,837 of 12,563 functions (70.3%) and 45.2% fully linked code, with the menu’s own code at 53.6% matched; library READMEs mark each RVL_SDK, NW4R, EGG, RevoEX and middleware component as matching, equivalent or not yet matching. The build yields main.dol, not a WAD, and the README warns that the code is not fully shiftable because no SEL file is generated.
- Users supply their own Wii Menu 4.3 WAD for the selected version (4.3U by default, or 4.3E, 4.3J or 4.3K); the README states that the repository contains no assets or assembly of the executable. Each version’s configuration pins the SHA-1 of the target main.dol.
- Builds need Python and Ninja on Windows, macOS or Linux. configure.py pins decomp-toolkit v1.7.5, objdiff v3.4.5, binutils 2.42-1 and the 20251118 compiler bundle for Metrowerks CodeWarrior (GC/3.0a5.2 as the linker version), and wibo runs the 32-bit Windows tools on macOS and Linux. CONTRIBUTING lists Ghidra with a shared project, IDA/Hex-Rays, m2c and decomp.me as decompiling aids and objdiff for diffing.
- CI builds all four versions in a private container that supplies the original files, then uploads map files and progress reports; the percentages above come from those reports and do not establish a complete or shiftable rebuild. This review built or ran nothing.
- LICENSE is CC0 1.0. The BTE Bluetooth library notes code taken from Android’s bluedroid under Apache-2.0, and the GameSpy SDK subset is BSD-3-Clause. The decompiled third-party middleware (JustSystems ATOK, Zi eZiText, TMC JPEG, eSOL PrFILE2) and the Opera WWW headers carry no separate grants, and the Wii Menu keeps Nintendo’s rights. CONTRIBUTING forbids using AI to decompile code and asks contributors to avoid AI-only matching forks; the reviewed sources establish no REA use.
About this entry
- Type
- Case study
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Targets
- Firmware · Game
Sources reviewed
The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.
Primary sources
- README.md GitHub · koopthekoopa/wii-ipl · Revision f4c09f4
- CONTRIBUTING.md GitHub · koopthekoopa/wii-ipl · Revision f4c09f4
- configure.py GitHub · koopthekoopa/wii-ipl · Revision f4c09f4
- config/43U/config.yml GitHub · koopthekoopa/wii-ipl · Revision f4c09f4
- config/43U/build.sha1 GitHub · koopthekoopa/wii-ipl · Revision f4c09f4
- .github/workflows/build.yml GitHub · koopthekoopa/wii-ipl · Revision f4c09f4
- libs/RVL_SDK/README.md GitHub · koopthekoopa/wii-ipl · Revision f4c09f4
- libs/NW4R/README.md GitHub · koopthekoopa/wii-ipl · Revision f4c09f4
- libs/RVLMiddleware/README.md GitHub · koopthekoopa/wii-ipl · Revision f4c09f4
- libs/RVL_SDK/src/bte/NOTICE GitHub · koopthekoopa/wii-ipl · Revision f4c09f4
- src/scene/nakamuraTest/gamespy/README.md GitHub · koopthekoopa/wii-ipl · Revision f4c09f4
- LICENSE GitHub · koopthekoopa/wii-ipl · Revision f4c09f4
- https://decomp.dev/koopthekoopa/wii-ipl/43U
More in Games
- sead: a decompilation of Nintendo’s first-party C++ standard library · Case study
- Animal Forest: an in-progress matching N64 decompilation · Case study
- Phantom Hourglass: an early-stage matching Nintendo DS decompilation · Case study
- Kinoko: reimplementing Mario Kart Wii’s physics engine for exact ghost replay · Case study
- Mario Kart: Double Dash!!: a matching GameCube decompilation of the debug build · Case study
- 3S Decomp: a byte-compared PS2 decompilation of Street Fighter III: 3rd Strike · Case study