Case study

ico-pc: a native ICO port compiled from the PS2 decompilation

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.

Requirements and limitations

  • 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; this collection did not build or run either project.
  • 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. The reviewed sources establish no AI or REA attribution.

About this entry

Type
Case study
Category
Independent reconstruction cases
Relationship
Independent reconstruction project
Targets
Game

Sources reviewed

The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.

Primary sources

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