# vf2-decomp：经差分验证的 Virtua Fighter 2 代码恢复

> 将 Virtua Fighter 2 Version 2.1 的 Sega Model 2A i960 程序恢复为可移植、非一致性的 C17 代码，每条恢复路径须在受控边界上与参考 i960 执行器一致才被接受。仓库还提供 ROM 校验、i960 与 68000 分析工具、有限范围的 Model 2A 硬件模型，以及基于快照的差分运行器。README 说明它尚不是可游玩的移植；对战流程、格斗、物理、AI、光栅化及大部分音频仍未完成。

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

## 使用条件与局限

- **前提条件：**依赖 ROM 的分析和差分测试，需要使用者自行提供合法取得的受支持街机 ROM 组。config/vf2_v22_roms.csv 仅记录文件名、大小和哈希，vf2rom 用于校验该 ROM 组。仓库不含任何 Sega 游戏数据，贡献者不得提交 ROM 或重建的区域映像。
- **前提条件：**使用 CMake 与 C17 编译器构建，警告视为错误，并可选用 sanitizer 配置。STATUS 列出 GCC／Clang CI，README 将原生 Windows MSVC 称为代理的标准工作流程。设置 VF2_ROM_DIR 后启用依赖 ROM 的 CTest 目标；否则只运行不依赖 ROM 的测试。
- **范围：**README 将其描述为净室、非一致性的恢复项目：原生运行时在重复的调度器与游戏分派中保持 CPU、调用帧、计数器及可变内存状态，其中调度器之后的一段严格路径包含 1,270,824 条恢复指令，且无解释执行指令。项目明确不主张完整反编译、可游玩的可执行文件、完整的 Model 2／TGP 模拟、SCSP DSP 音频或覆盖全部游戏分支。未验证路径以 VF2_ERROR_UNSUPPORTED 失败关闭。
- **测试证据：**vf2i960 的原生分派命令运行已记录的差分里程碑；vf2cycles 从同一快照推进恢复的 C 代码与参考执行器，严格模式下遇到首个不受支持的代码块、参考执行失败或状态不一致即停止。STATUS 报告第三至第六次分派均为 MATCH。CI 只运行不依赖 ROM 的测试，因此依赖 ROM 的结果仍为项目报告。
- **许可：**项目代码采用 BSD-3-Clause；MAME 与公开的 Intel i960 文档仅作交叉参考，未收录其源码。docs/LEGAL.md 披露 301 个取自后续 Model 2 移植版 DLL 的 Sega 原始符号名，并说明这部分命名并非净室成果；未纳入版本库的 Sonic The Fighters 反汇编快照仅作导航参考。AGENTS.md 面向编码代理。

## 一手来源

1. <https://github.com/celsowm/vf2-decomp/blob/9a9f7270f090cfa0f38b0ec6a22c3e53dae4bd18/README.md>
2. <https://github.com/celsowm/vf2-decomp/blob/9a9f7270f090cfa0f38b0ec6a22c3e53dae4bd18/LICENSE>
3. <https://github.com/celsowm/vf2-decomp/blob/9a9f7270f090cfa0f38b0ec6a22c3e53dae4bd18/docs/LEGAL.md>
4. <https://github.com/celsowm/vf2-decomp/blob/9a9f7270f090cfa0f38b0ec6a22c3e53dae4bd18/THIRD_PARTY.md>
5. <https://github.com/celsowm/vf2-decomp/blob/9a9f7270f090cfa0f38b0ec6a22c3e53dae4bd18/docs/STATUS.md>
6. <https://github.com/celsowm/vf2-decomp/blob/9a9f7270f090cfa0f38b0ec6a22c3e53dae4bd18/AGENTS.md>
7. <https://github.com/celsowm/vf2-decomp/blob/9a9f7270f090cfa0f38b0ec6a22c3e53dae4bd18/config/vf2_v22_roms.csv>
8. <https://github.com/celsowm/vf2-decomp/blob/9a9f7270f090cfa0f38b0ec6a22c3e53dae4bd18/.github/workflows/ci.yml>

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

- [《风之杖 HD》反编译：与重编译的 Wii U 版逐函数比对验证](https://awesomerea.org/zh/resources/wind-waker-hd-decomp-case/index.md) · 案例
- [Banjo: Recompiled：基于 N64Recomp 的《Banjo-Kazooie》原生移植](https://awesomerea.org/zh/resources/banjo-recompiled-case/index.md) · 案例
- [C2C：《古惑狼 2》的混合重编译与手工反编译](https://awesomerea.org/zh/resources/c2c-crash2-hybrid-recompilation-case/index.md) · 案例
- [Castlevania 64: Recompiled：测试版静态重编译移植](https://awesomerea.org/zh/resources/cv64-recompiled-case/index.md) · 案例
- [Conker's Bad Fur Day: Recompiled：基于 N64Recomp 的原生移植](https://awesomerea.org/zh/resources/cbfd-recompiled-case/index.md) · 案例
- [CPS-2 Recomp：Capcom CPS-2 与 CPS-1 街机游戏的静态重编译](https://awesomerea.org/zh/resources/cps2recomp-arcade-static-recomp-case/index.md) · 案例

## 关于此条目

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