Super Mario Galaxy
Mario hops between tiny planets with their own gravity while saving Princess Peach from Bowser; the Wii classic on Switch.
Details
| Developer | Nintendo EAD Tokyo |
|---|---|
| Switch release | 2007; Switch 2025 |
| Genre | Platformer |
| Title ID | 010099C022B96000 |
| Version | 1.3.1 |
| SDK | 18 |
| Engine / developer | Nintendo EAD Tokyo (Wii, via NERD) |
| Graphics API | Vulkan |
| Frame rate | As on Switch |
| Default touch layout | 3D |
How it runs (English only)
The Wii game on NERD's Hagi layer (PowerPC code recompiled into main). Renders with Vulkan and generates shaders at run time, which the packing script captures on the Mac.
Update 1.3.1 (v327680) over the base game, SDK 18.3.5. The Wii game (codename Comet) on NERD's Hagi layer, on Vulkan. The PowerPC code is statically recompiled into main (hagi.config: Cpu Jit false, Statifier true), so there is no JIT. Hagi stands in for the Wii hardware: GX on Vulkan, the DSP with its ROMs in data/dsp, the disc from the RomFS, HD texture packs in data/texture_replace and data/ondemand_texture_replace. Modules main, subsdk0 (NintendoSDK_movie, for the WebM movies in data/video_replace) and sdk; subsdk1 (GLSLC), subsdk2 (nn::pcm) and subsdk3 / subsdk4 (NVIDIA's OpenGL and Vulkan drivers) are not loaded.
Known issues
- Effects drawn as points or lines come out one pixel wide.
Packing
Put the base game and update (NSP or XCI) in one folder, then:
python3 scripts/build_ipa_from_nsp.py ~/Games/super-mario-galaxy -k ~/keys/prod.keys