案例
CPS-2 Recomp:Capcom CPS-2 与 CPS-1 街机游戏的静态重编译
将 Capcom 街机基板上的 68000 游戏程序与 Z80 声音程序预先转译为 C++,并在为本项目编写的机器模型上运行,尚未转译的代码则交给解释器执行。一个启动器涵盖《街头霸王 Alpha》及《Alpha 2》、《超级益智战士 II Turbo》、《恶魔战士:救世主》及其变体、《恶魔猎人 2》、《异形大战铁血战士》以及 CPS-1 平台的《恐龙新世纪》,并加入训练模式、宽屏和三人游戏选项。转译代码由使用者自有的 ROM 套装生成,专门的检查构建会逐个代码块将其与解释器对比。
使用条件与局限
- 审阅版本为 main(2026-10-19),比同日发布的 v0.4.0-beta.3 多八个提交;该版面向 macOS 13+、含 Steam Deck 在内的 Linux x86_64 以及 64 位 Windows 10/11。README 将合集标为测试版:格斗游戏可从开场打到结局,清版动作游戏在自动游玩下运行过前几关,测试过的机器和手柄仍很少;《街头霸王 Alpha》尚无训练模式和宽屏。
- 每款游戏都需要使用者自有的一套指定 MAME 式 ROM 套装,例如 sfa2u(美版 960430)或 vsavj(日版 970519),CPS-2 游戏还需相应的密钥文件;各游戏的 game.cfg 列出了预期文件及校验和。THIRD_PARTY_NOTICES 声明仓库中不含任何来自游戏或基板的内容,转译代码只在持有 ROM 套装者的机器上生成;RELEASING.md 另说明,每个发布的游戏程序都包含该游戏经转译并编译的 68000 与 Z80 代码,维护者已于 2026-10-12 接受这一风险。
- 从源码构建使用 make,并需 CMake、Ninja、Python 3 和 SDL 3.4.16 或更新版本:macOS 上用 Apple clang,Linux 上用 GCC 13+ 或 Clang 16+ 及 CMake 3.28+,Windows 则通过 MinGW-w64 交叉编译或 MSYS2 UCRT64 环境构建。首次构建会写出解密后的程序,随后约十分钟的探索步骤通过自动游玩找出代码再进行转译;未找到的代码仍由解释器执行。
- docs/VERIFYING.md 记录了一种检查构建:每个转译代码块都与解释器并行执行,一旦寄存器、标志位、周期数、控制流或内存写入出现差异即停止;此外还在不同运行模式之间逐帧比较状态哈希。可选的街机时序曾与模拟的 jtcps2 基板模型对比。CI 会审计仓库中是否提交了游戏文件、密钥或未列明的第三方代码,并以不含游戏代码的替身游戏构建和启动各平台安装包。本合集未运行其中任何检查。
- 项目采用 GPL-3.0;machine/cps2crypt.cpp 是 MAME 中采用 BSD-3-Clause 的 CPS-2 加密算法代码,启动器经由作者的 recomp-common 源自 wiiparty-recomp(GPL-3.0-or-later),sound/driver.cpp 则是对 Capcom QSound 声音程序的手工重写,其数据表与采样均从使用者的 ROM 中读取。Capcom 及其他权利人仍保有游戏权利。所审阅的资料未确立任何 AI 或 REA 的使用,也不声称复现了运行结果。
关于此条目
- 类型
- 案例
- 类别
- 独立重建案例
- 关联
- 独立重建项目
- 目标
- 游戏
来源复核于
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · tmcleroy/cps2recomp · 修订 74e26fb
- THIRD_PARTY_NOTICES.md GitHub · tmcleroy/cps2recomp · 修订 74e26fb
- docs/RELEASING.md GitHub · tmcleroy/cps2recomp · 修订 74e26fb
- docs/BUILDING.md GitHub · tmcleroy/cps2recomp · 修订 74e26fb
- docs/VERIFYING.md GitHub · tmcleroy/cps2recomp · 修订 74e26fb
- docs/TIMING.md GitHub · tmcleroy/cps2recomp · 修订 74e26fb
- games/sfa2/game.cfg GitHub · tmcleroy/cps2recomp · 修订 74e26fb
- tools/audit.sh GitHub · tmcleroy/cps2recomp · 修订 74e26fb
- .github/workflows/ci.yml GitHub · tmcleroy/cps2recomp · 修订 74e26fb
- .gitignore GitHub · tmcleroy/cps2recomp · 修订 74e26fb
- LICENSE GitHub · tmcleroy/cps2recomp · 修订 74e26fb
- https://github.com/tmcleroy/cps2recomp/releases/tag/v0.4.0-beta.3
同分区更多条目:游戏
- impacto:MAGES. 视觉小说引擎的重新实现 · 案例
- RenderDoc · 工具
- AssetRipper · 工具
- Cpp2IL · 工具
- Il2CppDumper · 工具
- RenderDoc MCP · 集成