A developer successfully ported Mac OS X 10.0 Cheetah to run natively on the Nintendo Wii. The project involved writing a custom bootloader (wiiMac) to load the XNU kernel, constructing a device tree representing the Wii's Hollywood SoC hardware, patching the XNU kernel source to fix BAT memory layout incompatibilities, and writing custom IOKit drivers for the SD card, framebuffer (including RGB-to-YUV conversion for the Wii's video encoder), and USB input. Key challenges included sourcing lost IOUSBFamily source code via IRC, handling the Wii's reversed-little-endian USB registers, and building a 25-year-old kernel in a QEMU-hosted environment. The result is a fully bootable Mac OS X system on the Wii, complete with GUI and USB keyboard/mouse support.

•32m read time•From bryankeller.github.io
Post cover image
Table of contents
Feasibility InvestigationPorting ApproachWriting a BootloaderPatching the KernelWriting DriversMaking Things Good â„¢Closing Thoughts
1 Comment

Sort: