跳转到主要内容

Macintosh模拟器心得(五): Qemu篇

Qemu是一款可以模拟多种架构处理器和系统的模拟器,其中就包括了PowerPC模拟和Mac OS及Mac OS X作为客户端系统的的支持。 Qemu开发者们通过OpenBIOS固件加载Classic系统的Mac OS ROM文件和Mac OS X的相应启动文件,就像New world Mac一样。理论上说,Qemu可以支持Mac OS 8.5以上的版本,但目前由于一些原因,最低只支持到9.0.4。

与PearPC不同,Qemu启动是直接通过参数,而非配置文件。注意,Qemu模拟PowerPC机型时速度较慢。在Core i3 7100 3.9GHz + Windows 7系统的环境下,Qemu模拟Mac OS 9.2.2运行MacBench 5的测试成绩为:整数性能约1.6倍于Power Macintosh G3 300MHz 而浮点性能仅有其60%不到。模拟Mac OS 9.2.2基本可以流畅,但同样缺少显卡2D/3D加速。官方版本的Qemu不支持声卡模拟,有一个WIP(work in process)分支目前可以模拟Apple Screamer音频系统,并且在Mac OS 9.2.2下可以流畅播放音频(Mac OS X环境声音依然存在明显卡顿的问题)。

由于Qemu配置较为复杂,这里简单以Windows平台为例,简单介绍一下Qemu如何模拟Power Mac G4 (AGP图形卡)机型,并安装Mac OS 9.2.2。

Emaculation论坛提供了已编译的Qemu 3.0-pre,带Apple Screamer声卡模拟: 64位Windows版(至少需要Windows 7 64位版),macOS版(适用于El Capitan 10.11及更高版本)。

下载完成解压,已自带qemu.bat脚本示例。简单编辑qemu.bat中的参数,例如光驱和硬盘。

例如:

qemu-system-ppc.exe -L pc-bios -boot d -m 512 -M mac99 -prom-env "auto-boot?=true" -prom-env "boot-args=-v" -prom-env "vga-ndrv?=true" -drive file=G:\BaiduNetdiskDownload\OS92CHS.iso,format=raw,media=cdrom -drive file=MacOS9.2.img,format=raw,media=disk -sdl -netdev user,id=network01 -device sungem,netdev=network01

其中找到第一个-drive中的file=参数(后有media=cdrom),将file=后的路径改成Mac OS安装盘的路径(路径中不得包含空格且最好不要出现中文)。在Qemu目录中创建一个硬盘镜像(可以用bximage或qemu-img),并将qemu.bat中的第二个-drive file=(后有media=disk)中的文件名改为刚刚创建的硬盘镜像的名称。在这一行的末尾加上(即本示例中-device sungem,netdev=network01后)输入空格,并添加-usb -device usb-kbd -device usb-mouse。(启用USB总线,使用USB键鼠可以解决模拟器内鼠标指针乱飘的问题。)完成后保存并运行。

 

 

启动后先打开光盘“实用工具”文件夹的“磁盘设置”,初始化硬盘。

 

 

初始化完毕后可以更改桌面上硬盘的名称, 退出磁盘工具后运行光盘中的安装器来安装Mac OS 9。

 

 

 

 

 

 

安装相对来说比较简单。使用默认的设置即可。完成后退出安装器,并关闭模拟的Mac OS 系统。打开qemu.bat,找到 -boot d ,并将d改为c。-boot 参数指的是从C盘(硬盘)启动还是从D盘(光盘)启动。其次,在media=cdrom后加上 “,index=1”(不含引号且注意不要遗漏逗号),在media=disk后加上”,index=0”。(index参数指的是磁盘的顺序,此时将光盘的顺序改为1,硬盘顺序为0,否则Mac OS可能无法启动;如果要从光盘启动,需要将光盘的顺序改为0,硬盘顺序改为1,不知道这是不是此版本Qemu的bug。)编辑完成后启动Qemu。

 

 

此时建议直接关闭设置向导以免造成模拟器假死机或崩溃。并在苹果菜单 – “控制板” – “存储器”中关闭虚拟内存,一定程度上可以提升性能。

 

 

完成后可以通过控制条中的按钮或“显示器”控制板来设置分辨率。

 

 

如果需要改变模拟器启动时的分辨率,可以在qemu.bat文件的末尾添加” -g 1024x768x32”,其中1024x768是分辨率,32代表32位色(百万种),可以改为24(百万种), 16(上千种)或8(256种颜色)。

至此,Mac OS 9的安装就已经完成了。 如果需要文件交换,最简单的方法是通过创建ISO文件来进行。用UltraISO等软件,将需要给Mac OS使用的软件或称文件制作成ISO并在Qemu配置文件中将其设置为光盘。

要安装Mac OS X,方法步骤几乎一样。如果需要探索Qemu的更多用法,可以参考Qemu官方文档及Qemu PowerPC相关文档 ,不过要求一定的英文水平才能看懂文档。

附:Qemu常用参数讲解

以之前使用的参数为例:

qemu-system-ppc.exe -L pc-bios -boot d -m 512 -M mac99 -prom-env "auto-boot?=true" -prom-env "boot-args=-v" -prom-env "vga-ndrv?=true" -drive file=G:\BaiduNetdiskDownload\OS92CHS.iso,format=raw,media=cdrom -drive file=MacOS9.2.img,format=raw,media=disk -sdl -netdev user,id=network01 -device sungem,netdev=network01

其中-L参数指的是ROM路径,一般默认即可; -m 512指的是内存512M; -M mac99指的是Power Mac G4 (AGP图形卡)型号,可以改为g3beige 来模拟Power Macintosh G3(非蓝白机);-prom-env指的是模拟器nvram环境,一般默认即可,其中-prom-env "boot-args=-v"指的是以-v参数启动Mac OS X,如果不需要详细模式可以去掉”-v”;-drive指的是磁盘/光盘设备,其中file=填写的是路径,-format=指的是格式(具体以镜像格式为准且时常为raw格式),media指的是介质类型(如cdrom和disk);-netdev user,id=network01 -device sungem,netdev=network01定义了网络类型及网卡设备,默认是user模式(类似于NAT);-sdl参数表示使用SDL作为Qemu的用户界面。还可以添加-usb -device usb-kbd -device usb-mouse来启用USB总线模拟以及USB键盘鼠标模拟;还有-cpu参数可以定义模拟器CPU类型,可以以-cpu help参数运行模拟器来查看支持的CPU。

 

小提示:

  1. 按Ctrl+Alt+G取消鼠标的捕获
  2. 模拟器内的Mac OS系统如果选择了重新启动,模拟器并不会重启而是显示为黑屏,需要手动关闭模拟器再启动。
  3. Mac OS 9.2.2安装镜像(可启动)(链接:pan.baidu.com/s/1HlCaZs 提取码:01fa);
  4. 预先安装的Mac OS X Tiger 10.4 (链接:pan.baidu.com/s/1Jhz0o9 提取码:amc7);
  5. 预先安装的Mac OS 9.2.2(链接:pan.baidu.com/s/1hfokOn 提取码:g5dc);
  6. Mac OS Anthology 1999版(8 DVDs, 官方System 7 - Mac OS 9.0.0大全)(pan.baidu.com/s/1o8JJu7);
  7. 更多Mac OS相关资源(pan.baidu.com/s/1hsBOdg)。