EmuTOS 0.9.11 im Test

Die Entwickler des freien Betriebssystems EmuTOS sind schon etwas besonderes – und was für das Projekt an sich gilt, gilt auch für dessen Facebook-Seite: Dort hatte man doch tatsächlich nachgezählt, wie häufig EmuTOS in der letzten ST-Computer erwähnt wurde. Derlei Blumen für dieses Magazin waren aber eigentlich unangebracht, denn ausführlich wurde über das Projekt erst einmal berichtet: 2002, als noch Version 0.5 aktuell war.

Aber spulen wir noch weiter zurück in eine Zeit, als es sowohl Atari- als auch PC-GEM gab. Als Atari GEM und GEMDOS von Digital Research übernahm, sicherte man sich in Sunnyvale die Rechte an der Weiterentwicklung. Einige Monate vor dem Atari ST erschien PC-GEM für DOS-Computer und geriet schnell ins Visier von Apple, die sich am Aussehen der Benutzeroberfläche störten. Digital Research war gezwungen, für GEM 2.0 Änderungen vorzunehmen, die markanteste sind die zwei starren Fenster auf dem Desktop. DR hatte durchaus Erfolg bei einigen PC-Herstellern: Amstrad/Schneider und Atari legten GEM ihren PCs bei. Der Durchbruch gelang PC-GEM damit jedoch nicht, der Nachfolger GEM/3 war die letzte Version, die kommerziell angeboten wurde. GEM/4 und GEM/5 wurden lediglich zusammen mit dem Vektorgrafikprogramm Artline und der DTP-Anwendung Timeworks Publisher vertrieben.

Atari konnte währenddessen ungestört TOS und damit auch GEM weiterentwickeln. Wie aber alle, die seit den 80ern einen ST besitzen, bestätigen konnten, ließ diese Weiterentwicklung sehr zu wünschen übrig. Eine gründliche Überarbeitung des Desktops gab es erst 1990, neue Bedienelemente erst mit dem Falcon-TOS und multitaskingfähig wurden Betriebssystem und Oberfläche erst dank MiNT, damals noch eine Abkürzung für „MiNT is Not Tos“. Der Quelltext von MiNT war frei und blieb es auch unter Atari-Regie. MultiTOS bestand aus eben diesem MiNT-Teil und dem Multi-AES, dessen Quelltext nicht offen war. Dies gilt bis heute – obwohl durch Lizenzvereinbarungen (Milan-TOS) und ungeklärte Kanäle (TOS 2.0x/3.0x, Teile von TOS 4), die Quelltexte Sunnyvale doch verließen.

Die Reste von Digital Research wechselten in den Jahren zweimal den Besitzer: Erst kaufte Novell DR, dann schließlich Caldera die Rechte an den DR-Produkten. Pläne, GEM für neue Produkte zu nutzen, gab Caldera schließlich auf und stellte 1999 die Quelltexte für GEM und GEM XM unter die GPL.

Ob Hasbro, damals im Besitz der Atari-Marke, nicht willens oder schlicht nicht gefragt wurde, TOS ebenfalls freizugeben, ist nicht bekannt. ST-Entwickler machten sich jedenfalls an die Arbeit, die Original-Quelltexte von Digital Research auf den Atari zu portieren und die fehlenden Teile neu zu programmieren, als freies, quelltextoffenes Betriebssystem: EmuTOS.

EmuTOS 1/2

EmuTOS 0.5

Der ersten Version sah man die Herkunft deutlich an: Die Prioritäten lagen weniger beim Desktop, als der Grundlage des Betriebssystems und so zeigte sich auch EmuTOS mit zwei starren Fenstern und den Standardicons vom PC-GEM. Für Atari-User, gerade die Anwender von MagiC und N.AES, war dieser TOS-Klon ein merkwürdiger Anblick. Gleichwohl hatte dieses TOS seinen Platz: Freeware-Emulatoren konnten schlecht mit einem nicht lizenzierten Original-TOS ausgeliefert werden. Allerdings dürfte die erste Aktion von Emulatoren-Nutzern gewesen sein, sich von einer dritten Website die Atari-ROMs zu besorgen. Denn EmuTOS sollte nie eine bestimmte TOS-Version mit all ihren Fehlern nachahmen – dies wäre aber nötig, um mit Programmen wie Spectrum 512, Demos und vielen Spielen kompatibel zu sein.

