Advanced Mac Substitute
(v68k.org)- Reimplementa Mac OS de los años 80 a nivel de API, lo que permite ejecutar directamente aplicaciones Mac 68K sin ROM de Apple ni software del sistema
- En lugar de emular todo el hardware, usa una arquitectura que sustituye al propio sistema operativo, lo que permite iniciar apps al instante sin proceso de arranque
- Está compuesto por un emulador 68K de backend y un frontend basado en SDL2, ofreciendo el mismo entorno en múltiples plataformas como macOS, X11 y Linux framebuffer
- Puede ejecutar software clásico de Macintosh como MacPaint, Lode Runner y The Fool’s Errand en un entorno gráfico de 1 bit
- Se distribuye como código abierto en GitHub y es un proyecto de reimplementación abierta que también puede ejecutarse en sistemas tipo POSIX y clientes VNC
Descripción general de Advanced Mac Substitute
- Advanced Mac Substitute (AMS) es un proyecto que reimplementa Mac OS de los años 80 a nivel de API, permitiendo ejecutar aplicaciones Mac 68K sin ROM de Apple ni software del sistema
- A diferencia de los emuladores tradicionales, no emula todo el hardware: solo reproduce el procesador 680x0 y sustituye al propio sistema operativo
- Gracias a esta arquitectura, es posible ejecutar aplicaciones directamente sin pasar por un proceso de arranque
Estructura y componentes
- AMS está organizado como una aplicación factorizada
- El backend es un emulador 68K que puede compilarse y ejecutarse en cualquier sistema tipo POSIX
- El frontend es una capa de abstracción de terminal de mapa de bits, basada en SDL2, e incluye implementaciones para macOS, X11 y Linux framebuffer (fbdev)
- Esta estructura permite ofrecer el mismo entorno de ejecución para aplicaciones Mac 68K en distintas plataformas
Aplicaciones ejecutables y demos
- AMS puede ejecutar varias aplicaciones del Macintosh original
- Entre los ejemplos se incluyen juegos como Amazing, Solitaire, Missile e IAGO, lanzados en 1984
- También puede ejecutar programas como MacPaint, System’s Twilight, Lode Runner y The Fool’s Errand
- Cada aplicación se ejecuta dentro de AMS en un entorno gráfico de 1 bit, y se muestran videos de su funcionamiento real
Funciones compatibles
- AMS admite los siguientes elementos gráficos y de interfaz de Mac OS
- Gráficos de 1 bit de profundidad, regiones, círculos y rectángulos redondeados, líneas, cursor, GrafPorts, texto, ventanas, controles, menús y diálogos, entre otros
- Esto permite reproducir fielmente las características visuales y funcionales del software Macintosh de los años 80
Código fuente y entorno de ejecución
- El código fuente de AMS está publicado en GitHub, en el repositorio metamage_1
- Puede ejecutarse directamente en macOS / OS X, X Window System, la consola Linux framebuffer, o en un cliente VNC
- La documentación anterior (legacy documentation) del proyecto fue movida a una página aparte y actualmente está en proceso de revisión
Ejemplos de demostración
- El sitio oficial incluye varios videos de demostración, donde se pueden ver ejecuciones de MacPaint, Amazing y Nyanochrome Cat
- La pantalla “Welcome to Advanced Mac Substitute” no es una pantalla de arranque real, sino una interfaz en forma de aplicación
Información adicional
- El proyecto se gestiona en v68k.org, y la actualización más reciente se realizó el 29 de noviembre de 2025
- El desarrollador también está activo a través de sus cuentas de GitHub y Twitter
1 comentarios
Comentarios en Hacker News
Es un proyecto realmente genial. La estética de ‘línea temporal alternativa’ que transmite el estilo en blanco y negro de MacOS clásico da una sensación de confianza y estabilidad.
Me trae recuerdos de los Macintosh SE o Plus alineados en el laboratorio de computación de la primaria.
Comparto mi UI de escritorio web de MacOS System 7, una reinterpretación que permite navegar la web de verdad.
Me reí mucho con el salvapantallas. Se sentía familiar y extraño a la vez, como ver un universo paralelo.
Yo también hice hace tiempo un simulador de Mac basado en la web. Lo hice para aprender CSS y JS, pero terminé dándome cuenta de que la web no es adecuada para construir estructuras complejas, y esa experiencia fue lo que me llevó a crear Advanced Mac Substitute.
En los últimos meses he estado agregando JIT para ARM64 a Basilisk II.
Ahora mismo estoy parchando la ROM de Quadra para saltarme la detección de hardware NuBus.
Definitivamente quiero probar este proyecto. Si al entorno clásico de Mac se le añadieran funciones modernas como compartir archivos, sería perfecto incluso en dispositivos pequeños.
Sorprende que software de los años 80 funcione solo con compatibilidad de API.
Es impresionante que no dependa de detalles de implementación como el timing o la alineación de memoria.
Si dependiera aunque fuera de un solo detalle de implementación, podría no ejecutarse en otro OS.
Hacía la mayor parte de su trabajo con nada más que un framebuffer de 1 bit y la CPU.
La mayoría de los hacks en máquinas de 8 bits eran para esquivar limitaciones funcionales.
No sé si Apple tomó estas decisiones pensando en generaciones futuras, pero su estructura simple seguramente hizo más fácil la expansión en generaciones posteriores.
Es un proyecto realmente genial. Me recordó a ARDI Executor, un software comercial lanzado en 1990.
En ese entonces lograba una velocidad sorprendente en hardware de PC mediante una reimplementación a nivel de API.
Recuerdo haber corrido juegos de Mac en una PC con Windows cuando era niño y pensar: ‘vaya, esto sí se puede’.
Vale la pena revisar la wiki de Executor y su código en GitHub.
Un ingeniero de ARDI incluso apareció brevemente en el documental de 1996 Triumph of the Nerds.
En ese tiempo el rendimiento de emulación era importante, pero hoy el hardware es lo bastante rápido como para que ya no sea un gran problema.
Ahora lo importante es la portabilidad y el mantenimiento, además de parchear programas diseñados para monopolizar la CPU y adaptarlos a entornos modernos.
No puedo imaginar qué tan rápido será comparado con el hardware original de la Mac 512k.
Me hace recordar aquella experiencia mecánica de estar cambiando discos todo el tiempo cuando el sistema corría desde un solo floppy.
Sería muy divertido si hubiera una función para ‘hacerlo correr lento’ y hasta recrear el sonido de lectura/escritura del floppy.
Me pregunto cómo se compara con Executor.
Me gustaría que existiera una capa de compatibilidad tipo Carbon donde las apps antiguas pudieran ejecutarse dentro de ventanas modernas y también guardar archivos.
Por ejemplo, en la demo de MacPaint, si haces doble clic en el documento Hello, se abre con MacPaint.app en el Finder de macOS.
Me pregunto si esto se completó antes que MACE, o si apunta a un objetivo distinto.
¿Correrá “Dark Castle”? Le dediqué muchísimas horas a ese juego.
Y si ves este commit, efectivamente se puede ejecutar.
Es un logro realmente impresionante. Me da curiosidad el proceso de desarrollo, la motivación y cuánto tiempo tomó.
Un amigo mío también reescribió hace tiempo la Toolbox como una biblioteca en C para portar apps de Mac a PC.
Reimplementó casi todo: QuickDraw, Event Manager, Memory Manager, etc. Usaba una UI OpenLook, así que se sentía completamente distinto.