Macintosh模拟器心得(四):PearPC篇

PearPC篇

要模拟早期PowerPC版的Mac OS X操作系统,可以选择PearPC或Qemu。PearPC配置起来较为复杂,需要修改配置文件,但整体感觉上要比Qemu更流畅。 常用的版本是PearPC 0.4版0.5版。0.4版于2005年底发布,而时隔数年后的2011年突然发布了0.5版。不过据反映,0.5版在运行10.1和10.2时很容易遇到无法进入系统的情况,而这些问题在0.4版中通常不会出现,而0.5版似乎也没有带来速度上的提升。

面向个人用户的Mac OS X第一个正式版本是10.0,但此版本并不受PearPC支持。但10.1版是作为10.0的一个更新而存在的,只是修复了之前版本存在的问题,而在界面与功能上几乎没有区别。这两个版本的开机界面都是Happy Mac图标,在出现stilling waiting for root device等错误时也会像Classic一样显示一个损坏的系统文件夹。10.0的用户界面一直延续到10.2版本中,虽然10.2已经将开机界面从Happy Mac改成了灰色的苹果logo及一个旋转的标志。10.3版将界面进行了较大的改变,将窗口的样式从Aqua的条纹改成了QuickTime的金属拉丝风格,这套界面延续到10.4系统。10.5的界面又一次发生了较大的改变,但PearPC并不能模拟这个版本。如果要体验10.5系统,可以在Windows中用Vmware 10加上相对应的Unlocker,或者VirtualBox来运行其x86版本。当然,如果不嫌慢也可以用Qemu模拟PPC版本。

本文以PearPC 0.4版本为例,安装Mac OS X 10.2系统。10.0到10.3系统都可以在WinWorldPC中获取,而10.4.6的DMG镜像可以在此磁力链中获取,还需用DMG2ISO或UltraISO将其转换成ISO格式。另外,PearPC不需要Mac ROM。

在下载PearPC之后,建议解压到磁盘根目录下的一个文件夹下,例如E:\PearPC-0.4,不建议在路径中出现中文、特殊符号和空格。硬盘镜像和光盘镜像也最好放在同一个目录下。硬盘镜像可以用bximage和qemu-img来创建,在创建时,用bximage时选择flat格式,qemu-img选择raw格式。也可以使用这个预先创建好的6GB镜像

配置PearPC

将ppccfg.example拷贝一份, 名为ppc.cfg(也可以起其他的名字),用文本编辑器打开就可以进行编辑了。

 

 

如图所示,以##开头的一行是说明性的文字, 以#开头的是可选选项(或者说是被注释掉的选项)。不以#或##开头的的行就是可以修改的选项。格式是 选项 = “值”,且值才是可以改的,修改时,有引号的值不要删除了引号。

ppc_start_resolution = "800x600x15"

这一行意思是启动时的分辨率,格式是 水平分辨率x垂直分辨率x颜色位数。前面两项可以自行修改,后面的颜色位数只能是15或32,区别是15位色只要32768种,而32位有1677万种。一般建议分辨率不低于1024x768,颜色位数为32位。

ppc_start_full_screen = 0  

设置是是否启动时全屏,默认的0表示不全屏,要启动时全屏可以设置为1。

redraw_interval_msec = 40 

设置画面重绘时间,表示在设定时间内更新一次画面,默认40毫秒,最低可以设置为10,最高500。根据机器配置的情况来更改,一般默认或更改为10即可。

 

key_compose_dialog = "F11"
key_change_cd_0 = "none"
key_toggle_mouse_grab = "F12"
key_toggle_full_screen = "Alt+Return"

这几行定义的是快捷键,key_compose_dialog和key_change_cd_0对于PearPC 0.4和0.5来说并没有作用,而key_toggle_mouse_grab(捕获鼠标)默认是F12,key_toggle_full_screen(切换全屏)默认Alt+回车。 这些可以根据自己的习惯来更改。

prom_bootmethod = "auto"  

指的是启动方式, auto意思是自动引导,默认是优先引导硬盘后引导光驱。可以改成select, 启动时列出可启动的分区以供选择,或者用force 后加启动设备和引导文件的位置。一般用auto或者select即可。

#prom_env_bootargs = ""

此处改的是PROM时的启动参数,一般留空即可。

prom_env_machargs = "-v" 

改的是Mac OS X的启动参数, -v表示详细模式启动(看不到启动的动画),如果进入单用户模式可以加上-s, 加 –f 进入安全模式。当然,等系统安装完毕并确认正常后,也可以把-v参数驱动,如果系统启动不正常了可以加回去看看启动时卡在了哪。 这类似于真Mac电脑按Command + V键启动的效果。

prom_driver_graphic = "video.x" 
#page_table_pa = 104857600

这两行不要改,默认即可。

#cpu_pvr = 0x00088302
#cpu_pvr = 0x000c0201

这两行定义的是模拟CPU的类型,要改可以将两行其中一行前面的#去掉。一般不要改,或者只去掉前面一行(G3处理器)前的#,因为模拟G4时可能容易出错。更多处理器列表可以参考此页面

#memory_size=0x8000000 

