Mac OS X no Nintendo Wii: como um desenvolvedor fez o sistema da Apple rodar nativamente no console de 2006

10 de abril de 2026

Bryan Keller, engenheiro de software que trabalha com iOS na Airbnb, conseguiu fazer o Mac OS X 10.0 Cheetah funcionar de forma nativa no Nintendo Wii.

A ideia surgiu há mais de dez anos e ele colocou em prática no ano passado. O resultado é um console de videogame de 2006 rodando o primeiro sistema operacional da Apple para processadores PowerPC, com interface gráfica, mouse e teclado via USB.

O projeto mostra que hardware antigo ainda reserva surpresas. Em vez de emulação, o Mac OS X roda diretamente no processador do Wii, sem intermediários. Bryan Keller detalhou todo o processo no blog dele e liberou arquivos prontos para quem quiser testar em um Wii modificado.

Por que o Wii consegue rodar Mac OS X

O Nintendo Wii usa um processador PowerPC 750CL, que é uma evolução do PowerPC 750CXe presente em iBooks e iMacs G3 da época. Essa semelhança foi o ponto de partida. A memória total é de 88 MB (dividida em 24 MB de 1T-SRAM e 64 MB de GDDR3), quantidade suficiente para o Cheetah, que oficialmente pede 128 MB mas inicia com menos.

Outros componentes também alinharam: porta USB para mouse e teclado, saída de vídeo por framebuffer, slot de SD card e suporte a depuração serial via USB Gecko. Nada no hardware do console impedia o funcionamento básico do sistema.

O caminho técnico: do bootloader ao kernel

Bryan Keller não portou o Open Firmware nem o BootX original dos Macs antigos. Em vez disso, criou um bootloader personalizado baseado no código de exemplo ppcskel. A função dele era apenas:

  • Inicializar o hardware do Wii
  • Carregar o kernel XNU (núcleo aberto do Darwin) do SD card
  • Montar a árvore de dispositivos e argumentos de boot
  • Passar o controle para o kernel

O kernel XNU está no formato Mach-O. O bootloader lê os comandos de carregamento, coloca as seções no endereço correto da memória e pula para o ponto de entrada. A partir daí, o Mac OS X assume o comando.

No início, o kernel travava ao configurar vídeo e memória de I/O. O motivo era a diferença no layout de memória do Wii (MEM1 em 0x00000000 e MEM2 em 0x10000000). Bryan Keller corrigiu isso editando o código-fonte do XNU, recompilando e ajustando as Block Address Translations (BATs). Ele também redirecionou a saída de console para o USB Gecko para facilitar a depuração.

Depois veio a parte mais trabalhosa: os drivers. O Wii não usa barramento PCI como os Macs da época. Ele tem um chip SoC chamado Hollywood, com coprocessador ARM (Starlet) que se comunica via IPC. Bryan Keller implementou um driver NintendoWiiHollywood no modelo IOKit, criando “nubs” (pontos de conexão) para os dispositivos filhos: SD card, USB, controladores de interrupção e outros.

Como testar você mesmo

Se você tem um Wii com BootMii instalado, é possível experimentar agora. Bryan Keller disponibilizou uma imagem pronta do SD card no Archive.org (busque por “wiiMac_cheetah”). Basta gravar a imagem em um cartão SD formatado, inserir no console e carregar pelo BootMii. O sistema inicia direto na interface do Mac OS X Cheetah.

O projeto ainda não tem suporte a som, mas já permite usar mouse, teclado e navegar pela área de trabalho. O repositório do bootloader está público no GitHub de Bryan Keller para quem quiser estudar o código ou contribuir.

Aproveite que está aqui e siga o Arkade no 

Aproveite e confira o melhor das ofertas em games na Amazon

Ganhamos uma pequena comissão nos links compartilhados em nossos posts. Você não gastará nada mais com isso e ainda apoiará o jornalismo independente de games e cultura.

Junior Candido

Conto a história dos videogames e da velocidade de ontem e de hoje por aqui! Siga-me em instagram.com/juniorcandido ou x.com/junior_candido

Mais Matérias de Junior