MacWorks Plus

From Wikipedia, the free encyclopedia
Jump to: navigation, search

MacWorks Plus was a complete implementation (port) of the Macintosh Plus 128K ROM on the Apple Lisa and Macintosh XL computer systems, and introduced in August 1988. It was developed for Sun Remarketing of Cache Valley, Utah, under license from Apple Inc., by a contract developer named Chuck Lukaszewski, who was responsible for versions up through 1.1(h), which supported up to Macintosh System 6.0.3. Dafax Processing Corp. with the assistance of Query Engineering, Inc. then further developed the environment to MacWorks Plus II, which continued Macintosh system support up to System 6.0.8 with the Basic version, and introduced a Pro version to extend support to the maximum possible for any 68000 processor: System 7.5.5. Prior to MacWorks Plus, the maximum system supported by its predecessor MacWorks XL was System 3.2.

History[edit]

The design objective for MacWorks Plus was 100% compatibility with software that ran on the Macintosh Plus, which at the time was Apple's flagship product. This was a technically challenging goal because other than sharing the same Motorola 68000 processor, the underlying hardware architectures of the two systems were radically different. In order to understand how MacWorks Plus worked, it is easiest to divide the discussion into three areas: hardware interface, memory model and bootstrap protocol. These were the hardware-dependent aspects of the classic Mac OS at the time. The simplest method of transporting the Mac OS to another machine was to emulate them completely. Once achieved, the much larger hardware-independent code in the 128K ROM could execute with no modification. This is what was done with MacWorks Plus.

The goal was made possible by the existence of a hardware abstraction layer in the Macintosh Toolbox in the original Macintosh ROM, and a hardware Memory Management Unit (MMU) in the Lisa. Through a complete package of device drivers that fully implemented the Macintosh Toolbox Application Programming Interface (APIs), MacWorks Plus essentially tricked the 128K ROM code into thinking it was running on an actual Macintosh. It was also necessary to completely simulate the memory address space of a Macintosh Plus, including the behavior of certain illegal addresses that were deliberately exploited by certain applications (primarily games). Fortunately, while the Macintosh memory manager circuitry was not programmable, the Lisa featured a fully programmable hardware MMU which was a legacy of the minicomputer roots of its designers. Finally, bootloaders were written for all available floppy disk and hard disk models that were compatible with the Lisa.

MacWorks Plus consisted of some 23,000 lines of source code for the Lisa-dependent hardware interface and bootstrap code, plus an image of the 128K ROM that was licensed from Apple. It also included a standalone installer and a Control Panel that enabled a user to adjust certain Lisa specific features from inside the Mac OS user interface.

Timeline of Lisa models


External links[edit]