1 Punkte von GN⁺ 2025-06-21 | 1 Kommentare | Auf WhatsApp teilen
  • Auf der Plattform Infinite Mac lassen sich jetzt frühe Versionen der Mac-OS-X-Reihe (10.1, 10.3) im Webbrowser ausführen
  • Durch die Portierung des PowerPC-Emulators PearPC auf Emscripten/WebAssembly wurden Fortschritte bei Kompatibilität und Stabilität erzielt
  • Im Vergleich mit DingusPPC wurden Performance und schwer erklärbare Bugs verbessert, begleitet von algorithmischen Optimierungen
  • Zudem wurde ein neues Infinite HD-Disk-Image für Mac OS X aufgebaut, das Zugriff auf verschiedene Software und Entwicklerwerkzeuge aus den 2000er Jahren ermöglicht
  • Mit der Übernahme des Aqua-Stils für die UI wurde das Retro-Erlebnis verstärkt, zugleich bleiben weitere künftige Ausbaumöglichkeiten im Blick

Zusammenfassung

Infinite Mac, ein Projekt, mit dem sich alte Legacy-Systeme online erleben lassen, unterstützt auf der Infinite-Mac-Plattform nun frühe Versionen wie Mac OS X 10.1 und 10.3 und macht sie damit in modernen Webbrowsern lauffähig. Dafür wurden PowerPC-Emulatoren wie PearPC und DingusPPC auf Basis von Emscripten/WebAssembly portiert, begleitet von zahlreichen Arbeiten zur Leistungsverbesserung und Stabilisierung. Durch algorithmische Optimierungen und Bugfixes konnten Auflösung und Zuverlässigkeit gegenüber der Originalhardware verbessert werden; außerdem wurde mit Infinite HD ein Datenträgerabbild neu zusammengestellt, das damalige Software und Entwicklerwerkzeuge enthält und so den praktischen Nutzen erhöht. Zusätzlich sorgt ein Aqua-Theme in der Website-UI für ein stimmungsvolles Nutzungserlebnis, während auch eine spätere Erweiterung auf noch retroartigere Betriebssysteme wie A/UX oder Lisa erwogen wird. Das Projekt zeigt damit einen technischen Versuch mit mehreren Zielen zugleich: Programmemulation, Ausbau von Open-Source-Archiven und Wiederherstellung historischer UI-Erfahrungen.

Ausbau der Mac-OS-X-Unterstützung

  • In Infinite Mac wurden frühe OS-X-Versionen wie Mac OS X 10.1 und 10.3 so portiert, dass sie im Webbrowser laufen
  • Die langsame Performance auf echter Hardware wird dabei originalgetreu nachvollzogen, und typische Anwendungen der Zeit wie NetNewsWire Lite und Terminal lassen sich ebenfalls ausprobieren
  • Im aktuellen Disk-Image ist auch ein Teil der damaligen Indie-Software enthalten, was die Erkundung von Retro-Software erleichtert

Der Portierungsprozess von PearPC

  • Zunächst lag der Fokus auf der Portierung und Anpassung des DingusPPC-Emulators, wegen Kernel Panics und Grafikfehlern wurde der Kurs jedoch auf PearPC geändert
  • PearPC ist eine plattformübergreifende Codebasis, die Anfang der 2000er dafür entworfen wurde, Mac OS X auf x86-Systemen auszuführen, und ließ sich daher vergleichsweise leicht ohne zusätzliche Sonderarbeiten auf WebAssembly portieren
  • Ein wichtiger aktueller Maintainer von Basilisk II und SheepShaver hat kürzlich einen experimentellen PearPC-Branch erstellt, sodass Builds auf modernem macOS wieder möglich wurden
  • Der Quellcode ist alt und basiert auf Legacy-C++, weist aber Besonderheiten wie eine eigene String-Klasse, sprintf und einen GIF-Decoder auf
  • Dank der plattformübergreifenden Struktur, des fast vollständigen Verzichts auf Threads und struktureller Abstraktionsschichten ging die Portierung schnell voran

