M1 MacでもPowerPC MacOSを動かしてみた
以前、M1 MacでPowerPCをエミュレーション可能なUTMでMac OS 9.2.2を動作させました。しかし、色々と足りない面も多い。そこで利用したいのが、PowerPC MacOSをエミュレーションする環境として、古から存在してるSheepShaver。動作可能はMac OSはPowerPC版MacOSの9.0.4までをサポートしています。
こちらもM1ネイティブ対応してるということなので検証をしてみることにしました。
図:ARMバイナリとして動く
目次
今回利用するアプリ等
- SheepShaver - PowerPC MacOS Emulator
現在は公式サイトではなく、emaculation.comにて最新ビルドが配布されており、現在も少しずつアプデが続けられています。今回利用するMacOSは、Mac OS 8.6を利用してみたいと思います。
SheepShaver
歴史
68K MacOSからCPUを乗り換えて登場したのが、PowerPC Mac。色々な意味でApple Computerの末期だった頃でもあります。その後NeXTコンピュータからUNIXベースのNeXTを持ち込んでカムバックしたジョブズが作ったのがPowerPC版Mac OS X。そして、現在のAppleにつながるターニングポイントともなった時期でした。
今回はCD-ROMに含まれているMac OS ROMを利用してブートさせますので特別に実機からのROM抽出は不要です。
図:起動してみた様子
SheepShaverの入手
BasiliskII同様、SheepShaverも古いエミュレータながら、現在も少しずつ改良が加えられていて、M1 Macにも対応して現在に至ります。設定を行う為のGUIについては本体アプリに統合されていて、別途用意する必要はありません。本家サイトでは現在は配布されておらず、e-maculationのサイトで2022年12月が最終更新として未だにメンテされてたりします。ダウンロードするものは以下の通りです。
- OSのCD-ROMに含まれているMac OS ROMファイル
- Mac OS 8.6 ISOファイル(8.5のCD + 8.6へのアップデータで構築する)
- 2022年12月22日リリースのIntel/Armバイナリ
- キーボード設定をするためのkeycodeファイル
- その他のスクリプトが入ってるファイル
これらのファイルは1つのフォルダ内に格納しておきます。ROMファイルですが、実機抽出の古いタイプのROMは7.1.2〜9.0.4まで動きますが、CDROM収録のROMは8.5〜9.0.4まで対応なので注意。
図:CDROMにROMが収録されている
エミュレータの設定
BasiliskIIと異なりSheepShaverはアプリにセッティング項目が用意されているので、起動してからセッティングをすることになりますが、いくつか現時点で注意点があります。
注意点
Ventura 13.4でSheepshaverを起動してみたところ、以下の問題点があります。
- メニューからSheepshaverを終了を実行してもアプリが終わらない為、強制終了するしかない(OS内でシャットダウンの場合はきちんと終了する)
Universal Binaryにも関わらず、M1 Macで起動しない(macOS Ventura 13.4.1にアプデしたら動くようになりました)
図:Rosetta2で開く必要がある
セッティングを行う
アプリを起動したら、メニューから「Settings」を開き作業を行います。
- Voluemsでまずは、Createをクリックし拡張子dskかhfvでファイルを作成。Volume Sizeは最大2000MBまで指定が可能です。
- 同じくMac OS 8.5のISOファイルも含めて起きます。この場合、CD-ROMのチェックを入れておきます。また、CDからのブートに変更します(Boot Fromで変更)。
- RAM Sizeは最大2GBまで指定可能です。
- ROM Fileでは取り出しておいたMac OS ROMを指定します。
- Unix Rootはホストとやり取りをするフォルダのルートを指定します。
- Audio/Videoタブを開き、Windowの縦横のサイズ、Refresh Rateを指定します。
- Miscellanelousタブを開き、Use Raw Keycodeにてダウンロードしておいたkeycodesファイルを指定します。
- 続けて、Ethernet Interfaceには「slirp」を記入します。
- Save and Quitをクリックして設定を保存します。
この設定ファイルは/Users/ユーザ名以下に、ドットファイルとして保存されてるので、Command + Shift + . で表示すると「.sheepshaver_prefs」がそのファイルとなります。
保存しても、前述の注意点にあるようにアプリを再起動が出来ないので、強制終了をして再度アプリを起動し直します。
図:ディスク作成やISOの指定が必要
Mac OS 8.6のインストール
起動すると、OS8が起動してインストーラが見えるようになります。ISOファイルを追加してCD-ROMから起動してるのに、「起動ディスク上にあるシステムソフトウェアは、他のドライブにコピーされたものでなければ、オリジナルのディスク上でのみ動作します」といったようなエラーが出る場合は、ISOファイルの権限を読み出しのみに変換すると動作するかもしれません。
- 最初に作成した仮想HDDの初期化を求められるので初期化を実行
- 今回はMac OS 8.6 インストーラが見えてるのでダブルクリック
- 適当に進めて、同意画面を越えたら開始ボタンクリックでインストール開始
- インストールが完了したら、SheepshaverのSettingを開く
- VolumesからISOファイルを取り除き、Boot FromをAnyにしてSave and Quitをクリック
- 再起動が始まり、Mac OS 8.6が起動するようになります。
図:インストーラを起動してみた。
追加の設定と覚えておく操作法
Mac OS設定アシスタントをオフにする
初回起動時にMac OS設定アシスタントというものが起動するのですが、すぐに落ちてしまいます。あまり使っても意味のないアプリなので、これを自動起動から取り除いてしまいます。
- 表示されてるディスクを開く。今回なら名称未設定を開く
- システムフォルダを開き、起動項目を開く
- Mac OS設定アシスタントをつかんで、起動項目の外に移動させる
これで次回以降は起動しなくなります。
図:起動時にエラーが出てしまう
図:起動項目から除外する
インターネット接続
ネット接続をしないと意味がないので、以下の手順でEthernet接続を行わせます。
- 🍎 => コントロールパネル => TCP/IPを開きます。
- 経由先をEthernetとします。
- 設定方法はDHCPサーバを参照にしておきます。
- Netscape Navigator等のアプリを起動して確かめる
但し、現代のウェブページのほとんどはHTTPS化されてしまっており、殆どのページには接続が出来ません。当時のネットはSSL等もルート証明書とかも無かったので、当時のウェブブラウザで表示できるシーンは限られますが、NASに接続するには必要なのでこの設定はしておきましょう。
図:TCP/IPの設定をするだけでOK
図:無事に外に出られました。
右クリックが無い
当時のMac OSは今とは異なり基本的にマウスはシングルクリックしかなく、右クリックが存在しません。その場合の操作はM1 Macでは「Controlキー + クリック」でコンテキストメニューが出るようになります。ゴミ箱空にするなどの作業で必要になるので覚えましょう。
図:ゴミ箱空にする場合に必要
Unixドライブ
M1 Mac側とファイルをやり取りするには、ドラッグ&ドロップなどは使えないので、表示されてるUnixドライブを経由させてファイル等は送り込んであげます。このUnixドライブが初期設定で行ったUnix Rootで指定したフォルダになります。但し文字コードの関係で日本語などは文字化けしてしまいます(後述の手順で修正可能)。
NASアクセスはApple Talkとなってしまい、現代標準のSambaではないためアクセス不可能です。但し、NAS側がFTP対応していればFTPクライアントを使ってのアクセスは可能です。
図:Unixドライブを通じてファイルやり取り
Unixドライブの文字化け修正
Unixドライブはデフォルトでは日本語が文字化けしてしまいます。これを修正するには以下の手順で1行コードを入れて保存するだけ。
- /Users/ユーザ名/のフォルダに移動する
- Command+Shift + . キーで非表示ファイルを表示する
- .sheepshaver_prefsをテキストエディタで開く
- name_encoding 1を追加して保存
- Command+Shift + . キーで非表示ファイルを非表示する
- SheepShaverを起動するとUnixドライブの文字化けが解消されます。
図:日本語の文字化けが修正された
図:1行足してあげるだけ
JISキーボード入力
SheepShaverではキーボード入力はASCII配列(英語キーボード)となります。よって、JIS配列のMacで使う場合、入力内容と食い違いが生じます(例:@マークを入れる場合はShift+2キーといった具合)。これでは不便です。ということで、以下の処置をします。
- /Users/ユーザ名/のフォルダに移動する
- Command+Shift + . キーで非表示ファイルを表示する
- .sheepshaver_prefsをテキストエディタで開く
- keyboardtypeという項目の値が5になってるので、これを201に置き換えて保存
- Command+Shift + . キーで非表示ファイルを非表示する
- SheepShaverを起動するとJISのキー入力で入力出来るようになる。
図:ここの値を書き直すとJIS配列になる
日本語入力オンオフ
前述のJISキーボードに加えて、ことえりによる日本語入力オンオフも変更することが可能です。前述の本家配布のkeycodesファイルに細工を加えると、英数/かなのキーでMacOSの日本語入力オンオフが切り替わります。この手法はBasiliskIIでも利用可能です。
- keycodesファイルをテキストエディタで開く
- sdl cocoaのセクションを検索してジャンプ
- 以下のような項目を追記する
- BasiliskIIを起動し、英数/かなでオンオフや円マーク入力が出来るようになる。
図:keycodesファイルを書き換える
音が出ないトラブル
OSをインストールしたのに、音が一切出ないというトラブルが、Mac OS 8.5と8.6のケースで生じています。これはデフォルトでコントロールパネルに登録されてる「モニタ&サウンド」が正常に動作していないのが原因です。以下の手順で修正します。
- デスクトップ上のHDD(名称未設定等)を開きます
- Appleエクストラ => モニタエクストラフォルダ => モニタを掴んで、システムフォルダ=>コントロールパネルに移動する
- Appleエクストラ => サウンドコントロールパネル => サウンドを掴んで、同様にシステムフォルダ=>コントロールパネルに移動する
- 同時にコントロールパネルにあるモニタ&サウンドを掴んでコントロールパネルの外に移動させる
- 🍎メニュー => コントロールパネルを開き、サウンドを開く
- サウンド出力を選んで内蔵スピーカを選択
- Sheepshaverをシャットダウンする
- 再度起動すると警告音などが鳴るようになる。
図:コントロールパネル項目の不具合
図:内蔵スピーカを指定する
頻繁にフリーズします
これもうどうにもならないことですが、当時のMacOSはフリーズ専用マシンかと思うほどフリーズします。これはBasiliskIIでも同じで、その場合はホスト側でBasiliskIIごと強制終了する必要があります。
強制終了した結果OSが壊れることもままあるので、常に作成したシステムディスクのファイルはバックアップを取っておくようにしましょう。
各種アプリケーションの追加
StuffIt Expander
拡張子がsitやbinのファイルを解凍するのに必要な当時のMac界隈で標準だった圧縮形式です。以下の手順でインストールします。
- こちらのサイトからStuffItExpander55.dskをダウンロードする
- SheepShaverのSettingでVoluemsとして1.のファイルを追加してStartで起動する
- 起動すると1.のディスクがマウントされて中にインストーラが入ってるので起動する
- インストールを進めて完了する。
図:まずコレがないと始まらない
DiskCopy
同じくディスクイメージファイルを扱う為に必要なDiskcopyをインストールします。前述のStuffItが無いとインストールが出来ないので注意。こちらも必須のアプリです。
- Macintoshのディスクを開き、appsというフォルダを用意する
- こちらからDiskcopy6.3.3をダウンロードする
- 1.のフォルダにコピーしてダブルクリックする。デスクトップにマウントされて中身が表示される
- 中に入ってるDisk Copyを起動するとインストーラが起動する
これを使うことで、ディスクイメージを作成することが出来るようになります。
図:公式サイトでまだ配布されている
QuickTime 4.1.2
Apple提供の当時の動画プレイヤー等で使われていたもの。AppleWorksのインストールでも必要だったりするので、地味に重要にも関わらず、入手手段が結構限られている。WebArchiveのに日本語版インストーラ(QuickTime_Installer.smi.bin)が残っていました。
ダウンロードして、Stuffitで解凍後、SMIファイルをダブルクリックでインストールされます。英語版は日本語のMacOSにインストールが出来ませんでしたので、これが必要です。
- Macintoshのディスクを開き、appsというフォルダを用意する
- こちらのサイトをダウンロードする
- 1.のフォルダにコピーしてダブルクリックする。デスクトップにマウントされて中身が表示される
- QuickTime Installerを実行する
- 再起動すると使えるようになる
図:QuickTime 4.1.2 日本語版
ssheven
驚くべきことに現在も開発が続けられているMac OS 7,8,9用のSSHクライアント「ssheven」が存在し、それがGithubで公開されています。非常に単純な1個のアプリとなっています。試しにMacbook Air側でリモートログインを有効化して、SSH接続を許可してみました。
Macbook Air側のIPアドレス、ユーザ名、パスワードを入れると普通に接続が可能です。SheepShaver側のIPアドレスとMacbook Air側のIPアドレスはIPアドレスのセグメントは異なるものの、NATで接続されてるので、そのまま接続可能です。
OS8.6はOSXと違ってUNIXでは無いのでターミナルが存在しないので、このSSHクライアントは非常に有用なツールです。
図:SSH接続出来ちゃいました
68K MacOS アプリ
YooEdit 68kといったような、PowerPCではない68kアプリがそのまま動くようになっています。BasiliskIIがあるのであえて、SheepShaver上のMacOSで動かすというのはアレですが、そもそも動くようにエミュレータが搭載されているとのことで、思えばこの頃からCPUお引越しの支援(今で言うRosetta)をAppleはしていたんだなと。
ゲーム類はサウンドもバッチリ出るものの、当時のアプリはWindows同様モニタの色数を256色に変更してからでないと動かないものが多かったです。FATバイナリと呼ばれる68k/PPC共用で動く、ちょっと前のUniversal Binaryな仕組みもありました。
図:懐かしい68kアプリ
商用アプリケーション
当時の手持ちの資産にAppleWorks6が残っており、入れてみました。ただ、アップデータが確か6.2.7まではあったような気がするのですが、既にもうウェブ上からは該当のアップデータも見つからず(6.2.9はあったものの、これは確かOSX用)
実際に動かしてみたものの、正直重たい。実用になるとは言えないけれど、当時の雰囲気を思い出すノスタルジーには浸れる。
図:AppleWorksのスタート画面
関連リンク
- iMac OS 8.6 インストール編
- MacOS9.2.2で最強の環境構築するためのソフト一覧
- OS9向けおすすめソフト。
- SheepShaverを使えばMonterey、BigSur、CatalinaでもMac OS 9以前のクラシック環境を仮想化できる!インストール方法と基本設定について
- Mac OS 8.1~9.2.2から共有フォルダにアクセスする
- Setting up SheepShaver for OSX/macOS
- SheepShaver をセットアップした話
- SheepShaverでClassic Mac OSを動かす
- SheepShaverのOSX共有フォルダファイル名文字化け解消法
- 5-3. SheepShaver
- Macintosh Garden
- Macintosh Repository
- mac.org
- The Macintosh Archives
- Macintosh Archive
- Mac GUI
- Mac OS Xでimg+cueがマウントできなかったのでisoに変換するの巻
- Apple、macOS 10.12 Sierraで「Mac OS標準フォーマット(HFS)」のサポートを終了へ。
- MacOS10.12でのMacOS標準CD-ROMのマウント
- Macの「HFS(Mac標準フォーマット)」のデータを読み出す方法
- sheep-bridge
UTM で Snow Leopard は動く?の際にはお世話になりました。
さて、私も Sheep Shaver で MacOS 9.0.4 を動かしております。
2022年12月22日版の最新の 2.5 ですが、Ventura 13.4.1 の M1 MacBook Pro 環境なのですが、 Apple Silicon ネイティブで問題なく動いています。
もともとは Intel の MacBook Pro 13 Mid 2014 で、2018年に構築した環境です。2020年12月に入手した M1 MacBook Pro に、移行マネージャでそのまま移行しています。当初は Rosetta で動いていたのですが、2021年4月28日版の SheepShaver で、初めてネイティブ対応しました(この版は emaculation.com からは既に消えているようです)。
私はつい10日ほど前に、やっとMonterey から Ventura に変えたばかりです。先ほど確認したところ、Apple Silicon ネイティブで問題なく MacOS 9.0.4 が起動しますし、SheepShaver のアプリを終了させようとすると、エミュレーション環境の MacOS 9.0.4 側でシステム終了を求めるダイアログを表示します。
ですので SheepShaver は Ventura 環境でも Apple Silicon に対応して動作すると思います。
2018年に Aheep Shaver 用 MacOS 9.0.4 の環境をいったいどうやって構築したのか、もう覚えていません。HFS+ フォーマットの MacOS CD-ROM を読み取るのに、古い Intel Mac に入れていた Parallels Desktop の Snow Leopard を使ったのか、当時まだ手元にあった iBook G4 を使ったのか…
Sheep Shaver は昔の HyperCard スタックを確認したり、クラリスワークスで作成した書類を Apple Works で開くために構築しました。もうほとんど使うことはありませんが。
ssheven 知りませんでした。情報ありがとうございます。(今はあまり必要性を感じないのですが)試してみたいと思います。
クラシック環境で動くブラウザについては、Classilla のプロジェクトがあったのですが、2021年の初めに開発中止になってしまいました。
https://www.floodgap.com/software/classilla/
HyperCard 互換の SuperCard は 64ビット対応できず、Parallels Desktop で Catalina 入れて使えというメールが届いたのを最後に(笑)、ここ3年以上音沙汰がないです(それ以前に日本語対応ができなくなっていましたけど)。
https://www.supercard.us/
PC-9801 が動かないと困る工場や、MacOS 9 が必要な出版系まだあるみたいです。大変ですね。
杉崎さん
officeの杜管理人です。自分はいまだ、snow leopardがうまく構築できず仕方なく、UTMでOSX Tigerを構築して記事に追記しました。
SheepShaverですが、同じバージョンのビルドが動かなかった理由は、Venturaのバージョンアップを行ったら無事に動くようになりました。
古い雑誌のCDを読み取るのに使ったり、HyperCardくらいしかもはや活用余地はないかもしれませんが、このOSそのものが後世まで残す手段としてSheepshaverやUTMは非常に貴重な存在だと思います。
PC98はエミュレーションでソフトウェアは動作できても、9801を使ったNC旋盤などは緻密性が求められるので、恐らくそのままでは活用できないとは思いますがいずれ最後の日が来るハズなので、その時はハードウェアエミュレータはまた活躍する日がくるかもしれません。