Classic Macintoshアプリの調達方法

September 01, 2021

emulatormacOSClassicMacintosh

目次

はじめに

Windows10上でエミュレータvMac, BasiliskII, SheepShaverによりClassic Macintoshの環境を再現することができます。

エミュレータに当時のOSをインストールし、Classic Macintoshの環境を再現するまでは容易に実現できるのですが、その先、アプリケーションをインストールして活用するのは、21世紀の現代では敷居が高いのも事実です。

本記事では、21世紀のエミュレータによるClassic Macintosh環境用にアプリケーションを調達し、エミュレータの中のClassic Macintoshで動作させる手順をまとめています。

Classic Macintoshのファイルシステム

Classic Macintosh用のアプリケーションを調達する前に、Classic Macintoshのファイルシステムについて知っておくべきことをまとめます。

以下の図はClassic Macintosh用のテキストエディタ(SimpleText/YooEdit/mi)とエディタが生成したテキストファイルをFinderで見た様子です。

mac_files.png

同じテキストファイルであっても生成したテキストエディタによってアイコンが異なっています。テキストファイルのアイコンをダブルクリックすると、そのファイルを生成したテキストエディタが起動します。テキストファイルには拡張子は付いていません。でも、いずれもテキストファイルなので、当然のことながら、生成したテキストエディタ以外のエディタでも開くことはできます。

この振る舞いはWindowsや現役macOSから見ると不思議ではありますが、まぁ便利でした。この振る舞いを実現するために、Classic Macintoshのファイルは通常のファイルの中身が格納されるData Forkと、Macintoshが利用するResource Forkという2つの領域を持っていました。先の例ではテキスト本文はData Forkに、作成したエディタの情報や拡張子に相当するファイルの種類の情報はResource Forkに格納されていた訳です。

この仕組みは、Classic Macintoshだけの閉じた世界ではとても便利で有効なんですが、Windows等他のプラットフォームとデータをやりとりしたり、ファイルをサーバに置いてWindowsからでもClassic Macintoshからでもアクセスするような場合、Resource Forkの扱いが鬼門でした。だってWindowsにはResource Forkなんてありませんから。

テキストデータだったらResource Forkが無くても、Classic Macintosh上で多少不便になるだけで、大きな問題はありません。他のプラットフォームへテキストデータを転送する際は、Resource Forkを欠落させたらよいだけです。でも、アプリケーションのGUI部品やバイナリコードなんかもResource Forkに入れているので、アプリケーションを他のプラットフォームに転送する際にResource Forkを欠落させる訳にはいきません。

そこで、Resource Forkが無いプラットフォームでもResource Forkを欠落させないために、Mac Binaryというフォーマットが策定されていて、Data ForkとResource Forkを1つのファイルにまとめることができました。このファイルの他のプラットフォーム上での拡張子は「bin」です。

ここまで読み進めてピンときたと思いますが、Classic Macintoshのアプリケーションはサーバ上には、「bin」拡張子のファイルとしてMac Binaryにエンコードされた形で置かれているということです。これをClassic Macintoshに持って行ったとき、Mac BinaryファイルのData ForkとResource Forkを分離してClassic Macintoshに出力するデコーダーが必要になります。

Classic Macintoshとホストマシン間のデータ転送

例えばVirtualbox上にゲストOSとして現役macOSを稼働させるような場合は、ゲストOS上でも普通にネットワークが使えるので、ホストOSとゲストOS間のデータ転送はSamba等で容易にファイル共有させることができます。Classic MacintoshエミュレータBasiliskII, SheepShaverの場合は、ホストOSに専用のethernetドライバをインストールすれば、ホストマシン間のデータ転送は可能にはなります。ただし、Classic MacintoshではSambaは使えないので、AppleTalkのファイルサーバを立てる必要があり、かなり敷居が高いです。またホストマシン用のethernetドライバはWindows10にはインストールできないという制限もあります。(Windows10はデジタル署名付きのドライバしかインストールできないのですが、BasiliskII, SheepShaverのethernetドライバには署名がありません。)

という訳で、Classic Macintoshエミュレータをネットに繋ぐのは一旦諦めます。

HFV-Explorer

ネットに繋ぐ代わりに、ホストOSから仮想マシンのハードディスクをExplorerのようにアクセスすることができるWIndowsアプリHFV-Explorerを使用することにします。

HFV-Explorerは以下の場所にあります。

https://surfdrive.surf.nl/files/index.php/s/g3bHyqOg1326AXF/download
BasiliskII, the BasiliskII GUI and other files needed (HFV-Explorer, SDL.dll, drivers, documentation, etc) are included is this download:

HFV-Explorerでは、BasiliskIIやSheepShaverの仮想ハードディスクの内容を閲覧し、双方向のファイルの転送を行うことができます。

まず最初にBasiliskIIやSheepShaverの仮想ハードディスクの拡張子「hfv」をHFV-Explorerに割り当てておきましょう。そうしておけば、仮想ハードディスクファイルをダブルクリックするとHFV-Explorerが起動します。WindowsのExplorerの右クリックで仮想ハードディスクファイルのプロパティを開き「プログラム」が「不明なアプリケーション」になっているので、これを「HFV-Explorer」に変更します。

hfvexplorer_1.png

これでHFV-Explorer使用の準備が整いました。仮想ハードディスクファイルをダブルクリックするとHFV-Explorerが起動します。

hfvexplorer_2.png

