[WEB App] Power Mac Emulator v1.0 — PowerPC MacをブラウザでエミュレートしてMac OSを起動する使い方ガイド

[WEB App] Power Mac Emulator v1.0 — PowerPC MacをブラウザでエミュレートしてMac OSを起動する使い方ガイド

概要

Power Mac Emulator は、1990年代の PowerPC Mac(Power Macintosh 7500 など)をブラウザの中でエミュレートして、Mac OS を起動するツールです。インストールは不要で、読み込んだファイルがサーバーへ送られることもありません。

エミュレーター本体には DingusPPC の WASM ビルドを使っています。ROM と起動ディスクは各自で用意したものを読み込みます。一度読み込んだファイルはブラウザの中(OPFS)に保存されるので、次からは選ぶだけで起動できます。

スクリーンショット

Power Mac Emulator

Power Mac EmulatorでMac OS 8.1が起動した画面

COPLAND D11E4 Emulator

Power Mac Emulator // COPLAND D11E4

動画

Power Mac Emulatorの起動の様子

Power Mac Emulator を起動する

以下、リンクを開くと起動します。

COPLAND D11E4 Emulator を起動する

以下、リンクを開くと起動します。

スタートメニューから起動

トップページのスタートメニューからも起動できます。

Power Mac Emulator — スタートメニュー

用意するもの

このページには、Apple の ROM や OS は含まれていません。手持ちのものを用意してください。

ファイル内容
ROMPower Macintosh の 4MB ROM(実機から吸い出したもの)
起動ディスクMac OS 7.5〜9 の CD や HD のイメージ(.iso / .img / .dsk など)
ドライバヘッダ(必要な場合のみ)素の HFS イメージを起動するときに使う .hda ファイル(後述)

ROM の見分け方

エミュレーターは、ROM のチェックサムから機種を自動で判別します。動作を確認している ROM は次のとおりです。

チェックサム機種
9630C68B / 96CD923DPower Mac 7200 / 7500 / 8500 / 9500
79D68D63 / 78F57389Power Mac G3(Beige)
9FEB69B3Power Mac 6100 / 7100 / 8100

ROM ファイルの名前がチェックサムになっていることが多いので、ファイル名で確認できます。

使い方

  1. 画面の下の「Import ROM / Disk」を押して、ROM と起動ディスクを選びます(まとめて選べます)。
  2. 右パネルの FILES に一覧が出たら、ROM・HD・CD の欄でそれぞれ使うファイルを選びます。
  3. 必要なら機種と RAM を選びます(通常は「Auto」「64MB」のままで大丈夫です)。
  4. 「▶ Start」を押すと起動します。ハッピー Mac が出て、Mac OS の起動が始まります。
  5. 画面をクリックすると、マウスとキーボードが Mac 側に切り替わります。Esc で元に戻ります。

2回目からは、読み込み済みのファイルを選んで Start を押すだけです。

起動ディスクの入れ方

ファイル一覧の右に、判定した種類がバッジで表示されます。

バッジ種類入れる欄
ROM4MB 前後のファイル(ROM らしいもの)ROM
HDパーティション付きのディスクイメージHD
CDCD の ISO イメージCD
HFS*パーティションのない素の HFS イメージHD(+ Header)

素の HFS イメージ(HFS*)について

CD から吸い出したイメージの中には、パーティション情報やドライバを含まない「素の HFS」形式のものがあります。このままでは起動ディスクとして認識されません。

その場合は、HD 欄に入れたうえで、Header 欄にドライバヘッダ(Device Image Header (All Drivers).hda)を指定してください。エミュレーターが、ドライバ入りのパーティション情報を先頭に付け足して起動します。ドライバヘッダは Apple のドライバを含むため、このページには置いていません。Infinite Mac のリポジトリ(src/Data/)などから各自で用意してください。

ディスクへの書き込み

HD 欄に入れたディスクは、Mac OS から書き込めます。書き込んだ内容はブラウザ内(OPFS)のコピーに保存され、次に起動したときも残っています。手元の元ファイルは変わりません。

最初の状態に戻したいときは、一覧の「×」で削除して、読み込み直してください。

