Mac Mini G4 —— 最佳「经典」Macintosh 来怀旧游戏 [译]
引言
尽管我的第一台电脑是 Apple II,但我从来不是 Macintosh 用户,因为我家后来转用了 PC。不过通过阅读各种杂志,我对 Macintosh 这一系列的电脑也逐渐熟悉,并一直想给收藏添一台运行在 pre-OSX(OS X 之前版本)的 Macintosh。阻碍我的主要原因是,大多数老 Mac 都使用较为“奇葩”的接口,而且我也没有足够的空间来放置它们。
直到我在 YouTube 上看到有人说 Mac Mini G4 是玩 2000 年之前游戏的最佳机器之一。的确,Mac Mini G4 是苹果公司最后几款基于 PowerPC 架构的机器之一,而且社区已成功修改 Mac OS 9 以让其兼容。Mac Mini G4 搭载最低 1.25GHz 的 G4 CPU。在 2005 年时,这个频率不算什么“高水平”,但也比 1999 年推出时号称“超级计算机”的首批 PowerMac G4(仅 400~500MHz 左右)要高出两倍多的主频。
这台机器在极其紧凑的体积内就能提供足够的性能来运行上世纪的大部分游戏。对我来说,这绝对值得收藏!
本文将先概述一下 PowerPC 的发展历程是如何走向 G4,接着解释为什么一台 2005 年的机器居然能横跨 20 年,运行各年代的 Mac 游戏,然后再介绍这台 Mini G4,并说明如何安装 Mac OS 9。如果你只想直接看看能跑哪些游戏,可以直接跳到结尾。
通往 PowerPC G4 的道路
苹果在同一家族的电脑中不断更换 CPU 架构,恐怕可以说是世界纪录级别。从最初的 68000 家族,到后来转向 PowerPC,然后又换成 Intel,最终又换成基于 ARM 的 “Apple Silicon”。
而作为 Mac Mini 核心的 G4,则是苹果电脑上最终几款 PowerPC 处理器之一。
AIM 联盟
Motorola(摩托罗拉)在 1979 年推出了 68000 时,其性能在当时非常耀眼;32 位的特性预示着后续会有正儿八经的 32 位升级版本出现。68000 一度大受欢迎,各式家用电脑、UNIX 工作站都采用了它。但它却没能进入最重要的 IBM PC 阵营。没有得到 IBM 及其数以百万计克隆机的订单,摩托罗拉的 CPU 部门只能靠苹果及部分工作站市场来维持利润。
但到了 80 年代中后期,“RISC”成为新兴热门。采用 RISC(精简指令集)理念的各家工作站公司(如 SUN)可以以相对较低的成本打造适合自己需求的 CPU,而且在性能上也大幅超越传统的 CISC(复杂指令集)处理器。
摩托罗拉试图以其 88000 系列来应对 RISC 浪潮,但销售并不理想。工作站市场几乎丢掉后,摩托罗拉担心过度依赖苹果会让自己处境危险,而苹果也看到了 68K 的后劲不足,开始寻找替代方案,包括摩托罗拉自家的 88000,但都没有十分理想的选择。直到 IBM 找上门来。
当时的 IBM 是 PC 市场的巨头,但它为自家 RS/6000 系列工作站使用的是基于 RISC 的多芯片处理器——POWER。IBM 想让这一架构走进桌面电脑,就与苹果洽谈,希望能在桌面市场推广 POWER 架构。苹果也拉来了摩托罗拉——后者有大规模生产 CPU 的经验。就这样,Apple-IBM-Motorola(AIM)联盟在 1991 年成立。它的目标之一,就是推出一款与 POWER 指令集兼容、单芯片的处理器——这就是后来的 PowerPC。
600 系列
AIM 联盟将摩托罗拉和 IBM 的工程师集中在德州的 Somerset,目标是推出统一的处理器系列。计划先在 1993 年发布 PowerPC 601,同时并行研发两款新处理器,次年上市:603 面向笔记本等低功耗应用,604 则面向工作站。再往后则是 620,首款 64 位 PowerPC。
PowerPC 指令集基于 IBM 的 POWER,而摩托罗拉提供了来自其 88110 的 60x 总线,减少了 CPU 与主板的设计难度和成本。
601
最早的 PowerPC 601 很大程度上基于 IBM 为单芯片 POWER CPU 所做的前期开发,故而在 1 年内就完成了设计。1992 年 10 月就有样片,1993 年中开始量产,IBM 的 RS/6000 model 250 装上 66MHz 版本的 601 并于同年 10 月发布。
苹果也在 1994 年 3 月推出了首批搭载 601 的 Power Macintosh。由于苹果带来的巨大出货量,601 能以颇具竞争力的价格出售。
不过 601 并非完美。它仅有一个算术逻辑单元 (ALU),既要负责整数运算,也要参与地址计算;分支预测也比 初代奔腾(Pentium) 简陋一些。
图:PowerPC 601 的结构示意图(MPR 19921028)
但无需硬解码复杂的 x86 指令,601 芯片可将晶体管预算用在 32KB 统一缓存上,浮点测试里常常优于奔腾。仅有约 280 万个晶体管,成本也更低。
图:从 601 开始,摩托罗拉每一代都试图把 PowerPC 的定价压到同档 Pentium 的一半(来源:MPR 1993-05-10)
首批 Power Macintosh 的测评非常正面。对老旧的 68K 软件,系统提供了一个高效的模拟层,性能相当于中端 68040 水准;而经过针对 PowerPC 重新编译的软件,尤其是用到浮点的,速度甚至超过了同代 PC。68K 模拟技术会在后文继续介绍。
603
PowerPC 603 于 1995 年 5 月推出,是首款从零开始设计的 PowerPC,主打低成本、低功耗。66MHz 仅约 2.5W 功耗,不到 601 同频时的 1/3。
603 的架构新增独立的载入/存储单元(Load/Store Unit),指令重排能力略有限。为了进一步控制成本和功耗,603 的缓存只有 601 的一半大小,并且分成数据缓存和指令缓存。
虽然如此,架构改进让 603 在同频下大体可与 601 相当。但数据缓存太小,对当时大量依赖 68K 模拟层的软件不太友好,所以 603 得到“慢”的负面评价。
图:603 的结构具有独立的分支和存储单元(来源:MPR 19931025)
图:601 与 603 的主要差异(来源:MPR 1993-10-25)
不到半年后,也就是 1995 年 10 月,摩托罗拉推出了 603e,缓存翻了一倍,代价是多了约 100 万颗晶体管。
604
604 并不是在 603 基础上改进而来,因为两者是并行设计的。604 一开始就定位于追求高性能,目标是充分挖掘 PowerPC 的潜能,因此无论缓存、执行单元还是分支预测都做得比 603 大且更复杂。
604 拥有多达三个 ALU,其中一个专门处理乘法/除法等复杂整数运算,另两个处理普通单周期指令。为了尽量让这些 ALU“吃饱”,指令重排和分支预测也更高级;这是首款支持全双精度浮点的 PowerPC(以前的都只支持单精度硬件加速,双精度须额外周期)。此外,缓存也更大、更先进。
图:PowerPC 604 结构示意图(来源:MPR 19940418)
1995 年初,604 上市时,x86 阵营没有能与之相媲美的产品。Microprocessor Report 甚至宣称“PPC 604 超越 Pentium —— PowerPC 将打开性能差距,也许是永久性的”。
图:600 系列涵盖了多样化的价格和性能区间(来源:MPR 19940418)
但奔腾和其后的 Pentium Pro 迭代也很快,所以摩托罗拉在 1996 年 7 月推出了 604e,加大了缓存,并新增了一个功能单元来处理条件寄存器。
620
AIM 联盟在 1991 年展望时, PowerPC 620 才是整个家族的顶点,定位在高端市场,目标是比 604 更强大,并成为首款 64 位 PowerPC,计划 1995 年上市。但实际上 620 到 1997 年末才姗姗推出,而且性能已不及 604e。自然,它也没有卖出多少,更没出现在苹果电脑上。
图:1994 年中时的情况。灰色标注的 CPU 原计划在 1995 年上市,620 原本要确保 PowerPC 始终保持性能/价格优势,但却迟到两年(来源:MPR 19940418)。
下一代
G3
1997 年 11 月推出的 PowerPC 750(也叫 G3)基于 603 架构,但在各方面都有加强。由于主要面向 Mac OS 场景,设计时对苹果的生态做了针对性优化,比如在整数部分新增了第二个简易 ALU,引入或改进了 604 动态分支预测机制,并对 TLB 做了适配。
浮点单元也有增强,但仍无法在双精度上做到单周期运算。
最显著的提升是缓存。G3 的 L1 缓存翻倍,并且提供一个与 CPU 同步的“背侧总线”(backside bus)来访问 L2,这让缓存带宽更高。这种设计跟 奔腾 II 很像,只不过缓存芯片还要焊在主板上,而不是在同一个 CPU 封装里。
图:G3 的结构图(来源:MPR 19970217)
凭借这些改进,G3 在与奔腾 II 的竞争中依然拥有不错的性价比,而且面积小,功耗低,约 5W,上笔记本也毫无压力。
图:G3 在与奔腾 II 比较时依旧保持竞争力,但想继续用“同性能只需半价”的策略已经不现实了(来源:MPR 19980824)。
不久,G3 就替代了苹果产品线里的所有 60x 系列。
G4
G3 相当不错,但与 Intel 家相比,缺少一项重要特性:SIMD 指令。
SIMD(单指令多数据)可同时对多组数据进行运算,可在视频、音频处理等多媒体应用中加速。那会儿多媒体是大趋势!1996 年 Intel 在奔腾上推出 MMX 并大肆宣传,不过它只支持整数操作,在用途上较为有限,但在营销层面却显得很重要。随着 Intel 即将把 MMX2(后改名 SSE)集成进奔腾 III,摩托罗拉也宣布了自家的 Altivec,并把它集成进 PowerPC 7400(即 G4)。
对 G4 来说,Altivec(苹果官方叫“Velocity Engine”)几乎是其最大的卖点。除此之外,G4 可被视作强化版的 G3;常规浮点单元也终于能在双精度上全速运算了。
不过 Altivec 的设计野心巨大。看似它只是让 PowerPC 赶上了 x86 SSE 的脚步,但实则不止如此。SSE 也能处理 128 位浮点向量,一条指令可一次性处理四个 32 位浮点。不过 G4 为 SIMD 付出的晶体管远远多于奔腾 III 及其他架构。
图:Altivec 出场虽晚,但比当时的其它 SIMD 指令集更强大(来源:MPR 19980511)。
首先,Altivec 指令集设计得相对整洁通用,并非特化于少数算法;而 Intel 方面的 MMX 与初版 SSE 灵活性都不足。
尤其是 Altivec 有一个 fmac(乘加)指令,对很多信号处理算法极其关键,且在 G4 上执行速度远快于奔腾 III。它还提供了极具威力的任意“permute(重排)”指令,可在运算之间对数据进行任意重排。
其次,G4 的向量寄存器有 32 个,每个 128 位,用于整数或浮点都行;而奔腾 III 的 SSE 仅有 8 个 128 位浮点寄存器,且采用 2 操作数格式——即结果必须落在其中一个源寄存器中,大大增加了对少量寄存器的压力。
整型方面,MMX 直接复用了浮点寄存器组(只有 64 位宽),在 FP 与 MMX 模式切换时还需付出额外代价;而在 G4 上,Altivec、整数和浮点都可无缝混用。
图:G4 结构示意图(来源:MPR 19981116)
图:Altivec 单元特写(来源:MPR 19981116)
因此,G4 在常规代码上性能可观,对启用向量化的代码更是大幅领先,再加上苹果的大力支持,一时间性价比和功耗表现都不错,能用于笔记本。
但它存在一个缺点:G4 沿用了 G3 的较短流水线设计(4 级),所以频率上不去。刚出时仅 500MHz 左右,而 Intel 和 AMD 当时已向 1GHz 冲刺。
于是摩托罗拉在 2001 年初推出了 7 级流水线的 PowerPC 7450(俗称 G4e),实际上改动幅度这么大,也有人说它完全可以叫 G5。
G4e 增加了两个整数单元,向量单元也做了增强;L2 缓存在芯片内,又保留了一条专门的外部 L3 缓存总线;另外为了弥补流水线增多带来的分支预测损耗,还加强了分支预测。
图:PowerPC 74xx 的改动远不止延长流水线这么简单(来源:MPR 19991025)
由于真正的 G5(IBM 出的 PowerPC 970)功耗发热太大,不适合笔记本等小型机箱,苹果一直在笔记本和小型机上使用 G4e,直到彻底抛弃 PowerPC。
这也解释了为什么到 2005 年才面世的 Mac Mini G4 使用了 1.25GHz 或 1.42GHz 的 G4e —— 它小巧、便宜、安静却又足够用!
下图展示了通往 G4e 的整个 PowerPC 演变过程:
图:从 601 → G4e 的演变之路(来源:MPR 19991025)
对旧应用程序的兼容性
我们知道 Mac Mini 上的 G4 是从一系列 PowerPC 处理器演变而来。但是 Macintosh 的发展历史上,CPU 从 1995 年之前一直是 68K 家族。那么,一台 2005 年的 Mini 跑 Mac OS 9,是否能兼容 20 多年前那些为另一种 CPU、另一种声音与图形硬件设计的软件?
运行 68K 软件
苹果在 1994 年用 PowerPC 取代了 68K,可以说是大势所趋。问题在于,当时所有的 Macintosh 软件(包含操作系统)都是为 68000 写的,而 PowerPC 并没有硬件级向下兼容。若不能运行原有软件,用户为什么不干脆改投奔腾 PC?
好在还有**模拟(emulation)**这一法子。
从前也有过类似先例:1964 年 IBM 在其新 System/360 上对旧的 IBM 1401 软件做模拟,方便老客户平滑过渡。但模拟意味着计算量成倍增加,速度必然会下降。苹果又担心:花大价钱买新机,却发现软件还不如老机跑得快,那怎么行?
幸运的是,苹果早在 AIM 联盟之前,就已经为换用 RISC CPU 做了很多研究预备。
基于 RISC 的早期研究
苹果最初尝试让一颗 AMD 29000 RISC CPU 与 68000 并行,用 AMD 处理 Quickdraw 等系统常用功能,把系统常被调用的 20% 代码交给 RISC 加速,性能能大幅提升。
后来有人想到:“能不能模拟 68000?” 这样就能只用 RISC,硬件简单很多。
苹果看了各种 RISC 后选中 Motorola 88000,甚至真的做出了带 88100 + 两颗 88200 的原型机,装在 Macintosh LC 机箱里,并由 Gary Davidian 单人编写的模拟器在 88100 上跑未改动的 Mac ROM。
图:基于 88100 的 Macintosh 原型(来源:computerhistory.org)
但 1991 年 10 月 PowerPC 计划正式宣布后,苹果也就确定了与 IBM 合作的道路。
最初还没有真正的 PowerPC 时,团队先在 IBM RS/6000 工作站上移植,然后又拿到一个单芯片 POWER CPU 原型板插在 Mac 上,最后到 1992 年 9 月才正式拿到 PowerPC 601。不过有了之前 88000 上模拟器的经验,PowerPC 的模拟器开发就很快了,而且效果更好。
在 System 7 上跑旧软件
PowerPC 上的 68K 模拟可模拟相当于 68LC040 用户态加 68020 的异常堆栈。它并没有模拟 68040 的 FPU 部分,因为 PowerPC 浮点寄存器不能直接处理 80 位浮点,但在 1994 年实际上极少应用依赖 FPU,那些需要 FPU 的专业类程序通常也愿意为 PowerPC 做重编译,以获得性能上的巨大提升。很多其他软件则使用 SANE(Standard Apple Numerics Environment)库进行浮点计算,而这套库在 PowerPC 上得到了优化,比起在 68040 上甚至更快。
因此,为了在新架构上跑 System 7,苹果做了以下工作:
让 System 7 能在 PowerPC 上引导和运行。
要确保 68K 应用能在模拟器里跑,且兼容性和性能要“足够好”。
一部分系统功能和新应用要用 PowerPC 原生代码,以充分利用新处理器。
于是 PowerPC 版 System 7 被重构,底层用一个 NanoKernel,加上和它紧密结合的 68K 模拟器。NanoKernel 负责低层次的硬件管理并提供一些在 PowerPC 下的关键原生操作,模拟器则跑全部非原生代码。常见场景(比如应用调用某些系统 API)时,NanoKernel 会快速响应,以减少模拟器与内核的切换消耗。
首批搭载 PowerPC 的 Mac 在 1994 年发布时,System 7.1.2 中很多组件仍是 68K 代码。为了让 68K 与 PowerPC 两种调用规则能互相调用,苹果提供了 Mixed Mode Manager。它允许从 PowerPC 函数去调 68K 函数,也能从 68K 函数调 PowerPC 函数,非常复杂,同时性能损耗不小。所以越多系统组件移植到 PowerPC 原生,性能就越好。
图:System 软件的体系结构
随着后续 Mac OS 版本不断更新,苹果把更多组件移植到 PowerPC 原生,性能越来越好。到 1998 年 10 月的 Mac OS 8.5 基本就只支持 PowerPC,不再兼容 68K CPU,也就是说系统层几乎 100% PowerPC 化。
直到最后一个经典 Mac OS 版本 9.2.2,内置的 68K 模拟器仍然保留。
性能
下表摘自 1994 年 5 月的 MacWorld 杂志,用一些“真实世界的 68K 软件”来测试耗时。测试中 FPU 部分也只能算是“纯模拟”,即便在 Quadra 800 上也没有硬浮点参与(它用的是 68LC040)。
Power Mac 8100 | PPC 601 80MHz | 256 s | 187 s | 73 s |
Power Mac 7100 | PPC 601 66MHz | 335 s | 242 s | 78 s |
Power Mac 6100 | PPC 601 60MHz | 380 s | 377 s | 116 s |
Quadra 800 | 68040 33MHz | 129 s | 70 s | 52 s |
Centris 650 | 68LC040 25MHz | 162 s | 88 s | 65 s |
Centris 610 | 68LC040 20MHz | 201 s | 108 s | 77 s |
纯粹的 68K 代码速度测试上,Power Mac 不如低端 68040 快;但一旦涉及到更多 Quickdraw、系统 API 原生加速的场景,PPC 就表现更好。总体来说性能尚可,配合后续的 PowerPC 原生软件,性能潜力更大,这也为后来的 Mac 电脑赢得了市场。
图形
1984 年的初代 Macintosh(包括后续部分机型)只能显示 512×342 分辨率的纯黑白点阵图。它以当时的标准来看已是非常先进:有鼠标操作,提供丰富的图形 API。但有些程序员为了自己需求,跳过系统,直接读写帧缓冲(FrameBuffer),这种“硬编码”的方式在更现代的 GPU 上就难以重现。
好在自 1987 年的 Macintosh II 开始,系统引入了 16 色或 256 色显示模式,QuickDraw 也升级为能处理多种色彩深度的抽象层。这样只要程序遵循 QuickDraw API,而非直接捣鼓显存,即使是很古老的黑白程序,也可能在后来的机器上运行。
声音
1984 年的 Macintosh 在声音方面相当出色。同一时期的 IBM PC 也只有一个能发方波的扬声器,但 Macintosh 的硬件通过 PWM(脉冲宽度调制)能合成更复杂的波形。不过具体怎么做,对 PC 或 Apple II 上的很多游戏开发者而言太烧 CPU,但 Mac 这边有专门的硬件支持:显存扫描到每条扫描线末端时都会读出音频缓冲的一个字节,送给 PWM 模块,用方波进行逼近。最多可达单声道 8 位、22.25kHz 的采样回放,并通过 8 级衰减控制音量。
系统也提供了名为 Sound Driver 的 API,可以让程序员用更简易的方式播放方波、合成音和采样音。
但从 Macintosh II 开始,苹果引入了更通用的 Sound Manager。Mac II 的音频硬件完全不同:有一个支持 8 位、44.1kHz 立体声的编解码器和 4 声道波表合成器,还普遍支持 MIDI。为了给不同硬件提供统一接口,Sound Manager 引入了抽象层,让应用不直接面向硬件,而是把要播放的内容交给“合成器”。合成器支持波表、采样播放、外部 MIDI 等多种模式,甚至支持一些“修饰器”来做特殊效果混音。
有了这层中间件,Mac Mini G4 只需要提供标准声卡编解码器,Sound Manager 就能把应用的音频指令翻译成合适的输出。与当年 PC DOS 游戏依赖各种声卡驱动的碎片化状况相比,这要方便得多。
唯一的问题在于,早年(System 7 时代)Apple 就标记 Sound Driver API 过时,但它直到 OS 9 是否还兼容,就不得而知。希望大多数游戏用的是 Sound Manager,就不成问题。
总之,理论上只要游戏遵循苹果官方声音 API(Sound Manager),Mac Mini G4 都能兼容。但如果只用很早的 Sound Driver,就只能碰运气了。
Mac Mini G4
Mac Mini G4 于 2005 年 1 月发布,起价 499 美元。正如 Steve Jobs 在发布会上所说,设计初衷是“给想换用 Mac 的人消除所有借口”。它是当时苹果最便宜的电脑,而且机身非常小巧、安静,配一个普通显示器和 USB 键鼠即可使用。它带有许多我们今天仍在用的标准接口:USB、以太网、DVI/VGA,因此如今依旧很容易接入各种设备。
499 美元型号的配置如下:
缓存 | 片上 512 KB L2 |
前端总线 | 167 MHz |
内存 | PC2700 DDR SDRAM(333MHz),最高 1GB |
GPU | ATI Radeon 9200 – AGP 4x |
显存 | 32MB DDR SDRAM |
硬盘 | 2.5" 4200RPM 40GB |
尺寸 | 16.51cm × 16.51cm × 5.08cm |
重量 | 1.32 kg |
另有一款 599 美元的版本采用 1.42GHz CPU 和 80GB 硬盘。
图:主板正面
图:主板背面,GPU 上甚至连散热片都没有
从前文的 PowerPC 演进可知,即便 1.25GHz 乍看普通,但对跑老的 Mac OS 程序已是绰绰有余;自带的 256MB 内存对 Mac OS X 稍紧,但对 Mac OS 9 来说已经很多,而且更换内存并不难。
GPU 方面,Radeon 9200 在当时只是入门级,与同期 Radeon 9700 等高端卡差别甚大。它其实更像缩水版 Radeon 8500,支持 DirectX 8.1(和 Geforce3/Geforce4 类似),相当于初代 Xbox 的 GPU 水准。而 Mini G4 的显存只有 32MB,在 2005 年显得非常寒酸——1999 年的 TNT2 或初代 Geforce 就是 32MB 了。
所以用它玩现代 3D 大作肯定不行,开点窗口就感到迟缓。然而,我们的目标是跑旧游戏。好在 Mac OS 9 下的 ATI 驱动还不错,OpenGL 也能比较好地跑,比如 Quake 3 就能流畅运行。
如何安装 Mac OS 9
Mac Mini G4 出厂时预装的是 Mac OS X 10.3“Panther”,可通过 Classic Mode 来运行老的 Mac OS 应用——本质上是一个在 Mac OS X 下跑着的 OS 9 虚拟环境,兼容性尚可,但凡是直接访问硬件的程序就会有问题。
如果想彻底在这台机器上跑真正的 Mac OS 9,就得用社区的非官方版本。有人基于与 Mac Mini G4 硬件类似的机型的官方镜像进行修改,才让 Mac OS 9.2.2 得以兼容 Mini。唯一的问题是,机器内置扬声器不可用,而且通过线路输出时音量被固定在大约 33%,无法调整。如果外接功放,这倒不算什么大问题。
安装步骤简述
如果需要 Mac OS X 的镜像但没有自带光盘,也可从一些专门站点获取。
为了从安装光盘启动,在开机听到“咚”声时按住 Option(PC 键盘上是 Alt)。
如果要双系统,先用 Mac OS X 安装光盘启动,进 Disk Utility 把硬盘分区,比如分成 “Mac OS 9” 和 “Mac OS X” 两个分区,先在其中一个装 OS X。
安装完后,再次重启,换 Mac OS 9 的光盘启动。它会自动弹出一份文本指导。大致流程是将镜像里的系统恢复到你指定的分区即可。
图:引导菜单
完成后:
现在 Mac Mini G4 即可双启动 OS 9 与 OS X 了。
但要注意 OpenFirmware(Mac 的引导固件)对键盘鼠标可能有些挑剔。我折腾了很久,后来才换了另一个 Logitech USB 键盘才成功。不然它根本不显示任何引导选项,默认只进 OS X。
系统启动后,除内置扬声器(没声音)和固定音量之外,其他都正常。如果你用 PC 鼠标,会发现没有右键菜单,需要安装相应驱动(Logitech 驱动下载)来解决。
来看看成果!
基准测试
Mac Mini G4 的分数是 Power Mac G4 400 的 3 倍
从这个非常老旧的测试结果可见,Mini 的 CPU 性能绝对够跑 90 年代末的游戏或软件。
与 Quadra 950(68K 旗舰)相比,Mini 的 68K 模拟模式表现更好
换言之,所有旧的 68K 软件也能流畅运行。
游戏演示
前面从历史、技术、跑分角度分析了 Mini G4 的兼容与性能。最后让我们直接看看实际游戏在机器上的运行情况,年代跨度相当大。
我使用 USB 采集卡配合 Retrotink 转换器 对 VGA 信号进行抓取:2D 游戏一般用 640×480 分辨率,3D 则 800×600。
Solitaire
1984 年 – 68K – 黑白
Dark Castle
1986 年 – 68K – 黑白
运行后崩溃。
The Colony
1988 年 – 68K – 黑白
运行后崩溃。
Shufflepuck Café
1988 年 – 68K – 黑白
能运行但没声音。有网民说在 Mac OS 9 上运行有各种问题,看样子确实如此。
SpaceWard Ho!
1990 年 – 68K – 黑白
正常。
Prince of Persia
1992 年 – 68K – 256 色
运行正常。
SimCity 2000
1993 年 – 68K – 256 色
正常。
Marathon
1994 年 – 68K – 256 色
正常。
Civilization II
1997 年 – PowerPC – 256 色
正常。
Age of Empires II
1999 年 – PowerPC – 256 色
能流畅跑,只是录制有点问题,所以这里给的是截图。
Quake 3 Arena
1999 年 – PowerPC – OpenGL
表现流畅。
Deus Ex
2000 年 – PowerPC – QuickDraw 3D
也能运行。
总结
总的来说,Mac Mini G4 在运行 Mac OS 9 时的兼容性虽不敢说 100%,但对 80 年代末(Mac II)以后的游戏来说相当出色。
对我个人而言,这是我心目中最适合怀旧游戏的 Mac:可覆盖相当长的时间跨度,机身又极度小巧,方便放在我 486 机器上方,还能共用同一显示器和音箱。
图:Mac Mini G4 放在我的 486 台式机上方
特别感谢在 MO5.COM 的 Discord 上的 Hicks、SbM、Skeud 和 toomanyfred 提供的帮助。
参考文献
完