Aber es soll ab hier nicht mehr um die Ur-Version gehen, wie sieht es denn mit der aktuellen Version als „cooler Firmware-Ersatz“ (EmuTOS-Website) aus?

Snapshot

Kein Atari-Logo, sondern ein informativer Boot-Screen.

Einmal pro Jahr gibt es ein großes EmuTOS-Update, aber das bedeutet nicht, dass die Entwicklung ansonsten ruht. Verschiedene Entwickler reichen ständig Updates (Commits) ein und Anwender können sich auch einen der Snapshots herunterladen, die den aktuellen Entwicklungsstands abbilden. Diese Versionen sind in der Regel stabil, aber nicht so intensiv getestet wie die offiziellen Releases.

Apropos Releases: Auf der Sourceforge-Seite des Projekts gibt es für eine ganze Reihe von Systemen passende EmuTOS-Compilate. Da werden nicht nur klassische STs (192 KB ROM), STE/MegaSTE (256 KB) und TT/Falcon (512 KB) bedacht, sondern auch Aranym, FireBee, Amiga und Coldfire-Entwicklungsboards bedacht. Außerdem existiert eine Version, die als Programm gestartet werden kann – ideal für einen Testlauf. Die 512-KB-Version ist multilingual, die anderen ROMs trennen die Sprachen. Derzeit ist EmuTOS lokalisiert für Deutsch, Englisch, Französisch, Finnisch, Griechisch, Italienisch, Norwegisch, Russisch, Spanisch, Schwedisch und Deutsch (Schweiz). Norwegisch und Schwedisch verändern nur das Tastaturlayout, nicht die Systemsprache.

Nicht alle EmuTOS-Compilate sind Teil des Sourceforge-Repositories: Es existieren noch Versionen für ARM-CPUs, den Selbstbau-Computer Kiwi, das FPGA Replay Board und den Vampire-V4-Computer.

Grundlage des Tests ist der EmuTOS-Snapshot vom 20. Mai 2019.

Keine Codezeile von Atari: EmuTOS basiert auf dem PC-GEM – mit viel eigenem Code.

Lieferumfang

Außer der ROM-Datei sind im ZIP-Archiv noch weitere Dateien. Emuicon.rsc ist das Gegenstück zu der Deskicon.rsc von TOS 2.0x, Emucurs.rsc ersetzt die Mauszeiger. Aus rechtlichen Gründen – man möchte auch bei den Icons „sauber“ bleiben, sind die Icons von EmuTOS nicht identisch zu den Atari-Icons. In den aktuellen Snapshots wurde das in EmuTOS integrierte Standard-Iconset ersetzt, womit auch das letzte Erbe des PC-GEM abgeschüttelt wäre. Farbicons unterstützt EmuTOS noch nicht, ebensowenig wie die anderen neuen Objekte des Falcon- und MultiTOS-AES.

Die restlichen Dateien beschreiben die Änderungen, geplante Funktionen, bekannte Fehler und Inkompatibilitäten und mehr. Wer zum 192KB ROM greift, sollte sich die Emudesk.txt durchlesen, denn aus Platzgründen sind nicht alle EmuDesk-Funktionen im „kleinen“ ROM enthalten. Auf die Einschränkungen wird auch in diesem Test eingegangen. So viel vorweg: Auch der abgespeckte EmuDesk bietet mehr Komfort als der Desktop des TOS 1.0x.

EmuDesk

Aber zunächst zur 512-KB-Version auf einem (emuliertem) Falcon. Von den anderen Icons abgesehen, erinnert EmuDesk stark an TOS 2.0x, bis hin zu der Position der einzelnen Menüeintrage. Da EmuTOS in dieser Variante multilingual ist, wird die Sprache über NVRAM-Utilities eingestellt. Ein Dialog zur Konfiguration innerhalb von EmuDesk ist auf der To-Do-Liste der Entwickler. Im File-Menü gibt es die erste Überraschung: EmuCon, ein Kommandozeileninterpreter (CLI).