这里定义的是内存大小,默认被注释,效果是分配128M内存。如果需要修改内存大小,把#先去掉。 修改0x后面的那串数字,比如把8000000改为10000000就能将内存大小设置成256M。 计算方法是将内存大小(MB) x 1024 x 1024得到的数字(单位已经是字节了)转换成十六进制,如512 x 1024 x 1024 =536870912,转换为十六进制就是20000000。进制转换,用Windows自带的计算器就能完成,也有在线的工具支持进制转换。要安装Mac OS X 10.0到10.3,内存不能小于128M;而安装10.4系统,内存不能小于256M。

pci_ide0_master_installed = 1
pci_ide0_master_image = "test/imgs/linux.img"
#pci_ide0_master_type = "hd"

pci_ide0_slave_installed = 1
#pci_ide0_slave_image = "e:\"
#pci_ide0_slave_image = "2,0,0"
pci_ide0_slave_image = "/dev/cdrom"
pci_ide0_slave_type = "cdrom"

这几段定义的是IDE设备,也就是光驱和硬盘。pci_ide0_master_installed = 1和pci_ide0_slave_installed = 1指的是主IDE设备和从IDE设备是否安装。 pci_ide0_master_image = "test/imgs/linux.img" 和pci_ide0_slave_image = "/dev/cdrom"指的是这两个IDE设备的镜像。 通常pci_ide0_master指的是硬盘,pci_ide0_slave指的是光驱,将它们的路径改为实际的镜像路径即可。如果镜像和PearPC在同一个目录可以直接输入它们的文件名,无需路径。#pci_ide0_master_type = "hd"和pci_ide0_slave_type = "cdrom"指的是设备类型,默认硬盘,值为hd时是硬盘,设置为cdrom时是光盘。由于只能使用两个IDE设备,一般是一个硬盘+一个光驱,或者两个硬盘没有光驱。当然也可以设置成两个光驱没有硬盘,但一般不会这么做。

pci_3c90x_installed = 0
pci_3c90x_mac = "de:ad:ca:fe:12:34"

pci_rtl8139_installed = 0
pci_rtl8139_mac = "de:ad:ca:fe:12:35"

这几行定义的是网卡的模拟pci_3c90x_installed = 0和pci_rtl8139_installed = 0指的是是否安装3c90x或者rtl8139,它们下面的一行可以指定网卡MAC地址。PearPC需要主机安装了TAP驱动,它默认会使用TAP适配器联网。如需在PearPC中上网,还需要将默认的网络连接共享给TAP适配器。网络配置较为复杂,如果是Linux可能还要设置路由,Windows具体可以参考此教程(英文)。

pci_usb_installed = 1 

此项表示是否启用USB总线,但PearPC无法添加USB设备。

nvram_file = "nvram" 

最后这行定义的是nvram文件的路径。如果模拟器系统不正常,可以尝试删除模拟器目录下的nvram文件,相对应Mac重置NVRAM,当然不一定能够解决问题。

安装Mac OS X

一般来说,只需要更改IDE相关的设置,其次是内存大小和分辨率。一般如果模拟器运行10.1和10.2系统出现无法进入系统,或者其他一些不正常的情况,可以尝试更改CPU类型,比如两项注释,或者启用G3/G4的选项。

在安装Mac OS X 10.2 Jaguar的过程中,这里只修改了pci_ide0_master_image = "jaguar.img"(硬盘镜像)、pci_ide0_slave_image = "disk1.iso"(光盘镜像),和ppc_start_resolution = "1024x768x32"(分辨率)这么几项。

要启动PearPC模拟器,可以编写一个批处理,名为pearpc.bat,内容为ppc.exe ppc.cfg

也可以直接打开命令提示符,浏览到PearPC的目录,运行ppc.exe ppc.cfg

详细模式下的Mac OS X启动界面

如果运行10.2(或10.1)时模拟器长时间卡在详细模式中,没有出现图形界面,可以尝试退出模拟器,编辑配置文件,将prom_env_machargs = "-v"中的-v参数去掉,或者更改处理器的型号(G3/G4或不设置)。直到进入安装程序。

选择语言后,10.1和10.2版,在“Installer”菜单中可以打开磁盘工具,10.3和10.4系统在“Utilities”(实用工具)菜单中打开。在磁盘工具中,选中硬盘,切换到抹掉(Erase)标签,设置好分区名称后抹掉分区,注意不要选择安装Mac OS 9磁盘驱动,不然可能安装后无法进入系统。

完成之后退出磁盘工具(在磁盘工具菜单中退出),并继续安装。

在安装前,自定义安装的组件。因为不能在模拟器运行时切换安装光盘,所以在定制完后确保不会提示要插入第二张(或第三张)光碟。而这些组件在安装完系统后可以将模拟器的光盘更换成第二张再安装。为了节省时间,最好不要安装打印机驱动,这样可以节省时间空间,而且模拟器不支持连接打印机。

安装完毕后选择重启,模拟器会退出。如果模拟器启动后还是从光盘启动,可以更改启动方式的auto为select,模拟器开机时选择硬盘对应的序号。

Mac OS X安装完毕后会运行设置助理,按照向导完成就可以体验系统了。 但PearPC是没有声音模拟的,曾经0.4的测试版有一个版本带声卡模拟,但是声音非常卡,体验也糟糕。

模拟10.1和10.2时出现无法进入系统的问题可能比较多,可以参考前文的解决方案。在安装10.2和10.3这类多光盘的系统时,可以只安装基本系统和BSD子系统,其他的组件可以在安装完系统后再安装。