
La Nintendo Wii nunca ha sido sinónimo de potencia bruta ni gráficos espectaculares, pero acaba de convertirse en protagonista de uno de los experimentos más curiosos del mundo retro. Un desarrollador ha logrado que Mac OS X 10.0 Cheetah, el primer OS X comercial de Apple, arranque y funcione en la pequeña consola de sobremesa de Nintendo lanzada en 2006.
Lejos de buscar un sistema práctico para el día a día, el objetivo ha sido demostrar hasta dónde puede llegar la reutilización de hardware antiguo y la ingeniería inversa. El resultado ha llamado la atención de aficionados europeos al hardware retro, desarrolladores y curiosos que ven en este proyecto una forma diferente de dar una segunda vida a una consola muy extendida también en España.
Una Wii pensada para el juego, no para escritorio
Cuando Nintendo puso a la venta la Wii en 2006, Microsoft y Sony estaban en plena carrera por los gráficos en alta definición y las consolas potentes con Xbox 360 y PS3. Nintendo optó por otro camino: una máquina modesta, centrada en los controles de movimiento, un precio contenido y un público mucho más amplio, desde niños hasta abuelos en las reuniones familiares.
Bajo esa carcasa blanca se esconde un procesador PowerPC 750CL, conocido internamente como Broadway, que funciona en torno a los 729 MHz y se acompaña de 88 MB de memoria repartida entre MEM1 (24 MB) y MEM2 (64 MB). Incluso en su momento eran cifras discretas, y hoy parecen casi anecdóticas frente a cualquier portátil o incluso frente a muchos móviles.
Sin embargo, ese PowerPC 750CL comparte parentesco directo con los chips PowerPC 750CXe y otros modelos que Apple utilizó en los iMac G3 e iBook de principios de los años 2000. Es decir, consola y antiguos Mac hablan, a grandes rasgos, el mismo idioma a nivel de CPU, aunque pertenezcan a generaciones distintas.
Antes de este trabajo, la Wii ya había servido de banco de pruebas para otros sistemas: se habían llegado a ejecutar Linux, NetBSD e incluso Windows NT sobre su hardware, algo que animó aún más al desarrollador a plantearse el salto a Mac OS X Cheetah.
Por qué Mac OS X 10.0 Cheetah y no otra versión
El sistema elegido para este experimento es Mac OS X 10.0 Cheetah, la primera versión pública de la línea OS X que Apple lanzó en marzo de 2001. Este sistema marcó el arranque de la plataforma que acabaría evolucionando a macOS tal y como lo conocemos hoy, con su base UNIX y una interfaz completamente distinta al clásico Mac OS 9.
Cheetah introdujo el núcleo Darwin basado en UNIX, multitarea preventiva, protección de memoria y la famosa interfaz Aqua con sus ventanas translúcidas y efectos visuales. También se apoyaba en tecnologías como Quartz para el renderizado gráfico, HFS+ como sistema de archivos y las bibliotecas Carbon y Cocoa para las aplicaciones.
Todo esto era relativamente exigente para el hardware de la época, sobre todo en lo relativo a la interfaz gráfica y al uso de memoria. Ejecutarlo en una Wii, sin aceleración gráfica moderna ni grandes cantidades de RAM, suponía un reto adicional: aquí la CPU tiene que encargarse de gran parte del trabajo de dibujar la interfaz, con un rendimiento limitado.
En la práctica, el sistema puede llegar al escritorio, mostrar Aqua y cargar el entorno gráfico, pero los tiempos de arranque se alargan y la interacción con las ventanas presenta cierta latencia y sensación de pesadez. No es un entorno para trabajar con aplicaciones exigentes, sino una demostración técnica de que es posible encajarlo todo.
El punto de partida: corazón PowerPC compartido
El desencadenante del proyecto fue una simple idea: si Windows NT había sido portado a la Wii, ¿por qué no intentarlo con Mac OS X? El desarrollador, Bryan Keller, vio que tanto la consola de Nintendo como los Mac de la época compartían arquitectura PowerPC de 32 bits, y decidió comprobar hasta dónde podía llegar esa compatibilidad.
La gran ventaja inicial era que la CPU de la Wii, al ser un PowerPC 750CL, es una evolución de los procesadores que Apple usaba en ciertos iMac e iBook de principios de los 2000. Eso eliminaba uno de los mayores obstáculos típicos en estos experimentos: no hacía falta traducir instrucciones de una arquitectura a otra, como pasaría al emular un chip x86 en un procesador ARM.
Pero esa coincidencia en el procesador era solo una pieza del puzzle. La Wii tiene una arquitectura muy particular, con memoria dividida en bloques separados, un chip central llamado Hollywood que concentra buena parte de la lógica y un conjunto de conexiones de entrada/salida pensadas para mandos, accesorios propietarios y juegos, no para discos externos, teclados o ratones estándar.
Además, la consola incorpora un procesador secundario basado en ARM que se encarga de gestionar determinadas tareas y dispositivos internos, lo que obligó a estudiar con detalle cómo se organizaba el hardware de la Wii y cómo podía engancharse a las expectativas del kernel XNU de Mac OS X.
Crear un sistema de arranque nuevo desde cero
Uno de los principales escollos fue el arranque. Los Mac con PowerPC utilizaban mecanismos como Open Firmware o BootX para poner en marcha el sistema, pero la Wii no cuenta con un firmware compatible con el proceso de inicio de Mac OS X. Intentar adaptar directamente esos métodos habría sido mucho más complejo y probablemente menos fiable.
En lugar de eso, Keller optó por un camino más directo: diseñar un gestor de arranque propio y lo más sencillo posible, específicamente pensado para la Wii. Este programa intermedio se encarga de inicializar lo básico del hardware de la consola y cargar el núcleo de Mac OS X Cheetah desde una tarjeta SD.
El kernel de OS X se distribuye en formato Mach-O, el estándar de ejecutables de Apple. Conseguir que el bootloader leyera y pusiera en marcha ese núcleo en una máquina que nunca fue diseñada para ello obligó a pasar parámetros manualmente y recurrir a todo tipo de trucos de depuración.
Entre esos trucos, el desarrollador llegó a colocar pequeños parches en el código que encendían el LED frontal de la consola en puntos clave del arranque. De este modo, si el proceso se bloqueaba, podía saber más o menos en qué fase se había quedado el sistema al ver en qué momento dejaba de reaccionar la luz.
Adaptar memoria, controladores y vídeo a la Wii
Conseguir que el kernel arrancara era solo el primer paso. Mac OS X Cheetah esperaba encontrar una distribución de memoria típica de los Mac de principios de los 2000, mientras que la Wii organiza su RAM en esos dos bloques MEM1 y MEM2 con accesos distintos y usos algo diferenciados.
El desarrollador tuvo que parchear el kernel XNU para que entendiera ese mapa de memoria particular, ajustar direcciones y reorganizar cómo se asignaba la RAM a distintos subsistemas. Todo ello con el límite total de menos de 100 MB disponibles, que obliga a ser muy cuidadoso con los procesos que se inician y las tareas que se ejecutan en segundo plano.
Después llegaron los controladores. La Wii no estaba pensada para hablar el mismo idioma que un sistema de escritorio tradicional, así que hubo que desarrollar drivers específicos para que el sistema reconociera la lectura y escritura en la tarjeta SD, la entrada USB y la salida de vídeo. Algunas piezas se pudieron recuperar de proyectos antiguos; otras hubo que construirlas prácticamente desde cero.
Incluso surgió un problema curioso con los colores: había un desajuste entre la forma en que la Wii generaba la señal de vídeo y lo que esperaba el código gráfico de Mac OS X. Hubo que ajustar esa capa de compatibilidad para que la interfaz Aqua apareciera con los tonos correctos y no con colores alterados o distorsionados.
Para rematar, Keller rastreó en antiguos canales de IRC el código fuente de un controlador USB de hace más de dos décadas, solo para lograr que un teclado y un ratón estándar pudieran funcionar correctamente bajo Cheetah en la Wii. Una muestra clara de hasta qué punto el proyecto requirió rescatar documentación y software casi olvidados.
Un proyecto llevado incluso de vacaciones
La dimensión del esfuerzo queda clara cuando el propio desarrollador reconoce que llegó a meter la consola en la maleta para seguir trabajando en el proyecto durante un viaje a Hawái. No se trataba de una prueba rápida de fin de semana, sino de un trabajo prolongado lleno de pruebas, errores y pequeños avances.
Durante este proceso, Keller fue documentando cada paso en su blog personal y en un repositorio de GitHub, donde explica las modificaciones aplicadas al kernel, los detalles del bootloader y el desarrollo de los controladores. Para quienes se mueven en el mundo de los sistemas operativos, el material se ha convertido en una referencia muy valiosa.
La motivación original fue casi una apuesta: alguien comentó que era imposible hacer correr Mac OS X en una Wii y esto fue el empujón necesario para iniciar el reto. De ahí surgió un proyecto que, con el tiempo, ha captado el interés de la comunidad técnica y de los aficionados al hardware clásico tanto en Estados Unidos como en Europa.
Más allá del resultado, el propio camino sirve como lección práctica de arquitectura de sistemas, depuración de bajo nivel y gestión de hardware no documentado. No es extraño que muchos desarrolladores en España y otros países europeos lo vean como un ejemplo perfecto para aprender sobre kernels y drivers fuera del entorno puramente académico.
Mac OS X Cheetah en la Wii: cómo se comporta
Tras superar todas las trabas técnicas, el sistema consigue llegar hasta un escritorio de Mac OS X Cheetah plenamente reconocible, con la interfaz Aqua, los menús superiores y las ventanas de la época. La Wii se convierte así en una especie de Mac vintage improvisado, capaz de manejar teclado y ratón USB.
Eso sí, conviene moderar las expectativas. El arranque del sistema no es precisamente rápido, y la interfaz responde con cierta pereza. El renderizado se realiza en gran medida por software, sin una aceleración gráfica avanzada, por lo que mover ventanas, abrir menús o lanzar aplicaciones puede resultar lento.
La compatibilidad con aplicaciones también es limitada. Cheetah ya tenía sus propias restricciones en el hardware original, y ejecutarlo en una Wii añade más condicionantes. Muchas apps modernas de macOS ni siquiera son compatibles con esa versión tan temprana de OS X, y otras pueden tropezar con las limitaciones de memoria y la falta de soporte para ciertos dispositivos.
Aun así, el sistema es lo bastante estable como para permitir pruebas con software clásico de principios de los 2000, trastear con las preferencias del sistema, examinar herramientas de desarrollo de la época o simplemente contemplar cómo se comporta OS X en un entorno para el que nunca fue diseñado.
Para quienes disfrutan con el hardware retro, ver el viejo escritorio de Cheetah asomando en la pantalla conectado a una Nintendo Wii que quizá llevaba años guardada es, como poco, una escena llamativa y cargada de nostalgia tecnológica.
Valor educativo y potencial en Europa
Más allá de la anécdota, el proyecto tiene un componente educativo muy interesante. La Wii es una consola relativamente fácil de encontrar en el mercado de segunda mano en España y en otros países europeos, con precios accesibles y un consumo energético bajo, lo que la convierte en una y proyectos formativos.
Su arquitectura PowerPC y su peculiar distribución de memoria obligan a quienes se acercan a este tipo de experimentos a aprender conceptos clave como mapas de memoria, inicialización de hardware, comunicación entre procesadores y diseño de controladores para dispositivos específicos.
En entornos universitarios o de formación profesional relacionados con la informática, un caso como este puede servir como base para asignaturas de sistemas operativos, ingeniería de software de bajo nivel o seguridad, permitiendo trabajar sobre un hardware real en lugar de hacerlo todo dentro de máquinas virtuales.
Además, el hecho de que todo el código fuente y la documentación estén disponibles en plataformas abiertas facilita que equipos de desarrollo en Europa puedan analizar, adaptar o ampliar el trabajo. Es una forma práctica de acercarse a conceptos que normalmente se estudian de manera muy teórica, pero que aquí se ven aplicados en un dispositivo muy concreto.
Para usuarios domésticos con inquietud técnica, la Wii puede convertirse en un pequeño laboratorio casero donde experimentar con Linux, otros sistemas alternativos o incluso con este port de Mac OS X Cheetah, siempre asumiendo las limitaciones y los riesgos habituales de manipular el software interno de la consola.
Limitaciones claras, pero un logro técnico notable
Desde el punto de vista práctico, nadie va a sustituir su ordenador habitual por una Wii con Mac OS X Cheetah. El rendimiento está muy por debajo de lo que se exige hoy en día y la compatibilidad con aplicaciones modernas es prácticamente nula. Se trata de un sistema con dos décadas a sus espaldas, ejecutado sobre un hardware igualmente veterano.
Además, algunos dispositivos de la consola siguen sin estar soportados por completo, y no todos los periféricos USB se comportan igual de bien. Hay funciones de Cheetah que no tienen sentido en esta plataforma y otras que directamente no se pueden aprovechar por las diferencias entre la arquitectura de un Mac original y la de la Wii.
Aun así, el port funciona: el sistema arranca, muestra su interfaz, responde al teclado y al ratón, y permite una interacción básica. Es una demostración de que, con tiempo y conocimientos, es posible adaptar un sistema operativo complejo a un dispositivo para el que nunca fue pensado.
Este tipo de experimentos también ayudan a mantener vivo un software histórico que, de otro modo, quedaría relegado a máquinas cada vez más difíciles de mantener. Ejecutar Mac OS X 10.0 Cheetah en hardware alternativo no solo es una curiosidad, sino una forma de preservar y comprender mejor la evolución del ecosistema de Apple.
Al final, la Nintendo Wii, con su modesto procesador PowerPC y su memoria limitada, se consolida como un ejemplo perfecto de cómo el hardware antiguo todavía puede sorprender cuando se cruza con la curiosidad técnica y el afán de experimentar que sigue moviendo a muchas comunidades de desarrolladores y aficionados en España, en Europa y en todo el mundo.
