# CPS-2 Recomp：Capcom CPS-2 与 CPS-1 街机游戏的静态重编译

> 将 Capcom 街机基板上的 68000 游戏程序与 Z80 声音程序预先转译为 C++，并在为本项目编写的机器模型上运行，尚未转译的代码则交给解释器执行。一个启动器涵盖《街头霸王 Alpha》及《Alpha 2》、《超级益智战士 II Turbo》、《恶魔战士：救世主》及其变体、《恶魔猎人 2》、《异形大战铁血战士》以及 CPS-1 平台的《恐龙新世纪》，并加入训练模式、宽屏和三人游戏选项。转译代码由使用者自有的 ROM 套装生成，专门的检查构建会逐个代码块将其与解释器对比。

- 类型：案例
- 目标：游戏
- 类别：独立重建案例
- 关联：独立重建项目
- 来源复核于：2026-10-19
- 收录于：2026-10-31
- 原始资源：<https://github.com/tmcleroy/cps2recomp>
- 一手来源：<https://github.com/tmcleroy/cps2recomp/blob/74e26fb10e166fbfacfb1e6520fbc05e400642b1/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/cps2recomp-arcade-static-recomp-case/>
- 记录 JSON：<https://awesomerea.org/resources/cps2recomp-arcade-static-recomp-case/record.json>
- 英文版：[English](https://awesomerea.org/resources/cps2recomp-arcade-static-recomp-case/index.md)

## 使用条件与局限

- 审阅版本为 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 及其他权利人仍保有游戏权利。

## 一手来源

1. <https://github.com/tmcleroy/cps2recomp/blob/74e26fb10e166fbfacfb1e6520fbc05e400642b1/README.md>
2. <https://github.com/tmcleroy/cps2recomp/blob/74e26fb10e166fbfacfb1e6520fbc05e400642b1/THIRD_PARTY_NOTICES.md>
3. <https://github.com/tmcleroy/cps2recomp/blob/74e26fb10e166fbfacfb1e6520fbc05e400642b1/docs/RELEASING.md>
4. <https://github.com/tmcleroy/cps2recomp/blob/74e26fb10e166fbfacfb1e6520fbc05e400642b1/docs/BUILDING.md>
5. <https://github.com/tmcleroy/cps2recomp/blob/74e26fb10e166fbfacfb1e6520fbc05e400642b1/docs/VERIFYING.md>
6. <https://github.com/tmcleroy/cps2recomp/blob/74e26fb10e166fbfacfb1e6520fbc05e400642b1/docs/TIMING.md>
7. <https://github.com/tmcleroy/cps2recomp/blob/74e26fb10e166fbfacfb1e6520fbc05e400642b1/games/sfa2/game.cfg>
8. <https://github.com/tmcleroy/cps2recomp/blob/74e26fb10e166fbfacfb1e6520fbc05e400642b1/tools/audit.sh>
9. <https://github.com/tmcleroy/cps2recomp/blob/74e26fb10e166fbfacfb1e6520fbc05e400642b1/.github/workflows/ci.yml>
10. <https://github.com/tmcleroy/cps2recomp/blob/74e26fb10e166fbfacfb1e6520fbc05e400642b1/.gitignore>
11. <https://github.com/tmcleroy/cps2recomp/blob/74e26fb10e166fbfacfb1e6520fbc05e400642b1/LICENSE>
12. <https://github.com/tmcleroy/cps2recomp/releases/tag/v0.4.0-beta.3>

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

- [Crash Bandicoot 2 Recompiled：基于 PSXRecomp 的原生构建](https://awesomerea.org/zh/resources/crash2recomp-case/index.md) · 案例
- [Dead Rising 2: Case West：同系列的 Xbox 360 XBLA 静态重编译移植](https://awesomerea.org/zh/resources/dead-rising-2-case-west-recomp-case/index.md) · 案例
- [Dead Rising 2: Case Zero：Xbox 360 XBLA 游戏的静态重编译移植](https://awesomerea.org/zh/resources/dead-rising-2-case-zero-recomp-case/index.md) · 案例
- [Devil May Cry：实验性的 PS2 静态重编译](https://awesomerea.org/zh/resources/dmc-recomp-case/index.md) · 案例
- [DKC1Recomp：《大金刚国度》的静态重编译](https://awesomerea.org/zh/resources/dkc1-recomp-case/index.md) · 案例
- [DOAXVB Native PC Port：对《Dead or Alive Xtreme Beach Volleyball》的静态重编译](https://awesomerea.org/zh/resources/doaxvb-native-port-case/index.md) · 案例

## 关于此条目

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