# Snowboard Kids：智能体辅助的 N64 匹配反编译

> 原版 Nintendo 64 游戏 Snowboard Kids 的匹配反编译，利用使用者自备的 ROM 重新构建 SHA1 一致的北美版与日版 ROM。作者在 84 天复盘文章中介绍了通过自建的 Nigel 工具调度编程智能体，并结合 m2c、permuter 与共享编译器经验文件的流程，同时表示不应把提速完全归功于大模型。它与 Snowboard Kids 2 反编译是不同的项目。

- 类型：案例
- 目标：游戏
- 类别：独立重建案例
- 关联：独立重建项目
- 来源复核于：2026-10-18
- 收录于：2026-10-20
- 原始资源：<https://github.com/cdlewis/snowboardkids-decomp>
- 一手来源：<https://github.com/cdlewis/snowboardkids-decomp/blob/0a398d907aae32ae45e6ba0ca688049e5c60dab8/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/snowboardkids-matching-decomp-case/>
- 记录 JSON：<https://awesomerea.org/resources/snowboardkids-matching-decomp-case/record.json>
- 英文版：[English](https://awesomerea.org/resources/snowboardkids-matching-decomp-case/index.md)

## 使用条件与局限

- 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 声明不以任何商业用途为目标。

## 一手来源

1. <https://github.com/cdlewis/snowboardkids-decomp/blob/0a398d907aae32ae45e6ba0ca688049e5c60dab8/README.md>
2. <https://blog.chrislewis.au/decompiling-a-nintendo-64-game-in-84-days/>
3. <https://github.com/cdlewis/snowboardkids-decomp/blob/0a398d907aae32ae45e6ba0ca688049e5c60dab8/docs/versions.md>
4. <https://github.com/cdlewis/snowboardkids-decomp/blob/0a398d907aae32ae45e6ba0ca688049e5c60dab8/reports/jp-exact-functions.md>
5. <https://github.com/cdlewis/snowboardkids-decomp/blob/0a398d907aae32ae45e6ba0ca688049e5c60dab8/reports/region-functions.md>
6. <https://github.com/cdlewis/snowboardkids-decomp/blob/0a398d907aae32ae45e6ba0ca688049e5c60dab8/.github/workflows/build.yaml>
7. <https://github.com/cdlewis/snowboardkids-decomp/blob/0a398d907aae32ae45e6ba0ca688049e5c60dab8/.gitignore>
8. <https://github.com/cdlewis/snowboardkids-decomp/blob/0a398d907aae32ae45e6ba0ca688049e5c60dab8/.gitmodules>
9. <https://github.com/cdlewis/snowboardkids-decomp/blob/0a398d907aae32ae45e6ba0ca688049e5c60dab8/snowboardkids.sha1>

## 同分区更多条目：游戏

- [《索尼克 Advance》1 与 2：一致性 GBA 反编译及宽屏移植](https://awesomerea.org/zh/resources/sonic-advance-1-2-decomp-port-case/index.md) · 案例
- [Sonic Advance 3：AI 辅助匹配单个敌人模块](https://awesomerea.org/zh/resources/sa3-marun-ai-decomp-case/index.md) · 案例
- [《星际火狐 64》：完整的 Nintendo 64 版一致性反编译](https://awesomerea.org/zh/resources/sf64-matching-decomp-case/index.md) · 案例
- [Super Mario 64 DS：带重定位核对的匹配反编译](https://awesomerea.org/zh/resources/sm64ds-decomp-case/index.md) · 案例
- [Super Mario 64：带明确比较开关的 ROM 重建](https://awesomerea.org/zh/resources/sm64-decomp-case/index.md) · 案例
- [《超级马力欧 奥德赛》：Switch 主程序的逐函数一致性反编译](https://awesomerea.org/zh/resources/odyssey-decomp-case/index.md) · 案例

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