Wird EmuCon gestartet, wird die gewohnte GEM-Umgebung ausgeblendet und nur noch per Tastatur mit dem Atari kommuniziert. Wer auf anderen Systemen via Terminal gearbeitet hat, wird viele Befehle wiedererkennen, auch wenn der Befehlssatz von EmuCon sich auf wenige Befehle beschränkt. Seine Stärken spielt der CLI zum Beispiel dann aus, wenn mehrere Dateien mit Wildcards gelöscht werden sollen. Ein weiterer interessanter Anwendungsfall war die mittlerweile nicht mehr erhältliche Test-/Diagnose-Cartridge, die auch EmuTOS anbot - ohne EmuDesk. EmuCon trägt eine niedrigere Versionsnummer (0.2) als EmuTOS und das zu Recht, denn während der CLI Grundfunktionen bietet und mit textbasierten ST-Programmen gut zusammenarbeitet, ist die Verträglichkeit mit grafischen Anwendungen kaum vorhanden. Sie starten zwar, aber EmuCon schaltet den Mauszeiger ab. Die Snapshot-Version zeigte im 256-Farben-Modus auch noch weißen Text auf weißem Hintergrund, ein Fehler, der unter der aktuellen Release-Version nicht auftrat.

EmuDesk (512KB) mit COPS und zwei eCPX-Modulen. Das Fensterfarben-CPX von Atari ist nicht mit EmuTOS kompatibel.

Optionen, Optionen

Wie beim Atari-Desktop sind die Voreinstellungen auf zwei Dialoge verteilt. Die Bestätigung für das Löschen, Kopieren und Überschreiben ist aus TOS bekannt, zusätzlich lassen sich die „Sound-Effekte“ (der helle Pieps-Ton beim Mausklick außerhalb des Dialogs) ausschalten und eine zweite Seite mit weiteren Einstellungen aufrufen: Doppelklickgeschwindigkeit, Drop-Down-Menüs per Mausklick und das Zeit- und Datumsformat. Abgespeckt wurde hingegen die Desktop-Konfiguration: Die Änderung der Tastaturkürzel und Funktionstasten ist in EmuDesk nicht vorgesehen. Dies bedeutet nicht, dass der Desktop nicht per Tastatur bedient werden könnte, aber nicht jeder Menüpunkt ist per Tastenkombination erreichbar und die bestehenden lassen sich nicht aus dem Desktop ändern. Auch den freien Speicherplatz zeigt EmuDesk nicht an. Noch nicht möglich, aber auf der To-Do-Liste ist das Nachladen der Emudesk.inf.

Ein ungewohnter Anblick ist auch der Dialog zum Setzen der Auflösung. Da EmuTOS die Popup-Menüs des Falcon-AES nicht unterstützt, sind die Auflösungen und Farbtiefen in einem Raster angeordnet. Auf dem ersten Blick fehlt eine Spalte: der High-Color-Modus.

Kein High-Colour und eine Matrix statt Popup-Menüs: Die Auflösungswahl.

EmuTOS 192K

Als Atari in ein paar Monaten den ST entwickelte und auch noch parallel am Betriebssystem und der Oberfläche arbeitete, bewies man in einigen Punkten Weitsicht – in anderen Punkten hingegen nicht. Zu letzteren Punkten gehörte die Größe des Betriebssystem-ROMs. Die erste TOS-Version war etwas größer als 192 KB und passte deshalb nicht in die ROMs. Aber auch beim ersten ROM-TOS blieb wenig „Luft“, auch wenn sich mit Optimierungen einige KB einsparen lassen. EmuTOS steht vor einem ähnlichen Problem, der Desktop EmuDesk muss sich den Platz mit dem Betriebssystem und dessen Erweiterungen gegenüber TOS 1.0x teilen.

Verschmerzbar ist der Wegfall von EmuCon – für den ST gibt es eine große Auswahl an CLIs zum Nachstarten – aber auch an einigen Funktionen des Desktops wurde im Vergleich zu den größeren Versionen gespart. Dateimasken lassen sich nicht setzen, Disketten nicht formatieren, die Farben/Muster von Desktop und Fenstern nicht ändern und Icons können nur für Laufwerke oder den Mülleimer angemeldet werden. Geblieben ist die Möglichkeit, Icons nachzuladen, die erweiterte Konfiguration und der „Anwendung anmelden“-Dialog. Alle Einschränkungen sind in der Emudesk.txt aufgeführt. Für die Zukunft bleibt abzuwarten, welche Änderungen überhaupt noch in die 192K-Version integriert werden können.

