PearPCに古いMac OS Xをインストールする
August 23, 2021
emulator macOS PearPC目次
はじめに
最初のMac OS Xの登場は2001年。もう20年も前のことです。当時のMac OS XはIntel CPUではなく、PowerPC CPUを搭載したMacintoshで稼働していました。PowerPCをエミュレートするPearPCで、当時のMac OS Xを蘇らせます。
本稿では、PowerPC搭載Macintoshで稼動するMac OS X 10.0 Cheetah, Mac OS X 10.1 Puma, Mac OS X 10.2 Jaguar, Mac OS X 10.3 Panther, Mac OS X 10.4 TigerをPowerPCエミュレーターPearPCで動作させる方法を説明します。
PearPC本体の入手
http://pearpc.sourceforge.net/
PearPC - PowerPC Architecture Emulator
http://pearpc.sourceforge.net/downloads.html
Downloads
ここから、pearpc-0.5-win32-jitc.zip をダウンロードします。
最新版が2011年リリースのversion0.5.0
ここから、空のディスクイメージ(3GBまたは6GB)もダウンロードできるはずですが、筆者の環境ではなぜかできませんでした。
MacOS Xインストーラーの入手
CPUがPowerPCのMacintosh用のMac OS X 10.0~Mac OS X 10.4 Tiger のインストーラーを入手します。これらはパッケージソフトウェアとして販売されていました。Mac OS X 10.1 Upgradeパッケージは電気屋の店頭でばらまかれていました。
パッケージは今では正規購入は無理で、まれにメルカリで出品されていることもあります。所有していない場合は、ネットで調達することになります。以下は例です。
https://winworldpc.com/library/operating-systems
旧OSダウンロードサイト MSDOS, Windows, MacOSあり
https://macintoshgarden.org/apps/mac-osx-mac-os-10-ppc
Mac OS X for PPC (Mac OS 10)
MacOS X 10.0 〜 10.5 インストーラのダウンロードサイト
サイトに上がっているファイルの安全性は自己責任で確認してください。ウィルスが仕込まれているとかよく聞く話です。
あやしげなダウンロードサイトを利用するより、メルカリで運よく見つけたときに購入するのがよろしいかと。
空のディスクイメージの作成
http://pearpc.sourceforge.net/downloads.html
Downloads
ここから、空のディスクイメージ(3GBまたは6GB)がダウンロードできたら、それを使えばよいのですが、ダウンロードできなかったら現役mac上で作成します。PearPCでは、最大32GBまでのディスクイメージを使用することができます。
PearPC用のディスクイメージで注意する点は、ディスクサイズが516096の整数倍でなければならない点です。
例
5GB 5160960000
6GB 6308167680
10GB 10321920000
25GB 25804800000
32GB 31997952000
現役macのターミナルから以下のコマンドにより、空イメージファイルを作成できます。
例:5GBの空イメージファイル作成
$ hdiutil create -size 5160960000 -layout SPUD -fs HFS+ -type UDIF -volname "Macintosh HD" HD5G
HD5G.dmgが作成されます。
現役macを持っていない場合は、以下のpythonスクリプトでディスクイメージを作成できます。ただし、フォーマットされていませんので、インストーラーのDisk Utilityを起動し、そこでフォーマットしないとMac OS Xのインストールができません。
使い方は以下のようなかんじです。5GBの空イメージを作成する場合。
$ python createdisk.py HD5G.dmg 5G
#!/usr/bin/python
import sys
import struct
import re
GRANULARITY = 516096
imagename = sys.argv[1]
imagesize_str = sys.argv[2].upper()
match = re.search(r'\d+', imagesize_str)
value = int(match.group(0))
if re.match(r'\d+M', imagesize_str):
imagesize = value * 1024 * 1024
elif re.match(r'\d+G', imagesize_str):
imagesize = value * 1024 * 1024 * 1024
else:
imagesize = value
if imagesize % GRANULARITY != 0:
just_size = int((int(imagesize / GRANULARITY) + 1) * GRANULARITY)
else:
just_size = imagesize
print("Using image size:"+str(just_size))
imagefile = open(imagename, "wb+")
imagefile.seek(int(just_size)-1)
imagefile.write(struct.pack("B", 0x00))
imagefile.close()
以下、どうでもいい話ですけど…
このスクリプトが間違いだとの指摘をうけました。
おそらくは、引数無しでスクリプトを動かすとエラーになる点を指摘されているのだとは思いますが…
ちゃんとファイル名とサイズの引数を入れて実行してくださいね。
$ python createdisk.py HD5G.dmg 5G
引数を入れて実行するの意味が分からなかったら
imagename = sys.argv[1]
imagesize_str = sys.argv[2].upper()
の2行を
imagename = 'HD5G.dmg'
imagesize_str = '5G'
こんなふうに変更したらいいです。ほんとにどうでもいい話ですが…
PearPCのインストール
(1) 実行用ディレクトリPearPCを作成。
(2) pearpc-0.5-win32-jitc.zipを伸張し、この中のファイルppc.exeとvideo.xをPearPCディレクトリへコピーします。
PearPC¥
ppc.exe
video.x
(3) 空イメージファイル(例:HD5G.dmg)をPearPCディレクトリ内に持ってくる
(4) Mac OS X インストーラーのイメージファイルをPearPCディレクトリ内に持ってくる
(5) PearPCディレクトリ内に設定ファイルを作成
pci_ide0_master_imageに空イメージファイル名を、pci_ide0_slave_imageにインストーラーのイメージファイル名を設定します。
ppc_start_resolution = "1024x768x32"
ppc_start_full_screen = 0
redraw_interval_msec = 10
key_compose_dialog = "F11"
key_change_cd_0 = "none"
key_toggle_mouse_grab = "F12"
key_toggle_full_screen = "Alt+Return"
prom_bootmethod = "select"
prom_env_bootargs = ""
prom_env_machargs = ""
prom_driver_graphic = "video.x"
page_table_pa = 0x00300000
cpu_pvr = 0x00088302
memory_size = 0x10000000
pci_ide0_master_installed = 1
pci_ide0_master_image = "HD5G.dmg"
pci_ide0_master_type = "hd"
pci_ide0_slave_installed = 1
pci_ide0_slave_image = "Mac OS X Install CD.toast"
pci_ide0_slave_type = "cdrom"
pci_3c90x_installed = 0
pci_3c90x_mac = "DE:AD:CA:FE:12:34"
pci_rtl8139_installed = 0
pci_rtl8139_mac = "PE:AR:PC:58:25:01"
pci_usb_installed = 0
pci_serial_installed = 0
nvram_file = "nvram"
(6) PearPCディレクトリ内にvm起動用バッチファイルを作成
.\ppc.exe MacOSX10.1.cfg
ここまで設定すると、PearPCディレクトリの中は次のようになります。
PearPC¥
ppc.exe
video.x
HD5G.dmg
Mac OS X Install CD.toast
MacOSX10.1.cfg
startMacOSX10.1.bat
(7) 起動用バッチファイルstartMacOSX10.1.batをダブルクリックするとvm起動します。
Mac OS Xのインストール
Mac OS X 10.1 Pumaのクリーンインストール例
先の設定ファイルでstartMacOSX10.1.batからPearPCを起動すると、最初に起動ドライブの選択が要求されます。インストーラーCD-ROMを選択します。
起動直後は伝統的なClassic Macintoshの起動画面。
インストーラーが立ち上がったら、空イメージファイルを先のpythonスクリプトで作成した場合は、Disk Utilityを起動してフォーマットする必要があります。(現役macで空イメージファイルを作成した場合はDisk Utilityの操作は不要です。)
「消去」タブで以下のように指定し、「消去」ボタンクリックし、完了したらDisk Utilityを終了する。
インストーラーに戻り、Mac OS Xのインストール先を指定する。
インストールを開始
インストールが終了したら、「再起動」ボタンクリック。でも、PearPCは再起動せず、終了するだけ。
再びstartMacOSX10.1.batをダブルクリックし、vmを起動。今度はハードディスクから起動する。
お馴染みの起動画面。青いリンゴは美しい。
ウィザードでMac OS Xの初期設定
いきなり「マイラインプラス」なんてわけわか用語が…アナログ電話の割引制度のことなんだけど。当時はアナログモデム経由でアナログ回線からネットにつないでいたのね。
設定ウィザードを最後まで進むと、
Mac OS Xのデスクトップとご対面。
なんとなく寂しいけど、今とあまり変わらない。20年前だけど。
インストールが成功したら、MacOSX10.1.cfgを以下のように書き換えると、次回からはstartMacOSX10.1.batで直接Mac OS Xが起動します。
...
#prom_bootmethod = "select"
prom_env_bootargs = ""
prom_env_machargs = ""
prom_driver_graphic = "video.x"
page_table_pa = 0x00300000
cpu_pvr = 0x00088302
memory_size = 0x10000000
pci_ide0_master_installed = 1
pci_ide0_master_image = "HD5G.dmg"
pci_ide0_master_type = "hd"
pci_ide0_slave_installed = 0
pci_ide0_slave_image = "Mac OS X Install CD.toast"
pci_ide0_slave_type = "cdrom"
...
まとめ
PowerPCエミュレーターPearPCにMac OS X 10.1 Pumaをインストールし、当時を懐かしんでみました。