Third-party binaries go in tools/bin/ (gitignored). Note the version you installed
in the table so results are reproducible.
| Tool | Purpose | Where it goes | Version |
|---|---|---|---|
| Cemu | Reference emulator: run the game, convert dump → .wua, debugger, compare behaviour against our port |
installed anywhere | |
ZArchive (zarchive.exe) |
Extract .wua → code/ content/ meta/ |
tools/bin/zarchive.exe |
|
| wiiurpxtool | Decompress RPX/RPL sections → plain ELF | tools/bin/wiiurpxtool.exe |
|
| Ghidra (12.0) + JDK 21 | Main disassembler/decompiler | installed anywhere (here: D:\Projects\Tools\Ghidra - 12.0, the default in scripts/ghidra-headless.ps1; override with -Ghidra) |
|
| GhidraRPXLoader (Maschell) | Loads RPX/RPL into Ghidra with imports resolved. Use the release zip built for your exact Ghidra version (v0.9.2 = Ghidra 12.0 fixes). The cemu-project fork has no releases | Ghidra extension | |
| Ghidra-GameCube-Loader (Cuyler36) | Supplies the Gekko/Broadway PowerPC language (paired singles); without it Ghidra mis-disassembles ps_*/psq_* |
Ghidra extension | |
| Python 3.11+ | Our scripts (splitting, symbol tools, asset tools) | PATH | |
| CMake 3.25+ & MSVC (VS 2026 "Desktop development with C++" workload, which bundles CMake) or clang-cl | Build the PC runtime | PATH | |
| Git | Version control (code only, never game data) | PATH |
| Tool | Purpose |
|---|---|
| A PowerPC → C static recompiler (custom, modelled on XenonRecomp / N64Recomp) | Translate Espresso (PPC750CL + paired singles) code to C++ |
| SDL3 | Window, input, audio on PC |
| Vulkan SDK (or D3D12 via Plume) | Graphics backend for the GX2 replacement |
| Cemu source (MPL-2.0) | Reference for Cafe OS HLE + GX2/Latte behaviour and shader decompiling |
| decaf-emu source (GPL-3.0) | Reference for Cafe OS internals; note license before copying code |
| wut headers | Cafe OS function signatures & struct layouts |
| Tool | Purpose |
|---|---|
ARCtool / own Python .arc reader |
Unpack MT Framework .arc archives (zlib) |
| Noesis + MT Framework plugins | Inspect models/textures (.mod, .tex) |
WiiUDownloader-style meta.xml reading |
Title IDs / versions |
- IDA / Binary Ninja – if you have them; Ghidra is the shared baseline.
- objdiff – function-level diffing if we ever pursue matching decomp.
- Green Hills MULTI (GHS) compiler – what Nintendo SDK titles were built with. Not freely available, so byte-matching decompilation is not the plan; we target functional equivalence.