Hacker News 中文摘要

RSS订阅

M6 Mac Mini 上用 86Box 模拟 600MHz Pentium II 和 Voodoo 3 -- Pentium II at 600Mhz with Voodoo 3 Emulated on 86Box with M6 Mac Mini

86Box 在硬件层面模拟老 PC,CPU 时序、芯片组、ISA 和 PCI 总线、显卡、声卡与磁盘控制器都关系到老软件能否正常运行。准确性不保证性能与原机一致,而且代价高昂,几乎全压在一个宿主线程上。所以核心数几乎无关紧要,关键是单核能跑多快、能维持多久不降频。苹果 Mac Mini(Mac Mini)搭载的 M6(M6)正擅长这一点。在自定义 86Box 6.0 构建里,M6 以 650MHz 奔腾 II(Pentium II)跑 Cinebench 2000(Cinebench 2000)和 Winamp(Winamp),因一两次音频欠载未能通过,600MHz 才是稳定结果。

正文

为什么86Box只关心一个核心

86Box在硬件层面模拟老式PC,CPU时序、芯片组行为、ISA与PCI总线、显卡芯片、声卡和磁盘控制器都对让那个时代的软件正常运行至关重要。这不保证性能和原硬件一致,下面的Cinebench结果就是例子。这个项目令人惊叹,但这种准确性代价很高,几乎全部成本落在一个主机线程上。

实际后果很简单:核心数量在这里几乎无关,真正重要的是单核能跑多快,以及能在不降频的情况下维持多久。幸运的是,Mac Mini恰恰在Apple Silicon最强的地方胜出,M6在此发光。

略微超频……M6在我自制的86Box 6.0中运行650MHz奔腾II,搭配Cinebench 2000和Winamp。一两次音频欠载使650MHz未能通过,因此600MHz仍是稳定结果

测试机器

所有86Box测试使用相同的机器配置、磁盘镜像和模拟硬件。对比机型:

  • Mac Mini M6(12核CPU,24GB,本次评测机)
  • Mac Mini M4(基础10核CPU,16GB)

测试使用略作修改的86Box 6.0(2026年5月31日发布)。团队提升了ARM主机的CPU模拟性能,并为Voodoo显卡加入了ARM64即时重编译器。后一项改动尤其相关,因为Windows 98机器跑的是模拟Voodoo 3。这当然有软件的功劳,Apple Silicon核心也快,但86Box也越来越会利用它们。

我没测量旧版86Box的提升,因为这是M6而非86Box的评测。

为什么100%是唯一可接受的数字

86Box报告的有效模拟速度以目标速度的百分比表示。100%意味着主机跟上了模拟器的时序模型,低于此就是实实在在的问题。这并不保证基准得分和同频物理CPU完全一致。

一致性比平均值更重要。即便短暂掉速也会产生可闻伪影,因为声音硬件实时馈送,缓冲枯竭会表现为恼人的爆音。任何经常低于100%的86Box配置都会感觉不对,系统有足够余量舒适模拟目标速度才会稳定。

结果就是,每台主机变成天花板而非分数;给定模拟配置下,主机能在平直100%维持的最大CPU时钟就是极限。由于几乎全部工作落在一根线程上,单线程性能大幅移动这个天花板,这正是M6在此有趣的原因。

测试方法

为找出天花板,我从6.0发布同一提交(build 9001)自制了版本,以50MHz步长扩展频率表至800MHz。如需自行尝试,有Deschutes频率表补丁。它添加500–800MHz条目,内存和缓存时序等比缩放以保持近似访问延迟,AT总线维持在8.33MHz。其余模拟代码不变。两台Mac都用此版本做扩展测试。

有人可能说这种速度的奔腾II不合时宜,我认为这只是稍微超频!

其余模拟机器配置每次运行固定:

  • Slot 1主板配奔腾II(Deschutes),时钟逐次变化
  • 256MB内存
  • Voodoo 3模拟VGA,16MB显存(2线程)
  • Windows 98 SE

86Box中模拟奔腾II机器的CPU配置

负载故意弄得有点棘手:Cinebench 2000跑CPU测试的同时,Winamp 2.76后台播放16位44,100Hz PCM WAV。音频是个锚点,实时消耗模拟硬件,任何落后立刻可闻。

通过条件主观但严格:听到爆音,或报告模拟速度任一时刻低于100%,该次运行失败。

结果

基础M4 Mac Mini稳定维持500MHz,两台机器在完整Cinebench 2000和3DMark 2000 SE运行中极稳定。到550MHz,M4开始卡顿,Cinebench中轻微中断,3DMark演示中更明显,足以判失败。

M6通过550MHz和600MHz,令人难以置信。600MHz时它在两次Cinebench 2000和3DMark 2000 SE演示中保持平直100%,后者提供了7–8分钟不间断测试。最高通过时钟比M4高20%。

关心的人看CB2000分数:

按模拟奔腾II时钟的Cinebench 2000成绩

| 模拟时钟 | Cinebench 2000 | M6 | M4 | | --- | --- | --- | --- | | 300MHz | 4.62 CB | 通过 | 通过 | | 350MHz | 5.34 CB | 通过 | 通过 | | 400MHz | 6.16 CB | 通过 | 通过 | | 450MHz | 7.02 CB | 通过 | 通过 | | 500MHz | 7.73 CB | 通过 | 通过 | | 550MHz | 8.54 CB | 通过 | 失败 | | 600MHz | 9.28 CB | 通过 | 失败 | | 650MHz | 10.08 CB | 失败 | 失败 |

