tiny little gizmos

Ist das noch Retro? SymbOS auf Z80 Rechnern

Nachdem ich letzte Woche bereits den interessanten Chiptunes-Vortrag aus der Reihe „Shift-Restore-Escape“an der Humboldt Universität gesehen und gehört hatte, konnte ich auch diese Woche nicht widerstehen, da es diesmal um ein nicht weniger „wahnsinniges“ Thema ging. Thema und Titel der Veranstaltung war:

SymbOS – ein grafisches Multitasking Betriebssystem für Z80-basierte Computer.

Kleine Nebenbemerkung: Trotz eines sehr technischen und „nerdigen“ Themas war auch diesmal ein erfreulich hoher Anteil junger Damen im Saal.

Es standen die folgenden Rechensysteme bereit: Ein Schneider CPC 6128, ein Schneider Joyce ein Panasonic MSX2 und ein Amstrad Notepad (quasi ein Vorläufer von Notebooks). Letzterer entpuppte sich dann aber tasächlich als das Schreibgerät von Stefan Höltgen und gehörte nicht zur Demonstration.

Diese Rechner sind ca. 25-30 Jahre alt und haben folgendes gemeinsam: einen langsamen 8 Bit Z80 Prozessor, sehr wenig RAM, bescheidene Grafikauflösung und kleine Floppy Laufwerke als Massenspeicher. Die denkbar schlechtesten Voraussetzungen also für ein grafisches Betriebssystem im Stile von Windows oder Mac. Normal waren damals textbasierte Benutzeroberflächen mit kryptischer Befehlseingabe.

symbOS CPC - Start

SymbOS auf CPC 6128 - Start

Jörn Mika begann seinen Vortrag mit einer kurzen historischen Rückblende auf die Entwicklung von Benutzeroberflächen:

  • 40er bis Ende der 60er Jahre dominierten Lochkarten und Lochstreifen
  • Seit Mitte der 60er Jahre waren textbasierte Terminals auf dem Vormarsch. Zunächst auf der Basis von Fernschreibern, später mit Bildschirm.
  • Der Xerox Alto (1973) war der erste Computer mit grafischer Benutzeroberfläche (GUI). Er wurde jedoch nicht kommerziell vertrieben, sondern nur Xerox intern genutzt.
  • Der Xerox Star (1981) war die erste kommerziell vertriebene Workstation mit grafischer Benutzeroberfläche.
  • Der Apple Lisa (1983) Apples erster Computer mit GUI. Aufgrund des hohen Preises ein Flop.
  • Apple Macintosh (1984) Der vergleichsweise geringe Preis (1/4 des Preiseder Lisa) brachte den kommerziellen Erfolg – trotz deutlich reduzierter Leistung.
  • Atari ST, Commodore Amiga, Windows 1.0 (1985)
  • Den endgültigen Abschied von der Kommandozeile für die breite Masse läutete aber erst Windows 95 (1995) ein.

Selbst die ältesten und noch relativ einfachen GUI Systeme hatten bereits 16 Bit Prozessoren, und verhältnismässig viel Speicher (mit Ausnahme von GEOS auf dem C64). Zum Vergleich: CPC-6128 hat 128KB RAM und 0.5 MIPS Rechenleistung, ein aktueller PC 4GB RAM und 150.000MIPS.

Wie bekommt man denn nun eine moderne Benutzeroberfläche auf 8Bit Hardware zum Laufen?

Für mich erstaunlich sind die modernen Kriterien, nach denen SymbOS entworfen ist:

  • Portabel, dank Hardware-Abstraktion
  • Microkernel
  • Präemptives, priorisiertes Multitasking
  • Interprozesskommunikation
  • Bis zu 1024 KB Speicher mit Bankswitching

Jörn Mika erläuterte, weshalb sich SymbOS zwar auf dem Z80, aber nicht auf dem 6502 Prozessor umsetzen lässt, wie das Scheduling, die Speicherverwaltung, die Hardwareabstraktion die Fensterverwaltung und weitere zentrale Dinge funktionieren. Leider würde die Wiedergabe den Rahmen dieses Artikels sprengen.

SymbOS CPC - Viele Fenster

SymbOS auf CPC 6128 - Viele Fenster

Der Erfolg kann sich auf jeden Fall sehen lassen. Auf dem CPC-6128 liefen in mehreren überlappenden Fenstern gleichzeitig gleichzeitig Pac Man, ein Spielfilmtrailers (passenderweise Matrix) mit immerhin ca. 5 Frames/s und ein Taskmanager.

Was bei einem hochoptimierten System nicht unbedingt zu erwarten war, ist die Portierbarkeit. SymbOS läuft auf Systemen mit unterschiedlichem Speicher und in verschiedenen Farbtiefen und Auflösungen.

SymbOS PCW Joyce

SymbOS auf PCW Joyce

SymbOS auf MSX2

SymbOS auf MSX2

Auf die Frage nach der Motivation antwortete Mika mit „Neugier und Spass“. Als reine Entwicklungszeit gab er ‚ungefähr 3 Jahre‘ an. Allerdings hat er in 20 Jahren dafür 3 Anläufe benötigt. Die Aneignung der notwendigen Grundlagen anzueignen hätte länger gedauert als die eigentliche Umsetzung.

Wie bereits in der Woche zuvor stellt sich auch hier die Frage, ob es eigentlich wirklich „Retro“ ist, auf alter Hardware eine Software zu schreiben, die nach modernsten Kriterien konzipiert ist.

Abgesehen von dieser philosophischen Frage ist das Projekt technisch extrem beeindruckend.

(Alle Screenshots mit freundlicher Genehmigung von Jörn Mika)