マックワークスプラス
MacWorks Plus は、 Apple LisaおよびMacintosh XLコンピュータシステム上のMacintosh Plus 128K ROMの完全な実装 (移植)であり、1988 年 8 月に発表されました。これは、 Apple Inc.からのライセンスに基づいて、ユタ州キャッシュバレーのSun Remarketing向けに、契約開発者の Chuck Lukaszewski によって開発されました。Lukaszewski はバージョン 1.1(h) までを担当し、Macintosh System 6.0.3までサポートしていました。その後、Dafax Processing Corp. は、 Query Engineering, Inc. の支援を受けて、この環境をMacWorks Plus IIへと開発しました。これにより、 BasicバージョンでSystem 6.0.8までの Macintosh システムのサポートが継続され、68000 プロセッサを最大限にサポートするProバージョンであるSystem 7.5.5が導入されました。MacWorks Plus より前は、その前身であるMacWorks XLがサポートしていた最大のシステムはSystem 3.2でした。
歴史
MacWorks Plus の設計目標は、当時 Apple の主力製品であったMacintosh Plusで実行されるソフトウェアとの 100% の互換性を実現することでした。これは技術的に難しい目標でした。なぜなら、同じMotorola 68000プロセッサを共有している以外、2 つのシステムの基礎となるハードウェア アーキテクチャが根本的に異なっていたからです。MacWorks Plus の動作を理解するには、ハードウェア インターフェイス、メモリ モデル、ブートストラップ プロトコルの 3 つの領域に分けて考えると分かりやすいでしょう。これらは、当時のクラシック Mac OSのハードウェアに依存する部分でした。Mac OS を他のマシンに移す最も簡単な方法は、それらを完全にエミュレートすることでした。これが実現すると、128K ROM 内のかなり大きなハードウェアに依存しないコードが、変更なしで実行できるようになります。これが MacWorks Plus で実現されたことです。
この目標は、オリジナルの Macintosh ROM のMacintosh Toolboxにハードウェア抽象化レイヤーが存在したことと、Lisa にハードウェアメモリ管理ユニット(MMU) が存在したことにより実現可能となった。Macintosh Toolbox アプリケーション プログラミング インターフェース (API) を完全に実装したデバイス ドライバーの完全なパッケージにより、MacWorks Plus は基本的に 128K の ROM コードを騙して、実際の Macintosh で実行されていると思わせることができた。また、特定のアプリケーション (主にゲーム) によって意図的に悪用される不正なアドレスの動作を含め、Macintosh Plus のメモリ アドレス空間を完全にシミュレートする必要もあった。幸いにも、Macintosh のメモリ マネージャー回路はプログラム可能ではなかったが、Lisa は設計者のミニコンピュータのルーツを受け継いだ完全にプログラム可能なハードウェア MMU を備えていた。最終的に、Lisa と互換性のあるすべてのフロッピー ディスクおよびハード ディスク モデル用のブートローダーが作成された。
MacWorks Plusは、Lisa依存のハードウェアインターフェースとブートストラップコードを含む約23,000行のソースコードと、Appleからライセンス供与された128KB ROMのイメージで構成されていました。また、スタンドアロンインストーラと、Mac OSのユーザーインターフェース内からLisa固有の機能を調整できるコントロールパネルも含まれていました。
Lisaモデルのタイムライン
