Mac Classic 2: Schwerer Boot-Fehler wurde nur durch undokumentierte CPU-Instruktion verhindert
Ein kurioser Zufall rettete einst den Macintosh Classic 2: Ein schwerer Programmierfehler hätte den Rechner eigentlich am Booten hindern müssen - doch eine undokumentierte Eigenheit der CPU wandte einen Katastrophenlaunch ab.
1991 erschien mit dem Macintosh Classic 2 der letzte Apple-Rechner mit Schwarz-Weiß-Bildschirm und externem Diskettenlaufwerk. Dieser Launch wäre beinahe von einem katastrophalen Bug überschattet worden, wie der Entwickler Doug Brown in seinem Blog dokumentiert. Nur eine undokumentierte Marotte des genutzten Motorola-68030-Prozessors verhinderte Schlimmeres.
Entdeckt wurde der Fehler in der Emulatorsoftware MAME. Innerhalb des Emulators startete Brown den Macintosh Classic 2 - oder versuchte es zumindest, denn MAME stürzte beim Hochfahren konsequent ab. Auf echter Hardware trat das Problem jedoch nie auf, weshalb sich der Entwickler auf Spurensuche begab. Die Ursache lag im ROM-Code des Rechners: Eine bestimmte Anweisung sprang zu einer ungültigen Speicheradresse und hätte das Booten des Systems unmöglich gemacht. Doch warum startete der echte Classic 2 dennoch?
Das Rätsel der "automatischen Fehlerkorrektur"
Beim Vergleich mit einem älteren Macintosh Classic 2 fiel Brown auf, dass dessen Motorola-68030-Prozessor die fehlerhafte Routine auf unerklärliche Weise korrigierte. Während die Emulation in MAME die Adresse unverändert ließ und abstürzte, veränderte die echte CPU den Speicherwert selbstständig in einen gültigen Bereich.
Dieser Effekt war auf eine bislang unbekannte, weil nicht dokumentierte Funktion des 68030 zurückzuführen, wie Brown weiter ausführt. Die CPU führte eine interne Lese-Schreib-Operation aus, die zugleich das betroffene Register änderte - und damit den Programmfehler unsichtbar machte. Ohne dieses Verhalten hätte das System beim Einschalten jedes Mal mit einem Fehlerbildschirm reagiert.
Um seine Theorie zu verifizieren, restaurierte Brown einen defekten Classic 2, verbaute eine moderne Stromversorgung und testete die Bootsequenz direkt auf der Originalhardware. Seine Experimente bestätigten: Nur dank dieser unerwarteten Prozessorreaktion konnte der Rechner überhaupt starten - "fast zu verrückt, um wahr zu sein", wie der Entwickler dazu meint. Die MAME-Entwickler wussten von dieser Instruktion indes nichts, weshalb der Emulator sie zunächst nicht nachbildete. Erst nachdem Brown die Ergebnisse veröffentlicht hatte, wurde der Emulationscode angepasst, wodurch der Classic 2 nun auch virtuell fehlerfrei bootet.
Hatten Sie einen Macintosh Classic 2 zu Hause stehen? Nutzen Sie die Kommentarfunktion und teilen Sie uns Ihre Meinung mit. Zum Kommentieren müssten Sie eingeloggt sein. Sollten Sie noch keinen Account haben, könnten Sie über eine Registrierung nachdenken, die viele Vorteile mit sich bringt. Beachten Sie beim Kommentieren bitte die gültigen Forenregeln. Folgen Sie uns außerdem für Neuigkeiten in der Hardware-Welt oder unsere exklusiven Inhalte gern auf Whatsapp und X. Unsere Video-Inhalte (oftmals gewürzt mit einer Prise Humor) finden Sie bei Youtube, Instagram und Tiktok.

Insbesondere der Macintosh Classic II (römisch II, nicht '2') ist einer der letzten 68K basierten klassischen Mac-Rechner, danach kamen die PowerPC CPU basierten Geräte. Allerdings konnte man mit dem Classic II kein A/UX ausführen, weil er "Shared Video RAM" nutzte, der Mac SE/30 hingegen hatte dediziertes VRAM, obwohl älter, konnte er A/UX ausführen. A/UX ist deswegen erwähnenswert, weil es der Betriebssystem-Urahne der späteren Mach-Kernel basierten MacOS Versionen darstellt.