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.
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 GitHubThe 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.






