Hacking Homebrew Homebrew game Project [Release] Mario Kart 64 3DS Port Complete

Epic0522

Active Member
Newcomer
Joined
Jul 29, 2026
Messages
25
Reaction score
86
Trophies
0
Age
21
XP
189
Country
Japan
1.png


This continues EstebanPdN’s original Nintendo 3DS port, based on SpaghettiKart. I’ve been working on performance, stability, rendering, audio and the dual-screen interface, alongside some optional gameplay improvements and new ways to play.

Join my Discord community for updates, discussion and feedback.



What’s new?​

  • Performance and memory improvements on both Old and New 3DS, including reduced SD access and better resource handling between races.
  • Rendering fixes for incorrect depth, premature culling, flickering trees, water and results-screen viewports.
  • A polished dual-screen interface, with five HUD layouts, eight-driver portrait standings, crisp minimaps and lap-time breakdowns.
  • Improved audio and feedback, including positional CPU sounds, item effects, finish voices and opponent reaction text.
  • Solo VS and Battle: race against seven CPUs in VS, or face three bots in the original Battle arenas.
  • Random Cups: play four random tracks with your selected driver and engine class, or randomize both.
  • AUTO mode: let the CPU drive and watch the race, switching between drivers and camera views.
  • Global Turbo Speed, activated by holding the C-Stick or toggled with ZL, including during AUTO.
  • Smoother transitions, including title screens, retries, results, ceremonies and credits.
  • A custom animated HOME Menu banner, with a waving flag and a front-facing logo.

Optional Modern Logic​

Modern Logic reworks CPU item behaviour and race pacing. CPUs collect actual item boxes, use a revised item pool and receive more consistent hit penalties. Red and blue shells follow the road more reliably, and holding the brake through a stop lets you reverse.

It also adds sliding, flashing warnings for approaching red shells, blue shells and star-powered drivers, using the original game’s item graphics.

Modern Logic can be turned off under Gameplay. Rendering, stability, audio and UI fixes remain active either way.

AUTO and solo modes​

AUTO works in GP, VS and Battle. Choose a character, press SELECT on Character Select, and hand the controls to the CPU.

You can switch the observed driver with left/right and change the camera with A/B/X/Y. GP AUTO advances through results and retries automatically, so it can run through a whole cup without driving input. AUTO does not save awards or unlock progress.

Battle uses the original three-balloon rules. After elimination, you can use your one-use bomb, then spectate the surviving bots until the match ends. Pause and quit remain available.

Performance​

Both Old and New 3DS models are supported. With the frame limiter off, rendering can reach 60 FPS when workload permits; the optional limiter caps it at 30 FPS.

Performance still varies by console, course and what is happening on screen. Low render distance is the default, and the frame limiter starts enabled on Old 3DS and disabled on New 3DS.

Requirements and installation​

  • A homebrew-enabled Nintendo 3DS or 2DS-family console.
  • Your own compatible USA Mario Kart 64 ROM.
  • A CIA or full-game 3DSX build of the port.
Install the CIA with FBI, or launch the 3DSX through Homebrew Launcher. Place your big-endian ROM at:

sd:/3ds/MK64/mk64.z64

The first launch extracts mk64.o2r; later launches reuse it. An existing compatible SpaghettiKart O2R archive can also be used. When upgrading, keep sd:/3ds/MK64/ to preserve your saves, ghosts and settings.

No ROM or game archive is included. Local multiplayer is not available.

Source and build instructions​

MarioKart64-3DSPort-Complete on GitHub

The README covers controls, settings and features, with separate build instructions and a detailed change overview.

Bug reports​

Please open a GitHub Issue or report problems in Discord. Include your console model, build version, game mode, course, relevant settings and steps to reproduce the issue.

Screenshots or video are helpful. For performance or crash reports, Developer → Memory dump exports diagnostic data to sd:/3ds/MK64/dump/. Logging is optional and disabled by default.

Credits​

Thanks to EstebanPdN for the original 3DS port, Harbour Masters and the SpaghettiKart contributors, and the N64 decompilation and Nintendo 3DS homebrew communities whose work made this possible.
 
Great work @Epic0522!

Here are my findings from playing all 16 courses in time trial mode:

Game runs at about 5-20 fps avg 15 on 2DS (old 2DS), no crashes discovered.

When pausing in Time Trial, instead of the usual Continue, Retry, Course Select, Character Select, options there is only continue and quit. Selecting quit returns to the main menu. Completing the race shows all of the correct options.

Edit: added specifier that it is Old 2DS
 
Last edited by radicalten,
Great work @Epic0522!

Here are my findings from playing all 16 courses in time trial mode:

Game runs at about 5-20 fps avg 15 on 2DS, no crashes discovered.

When pausing in Time Trial, instead of the usual Continue, Retry, Course Select, Character Select, options there is only continue and quit. Selecting quit returns to the main menu. Completing the race shows all of the correct options.
New or Old 2DS? I'm not OP but that is useful info to provide, just speaking from a developer perspective
 
  • Like
Reactions: radicalten
Can’t wait to try this out. Multiplayer wirelessly would make this next level
How would that happen out of curiosity? The OG game never had online multiplayer. If it did I'd see a path. I think realistically, multi-card multiplayer is more likely to happen, if anything were to happen.
 
Hello I see the screen hang on front of entrance tunnel is playing recording but mine is white blank. do you have any idea what wrong?
 

Attachments

  • Screenshot_20261007_224946_Chrome.jpg
    Screenshot_20261007_224946_Chrome.jpg
    594.9 KB · Views: 0

Site & Scene News

New Hot Discussed User Submitted