System 8 × System 7.6 - 知乎
System 8 × System 7.6

System 8 × System 7.6

Why System 7?

最近发现一个叫System 7 Today的网站,原来在互联网的某个角落依然一群人在使用二十多年前的Mac电脑和System 7系统。没有https,固定600px宽度,没有复杂script,二十多年前的电脑也能正常浏览 —— 一个仿若隔世的网站。

System Software 8.1 × System 7 Today

这个遗世小站坚持System 7的理由也简单:老机还能战 —— 即使能运行的Dreamweaver, Photoshop, Office等软件早已是老版本。同时System 7也比Mac OS 8/9这些同样过时的系统更快更省资源。既然同样是过时系统,同样运行过时软件,在这些低配的Mac上自然选择System 7了。当然理由除了是出于“实用”,还可以出于怀旧。至于说怀旧,System 7在他们眼中也如同期的Windows 3.x/95那般“迷人”。

System 7 Today 的 Why System 7页面

System 8 × System 7.6

没错,System 7身材纤细,在老Mac机型上甚至内存占用不到10M(部分机型甚至只有5M-8M的内存占用),而Mac OS 8.0/8.1通常占用12M以上的内存。当然,Mac OS 8.0/8.1也不是吃素的。且不说外表,Mac OS 8的“内功”也大有长进,改进了多任务,增强了系统稳定性。Mac OS 8.1更是支持HFS+(Mac OS 扩展格式)和FAT32文件系统,与PC和现代Mac的文件交换变得更加方便。

再者,Mac OS 8.0/8.1是System 7.6的改进版本,这两套系统的软件兼容性几乎一样,甚至连系统组件大多都相互兼容。将Mac OS 8.0/8.1的Appearance功能扩展和外观控制板放入System 7中,System 7也能一改素颜,变身Mac OS 8。(只是这样做会让系统开销大增,特别是在68k机型上。)System 7的Finder放在Mac OS 8中也别有一番风味。(反过来不行,Mac OS 8的Finder所需的库内置在了System手提箱中,因此与System 7不兼容。)

甚至将Mac OS 8/8.1的系统手提箱(System Suitcase)放在System 7.6.1的系统文件夹中都没问题。这样做,得到的是一个拥有Mac OS 8“内核”的System 7,连内存开销都和原来System 7差不多。

除了系统手提箱(System Suitcase)本身,Mac OS 8中也有其他好东西可以搬运到System 7中。例如Smart View控制板。在中文System 7中,一些西文字体中的符号(如™和®)会显示成方框□或乱码,这是因为System 7的中文字体里没有相应的符号。而Smart View控制板则可以调用西文字体来显示这些符号,这样就避免了方框和乱码。

Mac OS 8的默认字体Beijing也比System 7中的好看,System 7的Beijing字体太大,简直像老年手机里的大字体。因此也可以用Mac OS 8中的Beijing字体拷贝到System 7中。(注意一定要替换了System手提箱才能使用此字体,否则System 7的系统手提箱是不兼容Mac OS 8中Beijing字体的。)

Mac OS 8.1的FAT32文件系统支持是通过PC Exchange控制板实现的。该版本的PC Exchange也必须搭配Mac OS 8.1的系统手提箱才能使用。因此该控制板也能搬运到我们的System 7系统文件夹中。

如此,将Mac OS 8.1的系统手提箱(System Suitcase)、Smart View、PC Exchange和Beijing字体“移植”到System 7.6.1中便得到了这个:

System 8.1 × System 7.6

这样做的优缺点,前文已进行过分析。至于是否需要为这点内存占用而大动干戈,这就取决于实际需求了。我的PowerBook 3400c/180和PowerBook 5300c/100只有32M和48M内存,而Mac OS 8.6和9.x占用内存太大,运行速度不得不屈服于内存大小及处理器速度。System 7.6.1小而美,但是不支持HFS+的硬伤也难以回避。因此长期以来这两台PowerBook都运行Mac OS 8.1,直到这次尝试“移花接木”。至于我的PowerBook 1400c,由于有64M内存,且升级到了G3/333,Mac OS 8.6运行起来也如鱼得水。当然,从这种“移花接木”的System 7(应该可以叫做System 8了)中受益更多的或许是68k的Mac,它们的处理器速度更慢,内存一般也更小,但部分用户仍有对Mac OS 8.1中部分特性的需求。

在68030 Mac中启动Mac OS 8.0/8.1

对于摩托罗拉68030处理器的Mac来说,官方支持的系统最高也只能到System 7.6.1了。Mac OS 8/8.1最低要求是68040处理器,但实际上在68030机器上也是可以运行的。而68020机型(只有Macintosh II和LC)和32 bit dirty ROM的68030机型由于固件限制,不能运行Mac OS 8。在68030机型上如果强行替换为Mac OS 8/8.1的系统手提箱会大力出奇迹,导致整个系统无法启动。

不过当年也有在这些机型上安装Mac OS 8.0/8.1的方法。其关键在于处理System手提箱中的一些资源,使之能在68030机型上启动。如果有安装好的Mac OS 8系统,可以将安装好的系统拷贝到目标机型中,然后再修改System手提箱中的资源。

大家来找茬(大误),左Mac OS 8.1,右System 7.6.1

