Case study
Castlevania 64: Recompiled — a beta static-recompilation port
Uses N64Recomp to statically recompile the US 1.0 Nintendo 64 release of Castlevania into a native PC port rendered with RT64. Game-specific C patches build against headers from a separate Castlevania 64 decompilation. A beta release tagged at the reviewed commit reports a working build with known issues, while the README there still describes an unfinished project.
- Targets
- Game
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Sources reviewed
Requirements & limits
- Prerequisites: The metadata says the original game is required. The launcher accepts a single entry, the US 1.0 release (game ID cv64.us.1.0) identified by a fixed ROM hash, and cv64.toml configures the NTSC 1.0 recompilation from a decompressed ELF plus an overlay list. CI copies that ELF and a decompressed ROM from a private repository through secrets; neither is in the public tree.
- Prerequisites: The CMake project needs CMake 3.20+, C++20 and the N64Recomp and RSPRecomp tools; the workflow pins an N64Recomp commit and builds Linux x64 and ARM64 AppImages, an x64 Flatpak, Windows and macOS targets. Patches compile as MIPS code with clang and ld.lld against headers from the k64ret/cv64 decompilation submodule, with symbol dumps from CV64Syms and submodules for N64ModernRuntime, RecompFrontend and RT64. Several sources and functions still carry Banjo names.
- Scope: The AppStream metadata describes Castlevania 64: Recompiled as an N64: Recompiled static recompilation into a native port using RT64 for rendering. The v0.5.0 beta release, tagged at the reviewed commit, calls itself a working build and lists known issues: Banjo Recomp assets still to be replaced, texture scrolls that do not animate above 30 FPS, and glitches in some looping animations. At the same commit the README still says the WIP recomp does not build, and BUILDING.md only says WIP.
- Testing evidence: GitHub check runs recorded for the reviewed commit report successful builds on those platforms. No matching, test or performance results are documented.
- License: COPYING is GPLv3 and the metadata declares GPL-3.0+; the original ROM and the dependencies keep their own terms.
About this entry
The description was reviewed against primary sources.
Primary sources
- flatpak/io.github.cv64recomp.cv64recomp.metainfo.xml GitHub · RevoSucks/CV64Recomp · Revision 141b35d
- README.md GitHub · RevoSucks/CV64Recomp · Revision 141b35d
- BUILDING.md GitHub · RevoSucks/CV64Recomp · Revision 141b35d
- cv64.toml GitHub · RevoSucks/CV64Recomp · Revision 141b35d
- patches.toml GitHub · RevoSucks/CV64Recomp · Revision 141b35d
- src/main/main.cpp GitHub · RevoSucks/CV64Recomp · Revision 141b35d
- CMakeLists.txt GitHub · RevoSucks/CV64Recomp · Revision 141b35d
- patches/Makefile GitHub · RevoSucks/CV64Recomp · Revision 141b35d
- .gitmodules GitHub · RevoSucks/CV64Recomp · Revision 141b35d
- .github/workflows/validate.yml GitHub · RevoSucks/CV64Recomp · Revision 141b35d
- COPYING GitHub · RevoSucks/CV64Recomp · Revision 141b35d
- https://github.com/RevoSucks/CV64Recomp/releases/tag/v0.5.0
More in Games
- Conker's Bad Fur Day: Recompiled — an N64Recomp native port · Case study
- CPS-2 Recomp: static recompilation of Capcom CPS-2 and CPS-1 arcade games · Case study
- Crash Bandicoot 2 Recompiled: a PSXRecomp native build · Case study
- Dead Rising 2: Case West — a sibling Xbox 360 XBLA static recompilation port · Case study
- Dead Rising 2: Case Zero — an Xbox 360 XBLA static recompilation port · Case study
- Devil May Cry: an experimental PS2 static recompilation · Case study