Performance-Optimierung und Grenzen

  • Die Zuverlässigkeit beim Booten und Ausführen von Mac OS X 10.2 war in PearPC hoch, die Ausführung ist aber langsamer als in DingusPPC
  • Ein wesentlicher Grund für den Leistungsverlust ist das Fehlen von MMU-Caching
  • Verschiedene algorithmische Optimierungen, die bereits in DingusPPC eingesetzt wurden, wurden auch nach PearPC übernommen und verkürzten die Bootzeit teilweise
  • PearPC implementiert nur den benötigten Teilmengen-Satz der PowerPC-Befehle und nutzt mehrere „Cheats“ wie angepasste Firmware und Treiber
  • Langfristig bleibt die Hoffnung, dass DingusPPC für schnelle und stabile Mac-OS-X-Emulation letztlich vielversprechender ist

Nebenbefund: FP-Ausnahmebehandlung

  • Bei der Einführung eines vereinheitlichten Decoding-Verfahrens im Interpreter von PearPC traten bei Gleitkommaoperationen Rendering-Fehler auf
  • Der Mac-OS-X-Kernel registriert Ausnahmebehandlung abhängig vom FP-Bit-Status im MSI-Register; nach der Implementierung dieses Verhaltens im Code wurde das Rendering-Problem gelöst
  • Auch in DingusPPC führte dasselbe fehlende FP-Bit zu fehlerhaftem Textrendering; nach der Korrektur verbesserte sich die Stabilität deutlich
  • Aus einer behelfsmäßigen Behandlung wurde eine „saubere“ Implementierung, wodurch am Ende auch die Zuverlässigkeit beim Ausführen von 10.1 stark anstieg
  • Durch die Kombination beider Emulatoren wurde die Unterstützung für verschiedene OS-X-Versionen erweitert

Neuaufbau des Infinite-HD-Disk-Images

  • Für die Mac-OS-X-Ära wurde ein neues Disk-Image erstellt, das zahlreiche Indie-Programme und Entwicklerwerkzeuge aus dieser Zeit enthält
  • Alte .dmg-Dateien lassen sich auf aktuellem macOS nicht direkt mounten, daher wurden Konvertierung und eine automatisierte Pipeline mit Werkzeugen wie dmg2img aufgebaut
  • Wegen der Unterschiede zwischen den Dateisystemen HFS und HFS+ gibt es einige Einschränkungen, die meisten Programme funktionieren jedoch normal
  • Über Bibliotheksseiten, die Wayback Machine und weitere Quellen wurde eine lauffähige Software-Umgebung der frühen 2000er vervollständigt
  • Mithilfe einer Technik zur dynamischen Erzeugung von Multi-Partition-Images lassen sich bis zu drei Volumes mounten: Boot-Disk, Infinite HD und die Speicherplatte Saved HD

UI: Anwendung des Aqua-Stils

  • Das Aqua-Theme wurde auch für die Infinite-Mac-UI übernommen, um das Retro-Gefühl zu maximieren
  • Bild-Assets im Stil von Mac OS X 10.0/10.1 wurden direkt extrahiert, inklusive halbtransparenter Effekte
  • Der Stil der Bedienelemente der Website wird zudem automatisch an das jeweilige Erscheinungsbild des OS angepasst (Klassisch, Platinum, NeXT usw.)
  • Mit Blick auf angekündigte größere UI-Änderungen bei Apple macOS dient die frühere UI auch als eine Art „Referenzpunkt“

