[WEB App] Power Mac Emulator v1.0 — PowerPC MacをブラウザでエミュレートしてMac OSを起動する使い方ガイド
概要
Power Mac Emulator は、1990年代の PowerPC Mac(Power Macintosh 7500 など)をブラウザの中でエミュレートして、Mac OS を起動するツールです。インストールは不要で、読み込んだファイルがサーバーへ送られることもありません。
Power Macintosh 7500 - Wikipedia
The Power Macintosh 7500 is a personal computer introduced by Apple Computer in August 1995 and sold until May 1996. It was the mid-range model in the second generation of the Power Macintosh line, between the entry-level Power Macintosh 7200 and high-end 8500.
en.wikipedia.orgエミュレーター本体には DingusPPC の WASM ビルドを使っています。ROM と起動ディスクは各自で用意したものを読み込みます。一度読み込んだファイルはブラウザの中(OPFS)に保存されるので、次からは選ぶだけで起動できます。
GitHub - dingusdev/dingusppc: An experimental emulator
An experimental emulator. Contribute to dingusdev/dingusppc development by creating an account on GitHub.
github.comスクリーンショット
Power Mac Emulator
COPLAND D11E4 Emulator
動画
Power Mac Emulator を起動する
以下、リンクを開くと起動します。
[WEB App] Power Mac Emulator v1.0 — PowerPC Mac エミュレーター
DingusPPC(WASM)でPower Macをブラウザにエミュレート。ROMとディスクを読み込んでMac OSを起動。
lain-lab.comCOPLAND D11E4 Emulator を起動する
以下、リンクを開くと起動します。
[WEB App] COPLAND D11E4 エミュレーター
COPLAND OSをブラウザにエミュレート。ROMとディスクを読み込んでMac OSを起動。
lain-lab.comスタートメニューから起動
トップページのスタートメニューからも起動できます。
用意するもの
このページには、Apple の ROM や OS は含まれていません。手持ちのものを用意してください。
| ファイル | 内容 |
|---|---|
| ROM | Power Macintosh の 4MB ROM(実機から吸い出したもの) |
| 起動ディスク | Mac OS 7.5〜9 の CD や HD のイメージ(.iso / .img / .dsk など) |
| ドライバヘッダ(必要な場合のみ) | 素の HFS イメージを起動するときに使う .hda ファイル(後述) |
ROM の見分け方
エミュレーターは、ROM のチェックサムから機種を自動で判別します。動作を確認している ROM は次のとおりです。
| チェックサム | 機種 |
|---|---|
9630C68B / 96CD923D | Power Mac 7200 / 7500 / 8500 / 9500 |
79D68D63 / 78F57389 | Power Mac G3(Beige) |
9FEB69B3 | Power Mac 6100 / 7100 / 8100 |
ROM ファイルの名前がチェックサムになっていることが多いので、ファイル名で確認できます。
使い方
- 画面の下の「Import ROM / Disk」を押して、ROM と起動ディスクを選びます(まとめて選べます)。
- 右パネルの FILES に一覧が出たら、ROM・HD・CD の欄でそれぞれ使うファイルを選びます。
- 必要なら機種と RAM を選びます(通常は「Auto」「64MB」のままで大丈夫です)。
- 「▶ Start」を押すと起動します。ハッピー Mac が出て、Mac OS の起動が始まります。
- 画面をクリックすると、マウスとキーボードが Mac 側に切り替わります。Esc で元に戻ります。
2回目からは、読み込み済みのファイルを選んで Start を押すだけです。
起動ディスクの入れ方
ファイル一覧の右に、判定した種類がバッジで表示されます。
| バッジ | 種類 | 入れる欄 |
|---|---|---|
ROM | 4MB 前後のファイル(ROM らしいもの) | ROM |
HD | パーティション付きのディスクイメージ | HD |
CD | CD の ISO イメージ | CD |
HFS* | パーティションのない素の HFS イメージ | HD(+ Header) |
素の HFS イメージ(HFS*)について
CD から吸い出したイメージの中には、パーティション情報やドライバを含まない「素の HFS」形式のものがあります。このままでは起動ディスクとして認識されません。
その場合は、HD 欄に入れたうえで、Header 欄にドライバヘッダ(Device Image Header (All Drivers).hda)を指定してください。エミュレーターが、ドライバ入りのパーティション情報を先頭に付け足して起動します。ドライバヘッダは Apple のドライバを含むため、このページには置いていません。Infinite Mac のリポジトリ(src/Data/)などから各自で用意してください。
GitHub - mihaip/infinite-mac: A classic Mac loaded with everything you'd want
A classic Mac loaded with everything you'd want. Contribute to mihaip/infinite-mac development by creating an account on GitHub.
github.comディスクへの書き込み
HD 欄に入れたディスクは、Mac OS から書き込めます。書き込んだ内容はブラウザ内(OPFS)のコピーに保存され、次に起動したときも残っています。手元の元ファイルは変わりません。
最初の状態に戻したいときは、一覧の「×」で削除して、読み込み直してください。
画面構成
| 場所 | 内容 |
|---|---|
| 左 | Mac の画面。ウィンドウの大きさに合わせて伸び縮みします |
| 左下 | Import ボタン、機種・RAM・ログレベルの選択、Start ボタン、ステータス |
| 右上 | SYSTEM:対応機種や保存方法の概要 |
| 右 | FILES:読み込んだファイルの一覧と、ROM / HD / CD / Header の選択 |
| 右 | CONTROLS:操作のまとめ |
| 右下 | LOG:エミュレーターのログ(普段は折りたたみ) |
キー操作
| PC のキー | Mac のキー |
|---|---|
| Win | Command(⌘) |
| Alt | Option |
| Ctrl | Control |
| 英数字・記号 | そのまま(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 とウィジェットを、そのまま使ったランチャーです。
COPLAND D11E4 — Copland ランチャー
Michael Steil 氏の Copland D11E4 ウィジェットを使ったランチャー。ROM・NVRAM・ディスクは各自で用意。
lain-lab.com起動には、専用に組み上げたディスクと NVRAM が必要で、このページには含まれていません。Copland が実際に動く様子は、作者のページで体験できます。
Apple Copland D11E4 Emulator in Your Browser – pagetable.com
Here is the last build, D11E4 from June 1996, in an improved DingusPPC.
www.pagetable.comCOPLAND D11E4
👉 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 版との設計の違いなど)は、技術記事にまとめています。
[Astro] #155 Power Mac Emulator — DingusPPC WASMでMac OS 8.1をブラウザ起動(おまけ:Copland D11E4ランチャー) // PROTOCOL.LAIN
DingusPPC(mihaip版WASMビルド)を自前のWorkerで動かす実装記録。workerApiの口、SharedArrayBufferのロックによる入力受け渡し、OPFS SyncAccessHandleでのディスクI/O、素のHFSイメージの起動、Copland版との設計の違いまで。
lain-lab.com