МакВоркс Плюс


MacWorks Plus был полной реализацией ( портом ) Macintosh Plus 128K ROM на компьютерных системах Apple Lisa и Macintosh XL и был представлен в августе 1988 года. Он был разработан для Sun Remarketing of Cache Valley , штат Юта , по лицензии Apple Inc. , разработчиком по контракту по имени Чак Лукашевски, который отвечал за версии до 1.1 (h), которые поддерживали систему Macintosh до 6.0.3 . Dafax Processing Corp. при содействии Query Engineering, Inc. затем доработала среду до MacWorks Plus II., которая продолжила поддержку системы Macintosh до System 6.0.8 с базовой версией и представила версию Pro для расширения поддержки до максимально возможного для любого процессора 68000: System 7.5.5 . До MacWorks Plus максимальная система, поддерживаемая его предшественником MacWorks XL , была System 3.2 .

Целью разработки MacWorks Plus была 100-процентная совместимость с программным обеспечением, которое работало на Macintosh Plus , который в то время был флагманским продуктом Apple. Это было технически сложной задачей, потому что помимо использования одного и того же процессора Motorola 68000 , базовые аппаратные архитектуры двух систем были радикально разными. Чтобы понять, как работает MacWorks Plus, проще всего разделить обсуждение на три области: аппаратный интерфейс, модель памяти и протокол начальной загрузки. Это были аппаратно-зависимые аспекты классической Mac OS .в это время. Самым простым способом переноса Mac OS на другую машину была их полная эмуляция. После достижения гораздо больший аппаратно-независимый код в ПЗУ объемом 128 КБ мог выполняться без каких-либо изменений. Это то, что было сделано с MacWorks Plus.

Эта цель стала возможной благодаря существованию уровня аппаратной абстракции в Macintosh Toolbox в оригинальном ПЗУ Macintosh и аппаратного блока управления памятью.(ММУ) в Лизе. С помощью полного пакета драйверов устройств, которые полностью реализовали интерфейс прикладного программирования (API) Macintosh Toolbox, MacWorks Plus, по сути, обманул код 128K ROM, заставив его думать, что он работает на реальном Macintosh. Также было необходимо полностью смоделировать адресное пространство памяти Macintosh Plus, включая поведение некоторых незаконных адресов, которые намеренно использовались некоторыми приложениями (в первую очередь играми). К счастью, в то время как схема диспетчера памяти Macintosh не была программируемой, Lisa имела полностью программируемый аппаратный MMU, который был наследием миникомпьютерных корней его разработчиков. Наконец, загрузчики были написаны для всех доступных моделей дискет и жестких дисков, совместимых с Lisa.

MacWorks Plus состоял примерно из 23 000 строк исходного кода для аппаратного интерфейса, зависящего от Lisa, и кода начальной загрузки, а также образа ПЗУ объемом 128 КБ, лицензированного Apple. Он также включал автономный установщик и панель управления, которая позволяла пользователю настраивать определенные функции Lisa из пользовательского интерфейса Mac OS.