画面構成

場所内容
左Mac の画面。ウィンドウの大きさに合わせて伸び縮みします
左下Import ボタン、機種・RAM・ログレベルの選択、Start ボタン、ステータス
右上SYSTEM:対応機種や保存方法の概要
右FILES:読み込んだファイルの一覧と、ROM / HD / CD / Header の選択
右CONTROLS:操作のまとめ
右下LOG:エミュレーターのログ(普段は折りたたみ)

キー操作

PC のキーMac のキー
WinCommand(⌘)
AltOption
CtrlControl
英数字・記号そのまま(US 配列として送られます)
Escマウスとキーボードの捕捉を解除

Windows では Win キーが OS 側に取られて、Mac まで届かないことがあります。

ログの見方

右下の LOG は、普段は折りたたまれていて、見出しに ERR 14 / WARN 3613 のような件数だけが出ます。クリックすると開きます。

  • 起動中は、正常な動作でも多くの WARN と ERR が出ます。たとえば Access to unmapped physical memory は、ROM が RAM の範囲を調べている動作です。
  • 同じ内容の行は 1 行にまとめられ、×128441 のように回数が表示されます。
  • ログレベル(OFF / ERR / WARN / INFO)は Start の前に選びます。普段は ERR か WARN で十分です。

起動しないときは、LOG の中の ERR の行を見ると原因の見当がつきます。

注意事項

  • 音は出ません(未実装です)。
  • 再起動は、ページの再読み込みで行います。
  • タブを裏に回すと、ブラウザの制限で動作が大きく遅くなります。使うときは前面に置いてください。
  • 読み込んだファイルは、ブラウザのサイトデータとして保存されます。ブラウザの「サイトデータの削除」を行うと消えます。
  • スマートフォンでも表示はできますが、マウスとキーボードの操作があるため、PC のブラウザでの利用をおすすめします。

よくある質問 (FAQ)

Q. 読み込んだ ROM やディスクはサーバーに送られますか?
A. いいえ。ブラウザの中(OPFS)に保存されるだけで、外部に送信されるデータはありません。

Q. 「?」マークの付いたフロッピーが点滅したまま進みません
A. ROM は正常に動いていて、起動ディスクが見つからない状態です。ディスクが HD / CD の欄に入っているか、素の HFS(HFS*)なら Header を指定しているかを確認してください。

Q. ROM を読み込んでも起動しません
A. LOG に Could not autodetect machine from ROM. と出ている場合は、対応していない ROM です。上の表のチェックサムと見比べてください。

Q. 画面が一瞬で消えて、ステータスにエラーが出ます
A. ファイルの組み合わせが合っていない可能性があります。LOG を開いて、最初に出ている ERR を確認してください。

おまけ:Copland D11E4 ランチャー

Apple が開発を中止した幻の OS「Copland」の最終ビルド D11E4 を起動するための、別のページも用意しています。こちらは Michael Steil 氏が Copland 用にパッチを当てた DingusPPC とウィジェットを、そのまま使ったランチャーです。

起動には、専用に組み上げたディスクと NVRAM が必要で、このページには含まれていません。Copland が実際に動く様子は、作者のページで体験できます。

COPLAND D11E4

👉 Copland D11E4 ランチャー(後述)

スクリーンショット

Power Mac Emulator // COPLAND D11E4

クレジット

  • エミュレーター:DingusPPC(GPL-3.0)— DingusPPC 開発チーム
  • WASM ビルド:mihaip/dingusppc / Infinite Mac(Apache-2.0)— Mihai Parparita 氏
  • Copland パッチ・ウィジェット:mist64/dingusppc(GPL-3.0)— Michael Steil 氏
  • Mac OS / Copland © Apple Computer, Inc.(ROM・ドライバヘッダ・OS イメージは配布していません)

技術解説

実装の詳細(C++ から呼ばれる workerApi、SharedArrayBuffer のロックによる入力、OPFS でのディスク I/O、素の HFS にドライバヘッダを付けて起動する方法、Copland 版との設計の違いなど)は、技術記事にまとめています。