Tool
decomp-toolkit
GameCube/Wii matching-decompilation toolkit that analyzes DOL and REL executables and, from a project configuration, splits them into relocatable objects plus an ldscript.lcf for CodeWarrior's linker, so decompiled objects can replace original ones while the relinked binary is checked against the original. Analysis covers function boundaries, a Metrowerks/SDK signature database, relocations, sections and data objects, and objects are written without an assembler. Its CLI also handles disc images, archives, compression formats, CodeWarrior demangling and DWARF dumps.
Requirements and limitations
- Distributed as a single portable binary: release v1.8.4, published 2026-09-09, provides Linux x86_64/i686/aarch64, macOS arm64/x86_64 and Windows x86_64/x86/arm64 builds. The reviewed main commit is one commit ahead of that tag, restoring a metroidbuildinfo command. Building from source needs Rust 1.85+.
- dol split is intended to run inside a decompilation project's build system; the README points new projects to dtk-template for project structure and configuration documentation. Matching builds often need the original game's compiler, Metrowerks CodeWarrior on GameCube/Wii, and the generated linker script targets mwldeppc.exe. DOL/REL files and disc images must come from the user's own game copies.
- Dual-licensed MIT OR Apache-2.0. It analyzes, splits and relinks binaries; it does not decompile to C, and dol diff only reports the most obvious difference in a linked ELF, so per-function matching is checked with tools such as objdiff. No game files were analyzed.
About this entry
- Type
- Tool
- Category
- Game analysis tools
- Relationship
- Foundation tool
- Targets
- Binary · 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 · encounter/decomp-toolkit · Revision 0645e16
- README.md#L97-L130 GitHub · encounter/decomp-toolkit · Revision 0645e16
- README.md#L249-L271 GitHub · encounter/decomp-toolkit · Revision 0645e16
- Cargo.toml GitHub · encounter/decomp-toolkit · Revision 0645e16
- LICENSE-MIT GitHub · encounter/decomp-toolkit · Revision 0645e16
- LICENSE-APACHE GitHub · encounter/decomp-toolkit · Revision 0645e16
- https://github.com/encounter/decomp-toolkit/releases/tag/v1.8.4
- README.md#L32-L34 GitHub · ethteck/splat · Revision 7548b97