# PS2 Web Recomp 浏览器游戏重编译工具

> 将 PlayStation 2 游戏静态重编译后在浏览器中运行：eerecomp 把游戏启动程序中的 Emotion Engine 代码转换为 C++，再编译为 WebAssembly；运行时负责仿真主机的其余部分，包括高层仿真的 EE 内核、以解释器运行光盘 IRX 模块的 I/O 处理器、向量单元、SPU2 音频，以及基于 WebGPU 计算着色器的 Graphics Synthesizer。其移植脚本会反复进行无界面运行，找出经指针调用的函数和需要预先编译的向量单元微程序，最后构建网页和原生运行程序。

- 类型：工具
- 目标：二进制 · 游戏
- 类别：游戏分析工具
- 关联：基础工具
- 来源复核于：2026-10-19
- 收录于：2026-10-19
- 原始资源：<https://github.com/snuri00/ps2-web-recomp>
- 一手来源：<https://github.com/snuri00/ps2-web-recomp/blob/6526f4803d98e10de50bea3af104a4d26e9df033/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/ps2-web-recomp/>
- 记录 JSON：<https://awesomerea.org/resources/ps2-web-recomp/record.json>
- 英文版：[English](https://awesomerea.org/resources/ps2-web-recomp/index.md)

## 使用条件与局限

- README 报告目前已移植两款游戏：PAL 版 Gran Turismo 4 可在 Chrome 中全速运行，从启动一直玩到比赛；God of War II 可从菜单进入战斗，它没有用到任何游戏专用代码，但暴露了重编译器中的一个错误和向量单元时序中的一个错误。README 提醒，其他游戏很可能停在尚未实现的系统调用、IOP 库函数或 GS 功能上，而且向量单元的计算结果可能在最后一位与主机不同。
- 使用者需自备所拥有游戏的光盘镜像；仓库不含任何游戏代码或数据。README 说明生成的 C++ 和构建出的 WebAssembly 是对游戏可执行文件的转换，归游戏权利人所有，要求使用者只保留在自己的机器上、不得公开发布，并提醒任何能访问本地服务器的人都可以加载该游戏。
- 移植需要 Git、CMake 3.20+、Ninja、C++20 编译器（首选 Clang）、Python 3，镜像为 .7z 时还需 7-Zip；首次运行会安装 Emscripten SDK 并下载 wgpu-native，原生窗口还需要 SDL2。全部流程均在 x86-64 Linux 上运行过，脚本也能在 Apple 芯片的 macOS 上构建；每款游戏约需 300 MB 磁盘空间。网页需要 WebGPU，Linux 版 Chrome 须开启实验性开关才能使用（软件渲染回退对 3D 而言过慢），还需要跨源隔离响应头和 HTTP Range 支持。
- 项目没有发布版本、标签或 CI 工作流。scripts/test_vu_codegen.py 无需游戏光盘即可测试原生与 WebAssembly 的向量单元代码生成，软件 GS 光栅化器则保留为 GPU 输出的比对基准。帧率数据是作者在一台笔记本上的测量结果。审阅时最后一次提交为 2026-10-19。
- 采用 MIT 许可证；MPEG 解码器中改编自 Play! 的 VLC 表保留其 BSD 2-clause 声明，README 将 PCSX2、Play! 和 ps2sdk 头文件列为行为参考。项目声明与 Sony 及各游戏发行商无关联。

## 一手来源

1. <https://github.com/snuri00/ps2-web-recomp/blob/6526f4803d98e10de50bea3af104a4d26e9df033/README.md>
2. <https://github.com/snuri00/ps2-web-recomp/blob/6526f4803d98e10de50bea3af104a4d26e9df033/scripts/port.sh>
3. <https://github.com/snuri00/ps2-web-recomp/blob/6526f4803d98e10de50bea3af104a4d26e9df033/scripts/test_vu_codegen.py>
4. <https://github.com/snuri00/ps2-web-recomp/blob/6526f4803d98e10de50bea3af104a4d26e9df033/CMakeLists.txt>
5. <https://github.com/snuri00/ps2-web-recomp/blob/6526f4803d98e10de50bea3af104a4d26e9df033/LICENSE>
6. <https://github.com/snuri00/ps2-web-recomp/blob/6526f4803d98e10de50bea3af104a4d26e9df033/runtime/src/ipu/NOTICE>

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

- [xboxrecomp 初代 Xbox 静态重编译工具包](https://awesomerea.org/zh/resources/xboxrecomp/index.md) · 工具
- [PCSX-Redux PlayStation 1 调试模拟器](https://awesomerea.org/zh/resources/pcsx-redux/index.md) · 工具
- [Il2CppInspector Unity IL2CPP 静态分析工具](https://awesomerea.org/zh/resources/il2cppinspector/index.md) · 工具
- [MelonLoader Unity 游戏模组加载器](https://awesomerea.org/zh/resources/melonloader/index.md) · 工具
- [BepInEx Unity/.NET 游戏插件与修补框架](https://awesomerea.org/zh/resources/bepinex/index.md) · 工具
- [ReXGlue Xbox 360 静态重编译 SDK](https://awesomerea.org/zh/resources/rexglue-sdk/index.md) · 工具

## 关于此条目

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