Case study
Ocarina of Time: decompilation with MD5-checked ROM builds for 16 versions
Recreates a C source base for Ocarina of Time that rebuilds 16 Nintendo 64, GameCube and iQue Player ROM versions, using information from the game and static and dynamic analysis. Assets come from the user’s own ROM and each default build is checked against that version’s MD5; README states the project is not producing a PC port and still calls the repository a work in progress.
Requirements and limitations
- README describes recreating a source base from scratch using information inside the game and static and/or dynamic analysis, and states that it is not producing a PC port. It builds 16 N64, GameCube and iQue Player ROM versions (default gc-eu-mq-dbg); some ROM parts may not yet be shiftable, so modding can be difficult.
- Each build needs the user’s own base ROM for the chosen version, matching an MD5 listed in README; the repository includes no game assets and extracts them from that ROM during setup. Native ports such as Ship of Harkinian, and recompilation projects, are separate from this repository’s output.
- README documents Linux or WSL builds, with separate macOS and Docker guides, needing Git, build-essential, curl, Python 3.10+ with pip and venv, libxml2 and a MIPS binutils toolchain. N64 and GameCube code builds with IDO 7.1 and 5.3 through ido-static-recomp; iQue builds also use EGCS for some files, and an optional GCC build is non-matching.
- With the default COMPARE=1, make checks the built ROM’s MD5 against the version’s checksum file and prints OK or FAILED; NON_MATCHING=1 or COMPILER=gcc turns the check off. GitHub Actions, using a private container holding the base ROMs, reported all 16 version builds successful for the pinned commit, and the mutable progress badge read 100% on review. This collection ran no build.
- The pinned tree has no license file and GitHub detects none, so no reuse license is stated; Nintendo content and compiler components keep their own terms. The reviewed sources establish no REA or coding-agent involvement.
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 · zeldaret/oot · Revision 8a3634c
- Makefile GitHub · zeldaret/oot · Revision 8a3634c
- docs/compilers.md GitHub · zeldaret/oot · Revision 8a3634c
- docs/BUILDING_MACOS.md GitHub · zeldaret/oot · Revision 8a3634c
- baseroms/ntsc-1.0/checksum-US.md5 GitHub · zeldaret/oot · Revision 8a3634c
- .github/workflows/ci.yml GitHub · zeldaret/oot · Revision 8a3634c
- https://github.com/zeldaret/oot/actions/runs/38614247271
- https://zelda.deco.mp/games/oot