Bryan Keller Brings Apple's Mac OS X to a Whole New Platform: The Nintendo Wii

Nintendo's hugely successful but resource-constrained 2006 games console gets Apple's iconic 2001 operating system.

Gareth Halfacree
2 seconds agoRetro Tech

Developer Bryan Keller has taken Apple's Mac OS X somewhere it was never intended to go: a Nintendo Wii console.

"Since its launch in 2007, the Wii has seen several operating systems ported to it: Linux, NetBSD, and most-recently, [Microsoft] Windows NT. Today, [Apple] Mac OS X joins that list," Keller writes of the project. "If you’re not an operating systems expert or low-level engineer, you’re in good company; this project was all about learning and navigating countless 'unknown unknowns.' Join me as we explore the Wii’s hardware, bootloader development, kernel patching, and writing drivers — and give the PowerPC versions of Mac OS X a new life on the Nintendo Wii."

Looking for an unusual pathway into the Apple ecosystem? How about Mac OS X running on a Nintendo Wii? (📹: Bryan Keller)

The Nintendo Wii was launched as the follow-up to the Nintendo GameCube in 2006, and its "Revolution" codename gave a hint at just how much of a departure it was from the company's previous devices. The system was built around the concept of motion-first control, using a rectangular "Wiimote," plus optional "Nunchuck," which used a small IR sensor in the tip to track the position and angle of two infrared LEDs in the inaccurately-named "sensor bar" positioned on top of or in front of the TV.

Inside the console was a processor developed by IBM, codenamed Broadway, and while this was a custom part developed specifically for Nintendo, it was effectively identical to the PowerPC 750CL family. As a result, software written for the PowerPC platform can be convinced to run on a Nintendo Wii — so long as you can handle the somewhat cramped 24MB of system RAM on board, with a slower secondary 64MB available and intended for graphical use.

Apple's Mac OS X, meanwhile, launched in 2001, five years before the Nintendo Wii hit shelves. Like all versions of Apple's operating systems, bar a few short-lived third-party licensing deals, Mac OS X was designed purely for use on Apple's own machines — but high hardware costs led to a range of "hackintosh" projects, which ran the operating system on non-Apple hardware. That didn't extend to the Nintendo Wii, until now.

"Before figuring out how to tackle this project, I needed to know whether it would even be possible. According to a 2021 Reddit comment, "There is a zero percent chance of this ever happening,'" Keller writes. "Feeling encouraged, I started with the basics: what hardware is in the Wii, and how does it compare to the hardware used in real Macs from the era."

With a CPU that should be compatible with PowerPC software and, in theory, just about enough RAM to get early versions of Mac OS X booting, Keller set about supporting a minimal subset of the console's hardware: serial output for debugging, the SD Card slot for storage, interrupt controllers, a RAM-based framebuffer for video output, and USB ports for a keyboard and mouse.

With Mac OS X being built atop an open source core, Keller was able to dig deeply enough into its internals to port it across to Nintendo's console. A custom bootloader brings the operating system up, new device drivers handle the hardware, and a patched kernel finishes the project — eventually, after quite some considerable effort that included Keller taking the machine to Hawaii on vacation in order to get in some additional hacking.

"I first had the idea for this project back in 2013," Keller notes, "when I was a sophomore in college. For over a decade, it sat on the back burner; it’s easy to put off a project like this, especially when your day job already involves solving technical problems. Last year, when I saw that Windows NT had been ported to the Wii, I felt a renewed sense of motivation. Even if my lack of low-level experience resulted in failure, attempting this project would still be an opportunity to learn something new."

The full write-up is available on Keller's blog; source code and releases are available on GitHub under an unspecified open source license.

Gareth Halfacree
Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles