- Se logró arrancar de forma nativa System 7 y Mac OS 8 en un Mac mini G4, lo que supera el límite anterior de solo poder hacerlo hasta Mac OS 9.2.2
- Combinando una compilación filtrada de Mac OS 7.6~8.0 basada en CHRP (Common Hardware Reference Platform), un parche de System Enabler y la herramienta de parcheo de Mac OS ROM (tbxi), se logró el arranque de sistemas antiguos
- El desarrollador Rairii (Wack0) analizó e integró varias versiones de ROM para crear una “Super ROM” que incluye funciones antiguas y nuevas, y la publicó en GitHub
- Los resultados de pruebas muestran que es posible arrancar de manera estable hasta System 7.5~8.1, aunque algunas funciones como sonido, video y red siguen incompletas
- Este logro amplía la posibilidad de ejecutar macOS clásico en todo el ecosistema de PowerPC Mac con New World ROM, lo que es muy importante para las comunidades de preservación y desarrollo retro
Antecedentes del arranque de System 7 y la arquitectura CHRP
- El Mac mini G4 no podía arrancar directamente sistemas de la familia System 7 debido a que usaba la arquitectura New World ROM
- La New World ROM requiere un archivo Mac OS ROM en lugar de una ROM física
- Las versiones anteriores a System 7.6 no reconocían esta estructura, por lo que el arranque era imposible
- CHRP (Common Hardware Reference Platform) es una arquitectura común basada en PowerPC, y se desarrollaron compilaciones internas para Mac OS 7.6~8.0 que nunca se lanzaron oficialmente
- En octubre de 2025, la build de Mac OS para CHRP fue preservada y publicada, lo que habilitó nuevos experimentos
- Al modificar el archivo System Enabler de CHRP y eliminar el límite de versión del sistema, también se volvió posible usar el archivo Mac OS ROM en versiones antiguas como System 7.5.x
Proceso de parcheo de ROM y arranque
- Rairii (Wack0) utilizó la herramienta de parcheo de Mac OS ROM de ELN (tbxi) para analizar y combinar varias versiones de ROM
- Creó una ROM unificada que restaura funciones antiguas y mantiene al mismo tiempo funciones nuevas
- Así fue posible arrancar hasta System 7.5~8.1
- En el repositorio de GitHub (universal-tbxi-patchset) se pueden descargar la ROM y el System Enabler parcheado
- Las versiones de ROM compatibles son tres: 10.2.1, 2.5.1 y 1.7.1, y en Mac mini G4 se requiere ROM 9.1 o superior para soporte del controlador ATA-6
Resultados de arranque en Mac mini G4
- System 6.0.8~7.1.2: arranque fallido
- System 7.5 / 7.5.3 / 7.6 / 8.1: arranque y funcionamiento estable
- Es necesario desactivar algunos paneles de control (por ejemplo, Mouse Control Panel)
- System 7.5.2: arranca, pero de forma inestable
- Mac OS 8.5~9.1: arranque fallido, bloqueado por la verificación de ID del dispositivo
- Mac OS 9.2~9.2.2: funcionamiento normal completo
- Algunas funciones (sonido, red, Apple System Profiler, etc.) siguen inestables
Cómo aplicar el ROM exclusivo para Mac mini G4
- Con las herramientas tbxi y tbxi-patches de ELN, se aplica al ROM de Rairii (versión 10.2.1) el parche específico para Mac mini G4 usando el script macmini.py
- Se confirmó que funciona correctamente en un entorno de Python 3.8.10
- El ROM parcheado final también funciona igual en Mac OS 9.2.2 y es compatible con el arranque de System 7.5
- El ROM original de Mac mini G4 (v9.6.1) hacía spoofing del ID del modelo como G4 Cube, y el nuevo ROM conserva ese mismo enfoque
Valor de ejecutar OS antiguos
- Algunos softwares son para Mac OS 9.0.4 o inferior o solo de System 7, por lo que no se ejecutan en sistemas modernos
- System 7.5 es mucho más liviano que Mac OS 9 y ofrece un rendimiento extremadamente rápido
- Desarrolladores e investigadores pueden experimentar directamente con API y comportamiento del sistema antiguos
- Este proyecto expande el rango de ejecución de sistemas operativos retro en PowerPC Mac y contribuye a las actividades comunitarias de preservación
Cierre y agradecimientos
- Este logro se concretó gracias a la colaboración de miembros de la comunidad como Rairii, ELN y Mac84
- Es el resultado de la combinación de preservación de discos CHRP, desarrollo de herramientas ROM y compartir parches
- En el futuro, se abre la posibilidad de que usuarios de G3 y G4 creen sus propias imágenes de arranque personalizadas de System 7~8.5 para cada modelo
1 comentarios
Opiniones de Hacker News
Tengo un pequeño negocio como hobby vendiendo Mac mini G4 restauradas
Limpio por completo el interior, las actualizo con un SSD de 128 GB, amplío la RAM a 1 GB y reemplazo la batería del reloj
Y además les preinstalo una versión hackeada de Mac OS 9 hecha por la comunidad de Mac OS 9 Lives
Se pueden comprar en mi sitio os9.shop
La mayoría de mis clientes son usuarios de negocios reales que necesitan ejecutar software antiguo: dentistas, veterinarias, museos, talleres mecánicos y más
Sorprende que incluso en 2025 siga habiendo tanta gente usando software Classic Mac
Hace tiempo le puse un SSD a una iMac G3 de 300 MHz y tardaba mucho en inicializar al arrancar y se colgaba seguido
Si ejecutas System 7 de forma “nativa” en una Mac mini G4, faltan muchos drivers
La mayoría del software funciona mejor en OS 9.2.2, y para los casos realmente excepcionales basta con un emulador como vMac
Yo también creo que Mac OS 9.2.2 es el mejor sistema operativo
Antes en el trabajo hacía prototipos rápidos con HyperCard
Funcionaba bien tanto en el Cube como, en equipos modernos, con emulación de OS 9
Los scripters de HyperCard hacían cosas increíbles que la mayoría de los usuarios de hoy no hacen, y sin enormes centros de datos
El fin de semana antes del lanzamiento armé un asistente de configuración con Runtime Revolution basado en HyperCard y llevé el producto terminado el lunes
En la empresa se enojaron por la filosofía de “hacemos herramientas para Java en Java”, pero al final esa versión se distribuyó con éxito
Incluso hoy me parece que hacer herramientas simples con Electron y React es como un Turing Tarpit
Enlace relacionado: LiveCode (company)
Es simple y casi no tiene abstracciones innecesarias
Con Python 3.13.9 el script no funcionaba, así que lo volví a intentar con Python 3.8.10 y funcionó perfecto
Últimamente Python a menudo elimina funciones antiguas y rompe código existente
Issue relacionado: tbxi issue #1
MacOS 9 dejó de tener soporte oficial después de 2002, y quitar funciones relacionadas de la biblioteca estándar es razonable
La mayoría de los usuarios nunca usan ese tipo de funciones
Discusión relacionada: cpython issue #83534
Al principio leí mal “Mac mini M4” y me quedé en shock
La serie StarMax, especialmente la 4400, fue el modelo más cercano a CHRP
Mi clon PowerCity tenía puertos PS/2 e ISA, y también corría bien BeOS
Incluso tenía la característica curiosa de que salía sonido por el parlante cuando corría un loop
Soportan disqueteras estilo PC, y el PS/2 se convierte a dispositivos ADB mediante el microcontrolador CudaLite
No he visto una versión con ranuras ISA, pero probablemente se podía implementar con un chip puente PCI-ISA
Documento de referencia: LPX-40 Dev Note
La placa Motorola Yellowknife y los sistemas IBM Long Trail son parecidos
Ambos usan el southbridge W83C553 y el controlador Super I/O PC87307
Si ves los esquemas de NXP, se entiende mucho mejor la estructura
Quisiera preguntarles a quienes quieren aprender la estructura compleja de las Mac PowerPC: ¿dónde está implementado el soporte de hardware para un modelo específico?
En realidad esto no es arrancar System 7 de forma “nativa”
Todas las Mac PowerPC ejecutan System 7 mediante un emulador
Aun así, el intento en sí es impresionante
Yo uso una iMac G4 de 1.25 GHz
Originalmente era el modelo de 1 GHz, pero después le cambié la placa
Sería mucho más eficiente poder arrancar OS 9 directamente en lugar de usar el modo clásico de OS X,
pero los modelos de 1 a 1.25 GHz no están soportados oficialmente
Sueño con que algún día sea posible hacer dual boot
Los parlantes integrados no funcionan, pero la salida de audífonos sí
Este tipo de contenido está buenísimo. Es un tema ideal para ver en Hacker News
Es impresionante, pero la UX del macOS inicial era bastante incómoda
Porque el hilo de UI se encargaba de todo
Era normal hacer clic y luego esperar
Casi no había animaciones y la entrada no quedaba bloqueada
Las apps que usabas seguido respondían al instante, como si tus manos ya se lo supieran de memoria
Un solo null pointer podía congelar todo el sistema