每个时钟在自制86Box 6.0上跑一次。通过要求全程平直100%且无爆音。

这些分数描述各时钟下模拟CPU。渲染完成不够算过,650MHz的10.08 CB伴随一两次可闻欠载。其实那次我可能太严,后台活动或许导致卡顿。但按方法,600MHz是结果,还留点余量。800MHz选项为扩展测试范围,显然两台Mac都稳不住。

与真实硬件比较很有趣。Ars Technica论坛收集Cinebench 2000结果的用户数据:

时代硬件用户报告的Cinebench 2000分数

| 时代硬件 | Cinebench 2000 | | --- | --- | | 奔腾II 300MHz | 2.38 | | 奔腾II 450MHz | 4.35 | | 赛扬 800MHz | 7.52 | | 赛扬 533MHz超频至760MHz (95 x 8) | 8.03 | | 奔腾III Coppermine 800MHz | 9.25 | | Athlon Classic 600MHz | 7.66 |

用户报告,系统内存操作系统各异,仅作时代背景而非控制比较。

我们模拟的450MHz奔腾II得7.02 CB,比那颗物理PII 450MHz高约61%。300MHz差距更大,4.62 CB对2.38 CB。怪异地,我们600MHz的9.28 CB几乎正落在800MHz Coppermine旁边。这些是不同系统论坛提交,提供背景但差异巨大。顺便提这基准很老,远未像如今流行。

我还不知原因,可能模拟机内内存带宽和缓存时序有关。86Box v3.0发布说明解释P6模拟因乱序执行和L2缓存复杂而不完全准确,Deschutes时序调校到接近真硬件。但不确定。

差异在300/450MHz已存在,低于我补丁添加的条目。本评测600MHz仍是此86Box配置最高通过设置,比M4稳定时钟高20%。CB2000分数有用,显示配置如何扩展,但我不拿它们声称真实PII/PIII软件等效性能。

即便M4的500MHz,对比我作背景的超频9950X3D演示也惊人。我没在此自制版跑匹配x86,但基础M4已是比我原定450MHz限制更强的复古机。

下面视频来自M6较早的450MHz运行,当时OBS同时合成编码720p30 H.264。它记录那次而非新600MHz结果。3DMark 2000 SE在Mac Mini M6的86Box下运行,模拟450MHz奔腾II配Voodoo 3。模拟速度持于100%同时OBS编码采集。

主机实际在做什么

86Box把工作搁在两个“超级”核心(可见为cpu6和cpu7),其余封装基本闲置。M6上这两核在450MHz Cinebench 2000运行中平均约4,483MHz,600MHz时约4,710MHz,峰值4,788MHz。核心活跃度随模拟时钟上升,450MHz时每忙核约41%,600MHz时45至49%,所以最高通过时钟仍有余量。整封装占用从未超26%。

M4跑同配置忙核贴近3.7GHz,这差距很可能是它止步500MHz的主因。

迷你机定位

对此特定用途,最便宜的新Mac台式机异常优秀。基础M4已给我稳定500MHz奔腾II,M6带到600MHz,音频完好且完整3DMark演示100%。这结果出自不到€1,600小巧静音盒子,出众。这是我迄今找到最清晰案例,M6单核优势变成可感知而非仅图表数字。

看基准数和网上时代基准轶证,这把虚拟系统放进奔腾III领域。哪天我会试86Box里XP模拟。

评论

社区整体沉浸在用 Mac 与 86Box 复刻奔腾、Voodoo 时代童年硬件的怀旧喜悦中,少数人聚焦技术调优与厂商兴衰,并抛出了“能跑 Crysis 吗”的惯用玩梗。

认为 Mac 搭配 86Box 能高度保真重制童年老平台

  • 有开发者在 M4+ Mac 上借助 86Box 编写针对奔腾2的专用系统,称其运行效果与手中真机无异,且省去交叉拷贝代码的繁琐(较多人)
  • 诸多用户共鸣,列举能流畅运行 Quake、Unreal、极品飞车2及 3dMark 2000,感叹童年画面如魔法(较多人) > 看到 3dMark 2000 基准画面就让我起鸡皮疙瘩,初见时觉得那是纯粹的魔法(@bbayer)

指出 86Box 在 Mac 上需正确配置动态重编译并关注性能对比

  • 用户提醒 Glide 接口确实可用,但必须开启动态重编译,否则在 M2 上游戏帧率会惨不忍睹;另有人推测注重单核性能的机型适合 86Box 但恐受散热节流限制(少数人) > Glide 能跑,但先检查动态重编译设置,我曾因停留在解释器核心让 Unreal 变成了爬行(@hncbw02z5a)
  • 有人原以为 86Box 只模拟二进制,澄清后想看它与 qemu 及 softgpu 的性能横评(少数人)

认为老硬件比现代设备更酷且厂商命运令人唏嘘

  • 有人回忆 3dfx 被英伟达清算、散户归零,幻想其存活到 AI 时代;也有用户认为老机器性能虽弱但风格远胜今日设备(少数人) > 电脑确实变强了,但那时的机器比现在的酷太多了(@raverbashing)

有价值的补充

  • 历史冷知识:有用户曾重仓 3dfx 股票直至其破产,指出英伟达买走技术残局却让零售股东血本无归,引人遐想若其活到 AI 时代的光景(@cbm-vic-20)
  • 嵌套模拟遐想:有人回忆奔腾3上跑 PlayStation 模拟器的经历,提出未来 Mac 能否模拟“运行 PlayStation 模拟器的奔腾3”这一套娃场景(@artisinal)