MacWorks Plus


MacWorks Plus fue una implementación completa ( puerto ) de la ROM Macintosh Plus 128K en los sistemas informáticos Apple Lisa y Macintosh XL , y se introdujo en agosto de 1988. Fue desarrollado para Sun Remarketing de Cache Valley , Utah , bajo licencia de Apple Inc. , por un desarrollador por contrato llamado Chuck Lukaszewski, quien era responsable de las versiones hasta 1.1 (h), que soportaban hasta Macintosh System 6.0.3 . Dafax Processing Corp. con la ayuda de Query Engineering, Inc. luego desarrolló aún más el entorno para MacWorks Plus II, que continuó con el soporte del sistema Macintosh hasta el Sistema 6.0.8 con la versión básica , e introdujo una versión Pro para extender el soporte al máximo posible para cualquier procesador 68000: Sistema 7.5.5 . Antes de MacWorks Plus, el sistema máximo admitido por su predecesor MacWorks XL era el Sistema 3.2 .

El objetivo de diseño de MacWorks Plus era la compatibilidad al 100% con el software que se ejecutaba en Macintosh Plus , que en ese momento era el producto insignia de Apple. Este era un objetivo técnicamente desafiante porque, además de compartir el mismo procesador Motorola 68000 , las arquitecturas de hardware subyacentes de los dos sistemas eran radicalmente diferentes. Para comprender cómo funcionó MacWorks Plus, es más fácil dividir la discusión en tres áreas: interfaz de hardware, modelo de memoria y protocolo de arranque. Estos eran los aspectos dependientes del hardware del Mac OS clásico.En el momento. El método más simple de transportar Mac OS a otra máquina era emularlos por completo. Una vez logrado, el código independiente del hardware mucho más grande en la ROM de 128K podría ejecutarse sin modificaciones. Esto es lo que se hizo con MacWorks Plus.

El objetivo fue posible gracias a la existencia de una capa de abstracción de hardware en la Caja de herramientas de Macintosh en la ROM original de Macintosh, y una Unidad de gestión de memoria de hardware .(MMU) en Lisa. A través de un paquete completo de controladores de dispositivos que implementó completamente la Interfaz de programación de aplicaciones (API) de Toolbox de Macintosh, MacWorks Plus esencialmente engañó al código ROM de 128K haciéndole creer que se estaba ejecutando en un Macintosh real. También fue necesario simular completamente el espacio de direcciones de memoria de un Macintosh Plus, incluido el comportamiento de ciertas direcciones ilegales que fueron explotadas deliberadamente por ciertas aplicaciones (principalmente juegos). Afortunadamente, aunque los circuitos del administrador de memoria de Macintosh no eran programables, Lisa presentaba una MMU de hardware totalmente programable que era un legado de las raíces de las minicomputadoras de sus diseñadores. Finalmente, se escribieron cargadores de arranque para todos los modelos de disquete y disco duro disponibles que eran compatibles con Lisa.

MacWorks Plus constaba de unas 23.000 líneas de código fuente para la interfaz de hardware dependiente de Lisa y el código de arranque, además de una imagen de la ROM de 128K con licencia de Apple. También incluía un instalador independiente y un panel de control que permitía al usuario ajustar ciertas funciones específicas de Lisa desde la interfaz de usuario de Mac OS.