{
  "added_at": "2026-10-18",
  "additional_evidence_urls": [
    "https://github.com/nathanialf/ico-pc/blob/4c29ac4c121a357092dea6ee12f6d715ce6cf1f9/docs/BUILDING.md",
    "https://github.com/nathanialf/ico-pc/blob/4c29ac4c121a357092dea6ee12f6d715ce6cf1f9/docs/port/ARCHITECTURE.md",
    "https://github.com/nathanialf/ico-pc/blob/4c29ac4c121a357092dea6ee12f6d715ce6cf1f9/docs/port/GAME_CODE.md",
    "https://github.com/nathanialf/ico-pc/blob/4c29ac4c121a357092dea6ee12f6d715ce6cf1f9/docs/port/TESTING.md",
    "https://github.com/nathanialf/ico-pc/blob/4c29ac4c121a357092dea6ee12f6d715ce6cf1f9/docs/port/DIVERGENCES.md",
    "https://github.com/nathanialf/ico-pc/blob/4c29ac4c121a357092dea6ee12f6d715ce6cf1f9/docs/LEGAL.md",
    "https://github.com/nathanialf/ico-pc/blob/4c29ac4c121a357092dea6ee12f6d715ce6cf1f9/LICENSE",
    "https://github.com/nathanialf/ico-pc/releases/tag/v0.7.10",
    "https://github.com/nathanialf/ico/blob/3496140f784fdf2d0b10e30b3b3024046c586ce1/README.md"
  ],
  "category": "reconstruction-cases",
  "description_en": "Compiles the decompiled C of the PlayStation 2 game ICO natively for Windows, Linux, Android, iPhone and Apple-silicon Macs, with host code standing in for the PS2 hardware and Sony libraries. No PS2 code is interpreted or recompiled, and the program reads the player's PAL disc image on first start. It is a native port of a separately byte-matched decompilation, with documented divergences and optional enhancements.",
  "description_zh": "将 PlayStation 2 游戏《ICO》的反编译 C 源码原生编译到 Windows、Linux、Android、iPhone 及 Apple 芯片 Mac 上，并以宿主代码替代 PS2 硬件和 Sony 函数库。项目不解释执行或重编译任何 PS2 代码，程序在首次启动时读取玩家自备的 PAL 光盘镜像。它是另一个逐字节匹配的反编译项目的原生移植，记录了与原版的差异，并提供可选增强功能。",
  "entry_url": "https://awesomerea.org/resources/ico-pc-port-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/ico-pc-port-case/",
  "evidence_url": "https://github.com/nathanialf/ico-pc/blob/4c29ac4c121a357092dea6ee12f6d715ce6cf1f9/README.md",
  "group": "cases",
  "id": "ico-pc-port-case",
  "json_url": "https://awesomerea.org/resources/ico-pc-port-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/ico-pc-port-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/ico-pc-port-case/index.md",
  "name": "ico-pc: a native ICO port compiled from the PS2 decompilation",
  "name_zh": "ico-pc：由 PS2 反编译源码编译而成的《ICO》原生移植",
  "reconstruction_method": "port",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "scope",
    "prerequisites",
    "prerequisites",
    "testing",
    "license"
  ],
  "requirements": [
    "README describes a port of the PAL PS2 release (SCES-50760). The architecture guide says the game's decompiled C under ico2/ is compiled for the host, while port/ replaces the EE kernel, GS/VU1 rendering, SPU2 audio, disc, pad and memory-card services. Its platform table, current at release v0.7.10, lists 64-bit Windows 10/11, x86-64 and arm64 Linux, Steam Deck, Android 10+, iPhone through LiveContainer and Apple-silicon macOS 12+; the maintainer reports not testing the iPhone and Mac builds.",
    "Requires the player's own PAL ICO disc image (SCES-50760) as .iso, .chd or .bin/.cue; other regions and editions are unsupported. Building needs no disc image, but the first run copies the game's files, about 1 GB, into the ico.o2r archive and loads the data tables from it. The legal notes exclude disc data, boot ELFs, assets and data tables from the repository and downloads.",
    "Builds use CMake presets with Ninja. The Linux quickstart targets Debian 13 or Ubuntu 24.04 with gcc 14 (gcc 13 also builds), Python 3 and a fetch script that downloads about 1.6 GB of pinned toolchains and dependencies, among them llvm-mingw, mingw-w64 gcc, SDL3, Vulkan components and DXC. Rendering uses Vulkan, Direct3D 12 on Windows, or MoltenVK on Apple platforms.",
    "CI runs hygiene and audit checks, builds and runs ctest on x86-64 and arm64 Linux, cross-builds Windows and packages Android, iPhone and macOS; disc-dependent tests skip without the player's image. The divergence list documents known differences from the PS2 and states that no test compares a run with the PS2. The upstream decompilation separately reports byte-identical PAL and Japanese boot ELFs, with most read-only data still taken from the disc.",
    "README and LICENSE apply MIT only to the project's own code, scripts and documentation, granting no rights in the game, its data or Sony and Team Ico trademarks; third-party code is listed separately. The LICENSE notice says building requires a disc image, unlike the build guide."
  ],
  "requirements_zh": [
    "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 声明称构建需要光盘镜像，与构建指南不一致。"
  ],
  "targets": [
    "game"
  ],
  "url": "https://github.com/nathanialf/ico-pc",
  "verification": "source-reviewed",
  "verified_at": "2026-10-18"
}
