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

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

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

## 使用条件与局限

- **前提条件：**需玩家自备 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。
- **范围：**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 版本。
- **测试证据：**CI 运行代码规范与审计检查，在 x86-64 和 arm64 Linux 上构建并运行 ctest，交叉构建 Windows 版本，并打包 Android、iPhone 和 macOS 版本；缺少玩家光盘镜像时，依赖光盘的测试会跳过。差异列表记录了与 PS2 的已知差别，并说明没有任何测试将运行结果与 PS2 比较。上游反编译项目另行报告其 PAL 版和日版启动 ELF 逐字节一致，但大部分只读数据仍取自光盘。
- **许可：**README 和 LICENSE 规定 MIT 仅适用于项目自身的代码、脚本和文档，不授予游戏、其数据或 Sony 及 Team Ico 商标的任何权利；第三方代码另行列出。LICENSE 声明称构建需要光盘镜像，与构建指南不一致。

## 一手来源

1. <https://github.com/nathanialf/ico-pc/blob/4c29ac4c121a357092dea6ee12f6d715ce6cf1f9/README.md>
2. <https://github.com/nathanialf/ico-pc/blob/4c29ac4c121a357092dea6ee12f6d715ce6cf1f9/docs/BUILDING.md>
3. <https://github.com/nathanialf/ico-pc/blob/4c29ac4c121a357092dea6ee12f6d715ce6cf1f9/docs/port/ARCHITECTURE.md>
4. <https://github.com/nathanialf/ico-pc/blob/4c29ac4c121a357092dea6ee12f6d715ce6cf1f9/docs/port/GAME_CODE.md>
5. <https://github.com/nathanialf/ico-pc/blob/4c29ac4c121a357092dea6ee12f6d715ce6cf1f9/docs/port/TESTING.md>
6. <https://github.com/nathanialf/ico-pc/blob/4c29ac4c121a357092dea6ee12f6d715ce6cf1f9/docs/port/DIVERGENCES.md>
7. <https://github.com/nathanialf/ico-pc/blob/4c29ac4c121a357092dea6ee12f6d715ce6cf1f9/docs/LEGAL.md>
8. <https://github.com/nathanialf/ico-pc/blob/4c29ac4c121a357092dea6ee12f6d715ce6cf1f9/LICENSE>
9. <https://github.com/nathanialf/ico-pc/releases/tag/v0.7.10>
10. <https://github.com/nathanialf/ico/blob/3496140f784fdf2d0b10e30b3b3024046c586ce1/README.md>

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

- [Kingdom Hearts 358/2 Days：基于一致性反编译的原生 PC 移植](https://awesomerea.org/zh/resources/khdays-native-pc-port-case/index.md) · 案例
- [LEGO Island 可移植版：反编译源码的多平台移植](https://awesomerea.org/zh/resources/lego-island-portable-case/index.md) · 案例
- [Lighthouse：基于反编译项目的《Banjo-Kazooie》PC 移植](https://awesomerea.org/zh/resources/lighthouse-banjo-kazooie-port-case/index.md) · 案例
- [LineWars II：可移植的 SDL3 重建版](https://awesomerea.org/zh/resources/linewars-ii-sdl-case/index.md) · 案例
- [Metaforce：在反编译之上重建的《密特罗德 Prime》引擎重实现](https://awesomerea.org/zh/resources/metaforce-metroid-prime-case/index.md) · 案例
- [Metroid Prime Port：AI 辅助完成的 PrimeDecomp 反编译原生移植](https://awesomerea.org/zh/resources/metroid-prime-port-case/index.md) · 案例

## 关于此条目

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