Zusätzliche Funktionen und Meilensteine

  • Hinzugekommen ist das Mounten von Mac-OS-9-Partitionen und die Ausführung der Classic-Umgebung (nur in 10.1 unterstützt)
  • Auch Unterschiede in der UX zwischen Betriebssystemen, etwa beim wiederholten Rechnen in der früheren Calculator-App, lassen sich nachvollziehen
  • In PearPC wurde der integrierte Boot-Messages-(Verbose)-Modus aktiviert, während in DingusPPC die Festlegung über Open-Firmware-Variablen umgesetzt wurde
  • Eine Ausweitung des Brandings über die Domain macosx.app wird ebenfalls versucht, derzeit befindet sie sich jedoch im Besitz einer anderen Person

Künftige Erweiterungen und Abschluss

  • Mit dem Ausbau der Mac-OS-X-Unterstützung schafft Infinite Mac eine Verbindung zum modernen macOS
  • Für noch tiefere Retro-Unterstützung werden auch Portierungsmöglichkeiten für A/UX, Lisa, Pippin und Newton erwähnt
  • Auch WebAssembly-basiertes QEMU (wasm) stößt experimentell auf Interesse; Leistungstests zeigen positive Signale
  • Webbasierte Mac-OS-X-Emulation bietet Nutzen für Erlebnisszenarien, die Bewahrung von Legacy-Software und Entwicklerexperimente in verschiedenen IT- und Startup-Kontexten

