{"domain":"decomp-academy.dev","status":"valid","tier":"listed","authority":47,"verified":false,"title":"Decomp Academy","summary":"Decomp Academy is a free, interactive course that teaches matching decompilation of retro games: read the original assembly, write C, and the real period compiler grades it byte for byte. Courses cover GameCube (PowerPC, Metrowerks CodeWarrior) and Game Boy Advance (ARM/Thumb, agbcc).","country":null,"country_source":"cdn","publisher_country":null,"publisher_country_source":null,"hosting_country":null,"llms_txt":"https://decomp-academy.dev/llms.txt","llms_full_txt":null,"last_checked":"2026-10-25T22:56:44.324Z","agent_terms":null,"categories":["education","gaming","developer-tools"],"capabilities":[],"inferred_tags":["decompilation","matching decompilation","powerpc assembly","gamecube","game boy advance","reverse engineering"],"audience":"developers","agent_uses":["read_docs","search_content"],"language":"en","platform_generated":false,"agent_summary":"Free interactive course teaching matching decompilation of retro games: read PowerPC/ARM assembly, write C, graded byte-for-byte by period compilers. Includes p","llms_txt_cached":"https://agentwebmap.com/v1/domain/decomp-academy.dev/llms.txt","agentic":"documentation","section_keys":["64-bit-integers-long-long-across-two-registers-carry-chains-abi-pairing-downcast-fingerprints-and-intrinsics","64-bit-integers-one-s64-two-registers-pairing-carry-chains-and-the-millicode-helpers","64-bit-values-two-registers-pretending-to-be-one-number","advanced-idioms-jump-tables-compare-chains-division-traps-volatile-and-enums-the-last-shapes-between-you-and-real-code","advanced-idioms-paired-singles-switch-jump-tables-enums-and-volatile-the-master-s-toolkit","arithmetic-two-operand-alu-forms-constant-building-and-the-multiplies-gcc-takes-apart","bits-and-shifts-masks-fields-and-the-packing-gba-hardware-is-built-around","bitwise-shifts-and-or-xor-masks-shifts-and-the-rlwinm-family-mwcc-loves","bitwise-shifts-and-or-xor-nor-as-not-the-three-shifts-and-the-field-packing-tricks-built-from-them","branches-and-conditions-flags-nearly-everything-sets-and-the-branch-shapes-gcc-2-9-builds-from-them","control-flow-delay-slots-branches-compares-booleans-made-of-arithmetic-and-the-delay-slot-where-ido-hides-real-work","control-flow-if-else-ternaries-switch-and-the-all-important-signed-vs-unsigned-compare","core-idioms-every-shape-c-compiles-into","core-idioms-every-shape-c-compiles-into-on-a-16-bit-instruction-set","curriculum","floating-point-cop1-the-fpu-s-own-registers-and-grammar-s-and-d-arithmetic-the-two-ways-constants-ma-88bc93163a38","floating-point-f32-vs-f64-frsp-fused-multiply-add-and-float-comparisons","floats-without-an-fpu-why-every-float-is-a-function-call-and-what-real-gba-code-does-instead","foundations-what-decompilation-is-mips-registers-delay-slots-and-reading-ido-output","foundations-what-decompilation-is-powerpc-registers-and-reading-mwcc-output","foundations-what-matching-decompilation-is-the-arm7tdmi-s-registers-and-reading-agbcc-s-thumb","frames-and-calls-push-pop-callee-saved-registers-and-the-interworking-return","functions-the-abi-arg-registers-saved-registers-stack-frames-and-declaration-order-coloring","functions-the-o32-abi-argument-registers-stack-args-frames-the-jal-delay-slot-homing-and-saved-registers","game-boy-advance-decompile-game-boy-advance-arm7tdmi-thumb-code-back-into-byte-matching-c-graded-in--21bc3c98828b","gamecube-decompile-gamecube-powerpc-assembly-back-into-byte-matching-c-graded-live-by-the-real-metro-2bb43804afaf","globals-and-the-literal-pool-every-global-address-is-a-word-parked-inside-the-function","globals-hi-lo-reading-and-writing-global-state-through-lui-address-pairs-relocations-arrays-and-statics","globals-the-sda-pools-r13-r2-small-data-addressing-sda21-ha-l-relocations-and-rodata-pools","hardware-registers-volatile-memory-mapped-io-and-the-code-the-gba-s-hardware-forces","integer-arithmetic-add-subtract-multiply-divide-immediates-and-the-bit-twiddling-idioms","integer-arithmetic-register-math-shift-chains-for-constants-hi-lo-and-the-divide-fix-ups-ido-can-t-help-emitting","key-pages","loops-for-while-do-while-induction-variables-and-counted-loops","loops-rotated-bodies-back-edges-riding-delay-slots-and-the-4-unroll-how-ido-turns-three-lines-of-c-i-73a349e2f8ee","loops-the-shapes-gcc-2-9-rewrites-your-loops-into","narrow-types-8-and-16-bit-values-on-a-chip-with-no-sign-extend-instruction","nintendo-64-decompile-nintendo-64-mips-assembly-back-into-byte-matching-c-graded-live-by-the-real-sg-056b0c55a905","optimization-scheduling-o4-p-peephole-instruction-scheduling-and-the-pragmas-that-bend-them","pointers-and-addressing-tiny-offsets-register-offsets-and-walking-memory","pointers-memory-loads-and-stores-addressing-modes-pointer-arithmetic-and-arrays","pointers-memory-offset-base-addressing-the-sll-addu-indexing-trio-strides-by-width-null-guards-and-t-228eb6f93178","proving-ground-pull-together-everything-you-ve-learned-on-functions-that-feel-like-the-real-thing","proving-ground-real-game-boy-advance-functions-start-to-finish","proving-ground-real-star-fox-adventures-functions-start-to-finish","putting-it-together-whole-functions-that-combine-arithmetic-bits-control-loops-types-pointers-and-st-8ca59660fcbd","putting-it-together-whole-small-functions-with-nothing-new-in-them-arithmetic-bits-branches-loops-wi-3d5de1400737","reading-signatures-no-more-starter-functions-derive-the-arguments-and-return-type-yourself","reading-signatures-the-scaffolding-comes-off-derive-the-whole-function-from-the-assembly","real-world-mastery-authentic-gba-game-code-fixed-point-math-hardware-effects-and-the-routines-every-cartridge-has","real-world-mastery-authentic-star-fox-adventures-functions-from-warm-ups-to-full-capstones","real-world-mastery-fourteen-end-to-end-functions-that-put-every-technique-from-the-course-to-work","structs-fields-padding-bitfields-and-the-offsets-that-outgrow-the-instruction","structs-unions-bitfields-field-offsets-and-padding-arrays-of-structs-and-their-sizeof-multiplies-uni-bd8514450733","structs-unions-bitfields-from-single-fields-up-to-combining-several-across-nested-structs-member-arr-c3e4033f6fe1","the-ido-optimizer-delay-slot-packing-hazard-nops-scheduling-and-what-o2-g3-does-to-your-c","the-missing-divider-the-arm7tdmi-cannot-divide-so-every-division-is-a-function-call-or-a-shift","the-real-abi-frames-globals-optimizer-64-bit","the-real-abi-frames-globals-the-optimizer-64-bit","the-real-machine-frames-globals-hardware-and-the-optimizer","the-whole-abi-at-once-realistic-function-bodies-frames-globals-optimizer-fingerprints-and-64-bit-math-all-in-one-place","the-whole-abi-at-once-whole-realistic-function-bodies-that-fuse-frames-globals-the-optimizer-and-64--5565ddade1e2","tier-finale-five-functions-that-need-everything-the-tier-taught-at-once","tier-finale-frames-globals-hardware-and-64-bit-values-fused","types-width-byte-and-halfword-loads-as-type-oracles-the-truncation-masks-and-shift-pairs-and-the-hom-5f0379b738e0","types-width-u8-s8-u16-s16-loads-sign-vs-zero-extension-and-width-driven-matching-building-up-to-mixe-e3dab939b09e","warm-up-learn-to-read-the-machine","warm-up-learn-to-read-the-mips-machine","warm-up-learn-to-read-the-thumb-machine","what-gcc-2-9-does-to-your-code-the-transformations-you-have-to-write-around-not-against"],"section_partial":false,"section_indexed_at":"2026-10-25T22:56:50.132Z"}