ダブルクリックした仮想ハードディスクのヴォリュームがドライブリストの1番上に出てると思います。2番目以降はWindowsのヴォリュームです。HFV-Explorerのウィンドウ内で、ドラッグ&ドロップによりファイルの移動が行えます。注意が必要なのは、WindowsのExplorerとHFV-Explorerの間ではドラッグ&ドロップによりファイルの移動は出来ないということです。一見出来るように見えるのでややこしいところです。

HFV-ExplorerでClassic MacintoshとWindowsの間でファイルのやりとりをする際、フォーマットの変換を行うことが可能です。先に述べた通りClassic MacintoshではファイルはData ForkとResource Forkからなる構造で、一方のWindows側はベタな構造です。Windows側にあるMacBinaryのファイルをClassic Macintoshに転送するときに、デコードして転送するといった指定が可能です。

具体的な方法は、HFV-Explorerの右側ウィンドウで右クリックし、「Options…」を選び、

hfvexplorer_4.png

出てきたダイアログボックスで「File conversions when copying from DOS file systems to HFS file system 」を「MacBinary2」に設定します。 hfvexplorer_5.png

これで、Windows上のMacBinary2ファイルがClassic Macintoshエミュレーターへ正しいファイルとして転送されます。

BONZP MacBinary変換

HFV-Explorerを使えばMacBinary2ファイルをClassic Macintoshエミュレーターへ転送できるのですが、ネットに転がっているClassic Macintoshアプリケーションの多くは、MacBinary2ではなくMacBinary1でエンコードされています。そこで、ネットで調達したアプリをHFV-Explorerで転送する前にMacBinary1からMacBinary2に変換してあげる必要があります。この変換を行うのが「BONZP MacBinary変換」というWindowsアプリです。

https://www.vector.co.jp/soft/winnt/util/se483866.html
BONZP MacBinary変換のダウンロード

http://bonworld.sblo.jp/article/38462857.html
MacBinary変換ソフト解説

使い方は簡単で、BONZP.exeを起動し、「ファイル開く(O)」でMacBinary1ファイルを指定し、「MacBinIIに変換(T)」でMacBinary2に返還後のファイル名を指定するだけです。

実行例

ネットに転がっているClassic Macintoshアプリケーションの多くはStuffIt形式で圧縮アーカイブされています。これを伸張するStuffIt Expanderは必須のツールですので、まずはStuffIt Expanderの入手を例に、手順をおさらいします。

StuffIt Expanderは以下の場所に置かれています。Vectorはソフトウェアのダウンロードサイトとして信頼できるサイトです。

https://www.vector.co.jp/soft/mac/util/se036085.html
StuffIt Expander 英語版 5.5

「StuffIt Expander 英語版 5.5」をダウンロードすると、「Aladdin_Expander_5.5.bin」というファイルが入手できます。これはMacBinary1形式のファイルです。

「Aladdin_Expander_5.5.bin」をBONZP.exeで読み込みます。

bonzp.png

「Aladdin_Expander_5.5.bin2」という名前でMacBinary2形式のファイルに出力します。

HFV-Explorerを起動し、転送先のClassic Macintosh仮想ディスクをマウントし、 「Aladdin_Expander_5.5.bin2」を仮想ディスクヴォリューム(Macintosh HD)にドラッグアンドドロップで転送します。

hfvexplorer_6.png

転送後、Macintosh HDを確認すると、「Aladdin_Expander_5.5 Installer」というファイルができています。

hfvexplorer_7.png

BasiliskII・SheepShaverで仮想ディスクヴォリュームから起動すると、「Aladdin_Expander_5.5 Installer」が転送されていることが確認できます。

macintosh_disk.png

Classic Macintosh上で「Aladdin_Expander_5.5 Installer」をダブルクリックすると…

install_staffit_1.png

StuffIt Expanderをインストールします

install_staffit_2.png

無事StuffIt Expanderが入手できました。

install_staffit_3.png

Classic Macintosh用アプリケーションの調達

前節では、StuffIt Expanderの入手を例に、Classic Macintosh用アプリケーション調達の手順を解説しました。それ以外のアプリケーションでも手順は同じです。

肝心のClassic Macintosh用アプリケーションの調達先は? 21世紀の今となってはあまりありませんね。

筆者が知っている調達先は「Vector ソフトライブラリ」です。1990年代頃までは素人がアプリケーションを作ってそれを公開するフリーウェアとかシェアウェアと呼ばれる形態が存在していました。その巨大ダウンロードサイトが「Vector ソフトライブラリ」だったのです。素人が作ったアプリケーションが多いのでその品質は玉石混交なんですが、有用なものも数多くありました。

https://www.vector.co.jp/vpack/filearea/osx/
Vector ソフトライブラリ Mac用

ここにあるものは、PowerPC Mac OS X用が多いのですが、まれに68k Macintosh用やPowerPC Macintosh用もあります。(68k)と書いてあるものがBasilisk IIで実行可能で、(ppc)と書いてあるものがSheepShaverで実行可能です(例外もありますが)。

でわ、Classic Macintosh用アプリケーションをお楽しみください。

まとめ

BasiliskII、SheepShaver、vMacにClassic Macintoshシステムや漢字Talkをインストールした際の、使えるアプリケーションの調達先、調達したファイルをClassic Macintoshエミュレータに持っていく手順についてまとめました。


Written by questions6768 who lives in Uji, Kyoto.