1 Kommentare

 
GN⁺ 2025-06-21
Hacker-News-Kommentare
  • Jemand erinnert sich daran, dass PearPC einige Jahre lang bis zum Wechsel zu Intel ziemlich erfolgreich funktionierte, bedauert aber, dass das Projekt nach dem Tod des Hauptentwicklers bei einem Zugunglück den Großteil seines Schwungs verlor; zugleich berichtet die Person von ihren eigenen Erfahrungen als begeisterter Nutzer und Community-Mitglied und davon, dass sie bis heute traurig wird, wenn sie daran denkt; dazu ein passender Artikel Link
    • Dabei muss man an viele brillante Entwickler denken, die plötzlich verstorben sind; wenn es nicht einmal einen Nachruf gibt und nur ein anderer Entwickler davon weiß, kommt einem fast der Gedanke, ob sie nicht so gut waren, dass Außerirdische sie von der Erde geholt haben
    • Es wird darauf hingewiesen, dass jemand die Arbeit des PearPC-Entwicklers gestohlen und unter dem Namen cherryos verkauft habe
    • Bedauern darüber, dass der verlinkte Artikel hinter einer Paywall liegt
  • Infinite Mac wird als Sammlung vorgestellt, mit der sich klassische Macintosh- und NeXT-Systemversionen samt Software bequem im Webbrowser nutzen lassen; passender Link infinitemac.org
    • Jemand meint, es wäre hilfreich gewesen, wenn im Blogbeitrag per Hyperlink erklärt oder definiert worden wäre, was Infinite Mac ist
    • Freude darüber, Infinite Mac entdeckt zu haben, und die Ansicht, dass es ein großer Fehler des Blogautors war, den Link zur Seite wegzulassen; ohne diesen Kommentar hätte man diese großartige Seite nie gefunden
  • Besonders interessant fand man an dem Artikel die Tatsache, dass der PPC-CPU-Emulator mit weniger als 700 Zeilen Quellcode umgesetzt wurde; erstaunlich sei diese Schlichtheit, die man sonst eher bei einem 6502-Emulator erwarten würde, für eine vergleichsweise moderne Architektur; dazu der Code TinyPPC.cpp
    • Die Einschätzung, dass das wegen der RISC-Struktur nicht ganz so überraschend sei; zudem der Hinweis, dass ein MIPS-Emulator ähnlich groß sei
  • Jemand stellt sich vor, wie sich ein 20-jähriger Tech-Enthusiast heute fühlen würde, wenn er OS X 10.4 (einschließlich .5 und .6) kennenlernt; das wird mit dem Blick auf klassische Statuen in einem „dunklen Zeitalter“ verglichen: „Wie konnte die Menschheit so etwas schaffen?“; zugleich der Gedanke, dass sich Geschmack mit den Zeiten ändert und die heutige Generation fotorealistische Icons womöglich eher altbacken findet
    • Die Ansicht, dass Aussehen und Bedienung von 10.4 dem heutigen macOS im Grunde sehr ähnlich seien; Installationsweise per Drag-and-drop von dmg, Finder-Lesezeichen, das Verhalten des Docks und sogar die Einführung von Spotlight seien damals schon vorhanden gewesen; verglichen mit dem Wandel von Windows XP zu Windows 11 habe sich der Mac nicht besonders stark verändert
    • Eine 20-jährige Person berichtet, als Kind ungefähr 10.5 oder 10.6 benutzt zu haben, und empfindet das persönlich vor allem als Nostalgie für diese Zeit
    • Jemand teilt die Erfahrung, als Entwickler in der 10.4/10.5-Ära angefangen zu haben, mit halbem Dark Mode und Theme-Einstellungen herumgespielt zu haben, und dass es damals viel einfacher war als heute, an den Systemordnern etwas zu verändern
    • Zur Formulierung „dunkles Zeitalter“ wird aus historischer Perspektive erklärt, dass es dabei nicht um einen Verlust von Technik oder Fähigkeiten ging, sondern um kulturelle und budgetäre Unterschiede zwischen Imperium und unabhängigen Königreichen; ergänzend der Hinweis, dass es auch im frühen Mittelalter viele schöne Artefakte und Bauwerke gab, etwa das Schiffsgrab von Sutton Hoo oder angelsächsische Kirchen, die man selbst gesehen habe
  • Beim Betrachten der Screenshots entsteht der Eindruck, dass Mac OS X eine viel schönere und aufgeräumtere Umgebung war als das heutige Mac OS; man denkt: „In so einer Umgebung hätte ich richtig Lust zu arbeiten“; das aktuelle Mac OS wirke zu unruhig und chaotisch, und man fragt sich, ob andere das auch so empfinden
    • Persönlich beschränke sich die direkte Begegnung mit dem UI auf Dinge wie die Menüleiste, die drei Punkte und Spotlight; tatsächlich nutze man meist browserbasierte oder plattformübergreifende Apps mit Drittanbieter-Designsystemen statt des Betriebssystems selbst oder nativer Apps, und unter Windows sei es genauso; visuelle Aspekte lösten deshalb kaum noch etwas aus
    • Jemand mag inzwischen eher alte graue Interfaces wie Win 95 oder macOS 9, weil sie wie ein bloßes Werkzeug Stabilität und Ruhe ausstrahlen, fast wie ein Taschenrechner
    • Technisch ließe sich der frühere Stil auch im modernen macOS problemlos umsetzen, geschehe aber nicht, weil die Softwarestruktur nicht modular aufgebaut sei; außerdem wird Enttäuschung darüber geäußert, dass man Softwarefirmen heute kaum noch zutraue, gute Software zu bauen
    • Persönlich gefällt einem die Mischung aus Aqua und gebürstetem Metall in 10.3 Panther am besten; die glänzende Menüleiste von 10.4 Tiger wirke mit der Zeit nicht mehr besonders elegant; 10.5 Leopard brachte zwar den auffälligen 3D-Dock, die transparente obere Menüleiste und modernere Farbverläufe, doch letztlich wirkten Aqua und Metalltextur cooler; spätere Versionen empfindet man eher als etwas langweilig
    • Die Streifenoptik von Windows sei etwas übertrieben gewesen, daher sei man sogar froh, dass sie verschwunden ist
  • Der Beitrag weckt Erinnerungen an frühere großartige UIs: an Macintosh OS 8 in der Platinum-Ära, an die Eleganz der „lickables“ von Mac OS X sowie an OpenLook, NeXTStep/OpenStep und die Zeit von Windows 2000; damals seien UI-Elemente klar und konsistent gewesen, wodurch sich das Verhalten von Bedienelementen vorhersagen ließ und die Nutzung einheitlich wirkte; heute sei Theme-Anpassung zwar freier, aber dafür sei ein Teil der direkten und konsistenten UI-Erfahrung verloren gegangen
  • Verwunderung darüber, dass das PearPC-Projekt trotz weit mehr als zehn Jahren seit dem letzten Commit noch immer als Erfolgsgeschichte erwähnt wird; offizielles Repository github, persönlicher Fork github; selbst nach Hinzufügen von WebAssembly-Unterstützung bleibe x86-64 weiterhin übrig; außerdem der Hinweis auf einen Blogbeitrag über die Erfahrung, NextStep zu Infinite Mac hinzugefügt zu haben Blog-Link
  • Persönlicher Eindruck, dass solche Projekte wirklich großartig sind, und Lob dafür, wie revolutionär Aqua bei seinem Erscheinen war
    • Damals bot fast jeder Linux-Window-Manager ein Aqua-Theme an, und Apple habe damit das Betriebssystem geliefert, von dem Nutzer, die auf „das Jahr des Linux-Desktops“ warteten, immer geträumt hätten; als Mainstream-Unix mit hervorragender Benutzerfreundlichkeit und breiter Unterstützung durch Drittanbieter-Apps sei es ein großer Erfolg gewesen
    • Aqua sei bis heute ein innovatives Design; früher habe man Fenstersteuerungen sofort erkannt, heute seien sie im Gegenteil schwerer zu unterscheiden; man hofft, dass Liquid Glass etwas von dieser UX zurückbringt, und führt die Konsistenz und Nutzbarkeit von Aqua als Grund dafür an, warum Windows Vista oder Linux-Themes es zwar nachahmen wollten, aber nie ganz herankamen
    • Es wird ein Zitat aus Steve Jobs’ Präsentation zur „Vorstellung von Aqua“ angeführt: Aqua sei eine vollkommen neue Benutzeroberfläche, stehe in Apples eigener Tradition, sei ihrem Namen entsprechend flüssig, und eines der Designziele sei es, etwas zu schaffen, das so aussieht, dass man es am liebsten ablecken würde
    • Der Eindruck, dass Liquid Glass an die Designphilosophie der damaligen Aqua-Ära erinnert
  • Rückblick darauf, dass die frühe OS-X-Zeit die wahre goldene Ära des Mac gewesen sei; damals sei auch die Hardware konkurrenzfähig gewesen und das Betriebssystem auf höchstem Niveau; jetzt sei die Hardware wieder in einer goldenen Phase, daher die Hoffnung, dass die Software irgendwann nachzieht; zugleich aber die Meinung, dass diese Emulation auf aktuellen Macs in Safari so träge reagiere, dass sie praktisch schwer zu nutzen sei
    • Die Ansicht, dass Mac OS wohl nicht mehr großartig werden wird
    • Betonung der Ironie, dass Hardware Leistung liefert und Software sie dann wieder wegfrisst
    • Aus Erfahrung mit frühen x86-Modellen der Hinweis, dass sie preislich nicht wirklich konkurrenzfähig waren, häufig Kernel Panics auftraten und selbst beim Anschauen von Videos in QuickTime Segmentation Faults zum Alltag gehörten; zudem war die Suche nach Codecs für verschiedene Dateiformate wie wmv oder divx eine ständige Aufgabe, und weil die Geräte für die Optik teils ohne Lüftungsschlitze gestaltet waren, kam es oft zu Überhitzung
  • Zustimmung zu der Einschätzung „Nicht schnell, aber die echte Hardware von damals war auch nicht viel besser“; auf Grundlage eigener Hackintosh-Erfahrungen um 2008 herum habe die Emulation realistisch gezeigt, wie langsam Macs damals tatsächlich waren; dazu Erinnerungen an unzählige Versuche und Irrtümer beim Entwickeln von Apps für den iPod touch jener Zeit; immerhin habe die Installation nicht bis zu 24 Stunden gedauert