This articlerelies largely or entirely on asingle source. Relevant discussion may be found on thetalk page. Please helpimprove this article byintroducing citations to additional sources. Find sources: "MacWorks Plus" – news ·newspapers ·books ·scholar ·JSTOR(November 2021) |
MacWorks Plus was a complete implementation (port) of theMacintosh Plus 128K ROM on theApple Lisa andMacintosh XL computer systems, and introduced in August 1988. It was developed forSun Remarketing ofCache Valley,Utah, under license fromApple Inc., by a contract developer named Chuck Lukaszewski, who was responsible for versions up through 1.1(h), which supported up to MacintoshSystem 6.0.3. Dafax Processing Corp. with the assistance of Query Engineering, Inc. then further developed the environment toMacWorks Plus II, which continued Macintosh system support up toSystem 6.0.8 with theBasic version, and introduced aPro 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 predecessorMacWorks XL wasSystem 3.2.
The design objective for MacWorks Plus was 100% compatibility with software that ran on theMacintosh Plus, which at the time was Apple's flagship product. This was a technically challenging goal because other than sharing the sameMotorola 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 theclassic 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 theMacintosh Toolbox in the original Macintosh ROM, and a hardwareMemory 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.
