案例

ico-pc:由 PS2 反编译源码编译而成的《ICO》原生移植

将 PlayStation 2 游戏《ICO》的反编译 C 源码原生编译到 Windows、Linux、Android、iPhone 及 Apple 芯片 Mac 上,并以宿主代码替代 PS2 硬件和 Sony 函数库。项目不解释执行或重编译任何 PS2 代码,程序在首次启动时读取玩家自备的 PAL 光盘镜像。它是另一个逐字节匹配的反编译项目的原生移植,记录了与原版的差异,并提供可选增强功能。

使用条件与局限

  • README 将其描述为 PAL 版 PS2 发行版(SCES-50760)的移植。架构文档称,ico2/ 下的游戏反编译 C 源码为宿主平台编译,port/ 则替代 EE 内核、GS/VU1 渲染、SPU2 音频、光盘、手柄和记忆卡服务。其平台表(审阅时最新发布为 v0.7.10)列出 64 位 Windows 10/11、x86-64 及 arm64 Linux、Steam Deck、Android 10+、通过 LiveContainer 运行的 iPhone,以及 macOS 12+ 的 Apple 芯片 Mac;维护者称未测试 iPhone 和 Mac 版本。
  • 需玩家自备 PAL 版《ICO》光盘镜像(SCES-50760),格式为 .iso、.chd 或 .bin/.cue;不支持其他地区和版本。构建无需光盘镜像,但首次运行会将约 1 GB 的游戏文件复制到 ico.o2r 归档,并从中加载数据表。法律说明规定,仓库和下载包不含光盘数据、启动 ELF、素材或数据表。
  • 构建使用 CMake 预设和 Ninja。Linux 快速入门面向 Debian 13 或 Ubuntu 24.04,需 gcc 14(gcc 13 亦可构建)、Python 3,以及一个下载约 1.6 GB 固定版本工具链和依赖的脚本,其中包括 llvm-mingw、mingw-w64 gcc、SDL3、Vulkan 组件和 DXC。渲染使用 Vulkan、Windows 上的 Direct3D 12,或 Apple 平台上的 MoltenVK。
  • CI 运行代码规范与审计检查,在 x86-64 和 arm64 Linux 上构建并运行 ctest,交叉构建 Windows 版本,并打包 Android、iPhone 和 macOS 版本;缺少玩家光盘镜像时,依赖光盘的测试会跳过。差异列表记录了与 PS2 的已知差别,并说明没有任何测试将运行结果与 PS2 比较。上游反编译项目另行报告其 PAL 版和日版启动 ELF 逐字节一致,但大部分只读数据仍取自光盘;本合集未构建或运行这两个项目。
  • README 和 LICENSE 规定 MIT 仅适用于项目自身的代码、脚本和文档,不授予游戏、其数据或 Sony 及 Team Ico 商标的任何权利;第三方代码另行列出。LICENSE 声明称构建需要光盘镜像,与构建指南不一致。所审来源未确立 AI 或 REA 使用归因。

关于此条目

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

来源复核于

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

一手来源

  1. README.md GitHub · nathanialf/ico-pc · 修订 4c29ac4
  2. docs/BUILDING.md GitHub · nathanialf/ico-pc · 修订 4c29ac4
  3. docs/port/ARCHITECTURE.md GitHub · nathanialf/ico-pc · 修订 4c29ac4
  4. docs/port/GAME_CODE.md GitHub · nathanialf/ico-pc · 修订 4c29ac4
  5. docs/port/TESTING.md GitHub · nathanialf/ico-pc · 修订 4c29ac4
  6. docs/port/DIVERGENCES.md GitHub · nathanialf/ico-pc · 修订 4c29ac4
  7. docs/LEGAL.md GitHub · nathanialf/ico-pc · 修订 4c29ac4
  8. LICENSE GitHub · nathanialf/ico-pc · 修订 4c29ac4
  9. https://github.com/nathanialf/ico-pc/releases/tag/v0.7.10
  10. README.md GitHub · nathanialf/ico · 修订 3496140