Skip to content

About

Native Nintendo 3DS port work based on the Mario Kart 64 decompilation.

Topics

Resources

Contributing

Stars

256 stars

Watchers

6 watching

Forks

Repository files navigation

Mario Kart 64 3DS

Pick your kart. Bring the race with you.
Mario Kart 64, adapted for Nintendo 3DS.

Download · Features · Documentation · Changelog · Contribute · Community

Nintendo 3DS Updates: built in Component-specific licenses

Mario Kart 64 running on Nintendo 3DS

Visit Esteban’s Forge Join our Discord community Support EstebanPdN on Patreon

Native Nintendo 3DS port of Mario Kart 64, based on SpaghettiKart, with a dual-screen interface, touch menus and customizable controls and display options.

This project was developed with the help of OpenAI Codex and Claude Code. Learn more about the development process here.

A legally obtained USA Mario Kart 64 ROM is required. No ROM or extracted game data is included.

Features

Race your way
Single-player Grand Prix, Time Trial, VS and Battle, with CPU opponents, random cups and AUTO spectator mode.
Made for two screens
Top-screen racing, five HUD layouts, course maps and bottom-screen touch menus.
Tune the presentation
Adjust render scale, draw distance, filters, UI textures and display profiles.
Keep it current
Built-in Stable and Experimental updates that preserve your game data, saves and settings.

Download and installation

  1. Download the CIA or 3DSX from the releases page.
  2. Install the CIA with FBI, or use the 3DSX with the Homebrew Launcher.
  3. Place your USA ROM at sd:/3ds/MK64/mk64.z64.
  4. Launch the port. It validates the ROM and creates mk64.o2r on the SD card. Later launches reuse this archive.

The ROM must use .z64 byte order. Use the Hack64 ROM Swapper if conversion is needed. First-time extraction can take a while; keep the console charged.

For faster setup, download the MK64 Extractor for Windows x64, macOS Apple Silicon or Linux x64 from the same release. Create mk64.o2r on your computer from your USA ROM, then copy it alongside your ROM:

sd:/3ds/MK64/mk64.z64
sd:/3ds/MK64/mk64.o2r

Use Options > Game > Update for built-in updates. See the updater guide for details.

Controls

Input Action
Circle Pad Steer
A Accelerate
B Brake / Reverse
R Hop / Drift
L Use item; open Options from Game Select
X Rear view
Y Cycle HUD layouts
C-Stick Hold for Turbo
Touch screen Navigate menus
SELECT Camera distance by default; configurable in Options
START Start / Pause / Continue

Documentation

Community and bug reports

Join the project Discord for updates, support and suggestions. Report reproducible problems through GitHub issues, including your version, console model and steps to reproduce the issue.

Credits

  • SpaghettiKart and the N64 reverse-engineering and decompilation communities — the foundation of this port.
  • Epic0522's MarioKart64-3DSPort-Complete — solo modes, AUTO, random cups, Modern Logic and runtime corrections.
  • Epic0522's Super Mario 64 3DS Port Ultimate — 3DS implementation and optimization references.
  • The Nintendo 3DS homebrew community — tools and libraries.
  • EstebanPdN — Nintendo 3DS adaptation, HUD, branding and updater, with help from Codex.

License and legal notice

Licenses are component-specific. The updater includes GNU GPL v3.0; its dependencies retain their curl, mbedTLS and Jansson licenses. SpaghettiKart and its libraries retain their upstream notices. No blanket license applies to the whole repository or to Nintendo game content.

This is an unofficial fan project, unaffiliated with Nintendo or Harbour Masters. Mario Kart 64 and its game content belong to Nintendo.


Esteban’s Forge · Discord · Documentation · License and notices
An independent fan project. Game names and content belong to their respective owners.

About

Native Nintendo 3DS port work based on the Mario Kart 64 decompilation.

Topics

Resources

Contributing

Stars

256 stars

Watchers

6 watching

Forks

Releases

Packages

Contributors

Languages