3 ms·
One thing to note is that Nintendont is not for Wii U only, it's also useful for later Wii models that removed GC support. The Wii has two processors: the main
by Kipters 5y ago
One thing to note is that Nintendont is not for Wii U only, it's also useful for later Wii models that removed GC support.
The Wii has two processors: the main PowerPC one which runs the game bare-metal dubbed Broadway, and a smaller ARM9 core hidden inside the GPU package dubbed Starlet which runs a separate firmware called IOS. The game running on Broadway accesses all the Wii hardware by sending requests to IOS - which also controls clocks etc. Wii U has a similar architecture with the Espresso and Starbuck respectively. On the Wii, Starlet also handles background network activity and WiiConnect 24.
The Wii holds multiple IOS versions in its main NAND flash, and everytime a game loads the System Menu (the one with the channels) reads the required version from the game metadata and reboots both Broadway and Starlet into the game and correct IOS versions. This is why for example early games like Twilight Princess didn't light up the drive led bar when receiving messages like in more recent games: that game was stuck on IOS4, which didn't support that feature.
Now, what happens when the user inserts a GameCube disk into a compatible Wii is that the System Menu loads a special IOS called MIOS. This disables access to all Wii-specific hardware, downclocks the CPU and GPU, sets up the memory layout and effectively turns the system into a GameCube (it's been a while, but I think it also completely disables Bluetooth so you can't even use the Wiimote to shut it down, you need to get up and walk to the machine to turn it off).
In the initial versions it didn't scrub memory, so the Twiizer Hack happened: in GC mode you can only access 16 of the 64 MB memory, but using tweezers to manipulate the address lines they managed to "move" this window and dump it over the controller port serial, and found keys.
IOS can and has been hacked or entirely replaced, the Twiizers team even wrote their own 100% free replacement, but other teams came up with hacked versions that i.e. redirected optical drive calls to USB devices, to enable piracy.
Nintendont skips MIOS: it runs with IOS, so it has access to all the hardware as if it was a native Wii application, so it can access the SD, USB, Bluetooth and even the NAND flash or network if it wanted to.
The Wii U works similarly: Starbuck runs a firmware called IOSU (not based on IOS). When starting the Virtual Wii mode, a process called cafe2wii is launched. This shuts down IOSU, lowers clocks, disables access to Wii U hardware and reboots into IOS80 to run the Wii System Menu.
You can read more at hackmii.com, wiiubrew.org and wiibrew.org
- ace2358 5y agoThanks for this response. I know what a few of the words means but this nicely puts it all together in my head. :)
- Kipters 5y agoHappy it helped! I also found some info about how Nintendont lets you use controllers and virtual memory cards: it provides the game with its own implementation of the GameCube system calls which then use whatever is best suited for the task, even for the controllers. The USB GameCube controller adapter is completely different from the native ports in GC and GC-compatible Wiis (it's a USB HID device, while the original one sits on an internal bus). Same for memory cards, in the original hardware those sit on the EXI bus while the Nintendont just works on files on the SD card), and the same applies to the Optical Disc Drive.