1 puntos por GN⁺ 2025-06-21 | 1 comentarios | Compartir por WhatsApp
  • La plataforma Infinite Mac ahora puede ejecutar versiones iniciales de la serie Mac OS X (10.1, 10.3) en el navegador web
  • Se logró mejorar la compatibilidad y la estabilidad al portar el emulador PowerPC PearPC a Emscripten/WebAssembly
  • Mediante la comparación con DingusPPC, se mejoraron el rendimiento y errores de causa desconocida, pasando por un proceso de optimización algorítmica
  • También se reconstruyó una imagen de disco Infinite HD adecuada para Mac OS X, permitiendo acceso a diverso software y herramientas de desarrollo de los años 2000
  • Se reforzó la experiencia retro con la aplicación del estilo Aqua en la UI, sin perder de vista futuras posibilidades de expansión

Resumen

Infinite Mac, el proyecto que permite experimentar en línea sistemas legacy desde hace mucho tiempo dentro de la plataforma Infinite Mac, ahora puede ejecutar en navegadores web modernos versiones iniciales como Mac OS X 10.1 y 10.3. En este proceso, se portaron a Emscripten/WebAssembly emuladores PowerPC como PearPC y DingusPPC, con múltiples esfuerzos orientados a mejorar el rendimiento y asegurar la estabilidad. Gracias a la optimización algorítmica y la resolución de errores, se incrementaron la resolución y la confiabilidad frente al hardware original, y también se reconstruyó Infinite HD con software y herramientas de desarrollo de la época para reforzar su utilidad práctica. Además, se aplicó el tema Aqua a la UI del sitio para ofrecer una experiencia nostálgica, y se contempla expandirse en el futuro hacia sistemas aún más retro como A/UX y Lisa. El proyecto muestra un intento técnico con objetivos múltiples, como la emulación de programas, la ampliación de archivos de código abierto y la restauración de interfaces.

Expansión del soporte para Mac OS X

  • En Infinite Mac se portaron versiones tempranas de OS X como Mac OS X 10.1 y 10.3 para poder ejecutarlas en el navegador web
  • Se recrea incluso el bajo rendimiento del hardware real, y también es posible probar aplicaciones representativas de la época como NetNewsWire Lite y Terminal
  • La imagen de disco más reciente también incluye parte del software indie de la época, facilitando explorar software retro

Proceso de portabilidad de PearPC

  • Al principio se concentraron en portar y modificar el emulador DingusPPC, pero cambiaron de rumbo hacia PearPC por problemas de kernel panic y errores gráficos
  • PearPC es una base de código multiplataforma diseñada a inicios de los 2000 para ejecutar Mac OS X sobre sistemas x86, por lo que su portabilidad a WebAssembly resultó relativamente sencilla sin trabajo adicional importante
  • Recientemente, el principal mantenedor de Basilisk II y SheepShaver creó una rama experimental de PearPC que permite compilarlo en macOS moderno
  • El código fuente es antiguo y está basado en C++ legacy, pero presenta peculiaridades como una string class personalizada, sprintf y un decodificador GIF
  • Gracias a su estructura multiplataforma, al diseño que casi no usa hilos y a sus capas de abstracción estructural, la portabilidad avanzó con rapidez

Optimización de rendimiento y límites

  • Aunque la confiabilidad para arrancar y ejecutar Mac OS X 10.2 en PearPC era alta, la velocidad de ejecución era menor que en DingusPPC
  • La degradación de rendimiento por la ausencia de caché MMU era considerable
  • Se trasladaron a PearPC varias optimizaciones algorítmicas aplicadas en DingusPPC, logrando reducir parcialmente los tiempos de arranque
  • PearPC implementa solo el subconjunto necesario de instrucciones PowerPC y utiliza varios “trucos” como firmware y drivers personalizados
  • Aun así, se mantiene la expectativa de que DingusPPC sea más prometedor a largo plazo para una emulación rápida y estable de Mac OS X

