Decompilation glossary
The PowerPC, ABI, and compiler vocabulary you run into while learning to decompile GameCube games. Every term here is also auto-linked, with a hover definition, throughout the Decomp Academy lessons.
- AABBAxis-Aligned Bounding Box
- A box aligned to the coordinate axes, used for cheap collision tests.
- ABIApplication Binary Interface
- The machine-level contract for how functions pass arguments, return values, and share registers.
- CSECommon Subexpression Elimination
- A compiler optimisation that computes a repeated expression once and reuses the result.
- CTRCount Register
- A special register used for loop counts and indirect branches.
- DAGDirected Acyclic Graph
- The graph form a compiler uses to represent and optimise an expression.
- DMADirect Memory Access
- Hardware that copies memory without the CPU performing each transfer.
- EABIEmbedded Application Binary Interface
- The ABI variant the GameCube PowerPC toolchain targets.
- FPRFloating-Point Register
- One of the 32 registers (f0–f31) that hold float and double values.
- GCCGNU Compiler Collection
- The open-source C/C++ compiler, used here for tooling rather than to match game code.
- GPRGeneral-Purpose Register
- One of the 32 integer registers (r0–r31) used for integer and pointer maths.
- IDAInteractive Disassembler
- A widely used tool for reverse-engineering compiled binaries.
- LRLink Register
- Holds the return address for the current function call.
- LSBLeast Significant Bit
- The lowest-value bit (or lowest byte) of a value.
- MSBMost Significant Bit
- The highest-value bit of a value — the sign bit for signed types.
- MWCCMetrowerks CodeWarrior Compiler
- The compiler (mwcceppc.exe) that built the original game; lessons match its exact output.
- PPCPowerPC
- The RISC CPU architecture the GameCube uses — specifically the Gekko, a customised PowerPC 750.
- SDASmall Data Area
- Memory addressed relative to r2/r13 so a global can be loaded in a single instruction.
- SDKSoftware Development Kit
- The libraries and tools a platform ships for building software against it.