BasiliskII/BasiliskII JIT – Macintosh Emulator (2001.02.28)

 エミュレーションというのは、対象の動作を完全に模擬することにより、元のものの替わりをさせる技術です。似たような概念のシミュレーションの場合は、一般に人間に対する動作モデルを模擬するのですが、エミュレーションの場合はソフトウェアに対する動作を模擬することで、結果的にすべてを模擬します。たとえば Macintosh というパソコンをシミュレーションする場合には、あたかも Macintosh のような外観(人間に対するインターフェース:GUI)を再現すればよいのですが、 Macintosh をエミュレーションする場合には、ソフトウェアに対するインターフェースを再現する必要があります。GUI はソフトウェアの動作により実現するものなので、目に見える部分を知り尽くしていれば再現可能なのに対し、ソフトウェアに対するインターフェースは最終的にはハードウェアの動作により実現するものなので、動作環境となるハードウェア(CPU、周辺チップ、メモリー、外部記憶など)の動作を知り尽くしていないと、再現することはできません。しかし再現できた場合には、見かけだけでなく Macintosh のすべてのソフトウェアをそのまま動作させ、機能を再現することができるのです。 

 Christian Bauer さんが開発している BasiliskII はそれを実現したソフトウェアです。Windows や Linux などで動作し、Macintosh 上のすべての機能を再現します。つまり Macintosh 用と書かれたソフトウェアは、MacOS や Photoshop などのアプリケーションまで含めて完全に動作します。私は Macintosh を長いこと使っていましたので、Macintosh のソフトウェアを愛用していました。Windows を使い始めるにあたって、これらの Mac 用のソフトウェアはすべて使えなくなりましたが、BasiliskII を動作させることで、これらのソフトウェアがすべて Windows 上で動作するのです。 

 BasiliskII を使い始めるためには、まず Macintosh から ROM イメージファイルを転送する必要があります。もしソフトはあるけれどハードは手放されたという場合には、場所をとらない Macintosh LC シリーズあたりは中古で 480 円~(!!)で購入できるので、とりあえず用意すればいいでしょう(私も買いました)。ROM イメージファイルを Windows にコピーしたら、次に BasiliskII をインストールします。アプリケーションはコピーするだけなのですが、CD-ROM のドライバと、ネットワークドライバは通常の Windows のドライバインストールの要領でインストールする必要があります。BasiliskII の設定画面では、ハードディスクイメージファイル(HFS を再現するためのファイルです。Mac 上で 200M のハードディスクを使いたかったら、200M のファイルが必要です)を作成することと、ROM イメージファイルパスの設定が必要になります。 

 設定が済んだら、Run ボタンを押すだけで、あの懐かしいグレイの画面に?マークの Mac の絵が表示されます。 

 そのあとはどうするかというと、あとはもう、本物の Mac に新しいハードディスクを内蔵したときと同じです。起動可能な MacOS の CD を CD-ROM ドライブにセットして MacOS を起動し、ハードディスクを初期化し、システムをインストール‥説明の必要もありませんね。 

 CD-ROM だけでなく、当然マウスやキーボードも Windows のもので操作します。特に設定をしないと、Command キーは[Alt]、Option キーは[Windows]、Power キーは[Pause]になっています。嬉しいことにマウスホイールもそれっぽいイベントに置換されるらしく、それなりに動きます。右クリックはもちろん Control+クリックになります。 

 Mobile PentiumIII/400 のマシンで操作していると、Finder がすばらしく軽快に動作します。Mac といえばディスクやネットワークアクセスが遅いというのは常識ですが、そこがエミュレーションによりかえって速くなっています。さすがに、演算速度はそれなりなものがありますが、動作速度の向上に効果がある JIT(Just In Time)コンパイラをリンクした BasiliskII/JIT では、Photoshop のフィルタあたりも結構速く実行できます。総じて、元の Macintosh より遥かに使いやすく感じます。 

 さて、ほとんどのソフトが問題なく動くのですが、残念なことに私の愛用ソフトの1つである、Vision3D が、うまく動きませんでした(2002.5 注:とりあえずサンプルファイルではレンダリングまでできました)。描画エリアを操作しても、座標計算がおかしくなってしまうようです。 

 なお、Basilisk II は技術を公開・共有しながら開発をすすめるオープンソースモデルで開発されています。Basilisk II のコア部分は Christian Bauer 氏が開発していますが、Windows への移植は Lauri Pesonen 氏が行い、JIT コンパイラの統合は、Gwenole Beauchesne 氏が行い、さらに CPU エミュレーションの元となっている Unix Amiga Emulator もまた、Bernd Shmidt 氏 を中心にオープンソースで開発されており、JIT コンパイラも元々 UAE のために Bernie Mayer 氏が開発したものなのです。 

 もし、UAE がオープンソースじゃなかったら、JIT コンパイラも、BasiliskII 版も、開発されなかったか、あるいは開発期間がより長く、品質もより悪くなったことでしょう。 

 ところで、Macintosh で動くソフトって、どのバージョンまであるのでしょうか。気になりますが、なかなかまとまっているページがありませんでした。そこで、今回調べた範囲で、下記にまとめておきます。間違っているかもしれませんが‥ 

 バージョン 公式配布 