Im Gegensatz zum Amiga hatte der ST keine eingebaute Konsole. EmuTOS ändert dies mit EmuCon.

Kompatibilität

GEM-Spiele, wie hier der Minesweeper-Klon Pinguin, laufen meist problemlos unter EmuTOS.

Wie häufig gibt es schon die Gelegenheit, ein frisches Betriebssystem für den Atari zu testen? TOS-Updates, so geringfügig sie waren, waren stets Anlass für ganze Artikelserien. Bei keinem anderen Betriebssystem ist ein Kompatibilitätstest aber so schwierig, wie bei EmuTOS. Das beginnt schon mit der Erwartungshaltung: Soll EmuTOS ein klassisches TOS ersetzen oder als weitere Option dienen? Von MultiTOS, N.AES, XAES, MagiC oder Geneva erwartet niemand, das alte ST-Spiele, Szenedemos oder Anwendungen wie Spectrum 512 laufen. Bei den GEM-Anwendungen gibt sich EmuTOS wie zu erwarten keine Blöße, so lange diese nicht Funktionen nutzen, die in EmuTOS noch nicht implementiert sind – in erster Linie betrifft dies den DSP des Falcons.

Kommerzielle Spiele sind die härtesten Testkandidaten, schließlich wurde so ziemlich jede undokumentierte Systemadresse und jeder dreckige Trick von einem Spiel benutzt – und wenn nicht vom Spiel selbst, dann von dessen Kopierschutz. Grundsätzlich soll die Chance auf Lauffähigkeit bei den Spielen am höchsten sein, die auch mit TOS 2.06 laufen. Zum Glück wurden viele Spiele gepatcht und an Festplatten, Falcon und TT angepasst. Doch mit der Test- und Release-Version liefen drei der fünf ausgewählten und von Klapauzius gepatchten Spiele (Stario’s Christmas, Space Harrier, Goldrunner, Populous, Pac-Mania) nicht. Als diese Inkompatibilität in der EmuTOS-Mailingliste gemeldet wurde, machten sich die Entwickler sofort auf die Spurensuche – und siehe da, der zwei Tage später veröffentlichte Snapshot ist kompatibel mit den Klapauzius-Patches, wie Tests mit weiteren Spielen (Lemmings, Oids, Sim City, Winter Games) bestätigten.

Wer unter EmuTOS klassische ST-Spiele (Populous, Space Harrier) spielen will, greift am Besten zu gepatchten Spielen. Sie sind an verschiedene TOS-Versionen angepasst und lassen sich einfach von der Festplatte starten.

Bei unveränderten Originalen dürfte es schlechter aussehen – aber das ist bei TT und Falcon nicht anders. Aber auch auf dem ST wird EmuTOS nie hundertprozentige Kompatibilität zum Original-TOS erreichen können, denn dazu müsste auch jeder Fehler, jede Unzulänglichkeit des TOS nachgebaut werden. Selbst dann wäre bei Spielen, die direkt bestimmte Adressen ansprechen, Endstation. Eine ausführliche Kompatibilitätsliste gibt es nicht und wäre angesichts der Systeme, auf denen EmuTOS läuft, eine Herausforderung. Neben den klassischen Ataris sind dies auch Amigas, die FireBee und der Selbstbaucomputer Kiwi. Auf der FireBee ist EmuTOS ein natives Coldfire-Betriebssystem, was die Zahl der kompatiblen Programme auf die einschränkt, die eben für die CPU neu kompiliert wurden.

EmuDesk orientiert sich stark an TOS 2.0x („NewDesk“).

Quelltext

Eine der wichtigsten Eigenschaften von EmuTOS ist die Verfügbarkeit des Quelltextes. Sie ermöglichte erst die Portierung auf verschiedene Systeme und natürlich kann sich auch jeder an der Weiterentwicklung des Betriebssystems beteiligen oder eine eigene Version veröffentlichen – immer unter der Voraussetzung, dass dann auch die Quellen der Modifikationen offen gelegt werden. Kompiliert wird EmuTOS mit Vincent Rivières GCC 4.6.4 Cross-Compiler, den es für Unix-Derivate, macOS und Windows (via CygWin) gibt. Der Quelltext ist sauber in die unterschiedlichen Bereiche des Betriebssystems (AES, BIOS, Desktop, VDI etc.) unterteilt und in englischer Sprache kommentiert. Das Doc-Verzeichnis wurde um weitere Texte ergänzt, die sich speziell an Entwickler richten. Als Ergänzung zum Cross-Compiler bietet sich ORCS an, da es den Resource-Editor auch für Windows 32 und 64 Bit gibt.

