Case study

SpaghettiKart: a native Mario Kart 64 port built on decompiled source

Builds a native Mario Kart 64 port for Windows, Linux, macOS and Switch from source that keeps the Mario Kart 64 decompilation’s file layout, running on libultraship’s reimplemented N64 SDK. Its bundled Torch extractor converts the user’s US ROM into an asset archive, and the port adds mods, custom tracks and an editor. The README does not name its upstream decompilation, and no matching or fidelity checks are published.

Requirements and limitations

  • The README does not name its upstream, but the tree keeps the Mario Kart 64 decompilation’s src/, course, extraction and progress-tooling layout, while new engine and port directories add C++ systems, mod loading, custom tracks and the unfinished HM64 Labs editor. Release 1.0.0 “Bolognese Alfa” (February 2026) is the latest stable release; nightly CI builds are for playtesting only.
  • Supports only the US ROM with SHA-1 579C48E211AE952530FFC8738709F078D5DD215E in .z64 byte order. The bundled extractor converts that user-supplied ROM into mk64.o2r; the README states that SpaghettiKart includes no copyrighted assets, and the Switch build reuses an archive generated by a PC release.
  • Source builds need submodules (libultraship, Torch, fast64 and others), CMake 3.16+ and Python 3. Windows uses Visual Studio 2022 with the v143 toolset and at least 8 GB of RAM; Linux needs GCC or Clang with SDL2, libzip, tinyxml2, spdlog, Boost and Ogg/Vorbis packages. Rendering backends are DirectX 11 on Windows, OpenGL on all platforms and Metal on macOS.
  • CI compiles Windows, Linux and macOS packages and packs the project’s own spaghetti.o2r; no ROM-based test, matching check or gameplay comparison is published. The FAQ records limits such as eight racers and eight selectable characters, limited HD texture support and no online play. This collection did not build or run the port.
  • The reviewed tree has no top-level license file, so reuse terms for the project’s code are unstated; libultraship and Torch declare MIT, and Nintendo content retains separate rights. 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/SpaghettiKart · Revision 5073d2e
  2. docs/BUILDING.md GitHub · HarbourMasters/SpaghettiKart · Revision 5073d2e
  3. docs/faq.md GitHub · HarbourMasters/SpaghettiKart · Revision 5073d2e
  4. CMakeLists.txt GitHub · HarbourMasters/SpaghettiKart · Revision 5073d2e
  5. .gitmodules GitHub · HarbourMasters/SpaghettiKart · Revision 5073d2e
  6. .github/workflows/main.yml GitHub · HarbourMasters/SpaghettiKart · Revision 5073d2e
  7. .github/workflows/linux-compile.yml GitHub · HarbourMasters/SpaghettiKart · Revision 5073d2e
  8. README.md GitHub · Kenix3/libultraship · Revision 60c9bb7
  9. README.md GitHub · HarbourMasters/Torch · Revision 2d474dd
  10. https://github.com/HarbourMasters/SpaghettiKart/releases/tag/1.0.0