案例

Mega Man X Recompiled:基于 snesrecomp 的静态重编译

借助 snesrecomp 框架,将 SNES 版《洛克人 X》(美版 Rev 1)的 65816 CPU 代码静态转译为 C;PPU、音频、DMA 等硬件由框架运行时处理,静态分析无法证明的部分则交给源自 LakeSnes 的解释器执行。C 代码在本地由使用者的 ROM 生成,函数名取自社区的 DiztinGUIsh 注解。项目在此基础上加入可操作的 Zero、合作与回滚联机、X2/X3 的头目武器以及自适应宽屏,所用素材在本地从使用者自有的续作 ROM 中提取。

使用条件与局限

  • 审阅版本为 main 上发布版 v2.2.9-alpha(2026-10-18)对应的提交,该版提供 Windows ZIP 与 Linux AppImage。snesrecomp 的 README 将本作列为可完整游玩,本项目 README 称自适应宽屏渲染器已在 Windows 上试玩至结局。执行以解释器为先:编译后的函数体只替换分析能够证明的代码,其余部分仍由解释器执行;Rockman X(日版 v1.1)是单独的变体,保留原始视野。
  • 需自备《洛克人 X》美版 Rev 1 ROM(.sfc 或 .smc,有无文件头均可)。Zero、合作模式与 X3 武器还需使用者自有的《洛克人 X3》美版 ROM,X2 武器则需《洛克人 X2》美版 ROM;所需素材在使用者的机器上提取。README 声明 ROM、提取的素材及生成的 src/gen C 代码既未提交,也不在下载包中;Saber Zero 的精灵与音效来自 Zashiko Mod,经许可收录,仅限非商业用途。
  • 从源码构建需克隆 snesrecomp、recomp-ui 与 dizProjects 子模块,放入 ROM 后运行 tools/regen.sh,由 recomp/bank*.cfg 按存储体生成 C 代码。官方维护的构建方式是 CMake 配合 Ninja 与 SDL3(SDL2 作为后备):Windows 10 及以上通过 MSYS2 mingw64,并需 Python 3.9+ 与 rustup;Linux 使用 gcc 或 clang;macOS 支持 Apple Silicon 与 Intel。
  • CI 编译不含 ROM 衍生内容的设置宿主,并运行无需 ROM 的 CTest 回归测试;依赖 ROM 的状态测试,以及在首个 WRAM、合作、镜头或 VRAM 不一致处停止的回放测试,都需要使用者的 ROM。一份注明日期的覆盖率检查点报告称,两条 12,000 帧路线与对照构建的 CPU、WRAM 轨迹及最终快照一致,但未比较音频;v2.2.9 发布说明报告在 Windows 和 Linux 上检查了 Boss Rush 的全部 28 组头目组合。本合集未运行其中任何一项。
  • 项目及固定版本的 snesrecomp 框架均采用 PolyForm Noncommercial License 1.0.0;解释器源自 LakeSnes(MIT),随附依赖保留各自许可,Capcom 仍保有游戏权利。README 称项目属于 R.A.I.D.(Retro AI Development),这是一个面向 AI 辅助复古逆向工程的 Discord 社区,但未说明本仓库使用了哪种模型或工作流;未确立 REA 的使用。

关于此条目

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

来源复核于

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

报告条目过时 建议修正翻译

一手来源

  1. README.md GitHub · mstan/MegaManXSNESRecomp · 修订 adc1fea
  2. symbols/README.md GitHub · mstan/MegaManXSNESRecomp · 修订 adc1fea
  3. docs/mod-source-roms.md GitHub · mstan/MegaManXSNESRecomp · 修订 adc1fea
  4. docs/validation/coverage-2026-09-28.md GitHub · mstan/MegaManXSNESRecomp · 修订 adc1fea
  5. assets/saber-zero/CREDITS.md GitHub · mstan/MegaManXSNESRecomp · 修订 adc1fea
  6. .github/workflows/build.yml GitHub · mstan/MegaManXSNESRecomp · 修订 adc1fea
  7. .gitmodules GitHub · mstan/MegaManXSNESRecomp · 修订 adc1fea
  8. .gitignore GitHub · mstan/MegaManXSNESRecomp · 修订 adc1fea
  9. LICENSE GitHub · mstan/MegaManXSNESRecomp · 修订 adc1fea
  10. README.md GitHub · RetroPortingToolKit/snesrecomp · 修订 0f5708d
  11. LICENSE GitHub · RetroPortingToolKit/snesrecomp · 修订 0f5708d
  12. https://github.com/mstan/MegaManXSNESRecomp/releases/tag/v2.2.9-alpha

同分区更多条目:游戏

游戏分区全部 231 项资源游戏案例(189)