EmuTOS, kompiliert mit einer modifizierten Resource-Datei.

Die Versuchung war natürlich zu groß, einen Versuch zu starten und ein „persönliches“ EmuTOS zu erstellen. In diesem Fall leistete der Mac Schützenhilfe, für den Philipp Donzé das Cross-Compiler-Paket zusammengestellt hat. In jedem Fall muss zunächst Apples Xcode installiert werden, selbst wenn man im Terminal bleibt. Anschließend im Terminal noch den Nutzungsbedingungen zustimmen und die PATH-Variablen einrichten, dann kann in das EmuTOS-Quelltext-Verzeichnis gewechselt werden. Die Eingabe von make zeigt die möglichen Ziele an, make 512 erzeugt beispielsweise ein ROM für den Falcon. Die Modifikationen beschränkten sich auf das Standard-Iconset und die Resource-Datei von EmuDesk. Ohne groß darüber nachzudenken, wurden mit zwei der drei Änderungen gleich Rechte Dritter verletzt (Festplatten-Icon, Atari-Logo in der Bitmap ST-Computer) und die dritte Änderung ist bei einem Single-TOS-Betriebssystem schlicht Unsinn. Im Anschluss an den Test wurde dieses EmuTOS sachgerecht entsorgt.

Für wen?

EmuTOS ist kein „TOS 6“ und es dürfte auch noch einige Zeit dauern, bis Parität mit TOS 4.04 erreicht wird. Beim ST/E lohnt sich ein Umstieg nur, wenn dieser mit anderen Hardware-Erweiterungen (Turbo- und Grafikkarte) kombiniert wird, da EmuTOS einige dieser Erweiterungen ganz ohne Treiber unterstützt. Wer mit dem ST/E nur spielt, bleibt besser bei TOS 1.0x. Etwas anders sieht es aus, wenn das TOS ohnehin nur als Booter für ein FreeMiNT-Setup fungiert. Die farbenfrohen Screenshots von Atari-Anwendungen in der ST-Computer entstehen beispielsweise mit Aranym und einem EmuTOS+xAES-Setup. Es sei auch hier noch einmal darauf hingewiesen, dass es eine PRG-Version von EmuTOS gibt, die einen „Testlauf“ ermöglicht.
Wichtiger erscheint die Rolle als „Enabler“ für neue Entwicklungen. Anpassungen an neue Hardware lassen sich direkt in das Betriebssystem integrieren, Verrenkungen über TOS-Patches und alte Compiler sind nicht notwendig. Dies ist bereits geschehen – etwa bei der Anpassung an den Amiga –, weitere sind nicht ausgeschlossen. Dabei können auch klassische Ataris von der EmuTOS-Weiterentwicklung: Kurz nach der Veröffentlichung von EmuTOS 0.9.11 gab das Team bekannt, in den aktuellen Snapshots auch die ATI Mach32 (im Nova-Adapter) und ET4000-Grafikkarten (Volksfarben-4000-Adapter) zu unterstützen.

EmuTOS – hier mit TeraDesk – identifiziert sich als TOS 2.06.

Fazit

Zwischen der letzten Vorstellung und diesem Test liegen gut 17 Jahren. Wirkte zu Beginn EmuTOS mehr wie eine Kuriosität als eine ernstzunehmende Alternative, ist es inzwischen deutlich gereift. Als Basis für ein Multitaskingbetriebssystem kann EmuTOS empfohlen werden, als Single TOS nur bedingt.

http://emutos.sourceforge.net/en/
http://vincent.riviere.free.fr/soft/m68k-atari-mint/

EmuTOS 2019-05-20

Entwickler: EmuTOS-Team
Systeme: Atari ST/E/TT/Falcon, FireBee, Amiga, (Kiwi, Vampire)
Sprachen: Deutsch, Englisch, Französisch u.a.


Mia Jaap
Links

Copyright-Bestimmungen: siehe Über diese Seite