Macintosh模拟器心得(三)

BasiliskII与SheepShaver篇

BasiliskII是68k Mac模拟器,能运行的系统与Mini vMac有一定的交集,比如说都能运行7.x系统,但Basilisk II不支持System 6,而Mini vMac不支持System 7.6。相对于Mini vMac, BasiliskII有硬盘和光驱的模拟,但对于软驱模拟来说却显得不是那么灵活。BasiliskII虽然能运行Mac OS 8.0/8.1,但由于当时Mac OS 8主要是为Power Macintosh设计的,体验起来自然不如SheepShaver模拟的好,当然SheepShaver也支持7.5.3-7.6.1版本的系统。一般,SheepShaver更多地还是用来模拟Mac OS 8和9。

BasiliskII和SheepShaver都是由E-Maculation社区支持的。现在,这两个模拟器的使用方法也非常相近,连配置程序都几乎一样。BasiliskII和SheepShaver对Windows的兼容良好,但这两款模拟器的代码已有十来年未曾有实质的更新,在Linux和Mac OS X系统中运行可能存在一些问题,尤其是SheepShaver。

准备材料

特别感谢E-Maculation社区,以下模拟器程序几乎全部出自此社区。

对于Windows用户来说,以下链接是必要的

更多下载信息,参阅:SheepShaver下载页面以及BasiliskII下载页面

 

对于Linux用户来说,可以参考此页面下载编译好的二进制,但更建议自行编译

 

对于Mac OS X用户来说, 这些链接是必要的

更多下载信息,另可参阅SheepShaver下载页面 ,SheepShaver 64位下载页面以及BasiliskII下载页面

配置Basilisk II和SheepShaver

打开SheepShave GUI或BasiliskII GUI,这就是图形化配置程序,也可以参考后面部分的介绍来手动编辑配置文件。

各版本的配置程序均大同小异,SheepShaver和BasiliskII的配置程序也几乎一样,部分选项有些差异。在配置程序中默认可以看到Volumes、 Graphics/Sound、Keyboard/Mouse、Serial、Network、Memory/Misc,JIT Compiler这几个标签,分别可以设置磁盘、图形与声音、鼠标键盘、串口、网络、内存及杂项、JIT编译器。一般最常用到的设置就是磁盘、图形与声音、内存及杂项。

在Volumes标签中,最上面的部分便是模拟器的硬盘列表。点击Add按钮可以添加现有磁盘,Create按钮可以创建空白磁盘,选中列表里的磁盘后点Remove可以删除。Windows版的配置程序,打开文件或保存文件的对话框可能需要多加摸索才能掌握。创建磁盘镜像也可以用HFV Explorer和bximage来创建,使用配置程序创建的磁盘最大2G,使用bximage可以创建更大的镜像,但不要大于4GB否则可能无法识别。

Boot from标签则是设置启动顺序, 默认的“Any”是从列表中第一个可以启动的磁盘启动,还可以设置为从CDROM启动。(注意,如果是SheepShaver且使用的ROM是New World ROM,则设置CDROM启动也不会从CDROM启动。) CD-ROM Drive框可以在下拉菜单中选择系统光驱,或者在输入框中输入光盘镜像(ISO和toast格式)的地址。而“Enable ‘My Computer’ icon on your Mac desktop(external file system)”可以将本机的磁盘映射到模拟器系统的桌面,方便文件交换。

在将Mac OS文件拷贝到主机时,要注意data fork和resource fork,一般一个应用程序或是字体,资源都会存放在resource fork中,如果只拷贝了data fork中的数据那么很可能这个文件会不可用。所以在将Mac OS中的一些资源拷贝出来时,可以用MacBinary或者Stuffit将文件的data fork和resource fork数据编码/压缩到一个文件中,这样交换文件时便不会丢失resource fork的数据。

