Mac Mini M6: Retro PC-emulatie met 86Box (600MHz PII?!)
Waarom 86Box afhankelijk is van één kern
86Box emuleert een oude PC op hardwareniveau. De timing van de CPU, het gedrag van de chipset, ISA- en PCI-bussen, grafische chipsets, geluidsapparaten en diskcontrollers zijn allemaal essentieel om software uit die periode correct te laten werken. Dit garandeert geen identieke prestaties ten opzichte van de originele hardware, zoals de onderstaande Cinebench-resultaten illustreren. Hoewel het project fascinerend is en de inspanningen bewonderenswaardig zijn, is deze nauwkeurigheid kostbaar; bijna alle rekenkracht wordt gevraagd van een enkele host thread.
Het praktische gevolg is dat het aantal kernen nauwelijks van belang is. Wat echt telt, is hoe snel één kern kan draaien en hoe lang deze die snelheid kan vasthouden zonder terug te schakelen (throttling). Voor de Mac Mini is dat precies waar Apple Silicon sterk in is, en waar de M6 uitblinkt.
Tijdens het testen met een aangepaste 86Box 6.0-build probeerde ik een Pentium II op 650MHz te draaien met Cinebench 2000 en Winamp. Vanwege één of twee audio-onderbrekingen (underruns) was 650MHz niet stabiel, waardoor 600MHz het uiteindelijke stabiele resultaat is.
De machines
Elke 86Box-test maakt gebruik van dezelfde machineconfiguraties, dezelfde schijm-images en geëmuleerde hardware. De vergelijkingsset bestaat uit:
- Mac Mini M6: 12-core CPU, 24GB (review-unit)
- Mac Mini M4: basis 10-core CPU, 16GB
Er is getest met een licht gewijzigde build van 86Box 6.0, uitgebracht op 31 mei 2026. Het team heeft de CPU-emulatieprestaties op ARM-hosts verbeterd en een ARM64 just-in-time recompiler toegevoegd voor Voodoo-graphics. Die laatste wijziging is bijzonder relevant, aangezien de Windows 98-machine een geëmuleerde Voodoo 3 gebruikt. Hoewel Apple Silicon snelle kernen heeft, is 86Box ook beter geworden in het benutten ervan.
Waarom 100% het enige acceptabele getal is
86Box rapporteert een effectieve emulatiesnelheid als een percentage van de doelsnelheid. 100% betekent dat de hostmachine het tempo van het timingmodel van de emulator kan bijhouden; alles daaronder is een echt probleem. Dit garandeert echter niet dat een benchmark exact dezelfde score haalt als op een fysieke CPU met dezelfde kloksnelheid.
Consistentie is hier belangrijker dan het gemiddelde. Zelfs korte dips veroorzaken hoorbare artefacten, omdat geluidshardware in real-time wordt gevoed. Buffers die leegraken, resulteren in korte uitvalmomenten die storend zijn. In feite zal elke 86Box-setup die regelmatig onder de 100% zakt, niet goed aanvoelen. Voldoende reserve op het systeem om de doelsnelheid comfortabel te emuleren, zorgt voor een veel stabielere ervaring.
Hierdoor wordt elke hostmachine een "plafond" in plaats van een score. Voor een specifieke geëmuleerde configuratie is er een maximale CPU-kloksnelheid die de host stabiel op 100% kan houden. Omdat bijna al het werk op één thread valt, verhoogt single-threaded prestatie dit plafond aanzienlijk, wat de M6 interessant maakt.
Testmethode
Om het plafond te bepalen, heb ik een aangepaste build gemaakt van dezelfde commit als de 6.0-release (build 9001), waarbij de frequentietabellen in stappen van 50MHz zijn uitgebreid tot 800MHz. Deze Deschutes frequency table patch voegt vermeldingen van 500–800MHz toe, waarbij geheugen- en cache-timings zijn geschaald om ongeveer dezelfde toegangstijden te behouden, terwijl de AT-bus op 8.33MHz blijft. De overige emulatiecode is ongewijzigd.
De geëmuleerde machine is voor elke run vastgesteld:
- Moederbord: Slot 1 met Pentium II (Deschutes), kloksnelheid varieert per run.
- Geheugen: 256MB.
- Grafische kaart: Voodoo 3 geëmuleerde VGA met 16MB videogeheugen (2 threads).
- Besturingssysteem: Windows 98 SE.
De belasting is bewust zwaar: Cinebench 2000 voert de CPU-test uit, terwijl Winamp 2.76 op de achtergrond een 16-bit 44.100Hz PCM WAV-bestand afspeelt. Audio dient hierbij als anker; omdat het een real-time consument is van de geëmuleerde hardware, is elk moment van vertraging direct hoorbaar.
De voorwaarde voor een geslaagde test is strikt: als er een audio-onderbreking optreedt of als de gerapporteerde emulatiesnelheid op enig moment onder de 100% zakt, is de run mislukt.
Resultaten
De basis M4 Mac Mini houdt 500MHz vol; beide Macs zijn extreem stabiel tijdens de volledige Cinebench 2000 en 3DMark 2000 SE runs op deze snelheid. Bij 550MHz begint de M4 echter te haperen. Dit zijn lichte onderbrekingen in Cinebench, maar ze zijn merkbaarder tijdens de 3DMark-demo, wat voldoende is om de test als mislukt te markeren.
De M6 slaagt voor zowel 550MHz als 600MHz. Bij 600MHz hield hij een stabiele 100% tijdens beide Cinebench 2000 runs en de 3DMark 2000 SE-demo (wat ongeveer 7–8 minuten ononderbroken testen betekende). Dat betekent dat de hoogste stabiele kloksnelheid in deze setup 20% hoger ligt dan die van de M4.
Cinebench 2000 scores per geëmuleerde Pentium II kloksnelheid
| Geëmulueerde klok | Cinebench 2000 | M6 | M4 |
|---|---|---|---|
| 300MHz | 4.62 CB | Geslaagd | Geslaagd |
| 350MHz | 5.34 CB | Geslaagd | Geslaagd |
| 400MHz | 6.16 CB | Geslaagd | Geslaagd |
| 450MHz | 7.02 CB | Geslaagd | Geslaagd |
| 500MHz | 7.73 CB | Geslaagd | Geslaagd |
| 550MHz | 8.54 CB | Geslaagd | Gefaald |
| 600MHz | 9.28 CB | Geslaagd | Gefaald |
| 650MHz | 10.08 CB | Gefaald | Gefaald |
Een 'Geslaagd' resultaat vereist een constante 100% emulatiesnelheid zonder hoorbare dropouts gedurende de gehele run.
Bij 650MHz was er sprake van één of twee hoorbare onderbrekingen. Hoewel achtergrondactiviteit dit kan hebben veroorzaakt, blijft 600MHz conform de methodologie het resultaat. De optie van 800MHz was aanwezig om het testbereik uit te breiden, maar is duidelijk niet vol te houden door beide Macs.
Vergelijking met echte hardware
Er is een interessant verschil wanneer we deze scores vergelijken met echte hardware. Uit een Ars Technica-forumdraad blijken de volgende scores voor Cinebench 2000:
| Echte hardware | Cinebench 2000 |
|---|---|
| Pentium II 300MHz | 2.38 |
| Pentium II 450MHz | 4.35 |
| Celeron 800MHz | 7.52 |
| Celeron 533MHz (overclocked naar 760MHz) | 8.03 |
| Pentium III Coppermine 800MHz | 9.25 |
| Athlon Classic 600MHz | 7.66 |
Onze geëmuleerde Pentium II van 450MHz scoort 7.02 CB, wat ongeveer 61% hoger is dan de fysieke PII 450MHz. Bij 300MHz is het gat nog groter (4.62 CB tegenover 2.38 CB). Bizar genoeg landt ons resultaat van 600MHz (9.28 CB) bijna exact op hetzelfde niveau als de 800MHz Coppermine.
Ik weet nog niet waar dit door komt; mogelijk heeft de geheugenbandbreedte en cache-timing binnen de geëmuleerde machine hiermee te maken. In de release notes van 86Box v3.0 wordt uitgelegd dat P6-emulatie niet volledig nauwkeurig was vanwege de complexiteit van out-of-order execution en L2-cachegedrag. De Deschutes-timings zijn getuned om redelijk dicht bij echte hardware te komen, maar de discrepantie blijft aanzienlijk.
Voor deze review blijft 600MHz de hoogste stabiele instelling in deze 86Box-configuratie. De CB2000-scores tonen aan hoe de configuratie schaalt, maar ik zou ze niet gebruiken om equivalente prestaties te claimen ten opzichte van een echte Pentium II of III in andere software.
Wat de hostmachine daadwerkelijk doet
86Box plaatst het werk op twee 'super' kernen (zichtbaar als cpu6 en cpu7), terwijl de rest van de CPU grotendeels inactief is. Op de M6 draaien deze twee kernen gemiddeld ongeveer 4.483MHz tijdens de 450MHz Cinebench run en ongeveer 4.710MHz tijdens de 600MHz run, met pieken tot 4.788MHz.
De kernactiviteit stijgt mee met de geëmuleerde klok: van ongeveer 41% per actieve kern bij 450MHz naar 45-49% bij 600MHz. Er is dus nog steeds reserve aanwezig bij de hoogste stabiele kloksnelheid. Het totale CPU-gebruik overstijgt nooit de 26%.
De M4 houdt zijn actieve kernen dichter bij de 3.7GHz, wat waarschijnlijk de belangrijkste reden is dat hij stopt bij 500MHz.
Conclusie voor de Mac Mini
Voor dit specifieke gebruik is de goedkoopste nieuwe Mac-desktop een ongewoon goede machine. De basis M4 biedt al een stabiele Pentium II van 500MHz; de M6 tilt dit op naar 600MHz, met intacte audio en een volledige 3DMark-demo op 100%. Dit is een uitstekend resultaat van een kleine, stille computer onder de €1.600. Het is het duidelijkste voorbeeld dat ik tot nu toe heb gevonden waarbij de voorsprong in single-core prestaties van de M6 zich vertaalt in iets dat je daadwerkelijk merkt, in plaats van iets dat je alleen op een grafiek ziet.
Kijkend naar de benchmarkcijfers en anekdotisch bewijs, plaatst dit mijn virtuele systeem in het territorium van de Pentium III. In de toekomst wil ik proberen om XP-emulatie in 86Box te testen.
Groetjes,