{
  "added_at": "2026-10-27",
  "additional_evidence_urls": [
    "https://github.com/JackPriceBurns/decomp-academy-fe/blob/a21f9d00dcdcb00936c3f0369f396b555e893d93/src/curriculum/01-gamecube-c/_course.md",
    "https://github.com/JackPriceBurns/decomp-academy-fe/blob/a21f9d00dcdcb00936c3f0369f396b555e893d93/src/curriculum/02-gba/_course.md",
    "https://github.com/JackPriceBurns/decomp-academy-fe/blob/a21f9d00dcdcb00936c3f0369f396b555e893d93/src/curriculum/03-n64-c/_course.md",
    "https://github.com/JackPriceBurns/decomp-academy-fe/blob/a21f9d00dcdcb00936c3f0369f396b555e893d93/src/curriculum/01-gamecube-c/04-proving-ground/01-mastery/001-spellstone-setstate.md",
    "https://github.com/JackPriceBurns/decomp-academy-fe/blob/a21f9d00dcdcb00936c3f0369f396b555e893d93/.env.example",
    "https://github.com/JackPriceBurns/decomp-academy-fe/blob/a21f9d00dcdcb00936c3f0369f396b555e893d93/CLAUDE.md",
    "https://github.com/JackPriceBurns/decomp-academy-fe/blob/a21f9d00dcdcb00936c3f0369f396b555e893d93/LICENSE",
    "https://github.com/JackPriceBurns/decomp-academy-be/blob/d80447dad332e9c15ac4549d8d42a28a0a9daedd/README.md"
  ],
  "category": "learning",
  "description_en": "A free, English, in-browser course in matching decompilation maintained by Jack Price-Burns: learners read a function's target assembly, write C, and the original console compiler grades the result byte for byte. Lessons build from reading registers and arithmetic through control flow, structs, floating point, the ABI, globals, optimizer behaviour and 64-bit integers, then finish with functions adapted from open-source decompilation projects. The curriculum now spans GameCube PowerPC, Game Boy Advance Thumb and Nintendo 64 MIPS courses, and the frontend source is on GitHub.",
  "description_zh": "由 Jack Price-Burns 维护的免费英文在线课程，在浏览器中教授一致性反编译：学习者阅读函数的目标汇编，编写 C 代码，再由原版主机编译器逐字节评判结果。课程从读寄存器和算术运算讲起，依次覆盖控制流、结构体、浮点、ABI、全局变量、优化器行为和 64 位整数，最后以改编自开源反编译项目的函数收尾。课程目前包括 GameCube PowerPC、Game Boy Advance Thumb 和 Nintendo 64 MIPS 三门，前端源码公开在 GitHub 上。",
  "entry_url": "https://awesomerea.org/resources/decomp-academy/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/decomp-academy/",
  "evidence_url": "https://github.com/JackPriceBurns/decomp-academy-fe/blob/a21f9d00dcdcb00936c3f0369f396b555e893d93/README.md",
  "group": "learn",
  "id": "decomp-academy",
  "json_url": "https://awesomerea.org/resources/decomp-academy/record.json",
  "kind": "learning-resource",
  "markdown_url": "https://awesomerea.org/resources/decomp-academy/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/decomp-academy/index.md",
  "name": "Decomp Academy",
  "name_zh": "Decomp Academy 一致性反编译课程",
  "record_type": "resource",
  "relationship": "learning",
  "requirements": [
    "Reviewed at frontend commit a21f9d0 (2026-09-23); the repository was first published in June 2026 and has had commits most months since. The README still describes a single GameCube course of 258 lessons, but the reviewed curriculum and the live site list 755 lessons in three courses: GameCube (263), Game Boy Advance (251) and Nintendo 64 (241), each in four tiers from warm-up to real functions.",
    "Lessons run in the browser at decomp-academy.dev and the README says no signup is needed to start; an account stores progress. Grading compiles the learner's C with the original compilers and diffs it using objdiff: Metrowerks CodeWarrior GC/2.0 for GameCube and SGI IDO 5.3 for Nintendo 64 on the hosted backend, a separate AGPL-3.0 repository that the README says runs the CodeWarrior compilers under wibo, and agbcc built to WebAssembly in the browser for Game Boy Advance.",
    "No game files are needed: the later lessons adapt functions from open-source decompilation projects the README credits (Star Fox Adventures, Pikmin 2, Metroid Prime, Mario Party 4), and targets are generated server-side from each lesson's reference C. This repository contains no compiler, and the backend README says it commits only wibo, not MWCC; for local development the README expects Node 18+ and a sibling Star Fox Adventures decompilation checkout that supplies MWCC and binutils, while .env.example says a fresh clone uses the hosted compile API by default.",
    "The frontend is AGPL-3.0, which also covers modified versions run as a network service. A CLAUDE.md lesson-authoring guide for Claude Code is committed."
  ],
  "requirements_zh": [
    "审阅的前端提交为 a21f9d0（2026-09-23）；仓库于 2026 年 6 月首次发布，此后大多数月份都有提交。README 仍只描述一门 258 课的 GameCube 课程，但所审阅的课程目录和在线站点列出了三门课程共 755 课：GameCube（263 课）、Game Boy Advance（251 课）和 Nintendo 64（241 课），每门分为从热身到真实函数的四个层级。",
    "课程在浏览器中进行（decomp-academy.dev），README 称无需注册即可开始，账户用于保存进度。评分时用原版编译器编译学习者的 C 代码，再用 objdiff 比对：GameCube 使用 Metrowerks CodeWarrior GC/2.0，Nintendo 64 使用 SGI IDO 5.3，二者在托管后端运行。后端是另一个 AGPL-3.0 仓库，README 称它在 wibo 下运行 CodeWarrior 编译器；Game Boy Advance 则在浏览器中使用编译为 WebAssembly 的 agbcc。",
    "无需任何游戏文件：后期课程改编自 README 致谢的开源反编译项目（Star Fox Adventures、Pikmin 2、Metroid Prime、Mario Party 4）中的函数，目标汇编由服务器根据每课的参考 C 代码生成。本仓库不含任何编译器，后端 README 也称其只提交了 wibo，未提交 MWCC；README 说明本地开发需要 Node 18+，以及一个同级目录下提供 MWCC 和 binutils 的 Star Fox Adventures 反编译项目检出，而 .env.example 称全新克隆默认使用托管的编译 API。",
    "前端采用 AGPL-3.0 许可证，修改后作为网络服务运行的版本同样受其约束。仓库中提交了一份供 Claude Code 使用的课程编写指南 CLAUDE.md。"
  ],
  "targets": [
    "binary",
    "game"
  ],
  "url": "https://decomp-academy.dev/",
  "verification": "source-reviewed",
  "verified_at": "2026-10-19"
}
