案例

Animal Crossing: Wild World:附差分运行检查的韩版 DS 一致性反编译重建

将 Animal Crossing: Wild World 韩版 DS 游戏的 ARM9 游戏代码重建为每个函数一个 C 或 C++ 源文件,并用原版 Metrowerks 编译器和链接器对照使用者自己的 ROM 校验。每个函数另有可读的 Clean 改写版本,仓库自带的 DS 解释器在录制的游玩过程中比较 ROM 代码、原生编译的源码和改写版本。数据段、ARM7 程序、链接的 SDK 库及按原始源文件重新归组仍不在重建范围内。

使用条件与局限

  • 仅覆盖韩版(ADMK)的 ARM9 代码。注明 2026-10-18 的验证页面报告,全部 25,247 个游戏函数通过字节与重定位检查,24,767 个已用 mwldarm 链接成与 ROM 一致的模块,17 个标为 FAKEMATCH。数据段大多仍经 ds-decomp 生成的目标文件取自 ROM;ARM7 程序、.bss 指针及按源文件重新归组尚未覆盖,多数名称仍是占位符。
  • 需使用者自备哈希为 SHA-1 1fffd601d3439e37cd934e72d08e487a93fc449b 的韩版 ROM,以及 Metrowerks CodeWarrior for DS 编译器(mwccarm),两者均不随项目分发。NitroSDK、NitroSystem、含 GameSpy SDK 的 NitroDWC、NitroWiFi 及 Metrowerks 运行库(共 4,083 个函数)不在仓库中,缺失时工具会将其计为未反编译。
  • 提取、校验与链接由 Python 3.11+ 驱动,整程序链接和模块比对由 ds-decomp 的 dsd v0.12.1 完成。Linux 和 macOS 通过 wibo 运行该 Windows 编译器。PC 运行时以 32 位程序构建,Windows 上用 clang,Linux 上用 gcc。
  • CI 在存放 ROM 和编译器的私有容器中运行。runtime.md 报告 Reference、Native 与 Clean 三种运行在 1,300 帧标题画面录制、13,760 帧新游戏录制及八个基于存档(存档不在仓库中)的场景中一致,另有三个场景仍有差异。所审提交的 GitHub Actions 构建通过了校验、链接与 Native 检查,但未通过 Clean 函数差分检查。本次审阅未运行上述任何检查。
  • 仓库以 CC0 1.0 释出,并声明与 Nintendo 无关。ROM、编译器、SDK 库和测试存档各自保留权利。所审来源未说明 AI 或 REA 参与,也不主张运行复现。

关于此条目

类型
案例
类别
独立重建案例
关联
独立重建项目
目标
游戏

来源复核于

说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。

一手来源

  1. README.md GitHub · banatic/acww-decomp · 修订 c7e3256
  2. docs/verification.md GitHub · banatic/acww-decomp · 修订 c7e3256
  3. docs/runtime.md GitHub · banatic/acww-decomp · 修订 c7e3256
  4. INSTALL.md GitHub · banatic/acww-decomp · 修订 c7e3256
  5. libs/README.md GitHub · banatic/acww-decomp · 修订 c7e3256
  6. docs/ci.md GitHub · banatic/acww-decomp · 修订 c7e3256
  7. .github/workflows/build.yml GitHub · banatic/acww-decomp · 修订 c7e3256
  8. LICENSE GitHub · banatic/acww-decomp · 修订 c7e3256
  9. https://github.com/banatic/acww-decomp/actions/runs/39115041988