这里简述一下替换的方法。用ResEdit打开Mac OS 8和System 7.6.1手提箱文件。使用System 7.6.1 boot资源中ID为2的资源替换Mac OS 8相同资源(先删除ID 2资源再粘贴),使用同样的方法将gbly中ID -16385资源也进行替换。最后需要处理的是Mac OS 8中的机型ID名单,该资源位于gusd的ID 1中。打开这个资源,将000010行的“0016 0006”数据替换为“00?? 0006”,其中“??”为具体的68030机型ID(十六进制)。

68030机型ID参考:

ID(十进制)	ID(十六进制)	机型名称
9		09		SE/30 (32 bit dirty ROM)
7		07		IIx  (32 bit dirty ROM)
8		08		IIcx  (32 bit dirty ROM)
11		0B		IIci
13		0D		IIfx
18		12		IIsi
44		2C		IIvi
48		30		IIvx
23		17		Classic II
49		31		Color Classic
83		53		Color Classic II
37		25		LC II
27		1B		LC III
62		3E		LC III+
56		38		LC 520
80		50		LC 550, 560
23		17		Performa 200
49		31		Performa 250
83		53		Performa 275
37		25		Performa 400-430
27		1B		Performa 450
62		3E		Performa 460-467
45		2D		Performa 600
29		1D		PowerBook Duo 210
32		20		PowerBook Duo 230
38		26		PowerBook Duo 250
77		4D		PowerBook Duo 270c
25		19		PowerBook 140
54		36		PowerBook 145, 145b
115		73		PowerBook 150
34		22		PowerBook 160
84		54		PowerBook 165
50		32		PowerBook 165c
21		15		PowerBook 170
33		21		PowerBook 180
71		47		PowerBook 180c
88		58		TV

如果想让这个系统手提箱通用于68030各种机型,还可以直接将System 7的gusd资源直接替换掉Mac OS 8中的同名项目。不过也有副作用,在Basilisk II模拟器中如果这样做,那么所有磁盘的图标变成了软盘图标…… 至于在实体Mac上会怎样,这个还真没测试过。因此还是更建议之前的方法,即只修改其中一个机型ID。

暴力替换gusd资源的副作用:硬盘图标显示成软盘图标……

如果没有已安装的Mac OS 8或者不方便拷贝,也可以尝试直接在68030 机型上安装系统。此时除了运行System 7,还需要一张System 7.5/7.6的启动软盘、System picker 1.1a3Wish I Were 2.0、ResEdit 2.1.3。其中System 7启动软盘是为了防止陷入Mac OS 8安装后无法启动且原来的System 7也无法启动的困境;System picker的作用是选取要启动的系统文件夹,Mac OS 9.1以前的启动磁盘控制板只能选取磁盘,不能选取系统文件夹;Wish I Were用于修改机型ID,欺骗Mac OS安装器;ResEdit在之前就介绍了,用于修改System中的资源。

系统安装的大致步骤:

  1. 启动到System 7,将Wish I Were中的控制板和功能扩展拖动到系统文件夹图标上,然后启动Wish I Were并将机型设置为Quadra中的一款;
  2. 重启系统后,运行Mac OS 8的安装器,安装系统,注意最好不要更新磁盘驱动;
  3. Mac OS 8系统安装完成后退出安装器,注意不要重启系统,如果安装器要求必须重启系统,则使用System 7的启动软盘启动;
  4. 按照上文的描述,使用ResEdit编辑Mac OS 8的System文件;
  5. 将Mac OS 8的“显示器与声音”控制板删除(因为不兼容),Apple Extra中的“显示器”控制板和“声音”控制板放在“控制板”文件夹中,同样地,检查功能扩展和控制板中是否有不兼容当前机型的项目,如果有则删除;
  6. 使用System picker选定Mac OS 8的系统文件夹并重启。

注意:如果安装的是中文Mac OS 8.0/8.1,由于中文版系统要求必须是PowerPC Mac,因此在安装前需要用Wish I Were将机型设置为Power Macintosh系列的。安装完Mac OS 8之后,必须将功能扩展中的中文输入法(Simp. Chinese Input Method)功能扩展删除(同样因为不兼容),如果需要输入中文,则需要从System 7.6中拷贝同名功能扩展及Simp. Chinese DicTool功能扩展。同时也需要检查并删除其他不兼容的功能扩展和控制板。

更新:用Wish I Were把机型设置为Power Macintosh之后照样不能安装中文Mac OS 8,因为安装器检测的是CPU而不是机型。(检测CPU而非机型的逻辑,有可能是因为当时官方允许部分68k Mac升级到PPC。)要安装Mac OS 8还必须在PPC机上安装,然后拷贝磁盘并进行上述修改。如果不希望太折腾也可以用英文版Mac OS 8再安装Chinese Language Kit来显示和输入中文。

参考资料:vintageapple.org/gamba2

关于Cockatrice III模拟器

Cockatrice III是Fun with Virtualization(virtuallyfun.com)博主Neozeed创建的一个Basilisk II的分支。它基于Basilisk II的源码,提供SCSI硬盘和光驱的模拟,同时支持pcap方式联网。目前版本号还是v0.0,可见其还处在原始阶段。

GitHub仓库地址:github.com/pgodwin/Cock

SourceForge项目页面:sourceforge.net/project

编辑于 2020-08-04 01:19