Il réussit à faire tourner Mac OS X sur la Nintendo Wii
Sur 101 millions de Nintendo Wii vendues depuis 2006, une seule tourne sous Mac OS X. Elle appartient à Bryan Keller, un développeur qui a adapté le système d’exploitation d’Apple de 2001 à la console de Nintendo, marquant la première fois qu’une version de macOS fonctionne sur ce support.

Le point de départ de Bryan Keller, c’est le processeur. La Wii embarque un IBM Power 750, dérivé du PowerPC 750CXe qu’Apple utilisait dans ses iMac et Power Mac G3. Cette parenté directe avec les puces des Mac du début des années 2000 ouvrait une fenêtre : si le matériel parle le même langage, le logiciel peut potentiellement suivre.
Le choix de Mac OS X Cheetah, la version 10.0 sortie en 2001, n’est pas nostalgique. La console de Nintendo ne dispose que de 88 Mo de RAM, bien en dessous des 128 Mo théoriques requis par le système. Cheetah présente l’avantage de fonctionner avec nettement moins en pratique. Les versions ultérieures de Mac OS X, plus gourmandes, étaient hors de portée. Le noyau Darwin, socle open source de Mac OS X, facilitait également les modifications nécessaires : le développeur a déterminé qu’il fonctionnerait en modifiant les parties open source.
Un bootloader fait maison et un noyau retravaillé
La partie logicielle était autrement plus complexe. Bryan Keller a dû concevoir un bootloader entièrement nouveau, chargé d’expliquer à Mac OS X comment interagir avec les composants de la Nintendo Wii, accompagné d’un device tree personnalisé décrivant l’architecture matérielle de la console. Il a ensuite modifié le noyau XNU d’Apple pour qu’il reconnaisse ce matériel, puis a développé les pilotes spécifiques correspondants.

Un obstacle supplémentaire attendait du côté de la vidéo : le circuit d’encodage de la Wii est optimisé pour la sortie TV analogique et exige des données en pixels YUV 16 bits, alors que Mac OS X génère nativement du RGB. La solution passe par deux tampons d’images effectuant 60 conversions par seconde. Le résultat final est un système réellement utilisable avec souris et clavier, une première sur cette console.
