{
  "added_at": "2026-10-20",
  "additional_evidence_urls": [
    "https://blog.chrislewis.au/decompiling-a-nintendo-64-game-in-84-days/",
    "https://github.com/cdlewis/snowboardkids-decomp/blob/0a398d907aae32ae45e6ba0ca688049e5c60dab8/docs/versions.md",
    "https://github.com/cdlewis/snowboardkids-decomp/blob/0a398d907aae32ae45e6ba0ca688049e5c60dab8/reports/jp-exact-functions.md",
    "https://github.com/cdlewis/snowboardkids-decomp/blob/0a398d907aae32ae45e6ba0ca688049e5c60dab8/reports/region-functions.md",
    "https://github.com/cdlewis/snowboardkids-decomp/blob/0a398d907aae32ae45e6ba0ca688049e5c60dab8/.github/workflows/build.yaml",
    "https://github.com/cdlewis/snowboardkids-decomp/blob/0a398d907aae32ae45e6ba0ca688049e5c60dab8/.gitignore",
    "https://github.com/cdlewis/snowboardkids-decomp/blob/0a398d907aae32ae45e6ba0ca688049e5c60dab8/.gitmodules",
    "https://github.com/cdlewis/snowboardkids-decomp/blob/0a398d907aae32ae45e6ba0ca688049e5c60dab8/snowboardkids.sha1"
  ],
  "category": "reconstruction-cases",
  "description_en": "A matching decompilation of the original Nintendo 64 Snowboard Kids that rebuilds SHA1-identical North American and Japanese ROMs from a user-supplied ROM. The author’s 84-day post-mortem describes coding agents run through his Nigel harness alongside m2c, the permuter and a shared file of compiler learnings, and declines to credit LLMs alone for the speed-up. It is a separate project from the Snowboard Kids 2 decompilation.",
  "description_zh": "原版 Nintendo 64 游戏 Snowboard Kids 的匹配反编译，利用使用者自备的 ROM 重新构建 SHA1 一致的北美版与日版 ROM。作者在 84 天复盘文章中介绍了通过自建的 Nigel 工具调度编程智能体，并结合 m2c、permuter 与共享编译器经验文件的流程，同时表示不应把提速完全归功于大模型。它与 Snowboard Kids 2 反编译是不同的项目。",
  "entry_url": "https://awesomerea.org/resources/snowboardkids-matching-decomp-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/snowboardkids-matching-decomp-case/",
  "evidence_url": "https://github.com/cdlewis/snowboardkids-decomp/blob/0a398d907aae32ae45e6ba0ca688049e5c60dab8/README.md",
  "group": "cases",
  "id": "snowboardkids-matching-decomp-case",
  "json_url": "https://awesomerea.org/resources/snowboardkids-matching-decomp-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/snowboardkids-matching-decomp-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/snowboardkids-matching-decomp-case/index.md",
  "name": "Snowboard Kids: an agent-assisted N64 matching decompilation",
  "name_zh": "Snowboard Kids：智能体辅助的 N64 匹配反编译",
  "reconstruction_method": "matching-decompilation",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirements": [
    "The 2026-08-26 post reports the game 100% decompiled: every function has C that compiles to identical machine code, apart from a small amount of handwritten system-library assembly that was original source. It dates the repository from 28 May 2026 to the final matching function on 19 August 2026 and counts 2,145 functions, against 596 days and 2,995 functions for Snowboard Kids 2. The README says the Japanese version currently builds from extracted assembly; reports/jp-exact-functions.md lists 120 JP functions compiled from C.",
    "Building requires the user’s own North American or Japanese ROM, named snowboardkids.z64 or snowboardkids.jp.z64 with the SHA1 listed in the README; the build extracts assembly and assets from it into git-ignored directories. The README says the repository contains no game assets or assembly, although the reviewed tree tracks libultra .s files and a box-art image. CI builds both regions from a baserom checked out of a separate private repository.",
    "The verified host is x86-64 Linux with make, git, Python 3, clang, wget, tar and binutils-mips-linux-gnu; a macOS setup is documented but still needs validation. make -C tools sets up the recompiled IDO 5.3 toolchain (IDO_DIR can point to another), submodules supply asm-processor, asm-differ and decomp-permuter, and optional matching helpers need requirements.txt.",
    "tools/build-and-verify.sh cleans, extracts, builds and checks the output ROM’s SHA1 against the original for the selected region, and reports/region-functions.md aligns 1,293 of 2,110 US functions with the JP ROM by exact or address-normalized matches. The post describes agents writing C function by function, a script running m2c on every unmatched function, permuter runs with deadlines and four parallel worktrees; it calls its comparison of GPT-5.5/5.6, Claude 4.5, Fable and GLM 5.2 unscientific.",
    "The author estimates that roughly 4.8% of matching commits involved expert intervention, says the figure does not measure effort, credits contributors for many difficult IDO matches and calls attributing the whole speed-up to LLMs a gross oversimplification. A 100% match still leaves generated names, unknown structure fields and data to document. No license file is present at the reviewed commit, and the README states commercial use is a non-goal."
  ],
  "requirements_zh": [
    "2026-08-26 的文章报告游戏已 100% 反编译：每个函数都有编译后机器码完全一致的 C 实现，只保留少量本就以手写汇编为原始源码的系统库代码。文章称仓库从 2026 年 5 月 28 日开始，到 2026 年 8 月 19 日完成最后一个匹配函数，共 2,145 个函数；Snowboard Kids 2 则用了 596 天、共 2,995 个函数。README 称日版目前仍由提取出的汇编构建；reports/jp-exact-functions.md 列出 120 个已由 C 编译的日版函数。",
    "构建需要使用者自有的北美版或日版 ROM，分别命名为 snowboardkids.z64 或 snowboardkids.jp.z64，且 SHA1 须与 README 所列一致；构建会从中提取汇编和素材，放入 git 忽略的目录。README 称仓库不含任何游戏素材或汇编，但所审阅的提交中仍跟踪 libultra 的 .s 文件和一张包装盒图片。CI 从另一个私有仓库检出基础 ROM 来构建两个区域版本。",
    "经验证的宿主为 x86-64 Linux，需要 make、git、Python 3、clang、wget、tar 和 binutils-mips-linux-gnu；文档提供了 macOS 配置，但仍待验证。make -C tools 会配置重编译的 IDO 5.3 工具链（也可用 IDO_DIR 指向其他安装），子模块提供 asm-processor、asm-differ 和 decomp-permuter，可选的匹配辅助工具需安装 requirements.txt。",
    "tools/build-and-verify.sh 会针对所选区域执行清理、提取、构建，并将输出 ROM 的 SHA1 与原 ROM 比对；reports/region-functions.md 通过逐字节或地址归一化匹配，将 2,110 个美版函数中的 1,293 个与日版 ROM 对应起来。文章介绍了智能体逐个函数编写 C 代码、用脚本对每个未匹配函数运行 m2c、为 permuter 设定时限以及四个并行工作树的做法；文章自称对 GPT-5.5/5.6、Claude 4.5、Fable 和 GLM 5.2 的比较并不科学。",
    "作者估计约 4.8% 的匹配提交有专家介入，并说明该数字不衡量投入的工作量；作者感谢多位贡献者完成了许多困难的 IDO 匹配，并认为把提速全部归功于大模型是严重的过度简化。100% 匹配后，仍有自动生成的名称、未知的结构字段和数据需要整理。所审阅的提交中没有许可证文件，README 声明不以任何商业用途为目标。"
  ],
  "targets": [
    "game"
  ],
  "url": "https://github.com/cdlewis/snowboardkids-decomp",
  "verification": "source-reviewed",
  "verified_at": "2026-10-18"
}
