# Mario Kart Wii: an in-progress matching decompilation of the PAL release

> A work-in-progress matching decompilation of Mario Kart Wii that targets the PAL release (RMCP01), rebuilding main.dol and the StaticR.rel module from C and C++ with Metrowerks compilers and checking both against stored SHA-1 values. The build splits these binaries from a user-supplied disc image, and objdiff compares objects during development. The README’s progress badges point to a decomp.dev page that did not resolve at review, and the default branch was last updated in September 2025.

- Type: Case study
- Targets: Game
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-10-19
- Added to the catalog: 2026-10-28
- Original resource: <https://github.com/snailspeed3/mkw>
- Primary source: <https://github.com/snailspeed3/mkw/blob/78572c95c41dbf6cbb7dd251a567e538560ce1d8/README.md>
- Catalog page: <https://awesomerea.org/resources/mario-kart-wii-decomp-case/>
- Record JSON: <https://awesomerea.org/resources/mario-kart-wii-decomp-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/mario-kart-wii-decomp-case/index.md)

## Requirements & limits

- README lists one supported version, RMCP01 (PAL); configure.py defines no other and CI builds only RMCP01. The repository was renamed from riidefi/mkw, which README’s badges and clone command still use, and CONTRIBUTING.md and HACK.md still describe an earlier mkwutil and ppcdis build layout that the pinned tree no longer contains. The output is a Wii main.dol and StaticR.rel, not a PC port.
- Copy your own RMCP01 disc image to orig/RMCP01; ISO (GCM), RVZ, WIA, WBFS, CISO, NFS, GCZ and TGC images are accepted, and config.yml records the expected SHA-1 of both binaries. README says the repository contains no game assets or assembly; decomp-toolkit splits main.dol and StaticR.rel locally using the committed, game-derived symbol and split tables.
- Builds need Python and ninja on Windows (native tooling recommended), macOS (with wine-crossover) or Linux (an automatically downloaded wibo on x86, Wine elsewhere). configure.py pins decomp-toolkit v1.3.0, objdiff v2.4.0, binutils 2.42-1, sjiswrap v1.2.0, wibo 0.6.16 and the 20240706 compiler bundle, using Metrowerks Wii/0x4201_127 for the game, NW4R, EGG, RFL and MSL code and as the linker, and GC/3.0a5.2 for the Revolution SDK, TRK, DWC and GameSpy libraries.
- Objects marked Matching (106 of the 213 listed in configure.py; 105 NonMatching, 2 Equivalent) are compiled from source and the rest of each binary comes from the split originals; the default ninja target checks main.dol and StaticR.rel against config/RMCP01/build.sha1 before reporting progress. CI builds RMCP01 in a private container holding the original files and uploads a progress report. decomp.dev had no report for the repository under either name at review.
- The repository carries CC0-1.0; lib/gamespy keeps the GameSpy SDK’s own BSD-style license from IGN Entertainment, and Nintendo’s game, disc contents and the downloaded compilers keep their own rights.

## Primary sources

1. <https://github.com/snailspeed3/mkw/blob/78572c95c41dbf6cbb7dd251a567e538560ce1d8/README.md>
2. <https://github.com/snailspeed3/mkw/blob/78572c95c41dbf6cbb7dd251a567e538560ce1d8/configure.py>
3. <https://github.com/snailspeed3/mkw/blob/78572c95c41dbf6cbb7dd251a567e538560ce1d8/config/RMCP01/config.yml>
4. <https://github.com/snailspeed3/mkw/blob/78572c95c41dbf6cbb7dd251a567e538560ce1d8/config/RMCP01/build.sha1>
5. <https://github.com/snailspeed3/mkw/blob/78572c95c41dbf6cbb7dd251a567e538560ce1d8/tools/project.py>
6. <https://github.com/snailspeed3/mkw/blob/78572c95c41dbf6cbb7dd251a567e538560ce1d8/CONTRIBUTING.md>
7. <https://github.com/snailspeed3/mkw/blob/78572c95c41dbf6cbb7dd251a567e538560ce1d8/HACK.md>
8. <https://github.com/snailspeed3/mkw/blob/78572c95c41dbf6cbb7dd251a567e538560ce1d8/.github/workflows/build.yml>
9. <https://github.com/snailspeed3/mkw/blob/78572c95c41dbf6cbb7dd251a567e538560ce1d8/LICENSE>
10. <https://github.com/snailspeed3/mkw/blob/78572c95c41dbf6cbb7dd251a567e538560ce1d8/lib/gamespy/license.txt>

## More in Games

- [Mario Kart: Double Dash!!: a matching GameCube decompilation of the debug build](https://awesomerea.org/resources/mario-kart-double-dash-decomp-case/index.md) · Case study
- [Mario Party 4: matching GameCube decompilation of the USA releases](https://awesomerea.org/resources/mario-party-4-decomp-case/index.md) · Case study
- [MediEvil decompilation: an early checksum-gated PlayStation project](https://awesomerea.org/resources/medievil-decomp-case/index.md) · Case study
- [Metroid Prime: the PrimeDecomp matching GameCube decompilation](https://awesomerea.org/resources/primedecomp-metroid-prime-decomp-case/index.md) · Case study
- [MinecraftLCE: an early-stage Minecraft: Nintendo Switch Edition decompilation](https://awesomerea.org/resources/minecraft-lce-switch-decomp-case/index.md) · Case study
- [Ocarina of Time: decompilation with MD5-checked ROM builds for 16 versions](https://awesomerea.org/resources/ocarina-of-time-decomp-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
