Case study

Starship: a Star Fox 64 PC port built from the decompilation

A native PC port of Star Fox 64 that compiles the game's decompiled C code against libultraship, an N64 porting library that reimplements libultra and renders through Fast3D. On first run it uses the Torch tool to turn the user's US ROM into an asset archive, and it ships for Windows, Linux, macOS and Switch. The README of the separate Starfox 64: Recompiled static recompilation calls this port its sibling, built with different technology.

Requirements and limitations

  • Starship's README presents a PC port with release and playtest builds. DOCS/fox_lore.md in the sibling Starfox64Recomp repository describes it as a native port of the sf64 decompilation's C code on libultraship (which reimplements most of libultra and uses a Fast3D renderer) and says native porting exposed asset-linking errors and undefined behaviour that matching code alone did not reveal. CMakeLists.txt compiles src/engine, src/overlays, src/sys and src/audio with a port layer in src/port. The latest release is v2.0.0 (2025-05-25), and README warns that CI playtest builds will likely show bugs and possibly crashes.
  • Supply a US 1.0 or US 1.1 Rev A ROM in .z64 form; README lists the SHA-1 of each. The first run, or the ExtractAssets build target, turns it into sf64.o2r through Torch, using the definitions in config.yml and assets/yaml. JP and EU ROMs serve only as voice-language replacements alongside a US ROM, and the Switch build needs the archive generated on PC. The repository holds extraction definitions, not game assets.
  • Releases target Windows, Linux (AppImage), macOS and Nintendo Switch, with DirectX 11, OpenGL and Metal back ends. Building needs CMake, Python 3 and Git with Visual Studio 2022 (v143 tools; at least 8 GB of RAM) on Windows, or gcc or clang with Ninja and libraries including SDL2, libzip, spdlog, tinyxml2, Boost and Ogg/Vorbis on Linux. Submodules are libultraship, Torch and asm-differ; CI generates only the port's own starship.o2r and packages builds without a ROM.
  • Neither README nor BUILDING.md documents automated gameplay tests or comparisons with the original game, and the decompilation's matching status belongs to the separate sf64 project. This collection did not download builds or run anything.
  • LICENSE.md is CC0 1.0 Universal; the ROM, extracted assets and the game remain their owners' property, and the submodules keep their own terms. README says the project does not condone piracy. The reviewed sources establish no AI or REA attribution, and no runtime reproduction is claimed.

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 · HarbourMasters/Starship · Revision 3322643
  2. docs/BUILDING.md GitHub · HarbourMasters/Starship · Revision 3322643
  3. CMakeLists.txt GitHub · HarbourMasters/Starship · Revision 3322643
  4. config.yml GitHub · HarbourMasters/Starship · Revision 3322643
  5. .gitmodules GitHub · HarbourMasters/Starship · Revision 3322643
  6. .github/workflows/main.yml GitHub · HarbourMasters/Starship · Revision 3322643
  7. LICENSE.md GitHub · HarbourMasters/Starship · Revision 3322643
  8. https://github.com/HarbourMasters/Starship/releases/tag/v2.0.0
  9. DOCS/fox_lore.md GitHub · sonicdcer/Starfox64Recomp · Revision f299655