Skip to content
PORTSNATIVE.
HomeCatalog
Web GamesEmulatorsToolsNews
PORTSNATIVE.

A catalog for discovering ports and related projects. We link to official sources and do not host original game files.

ExploreCatalogMy list
InformationAbout usSuggest a portSupportDonationsLegal notice
© 2026 PortsNative
Back to catalog
Mario Kart 64
PORTSNATIVE

Mario Kart 64

NATIVE PORTRACING / DRIVINGWINDOWSALPHA

Mario Kart 64

TechnologyDecompilation and reconstruction in C/C++

Available forWindows

View official project

About the project

Mario Kart 64 es un videojuego de carreras para la Nintendo 64 (N64). Desarrollado y publicado por Nintendo, es la segunda entrega de la serie Mario Kart tras Super Mario Kart de 1992. Conserva la mecánica de su predecesor: el jugador, que controla a un personaje de la franquicia Mario, compite contra sus rivales en circuitos basados en escenarios de los plataformas de Super Mario. Contienen obstáculos para frenarlo y cajas de objetos que le proporcionan potenciadores para ayudarle a avanzar.

12 versions of Mario Kart 64

You're viewing: Mario Kart 64

Mario Kart 64github.com/n64decomp/mk64
Windows
Current
Mario Kart 64 - MarioKart64Recompgitlab.com/sonicdcer/MarioKart64Recomp
Windows
Linux
macOS
›
Mario Kart 64 (3DS Port Complete)github.com/Epic0522/MarioKart64-3DSPort-Complete
Windows
›
Mario Kart 64 (3DS)github.com/EstebanPdN/mario-kart-64-3ds
To be confirmed
›
Mario Kart 64 (jnmartin84)github.com/jnmartin84/mk64-dc
Windows
›
Mario Kart 64 (MK64Recomp)github.com/arefdsg/MK64Recomp
Windows
›
Mario Kart 64 (MKart360, Xbox 360)github.com/sirdankz/MKart360
Windows
›
Mario Kart 64 (Xbox)github.com/Team-Resurgent/Mario-Kart-64-X
To be confirmed
›
MarioKart 64: Recompiledgithub.com/sonicdcer/MarioKart64Recomp
Windows
Linux
macOS
›
MK64 Portable (Mario Kart 64, PSP)github.com/beckerd/psp_mk64_portable
To be confirmed
›
SpaghettiKartgithub.com/HarbourMasters/SpaghettiKart
Windows
Linux
macOS
›
SpaghettiKart (Android)github.com/izzy2lost/SpaghettiKart
Android
›

Official project information

Author's original READMEOpen on GitHub ↗

Mario Kart 64

This decompilation of Mario Kart 64 pursues historical and educational elements within the game found via taking it apart and putting it back together. Inspiration to do so not only emanates from the game's hardware and technology but also its immensely positive effects on the cultures and families of nearly every nationality.

This repository does not contain assets. Compiling requires asset extraction from a prior copy of the game.

It supports and builds the following versions:

ROM OutputRevisionSHA-1 Checksum
mk64.us.z64USA579c48e211ae952530ffc8738709f078d5dd215e
mk64.eu.v10.z64EUR 1.0a729039453210b84f17019dda3f248d5888f7690
mk64.eu.v11.z64EUR 1.1f6b5f519dd57ea59e9f013cc64816e9d273b2329

Progress

Linux Compile

Build Status

Quick Start

git submodule update --init --recursive
OR
git clone https://github.com/n64decomp/mk64 --recurse-submodules

Extract assets

make -C tools -j
make assets -j
make -j

Building

Build instructions located in the API docs
See also, the comprehensive API and documentation which includes an overview of the code-base while also discussing significant concepts, features, and modding.

Current State

The code-base may change significanty overtime as naming and documentation continues. Adjustments to the game require compiling with AVOID_UB=1 to enable shiftability. Use DEBUG=1 to enable the games debug mode.

Some menu textures are compressed using a format called tkmk00. A byte-matching compressor/decompressor does not yet exist.

Project Structure

mk64
├── asm: Handwritten assembly code, rom header and boot
│   ├── non_matchings: Assembly for non-matching sections
│   └── os: Libultra handwritten assembly code
├── assets: Textures
├── courses: Course data, geography, display lists and staff ghosts
├── build: Output directory
├── data: Misc data, text, audio banks, and instrument sets
├── docs: Build guides
├── include: Header files
├── music: Sequences
├── src: C source code for the game
|   ├── actors: Individual actors split out from other files
│   ├── audio: Sample tables and audio code
│   ├── data: Misc data referenced in other C files
|   ├── debug: Custom debug code
|   ├── ending: Podium ceremony and credits code
│   ├── os: Libultra C code
|   └── racing: Race and game engine code
├── textures: Texture data, bitmaps
|   ├── common: Textures common to many courses
|   ├── courses: Course specific textures
|   ├── crash screen: Crash screen font image
│   ├── raw: Raw textures
│   ├── standalone: Whole textures
|   ├── startup_logo: Reflection map
|   └── trophy: Ceremony cutscene podium and trophy textures
└── tools: build tools

Documentation

Documentation available online at https://n64decomp.github.io/mk64/.

Documentation generated using Doxygen. Run make doc to test locally. Documentation resides in docs/html. Open index.html to view the site.

Contributing

Pull requests are welcome. For major changes, please discuss in the Discord.

Run make format to ensure it meets the project's coding standards. If code needs to avoid formatting place // clang-format off before the code and // clang-format on after.

Official Discord: discord.gg/DuYH3Fh

Read official guide
CALIFICACIÓN
—
Loading votes…
Advertisement

PROJECT FILE

Project type
NATIVE PORT
Genre
Racing / Driving
Status
alpha
Original platform
—
Technology
Decompilation and reconstruction in C/C++
Version
—
Updated
—

Target platforms 1

Windows
View on GitHub
Advertisement