# Pikmin 2: a fully matched GameCube decompilation across five releases

> A fan decompilation of Pikmin 2 that rebuilds main.dol for five GameCube releases (USA retail, two USA demos, PAL and Japan) with the original Metrowerks compilers, checking each against a stored SHA-1. The build reads main.dol from the user’s own copy of each release. decomp.dev reported all code matched and fully linked for every version at the reviewed commit, and a non-matching mode builds the US DOL entirely from C++ for modding.

- 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/projectPiki/pikmin2>
- Primary source: <https://github.com/projectPiki/pikmin2/blob/ffbd853726427f2e90cd201aaca90dc82b34f990/README.MD>
- Catalog page: <https://awesomerea.org/resources/pikmin-2-matching-decomp-case/>
- Record JSON: <https://awesomerea.org/resources/pikmin-2-matching-decomp-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/pikmin-2-matching-decomp-case/index.md)

## Requirements & limits

- README still calls this a work-in-progress decompilation and lists five supported versions: GPVE01 (USA retail, the default), GPVE01_D17 and GPVE01_D18 (USA demos 17 and 18), GPVP01 (PAL) and GPVJ01 (Japan). Each has its own configuration and SHA-1 file, and CI builds all five. Outputs are GameCube DOLs, not a PC executable or port.
- Each version needs main.dol from the user’s own copy of that release at orig/<version>/sys/main.dol, and decomp-toolkit checks it against the hash in that version’s config.yml before splitting. The repository commits game-derived symbol and split tables for every version; config comments say the GPVE01 symbols were generated from a pikmin2UP.MAP linker map and the Japanese and PAL tables were recovered from those DOLs using the US symbols. No disc images or extracted game files are included.
- 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.7.5, objdiff v3.4.1, binutils 2.42-1, sjiswrap v1.2.2, wibo 1.0.0-beta.5 and the 20250812 compiler bundle, using Metrowerks GC/2.6 for game, JSystem and runtime code and GC/1.2.5n for the Dolphin SDK libraries.
- configure.py marks 1,154 objects Matching for every supported version and one more for Japan only; none is NonMatching. The default ninja target checks the linked DOL against config/<version>/build.sha1 before reporting progress, and CI builds all five versions in a container that supplies the original files and compilers. decomp.dev’s reports for the pinned commit list 100.00% of code matched and fully linked for each version (24,957 functions and 1,153 units for GPVE01).
- With --non-matching, README says the final hash check is disabled and the US DOL builds completely from C++ source that is, to the team’s knowledge, functionally equivalent, so every file can be edited for modding. The repository carries CC0-1.0 in LICENSE.MD; Nintendo’s game, its files and the downloaded compilers fall outside that dedication.

## Primary sources

1. <https://github.com/projectPiki/pikmin2/blob/ffbd853726427f2e90cd201aaca90dc82b34f990/README.MD>
2. <https://github.com/projectPiki/pikmin2/blob/ffbd853726427f2e90cd201aaca90dc82b34f990/configure.py>
3. <https://github.com/projectPiki/pikmin2/blob/ffbd853726427f2e90cd201aaca90dc82b34f990/config/GPVE01/config.yml>
4. <https://github.com/projectPiki/pikmin2/blob/ffbd853726427f2e90cd201aaca90dc82b34f990/config/GPVE01/build.sha1>
5. <https://github.com/projectPiki/pikmin2/blob/ffbd853726427f2e90cd201aaca90dc82b34f990/config/GPVJ01/config.yml>
6. <https://github.com/projectPiki/pikmin2/blob/ffbd853726427f2e90cd201aaca90dc82b34f990/tools/project.py>
7. <https://github.com/projectPiki/pikmin2/blob/ffbd853726427f2e90cd201aaca90dc82b34f990/.github/workflows/build.yml>
8. <https://github.com/projectPiki/pikmin2/blob/ffbd853726427f2e90cd201aaca90dc82b34f990/LICENSE.MD>
9. <https://decomp.dev/projectPiki/pikmin2>

## More in Games

- [pokecrystal: a matching Pokémon Crystal disassembly](https://awesomerea.org/resources/pokecrystal-disassembly-case/index.md) · Case study
- [pokered: a matching Pokémon Red and Blue disassembly](https://awesomerea.org/resources/pokered-disassembly-case/index.md) · Case study
- [pokeruby: a matching Pokémon Ruby and Sapphire decompilation](https://awesomerea.org/resources/pokeruby-decomp-case/index.md) · Case study
- [Pokémon Emerald: a matching Game Boy Advance decompilation](https://awesomerea.org/resources/pokemon-emerald-decomp-case/index.md) · Case study
- [Pokémon FireRed and LeafGreen: a matching Game Boy Advance decompilation](https://awesomerea.org/resources/pokemon-firered-leafgreen-decomp-case/index.md) · Case study
- [Pokémon HeartGold and SoulSilver: a work-in-progress, checksum-matched DS disassembly](https://awesomerea.org/resources/pokemon-heartgold-soulsilver-disassembly-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.
