Case study

Vandal Hearts: native PC port built on matching decompilations

Builds on shao113’s matching decompilation of PlayStation Vandal Hearts, adds a Japanese matching tree, and carries both through to a native Windows and Linux port. SDL2, OpenGL or Metal and OpenAL backends replace the console’s GPU, GTE, CD-ROM/XA, SPU, MDEC and pad interfaces, and one executable runs the USA, Asia and Japan discs. The matching builds are still checked on every change; PC-only features such as Tactical Mode and HD packs are opt-in.

Requirements and limitations

  • Reviewed source follows v2.1.0 (2026-08-31). README reports every non-PsyQ function decompiled, with make check confirming byte-identical rebuilds of the US SLUS_004.47 and, since 2.0.0, the Japanese SLPM_860.07 by MD5, and full playthroughs through the endgame on Windows and Linux. macOS is a community-supported experimental build tested through the first battle; its full-playthrough and notarisation validation are pending.
  • Supply your own raw .bin disc image of the USA (SLUS-00447), Asia (SCPS-45183) or Japan (SLPM-86007) release; the port verifies and auto-detects each disc. The matching build also needs the original executable as its MD5 reference and locally sourced proprietary PsyQ SDK files (README lists ASPSX 2.21 and LIB34.ZIP by MD5). The kanji font, in-game text and static data segment are generated from the user’s copy, not committed.
  • The port builds with Make or CMake against SDL2, OpenAL, OpenGL (Metal on macOS), libwebp, libav and Python 3; Windows binaries are cross-compiled from Linux with MinGW-w64, and Linux ships as an AppImage. The matching build uses splat, maspsx, decompals’ GCC 2.5.7/2.6.3 frontends and MIPS binutils, and needs a Linux host because those frontends are 32-bit Linux executables.
  • Project-reported checks include make check for both regions, AddressSanitizer and UBSan sweeps that fixed seven latent out-of-bounds bugs, audio/visual fidelity validated against BizHawk, and a software rasterizer reported 99.84–99.99% pixel-exact against DuckStation VRAM captures. The known-issues list places remaining defects in the port’s rendering and backend layer; this collection ran none of these checks.
  • GPL-2.0 covers only the project’s original port code, tooling and documentation. The decompiled game code, derived from shao113’s unlicensed decompilation, and the reconstructed data tables are Konami’s and are not licensed by the project; pre-built releases embed part of the game-derived data segment and a BIOS-derived font. The repository keeps its setup recipe in Claude Code skill files; no REA connection is established.

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 · HalmyLyseas/VandalHearts-PcPort · Revision 14552ff
  2. NOTICE GitHub · HalmyLyseas/VandalHearts-PcPort · Revision 14552ff
  3. CLAUDE.md GitHub · HalmyLyseas/VandalHearts-PcPort · Revision 14552ff
  4. docs/building.md GitHub · HalmyLyseas/VandalHearts-PcPort · Revision 14552ff
  5. docs/known_issues.md GitHub · HalmyLyseas/VandalHearts-PcPort · Revision 14552ff
  6. CHANGELOG.md GitHub · HalmyLyseas/VandalHearts-PcPort · Revision 14552ff
  7. LICENSE GitHub · HalmyLyseas/VandalHearts-PcPort · Revision 14552ff
  8. https://github.com/shao113/vh/tree/a9e53de9484d4b42b023411617fe6d44acf592bc