Hallazgo adicional: manejo de excepciones FP

  • Al introducir en el intérprete de PearPC un método de decodificación unificada, aparecieron errores de renderizado en operaciones de punto flotante
  • El kernel de Mac OS X registra el manejo de excepciones según el estado del bit FP del registro MSI; al implementarlo en el código, se resolvió el problema de renderizado
  • En DingusPPC también faltaba ese mismo bit FP, causando anomalías en el renderizado de texto; tras corregirlo, la estabilidad mejoró notablemente
  • Se pasó de un manejo improvisado a una implementación “canónica”, mejorando de forma importante la confiabilidad para ejecutar 10.1
  • Al combinar ambos emuladores, se amplió el rango de versiones de OS X compatibles

Reconstrucción de la imagen de disco Infinite HD

  • Se construyó una nueva imagen de disco adecuada para la era de Mac OS X, incluyendo abundante software indie y herramientas para desarrolladores de ese periodo
  • Como los archivos .dmg antiguos no se montan directamente en macOS actual, se creó un pipeline automatizado de conversión usando herramientas como dmg2img
  • Aunque existen algunas limitaciones por las diferencias entre los sistemas de archivos HFS y HFS+, la mayoría del software funciona correctamente
  • Mediante diversas fuentes, como sitios de bibliotecas y Wayback Machine, se completó un entorno de ejecución de software de inicios de los 2000
  • Se introdujo una técnica de generación dinámica de imágenes multipartición que permite montar hasta 3 volúmenes: disco de arranque, Infinite HD y Saved HD para almacenamiento

UI: aplicación del estilo Aqua

  • También se adoptó el tema Aqua en la UI de Infinite Mac para maximizar la nostalgia retro
  • Se extrajeron directamente recursos gráficos del estilo Mac OS X 10.0/10.1 para reproducir incluso efectos translúcidos
  • El estilo de los controles del sitio también se aplica automáticamente según la apariencia de cada OS (Classic, Platinum, NeXT, etc.)
  • De cara a los próximos grandes cambios de UI en Apple macOS, esto también ofrece un “punto de referencia” de interfaces del pasado

Funciones adicionales y milestones

  • Se añadió la función de montar particiones de Mac OS 9 y ejecutar el entorno Classic (solo compatible con 10.1)
  • También permite verificar diferencias de UX entre sistemas, como el comportamiento de operaciones repetidas en la antigua app Calculator
  • Se activó en PearPC el modo de mensajes de arranque (Verbose) integrado, y en DingusPPC se implementó el método de definir variables de Open Firmware
  • También se intenta ampliar el branding mediante el dominio macosx.app, aunque actualmente está en manos de otra persona

Próxima expansión y cierre

  • Con la ampliación del soporte para Mac OS X, Infinite Mac establece un vínculo con el macOS moderno
  • También se mencionan posibilidades de portabilidad futura para A/UX, Lisa, Pippin y Newton, con una nostalgia aún más profunda
  • Existe interés experimental en QEMU basado en WebAssembly (wasm), y las pruebas de rendimiento han dado señales positivas
  • La emulación web de Mac OS X ofrece valor en diversos escenarios de IT/startups, como experiencias prácticas, preservación de software legacy y experimentación de desarrollo

