1 Punkte von GN⁺ 17 일 전 | 1 Kommentare | Auf WhatsApp teilen
  • Neuimplementiert Mac OS der 1980er-Jahre auf API-Ebene und kann 68K-Mac-Anwendungen direkt ausführen, ohne Apples ROM oder Systemsoftware
  • Statt die gesamte Hardware zu emulieren, ersetzt es das Betriebssystem selbst, sodass Apps ohne Bootvorgang sofort gestartet werden können
  • Besteht aus einem 68K-Emulator im Backend und einem SDL2-basierten Frontend und bietet damit dieselbe Umgebung auf verschiedenen Plattformen wie macOS, X11 und Linux framebuffer
  • Kann klassische Macintosh-Software wie MacPaint, Lode Runner und The Fool’s Errand in einer 1-Bit-Grafikumgebung ausführen
  • Wird als offenes Reimplementierungsprojekt mit Quellcode auf GitHub veröffentlicht und läuft auch auf POSIX-Systemen und mit VNC-Clients

Überblick über Advanced Mac Substitute

  • Advanced Mac Substitute (AMS) ist ein Projekt zur Neuimplementierung von Mac OS der 1980er-Jahre auf API-Ebene, das 68K-Mac-Anwendungen ohne Apples ROM oder Systemsoftware ausführen kann
  • Anders als klassische Emulatoren emuliert es nicht die komplette Hardware, sondern nur den 680x0-Prozessor und ersetzt das Betriebssystem selbst
  • Durch diese Architektur lassen sich Anwendungen direkt ohne Bootvorgang starten

Architektur und Komponenten

  • AMS ist als faktorisierte Anwendung aufgebaut
    • Das Backend ist ein 68K-Emulator, der sich auf POSIX-Systemen überall bauen und ausführen lässt
    • Das Frontend ist eine Abstraktionsschicht für Bitmap-Terminals, basiert auf SDL2 und umfasst Implementierungen für macOS, X11 und Linux framebuffer (fbdev)
  • Diese Struktur stellt auf unterschiedlichen Plattformen dieselbe Ausführungsumgebung für 68K-Mac-Anwendungen bereit

Ausführbare Anwendungen und Demos

  • AMS kann mehrere Anwendungen für den originalen Macintosh ausführen
    • Beispiele sind die 1984 erschienenen Spiele Amazing, Solitaire, Missile und IAGO
    • Außerdem lassen sich Programme wie MacPaint, System’s Twilight, Lode Runner und The Fool’s Errand ausführen
  • Alle Anwendungen laufen innerhalb von AMS in einer 1-Bit-Grafikumgebung, dazu sind Videos der tatsächlichen Ausführung verfügbar

Unterstützte Funktionen

  • AMS unterstützt die folgenden Grafik- und UI-Elemente von Mac OS
    • 1-Bit-Grafik, Bereiche (regions), Kreise und abgerundete Rechtecke, Linien, Cursor, GrafPorts, Text, Fenster, Steuerelemente, Menüs und Dialoge
  • Dadurch werden die visuellen und funktionalen Eigenschaften der Macintosh-Software der 1980er-Jahre detailgetreu nachgebildet

Quellcode und Laufzeitumgebung

  • Der Quellcode von AMS ist im GitHub-Repository metamage_1 veröffentlicht
  • Die direkte Ausführung ist unter macOS / OS X, dem X Window System, der Linux-framebuffer-Konsole oder mit einem VNC-Client möglich
  • Die ältere Dokumentation (legacy documentation) des Projekts wurde auf eine separate Seite verschoben und wird derzeit überarbeitet

Demo-Beispiele

  • Auf der offiziellen Website sind mehrere Demo-Videos eingebunden, darunter Ausführungen von MacPaint, Amazing und Nyanochrome Cat
  • Der Bildschirm „Welcome to Advanced Mac Substitute“ ist kein echter Bootscreen, sondern eine Anwendungsoberfläche

Weitere Informationen

  • Das Projekt wird auf v68k.org gepflegt; die letzte Aktualisierung erfolgte am 29. November 2025
  • Der Entwickler ist über GitHub und Twitter aktiv