在Graphics/Sound标签中,Video Type选项可以切换Window(窗口)和Fullscreen(全屏)模式,Window Refresh Rate设置的是窗口模式的刷新频率(建议设置在60Hz),Width和Height设置的是水平和垂直分辨率。SheepShaver的这个标签里还有“QuickDraw Acceleration”选项来启用QuickDraw API的加速,但BasiliskII中没有这个选项。如果选了Disable Sound Output,那会关闭声音模拟。

Keyboard/Mouse标签可以设置使用自定义键盘映射文件,也可以改变鼠标滚轮的行为。 例如默认的“Cursor Up/Down”是模拟上下键,默认翻三行,也可以设置成是按PageUp和PageDown键。一般默认即可。

Serial标签可以映射本机COM口设备,一般很少用到。

Network标签可以设置联网方式, Basilisk II Router方式在SheepShaver中可以设置但并不起作用。Basilisk II Slirp方式与前一种类似,都是NAT类型的,但此种方式联网在Windows和Linux系统下极不稳定,在模拟器中打开浏览器上网时极有可能崩溃。如果Windows客户端安装了Ethernet驱动,列表中会显示出可以桥接的网络适配器,但此驱动不兼容64位系统,而且现有的64位版本由于没有数字签名,只能在Windows的驱动测试模式下使用。一般来说,不要指望在模拟器中上网,一是不稳定,二是老Mac OS的浏览器太老,不兼容现代的网页标准,甚至一些https网站也因证书问题无法访问。

Memory/Misc标签。SheepShaver和BasiliskII的这个标签有一些区别,在于BasiliskII可以选择 Mac Model ID,也就是机型差别。Mac Iici机型用于模拟7.x系统,不能启动Mac OS 8.1,而Quadra 900机型主要用于模拟System 7.5到8.1系统。 而其他的设置都是一样的,比如MacOS RAM Size可以设置模拟器内存大小,单位是MB。ROM File栏中可以输入或选择ROM文件的地址。 一般还会选上“Ignore Illegal Memory Access”选项来允许Mac OS程序的一些非法内存访问请求。关于SheepShaver的ROM, 在提供的Windows版本中有“Mac_OS_ROM”和“Mac_OS_ROM_oldworld”两种ROM。主要在于前者(New world ROM)只能启动Mac OS 8.5和更新版本的Mac OS,要模拟7.5.3到8.1系统,需要使用“Mac_OS_ROM_oldworld”。一般来说用oldworld ROM可能更稳定一些。具体可参阅Wikipedia中关于New World ROMOld World ROM的文章。

JIT标签在SheepShaver和BasiliskII中有较大的区别, 一般这个标签使用默认设置即可。启用JIT编译器可以允许模拟器缓存一些编译好的指令以加快模拟速度,类似于Java的JIT。但有些Mac OS的程序或游戏在启用JIT后会表现得不正常,遇到这样的程序,再关闭这个选项也不迟。

设置完毕之后,点击Start按钮来启动模拟器。

Windows版本如果遇到这个提示,可以将模拟器目录下的CD-ROM Driver目录中的cdenable.sys文件复制到系统盘Windows\System32\Drivers目录下, 64位系统不能使用这个驱动,但复制到Windows\SysWOW64\driversm目录下可以避免每次开启模拟器都显示的这个提示。

一般用Mac OS的安装光盘来启动模拟器。

如果创建的是空镜像,Mac OS启动后会提示初始化镜像。如果是Basilisk II,要在这个磁盘中安装系统就要选择Mac OS标准格式,虽然Mac OS 8.1及以后的系统可以选择Mac OS扩展格式,但这种格式只在SheepShaver中可作为启动磁盘。完成之后运行安装器再安装系统既可。 安装完系统在模拟器中关机,再运行设置程序,将启动磁盘从CD-ROM改成Any即可体验Mac OS系统了。

如果安装的系统是Mac OS 8.x和Mac OS 9,系统第一次运行时会弹出设置助理来帮助用户设置Internet和文件共享。 但在模拟器中,设置助理在配置共享时会卡死整个模拟器,因此退出设置助理即可。