1 comentarios

 
GN⁺ 2025-06-21
Comentarios de Hacker News
  • Comparten que recuerdan que PearPC funcionó bastante bien durante varios años hasta la transición a Intel, pero lamentan que el proyecto perdiera gran parte de su impulso después de que el desarrollador principal muriera en un accidente de tren; también cuentan que en ese entonces fueron usuarios entusiastas y miembros de la comunidad, y que todavía hoy les da tristeza recordarlo. Adjuntan un artículo relacionado enlace
    • Esto les hace pensar en muchos casos de grandes desarrolladores que murieron de forma repentina; sin obituario y con solo otro desarrollador enterado de la noticia, uno hasta se imagina si eran tan talentosos que los extraterrestres se los llevaron de la Tierra
    • Señalan que alguien robó el trabajo del desarrollador de PearPC y lo vendió con el nombre cherryos
    • Expresan decepción al intentar abrir ese artículo y encontrarse con un muro de pago
  • Presentan a Infinite Mac como una colección que permite usar fácilmente lanzamientos clásicos de sistemas Macintosh y NeXT, así como su software, desde el navegador web. Enlace relacionado: infinitemac.org
    • Opinan que habría sido bueno que la entrada del blog enlazara o definiera qué es Infinite Mac
    • Dicen que les alegra haber descubierto la página de Infinite Mac y que fue un gran descuido del autor del blog omitir el enlace al sitio; agradecen este comentario porque sin él no habrían encontrado este sitio increíble
  • De todo el artículo, lo que más les llamó la atención fue que el emulador de CPU PPC está implementado en menos de 700 líneas de código; les sorprende ver una simplicidad que esperarían de un emulador 6502 en una arquitectura relativamente más moderna. Enlace al código: TinyPPC.cpp
    • Comentan que no es tan sorprendente por tratarse de una arquitectura RISC, y comparten que los emuladores de MIPS tienen un tamaño parecido
  • Se imaginan qué sentiría hoy un entusiasta de la tecnología de 20 años al encontrarse con OS X 10.4 (incluyendo .5 y .6); lo comparan con contemplar esculturas clásicas en la Edad Oscura y pensar: "¿cómo pudo la humanidad crear algo así?". También creen que los gustos cambian con el tiempo y que la generación actual quizá hasta vería los íconos fotorrealistas como algo anticuado
    • Opinan que la apariencia y el funcionamiento de 10.4 son básicamente muy similares a los de macOS moderno; el método de instalación (arrastrar .dmg), los marcadores del Finder, el comportamiento del Dock e incluso la introducción de Spotlight ya estaban ahí. Frente al salto entre Windows XP y Windows 11, consideran que el cambio en Mac no ha sido tan grande
    • Como usuario de 20 años, alguien comenta que recuerda haber usado más o menos 10.5 o 10.6 cuando era niño, y que para esa persona la sensación es más bien de nostalgia por esa época
    • Comparten que empezaron como desarrolladores en la era de 10.4/10.5, trasteando con una especie de modo oscuro a medias y con la configuración de temas, y que entonces era mucho más fácil tocar la carpeta del sistema que ahora
    • Sobre la expresión “Edad Oscura”, aclaran desde el contexto histórico que no se trató de una pérdida de tecnología o capacidades, sino de diferencias culturales y presupuestarias entre imperios y reinos independientes; añaden que incluso en la Alta Edad Media hubo muchos artefactos y edificios hermosos, y mencionan haber visto en persona el entierro naval de Sutton Hoo y varias iglesias anglosajonas
  • Al ver las capturas, sienten que Mac OS X era un entorno mucho más bello y ordenado que el Mac OS actual, y les deja la impresión de que “de verdad daría gusto trabajar en un entorno así”; el Mac OS actual les parece demasiado desordenado y confuso, y se preguntan si otros sienten lo mismo
    • En lo personal, dicen que lo único de la UI con lo que interactúan es la barra de menú, los tres puntos y Spotlight, y que en realidad usan sobre todo apps multiplataforma basadas en navegador o con sistemas de diseño de terceros, más que el sistema operativo en sí o las apps nativas; en Windows les pasa igual, así que lo visual no les genera gran emoción
    • Dicen que últimamente incluso han empezado a preferir interfaces grises antiguas como Win 95 o macOS 9, porque les transmiten una sensación de estabilidad y comodidad de herramienta pura, como una calculadora
    • Expresan frustración porque, aunque técnicamente sería totalmente posible recrear el estilo antiguo en el macOS moderno, no se hace debido a que la estructura del software no está construida de forma modular; añaden que ya les cuesta creer que las empresas de software sepan hacer buen software
    • Personalmente, prefieren la mezcla de aqua y metal cepillado de 10.3 Panther; sienten que la barra de menú brillante de 10.4 Tiger no envejeció tan bien, y que 10.5 Leopard tenía un Dock 3D vistoso, menú superior transparente y gradientes más modernos, pero aun así aqua y la textura metálica les parecían más atractivos. Consideran que las versiones posteriores son algo sosas
    • Comentan con satisfacción personal que el diseño rayado de Windows era un poco excesivo, así que les gustó más cuando desapareció
  • Dicen que esto les hizo recordar muchas UI buenas del pasado: el Macintosh OS 8 de la era Platinum, la sofisticación de los lickables de MacOS X, así como OpenLook, NeXTStep/OpenStep y hasta la época de Windows 2000. Consideran que los elementos de interfaz de entonces eran claros y consistentes, lo que hacía predecible el comportamiento de los controles y ofrecía una experiencia uniforme; hoy, aunque la personalización de temas es más libre, creen que se perdió parte de esa experiencia directa y coherente
  • Les sorprende que el proyecto PearPC siga siendo mencionado como un caso exitoso a pesar de que han pasado de sobra 10 años desde el último commit. Incluyen el repositorio oficial github, un fork personal github, y mencionan que incluso con soporte añadido para WebAssembly todavía queda pendiente soporte para x86-64. También comparten que dejaron en un blog su experiencia agregando NextStep a Infinite Mac enlace al blog
  • Comentan que este tipo de proyectos les encanta, y elogian que Aqua fue realmente revolucionario cuando apareció
    • Opinan que en ese momento casi todos los gestores de ventanas de Linux ofrecían un tema aqua, y que Apple terminó mostrando el sistema operativo con el que soñaban quienes esperaban “el año del escritorio Linux”; era un Unix mainstream con una gran usabilidad y amplio soporte de apps de terceros, así que fue un gran éxito
    • Creen que Aqua sigue siendo un diseño revolucionario; lamentan que antes los controles de ventana se reconocían de inmediato y ahora, en cambio, son más difíciles de distinguir. Esperan que Liquid Glass recupere algo de esa UX, y señalan que la consistencia y usabilidad de Aqua fueron precisamente lo que Windows Vista o los temas de Linux intentaron imitar sin realmente alcanzarlo
    • Citan una frase de Steve Jobs durante la presentación de “Aqua”: era una interfaz completamente nueva que heredaba la tradición propia de Apple y, como su nombre lo indica, era fluida; subrayan la filosofía de diseño de que uno de sus objetivos era “verse tan bien que te den ganas de lamerla”
    • Comentan que Liquid Glass les hace recordar nuevamente la filosofía de diseño de la era de Aqua
  • Recuerdan la etapa inicial de OS X como la verdadera edad dorada del Mac: el hardware era muy competitivo y el sistema operativo estaba en su mejor nivel. Ahora que el hardware parece haber vuelto a una edad dorada, esperan que algún día el software también lo haga; aun así, opinan que con Safari en Macs modernos el rendimiento de esta emulación tiene poca respuesta y es difícil de usar en la práctica
    • Alguien opina que no parece haber posibilidad de que Mac OS vuelva a ser excelente
    • Subrayan la ironía de que el hardware entregue rendimiento para que luego el software se lo quite
    • Desde la experiencia de haber usado los primeros modelos x86, señalan que tampoco eran competitivos en precio, que sufrían kernel panics frecuentes y que incluso ver videos en QuickTime terminaba a menudo en segmentation fault; también recuerdan que era rutina buscar códecs para reproducir varios formatos de archivo (wmv o divx), y que por querer verse bonitos ni siquiera tenían ventilaciones adecuadas, así que el sobrecalentamiento del equipo era frecuente
  • Coinciden con la valoración de que “no es rápido, pero el hardware real de esa época tampoco era mucho mejor”; con base en su experiencia usando un Hackintosh alrededor de 2008, dicen que los Macs de entonces de verdad eran lentos, así que sintieron que esta emulación lo reproduce con realismo. También comparten recuerdos de muchos intentos y errores al crear apps para iPod touch en esa época; eso sí, al menos agradecen que la instalación no tardó hasta 24 horas