# Final Fantasy VII: a matching PlayStation decompilation

> Reconstructs C source for the US PlayStation release of Final Fantasy VII, aiming for code that compiles back to the original main executable and its game overlays. The build splits the user’s disc files with splat, compiles with period cc1-psx compilers and checks every rebuilt file against its SHA-1. A native build against the PsyZ PlayStation-library replacement is compiled in CI but is not documented as a playable port.

- Type: Case study
- Targets: Game
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-10-19
- Added to the catalog: 2026-10-28
- Original resource: <https://github.com/Xeeynamo/ff7-decomp>
- Primary source: <https://github.com/Xeeynamo/ff7-decomp/blob/37f35a536ba80f0575e79e243a273b28702d494d/README.md>
- Catalog page: <https://awesomerea.org/resources/ff7-ps1-matching-decomp-case/>
- Record JSON: <https://awesomerea.org/resources/ff7-ps1-matching-decomp-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/ff7-ps1-matching-decomp-case/index.md)

## Requirements & limits

- The project describes itself as a matching decompilation of the PS1 game; config/us.yaml defines the single us version, covering SCUS_941.63 and battle, field, menu, world, minigame, magic and other overlays with 29 SHA-1 entries. Source tables such as the chocobo minigame’s arccosine table are data taken from the game, as is usual for such projects. README states no completion figure; CI uploads a progress report as a build artifact.
- Supply disc 1 of Final Fantasy VII (USA) as BIN/CUE under disks/; README lists the USA Interactive Sampler CD as optional, though the reviewed config builds only us. CONTRIBUTING says the repository includes no original game data and is not a playable or standalone version. CI fetches its disc images from a private dependency repository through a secret token.
- README documents Debian/Ubuntu and Arch Linux with Go, Python 3 (a venv with splat64, spimdisasm and others), ninja, 7zip, bchunk and mipsel-linux-gnu binutils and GCC; CI notes that Ubuntu 24.04’s binutils 2.42 linker does not match the game. Make downloads the cc1-psx-26 and cc1-psx-272 compiler builds from the project’s init release and checks them against committed SHA-256 files; maspsx, m2c, asm-differ and PsyZ come in as submodules, and a Dockerfile is provided.
- make build ends with a ninja rule running sha1sum -c over the expected hashes of every overlay. CI on the upstream repository checks formatting, runs that build, lints for overlapping symbols and compiles the PsyZ build. These checks compare file identity for the US release.
- LICENSE is AGPL-3.0; the game discs, extracted data and downloaded compilers keep separate rights. README says the decompiled code is written by humans and rejects LLM-accelerated decompilation, while allowing LLMs for tooling, permuting hard functions or hunting runtime bugs; CONTRIBUTING forbids autonomously generated pull requests and commit messages.

## Primary sources

1. <https://github.com/Xeeynamo/ff7-decomp/blob/37f35a536ba80f0575e79e243a273b28702d494d/README.md>
2. <https://github.com/Xeeynamo/ff7-decomp/blob/37f35a536ba80f0575e79e243a273b28702d494d/CONTRIBUTING.md>
3. <https://github.com/Xeeynamo/ff7-decomp/blob/37f35a536ba80f0575e79e243a273b28702d494d/Makefile>
4. <https://github.com/Xeeynamo/ff7-decomp/blob/37f35a536ba80f0575e79e243a273b28702d494d/config/us.yaml>
5. <https://github.com/Xeeynamo/ff7-decomp/blob/37f35a536ba80f0575e79e243a273b28702d494d/tools/ninja/gen.py>
6. <https://github.com/Xeeynamo/ff7-decomp/blob/37f35a536ba80f0575e79e243a273b28702d494d/tools/builder/builder/build.go>
7. <https://github.com/Xeeynamo/ff7-decomp/blob/37f35a536ba80f0575e79e243a273b28702d494d/.github/workflows/build.yaml>
8. <https://github.com/Xeeynamo/ff7-decomp/blob/37f35a536ba80f0575e79e243a273b28702d494d/CMakeLists.txt>
9. <https://github.com/Xeeynamo/ff7-decomp/blob/37f35a536ba80f0575e79e243a273b28702d494d/.gitmodules>
10. <https://github.com/Xeeynamo/ff7-decomp/blob/37f35a536ba80f0575e79e243a273b28702d494d/bin/cc1-psx-26.gz.sha256>
11. <https://github.com/Xeeynamo/ff7-decomp/blob/37f35a536ba80f0575e79e243a273b28702d494d/Dockerfile>
12. <https://github.com/Xeeynamo/ff7-decomp/blob/37f35a536ba80f0575e79e243a273b28702d494d/LICENSE>

## More in Games

- [GoldenEye 007: matching Nintendo 64 decompilation for three releases](https://awesomerea.org/resources/goldeneye-007-matching-decomp-case/index.md) · Case study
- [Gran Turismo 4: an agent-assisted PS2 engine matching decompilation](https://awesomerea.org/resources/gran-turismo-4-matching-decomp-case/index.md) · Case study
- [Halo 2: an agent-assisted matching decompilation of an LTCG Xbox build](https://awesomerea.org/resources/halo2-matching-decomp-case/index.md) · Case study
- [Himuro: a matching Fatal Frame PS2 decompilation](https://awesomerea.org/resources/himuro-fatal-frame-decomp-case/index.md) · Case study
- [ICO decompilation: byte-identical PAL and Japanese PlayStation 2 boot ELFs](https://awesomerea.org/resources/ico-matching-decomp-case/index.md) · Case study
- [Kingdom Hearts 358/2 Days: a matching Nintendo DS decompilation](https://awesomerea.org/resources/kingdom-hearts-days-matching-decomp-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
