O desenvolvedor Bryan Keller conseguiu inicializar o Mac OS X 10.0 Cheetah, lançado em março de 2001, diretamente no hardware do Nintendo Wii, sem emulação. O projeto levou meses, envolveu escrita de código novo do zero e terminou com um desktop funcional, com teclado e mouse conectados via USB.
Por que o Wii era o candidato menos óbvio

Lançado em 2006, o Wii opera com um processador PowerPC 750CL rodando a 729 MHz e tem 88 MB de RAM. Quando Sony e Microsoft disputavam o mercado com PS3 e Xbox 360, a Nintendo apostou nos controles de movimento e num preço acessível, não em especificações brutas. A arquitetura de memória do console é dividida em dois blocos gerenciados por um chip chamado Hollywood: o MEM1, para operações essenciais, e o MEM2, voltado para gráficos e funções auxiliares, um arranjo que não tem equivalente nos Macs da era Cheetah.
O que abriu a porta para o experimento foi justamente o processador. O PowerPC 750CL do Wii é uma evolução direta do PowerPC 750CXe, o mesmo chip que equipava os iMac G3 e os iBook lançados no início dos anos 2000, ou seja, as mesmas máquinas para as quais o Cheetah foi projetado. CPU e sistema operativo falam a mesma linguagem de base, o que elimina uma das barreiras mais difíceis nesse tipo de experimento.
Bootloader do zero e LED como depurador
Keller descartou o Open Firmware e o BootX, os métodos tradicionais de inicialização dos Macs com PowerPC, e escreveu um bootloader próprio, com o objetivo de carregar o kernel do Mac OS X Cheetah no formato Mach-O diretamente no hardware do Wii. Para rastrear travamentos durante o processo, ele criou patches que acendiam o LED frontal do console em pontos específicos da execução, usando a luz do aparelho como ferramenta de diagnóstico.
Depois vieram os problemas de memória: o Mac OS X esperava uma distribuição de RAM padrão dos Macs da época, incompatível com o esquema MEM1/MEM2 do Wii. Keller foi adaptando cada peça do sistema uma a uma. Para fazer o teclado e o mouse funcionarem, ele precisou buscar no IRC o código-fonte de um driver USB com 25 anos, e ainda corrigiu um desajuste de cores entre a saída de vídeo do Wii e o código gráfico do Cheetah.
Das férias no Havaí ao GitHub
A dedicação foi além do ambiente de trabalho: Keller colocou o Wii na mala e o levou numa viagem ao Havaí para continuar o desenvolvimento durante as férias. O sistema chegou ao desktop do Cheetah com interface gráfica, cores corretas e suporte completo a teclado e mouse via USB. Todo o processo está documentado no blog de Keller, e o código-fonte está disponível no GitHub para quem quiser replicar o experimento.



