Case study
MediEvil decompilation: an early checksum-gated PlayStation project
Decompiles the US PlayStation release of MediEvil toward C source that rebuilds its main executable, game executable and 26 overlays. splat splits the user's own disc files, and the default build compares all 28 outputs with SHA-1 checksums. README describes the project as a work in progress and publishes no progress figure.
Requirements and limitations
- README describes a work-in-progress decompilation of the US PlayStation MediEvil 1, with MediEvil 2 left for later. The Makefile targets SCUS_942.27, MEDIEVIL.EXE and 26 overlay binaries. In the reviewed tree most functions are still included as split assembly through INCLUDE_ASM rather than written in C, README's progress section is a placeholder, and the pinned commit dates from 2026-02-23.
- Requires files from the user's own US MediEvil disc in disk/; the splat configuration expects SCUS_942.27 with a fixed SHA-1, and make extract splits the executables and overlays from those files. The repository supplies no game files.
- The build expects a Linux-style host: GNU make, mipsel-linux-gnu binutils, Python 3 with the listed packages such as spimdisasm and rabbitizer, and the splat, m2c, maspsx and asm-differ submodules. C files go through a bundled PlayStation GCC 2.8.1 cc1 binary and maspsx. README points contributors to wiki pages for setup, the rebase workflow and the decompilation process.
- make all builds every binary and runs sha1sum against config/medievil.check.sha; CI runs extraction and that check using disc files from an access-restricted repository. A passing check shows that the assembled outputs match those checksums, not how much code has been decompiled to C or that gameplay was exercised. This collection did not build or run the project.
- The repository declares MIT; original game content, the bundled compiler binaries and the PSY-Q headers and data in the tree retain their own terms. The reviewed sources establish no AI or REA attribution, and the project is separate from the MediEvil Recomp static recompilation.
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
- README.md GitHub · MediEvilDecompilation/medievil-decomp · Revision 6afe6fe
- Makefile GitHub · MediEvilDecompilation/medievil-decomp · Revision 6afe6fe
- config/medievil.check.sha GitHub · MediEvilDecompilation/medievil-decomp · Revision 6afe6fe
- config/splat.main.yaml GitHub · MediEvilDecompilation/medievil-decomp · Revision 6afe6fe
- .gitmodules GitHub · MediEvilDecompilation/medievil-decomp · Revision 6afe6fe
- tools/requirements-python.txt GitHub · MediEvilDecompilation/medievil-decomp · Revision 6afe6fe
- .github/workflows/ci.yaml GitHub · MediEvilDecompilation/medievil-decomp · Revision 6afe6fe
- src/game/800.c GitHub · MediEvilDecompilation/medievil-decomp · Revision 6afe6fe
- LICENSE GitHub · MediEvilDecompilation/medievil-decomp · Revision 6afe6fe