Seemingly driven by a dose of playful spite and curiosity, one developer has managed to successfully port macOS to a Nintendo Wii, partly because one person said it was impossible.
To take you back to the start of this story. Five years ago, when asked if one could get macOS on a Wii or Gamecube without virtualisation, one Redditor said, “There is a zero percent chance of this ever happening. If you truly understand the hardware-specific nature of OS X [now macOS] and the fact that the Wii does NOT actually use the same CPU, let alone GPU, you’ll realise this.”
That same user continued to double down, saying, “Go ahead and downvote me. I am correct on every single thing I said, especially about the CPU. That’s a custom CPU and GPU in the Wii, and there are no published documents about them.”
Developer, Bryan Keller, felt ‘encouraged’ by this and took this chance to prove that one guy wrong for that thing they said half a decade ago. They note that the Wii uses a PowerPC 750CL processor, which is an evolution of the chip used in some G3 iBooks and G3 iMacs, so “I felt confident that the CPU wouldn’t be a blocker.”
The memory, on the other hand, is a bit unique. The Wii uses 88 MB total, which is 40 MB less than the 128 MB of RAM that Mac OS X 10 officially calls for. Luckily, it will run with 64 MB, so memory proved to not be a problem either.
(Image credit: Bryan Keller on Github)
In order to actually get the software to run on the device, Keller wrote their own bootloader, loaded the kernel from an SD card, and created a device tree to pick up on all those bits of hardware, which it would then pass control to the kernel. Effectively, this bootloader serves as a bridge between the Wii hardware and the operating system.
Keller isn’t nearly done here, though. To get macOS running on the Wii, they also had to write their own drivers. Instead of using PCI to connect to various part of the system, the Wii uses a custom system-on-a-chip (SoC) called Hollywood, so Keller wrote a Hollywood driver, as well as an SD Card driver, Framebuffer driver, and they even managed to get help from a stranger on old messaging service Internet Relay Chat (IRC) for a patch to get their mouse and keyboard working on the Wii.
Once this was all done, they managed to finally boot the OS on the ageing Nintendo hardware. What they’ll do with it from here is anyone’s guess, but it’s an accomplishment nonetheless.
Keller says, “There’s something deeply satisfying about accomplishing something that, at the start, you weren’t even sure was possible.”
In fairness, they did reportedly have the idea to do this back in 2013, but if one Redditor declaring it’s impossible has helped them to ‘do the impossible’, that seems like a good outcome of a throwaway comment made five years ago.
“In the end, I learned (and accomplished) far more than I ever expected—and perhaps more importantly, I was reminded that the projects that seem just out of reach are exactly the ones worth pursuing.”