MacOS 8.1 販売終了 
漢字Talk 7.5.5 ○(無料) 
QuickTime current ○ 
ClarisWorks/AppleWorks 4.04 販売終了 
EGWord/EGWord Pure 9.0/4.0 販売終了 
MacWord 4.0 販売終了 
WordPerfect 3.5(E) ○(無料) 
Nisus Writer current ○(旧版は無料) 
ATOK 11 販売終了 
EGBridge 11(11.5は×) 販売終了(?) 
Adobe Acrobat/Reader 3.0/3.02(E) ○(Acrobatは販売終了) 
Adobe Type Manager 4.0.2 販売終了 
Adobe PhotoShop 4.0.1 販売終了 
Adobe Illustrator 7.0.1 販売終了 
Adobe PageMaker 6.5 販売終了 
   
SuperCard current ○ 
Stuffit Expander 5.5 ○ 
Aladdin DropStuff 5.5 ○ 
Aladdin ShrinkWrap 3.0 配布停止 
Netscape Navigator 4.03/4.08(E) ○ 
Internet Explorer 4.01 配布停止 
Macromedia Flash Plugin 3.0 ○ 
Microsoft Office 4.2 販売終了 
   
MRJ Macintosh Runtime for Java 2.0(JDK1.1.3) ○ 
Sun Java Development Kit 1.0.2 ○ 
Symantec Think Pascal 4.5d(E) ○(無料) 
GraphicConverter current ○ 
Dragthing current ○ 
Jedit 3.0 ○ 

※current は、サポートが継続しているもの 

Windows の日本語キーボードから使う場合、そのままではJISキーボードに設定してもキー上の記号通りに文字が出ません。この場合 Apple Japan のサイトから JIS キーボードインストーラをダウンロードして、導入する必要があります。これを行って、かつ BasiliskII の設定でJISキーボードにしておけば、問題なく利用できます。 

Win32-JIT バージョン 3 がリリースされています。あと、マキエンタープライズさんの Think Pascal のススメのページへのリンクを追加しました。 

今更ですが、PC側のAirH”カード(CFE-02)を使ってPPP接続してみました。方法は、まずBasiliskII GUIのPorts設定でCFE-02のCOMポート(私の場合はCOM4)をモデムポートに割り振るよう設定します。次にCFE-02のMac用CCLファイル(NECインフロンティアのサイトにもあります)を導入し、モデムコントロールパネルで経由先をモデムポート、モデムをCFE-02に設定するだけです(下図参照)。32kbps、遅いですが、Basiliskのレンダリングも速くはないので、まったりノスタルジックにブラウズしてます(WebブラウザはiCab+Flash3 pluginを使用)。 

設定はこれだけ 1400×1050pixelsでWebブラウジング。やっぱりMacOSの画面は綺麗です… 

ところで、68k時代のワープロソフト『マックライトII』(私は昔これで数百ページのドキュメントを作っていました)では「インライン変換ファイル」がない限りインライン変換ができません。当然、ATOK11用のインライン変換ファイルなど存在しない=インライン変換は不可能な訳ですが、google 検索してみたところ、藤沢純一さんという方がインライン変換ファイルを作るTIPSを公開されていました(下記リンク参照)。早速、ATOK11用のインライン変換ファイルを作成してみたところ、見事にインライン変換できました。 

その後BasiliskII-JITのソースコード自体は、動的な解像度切り替えなどをサポートしたバージョン1.0になっていますが、Windows版は開発が止まったままになっているのが残念です。どなたか開発を引き継いでいただけるといいですね。 

BasiliskII-JITを開発したGwenole Beauchesne氏はその後初のPowerMacエミュレータSheepShaver for x86を開発中のようです。こちらもUNIX版のみなのがちょっと残念です。 

BasiliskIIの最新版及び、SheepShaver for x86はmingwとSDLを使ったWindows版のビルドが可能になったようですが、まだ動作は不安定なようです。 

BasiliskII-JIT・SheepShaver for x86 の最新版のWindows版が配布されています。それぞれ SDL ライブラリを使用しているため、これまでのDirectX 版に比べると速度が落ちているとのこと。 

長所:ネットワークのサポート、実行速度、再現性 

短所:AV の ROM に対応していないこと、JIT 版ではスクロールバーがおかしいこと、My Computer で日本語で始まるファイル名が読めないこと(短所というには些細ですが‥)