1 Kommentare

 
GN⁺ 17 일 전
Hacker-News-Kommentare
  • Wirklich ein großartiges Projekt. Die Ästhetik eines „alternativen Zeitstrahls“, die das schwarzweiße klassische MacOS ausstrahlt, vermittelt irgendwie Vertrauen und Stabilität.
    Es weckt Erinnerungen an Macintosh SE oder Plus, die in Reih und Glied im Computerraum der Grundschule standen.
    Ich stelle mein MacOS System 7 Web-Desktop-UI vor. Es ist eine neu interpretierte Version, mit der echtes Web-Browsing möglich ist.

    • Als ich das lächelnde Mac-Icon und den leeren Fortschrittsbalken sah, habe ich die Domain sofort in NoScript erlaubt. Es war wirklich charmant.
      Über den Bildschirmschoner musste ich laut lachen. Es fühlte sich vertraut und zugleich fremd an, fast so, als würde man in ein Paralleluniversum blicken.
      Ich habe früher selbst einmal einen webbasierten Mac-Simulator gebaut. Eigentlich, um CSS und JS zu lernen, aber dabei wurde mir klar, dass das Web nicht gut dafür geeignet ist, komplexe Strukturen aufzuschichten, und diese Erfahrung war der Auslöser dafür, Advanced Mac Substitute zu bauen.
  • In den letzten Monaten habe ich Basilisk II um ARM64-JIT erweitert.
    Zurzeit patche ich das Quadra-ROM, um die NuBus-Hardware-Erkennung zu umgehen.
    Ich würde dieses Projekt sehr gern ausprobieren. Wenn in einer klassischen Mac-Umgebung moderne Funktionen wie Dateifreigabe enthalten wären, wäre das selbst auf kleinen Geräten perfekt.

  • Es ist erstaunlich, dass Software aus den 1980ern allein über API-Kompatibilität funktioniert.
    Dass sie nicht von Implementierungsdetails wie Timing oder Speicherausrichtung abhängt, ist beeindruckend.
    Schon die Abhängigkeit von nur einem einzigen Implementierungsdetail könnte dazu führen, dass sie auf einem anderen OS nicht läuft.

    • Mac Classic war strukturell ein System von nahezu vollkommener Reinheit.
      Die meisten Funktionen wurden nur mit einem 1-Bit-Framebuffer und der CPU umgesetzt.
      Hacks auf 8-Bit-Maschinen dienten meist dazu, begrenzte Funktionen zu umgehen.
      Ich weiß nicht, ob Apple solche Entscheidungen mit Blick auf künftige Generationen getroffen hat, aber dank der einfachen Struktur dürften spätere Erweiterungen leichter gewesen sein.
    • Natürlich gab es auch viele Apps, die von Eigenheiten (quirks) der Implementierung abhingen.
  • Wirklich ein großartiges Projekt. Es erinnert mich an die kommerzielle Software ARDI Executor, die 1990 erschien.
    Damals erreichte sie auf PC-Hardware mit einer Reimplementierung auf API-Ebene erstaunliche Geschwindigkeit.
    Ich erinnere mich noch daran, wie ich als Kind Mac-Spiele auf einem Windows-PC laufen ließ und staunte: „Das geht also wirklich.“
    Das Executor-Wiki und der GitHub-Code sind ebenfalls sehenswert.
    Ein ARDI-Ingenieur tauchte 1996 auch kurz in der Doku Triumph of the Nerds auf.

    • Von Executor wusste ich zwar, aber ich habe es nie selbst gesehen.
      Damals war Emulationsleistung wichtig, heute ist das wegen schneller Hardware kein großes Problem mehr.
      Wichtiger sind nun Portabilität und Wartbarkeit sowie das Patchen von Programmen, die für CPU-exklusive Architekturen entworfen wurden, damit sie in moderne Umgebungen passen.
  • Ich kann mir kaum vorstellen, wie schnell es im Vergleich zur ursprünglichen Mac-512k-Hardware wäre.
    Es erinnert an die mechanische Erfahrung aus der Zeit, als das System von einer einzigen Floppy lief und man ständig die Disketten wechseln musste.
    Wenn es eine Funktion zum „langsamer Laufenlassen“ gäbe, die sogar die Lese-/Schreibgeräusche der Floppy nachbildet, wäre das wirklich unterhaltsam.

    • Vor Kurzem gab es auf HN ein Retro-Hardware-Projekt, das Sound-Emulation enthielt. Dieser Sound war am eindrucksvollsten.
    • Ich habe einmal den Apple-II-Emulator Virtual II benutzt, der Floppy-Geräusche und Geschwindigkeitsregelung bietet, und das fühlte sich ähnlich an.
    • Ich erinnere mich noch daran, wie ich als Kind auf einem Apple IIe King’s Quest IV gespielt habe. Bei jedem Bildschirmwechsel musste ich die Floppy tauschen. Das war wirklich die Qual des Diskettenwechsels.
  • Mich würde interessieren, wie es im Vergleich zu Executor abschneidet.

  • Es wäre schön, eine Carbon-ähnliche Kompatibilitätsschicht zu haben, in der alte Apps in modernen Fensterrahmen laufen und Dateien speichern können.

    • Advanced Mac Substitute speichert Dokumente und Konfigurationsdateien in einem sandboxed Host-Verzeichnis.
      Wenn man zum Beispiel in der MacPaint-Demo auf das Hello-Dokument doppelklickt, wird es im macOS Finder mit MacPaint.app geöffnet.
    • So ein Projekt könnte genau die Grundlage für ein solches System werden.
  • Ich frage mich, ob es vor MACE fertiggestellt wurde oder ob es ein anderes Ziel verfolgt.

  • Läuft wohl „Dark Castle“? Ich habe wirklich viel Zeit in dieses Spiel gesteckt.

    • Ich frage mich bis heute, warum der Hauptcharakter wie Shaggy aus Scooby Doo aussieht.
      Und wenn man sich diesen Commit ansieht, scheint es tatsächlich lauffähig zu sein.
    • Ich würde wahrscheinlich direkt mit Beyond Dark Castle anfangen. Der Feinschliff der Serie war dort eindeutig auf einem anderen Niveau.
  • Wirklich eine beeindruckende Leistung. Mich interessieren der Entstehungsprozess, die Motivation und wie viel Zeit dafür nötig war.

    • Wahrscheinlich wurden die meisten MacOS-Aufrufe damals über 68K-TRAP-Befehle angesprochen, deshalb dürfte man das ROM direkt reimplementiert haben statt die Hardware zu emulieren.
      Ein Freund von mir hat früher auch einmal die Toolbox als C-Bibliothek neu geschrieben, um Mac-Apps auf den PC zu portieren.
      QuickDraw, Event Manager, Memory Manager und fast alles andere wurden komplett neu implementiert. Mit einer OpenLook-UI wirkte es völlig anders.
    • Meine allererste Motivation, dieses Projekt zu beginnen, war der starke Wunsch, The Fool’s Errand wiederzubeleben. Ironischerweise war genau das der Ausgangspunkt.