Star on GitHubStar1.1k stars

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.

Targets
Game
Category
Independent reconstruction cases
Relationship
Independent reconstruction project
Sources reviewed

Requirements & limits

  • Prerequisites: 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.
  • Prerequisites: 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.
  • Scope: 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.
  • Testing evidence: 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.
  • License: 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.

About this entry

The description was reviewed against primary sources.

Report an outdated entry Suggest a translation fix

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

More in Games

All 318 entries in GamesGames case studies (239)

↑↓ move↵ open⌘↵ new tab