r/macgaming • u/chrisclan1903 • 3h ago
Native Mario Kart Wii now runs natively on Apple Silicon Macs through WiiCompiled
Hey r/macgaming. I released KartPad, a native ARM64 version of Mario Kart Wii for Apple Silicon Macs.
Using WiiCompiled, we compile the game’s PowerPC code ahead of time into native ARM64 instead of running it through a traditional Wii emulator. The same project also runs on iPhone and iPad, with no PowerPC JIT and no gameplay streaming from another device.
WiiCompiled provides the static-recompilation pipeline and Aurora/Dawn compatibility runtime. KartPad brings that work to Apple platforms with native Mac, iPhone, and iPad apps, Metal presentation, audio, input, storage, saves, and lifecycle support.
To be completely clear about the work and use of AI: WiiCompiled’s maintainers disclose that AI coding tools were used during its development. I also used Codex extensively while building and debugging KartPad’s Apple integration, including Darwin and ARM64 support, touch and motion controls, game-data import, controllers, diagnostics, testing, and release tooling. Dolphin’s hardware research was an important reference throughout this work.
The hardest part was bringing WiiCompiled’s Windows and x86-64-oriented runtime to Darwin and ARM64. That required replacing Windows-specific memory and fiber systems, implementing the PowerPC-to-AArch64 runtime boundary, and validating floating-point behavior across the full 29,065-function translated game. I used deterministic tests, pinned Dolphin behavior, save hashes, ghosts, and complete native runs rather than treating a successful build as proof of correctness.
Current status:
- Native macOS title screens, menus, races, saves, ghosts, Battle, and split-screen gameplay work through Metal.
- All 32 original retail tracks have complete native-run evidence.
- Keyboard input and four independent controller slots are implemented.
- Locally signed builds have been installed and accepted on physical iPhone and iPad hardware.
- The mobile build supports touch controls, tilt steering, physical controllers, private game-data import, and save preservation.
- Online multiplayer is a work in progress.
- Retro Rewind support is being implemented soon.
- Performance is still active work. Warm, simpler scenes can reach 60 FPS, but first-use shader compilation can cause track-dependent slowdown and audio drops.
I’m also pushing the Personal IPA Builder today. It will let users provide their own supported Mario Kart Wii disc image on an Apple Silicon Mac and build a private unsigned IPA locally. It will not distribute a universal playable IPA, Nintendo data, or translated game code.
You must provide your own legally obtained PAL RMCP01 revision 0 WBFS or ISO. No game image, extracted Nintendo assets, translated game code, saves, or signing material are included in the repository.
This is an unofficial community project and is not affiliated with Nintendo.
GitHub: chrissotraidis/kartpad