Die Heimcomputer der 8-Bit-Ära

Mit den Heimcomputern dringen wir in den Bereich der Computergeschichte vor, der heute unter dem Schlagwort „Retro Computing“ viele begeisterte Anhänger hat. Die Retro-Fans basteln an den alten Rechnern herum, schreiben neue Software und Spiele für dreißig Jahre alte Computer und schwelgen in Erinnerungen an ihre Kindheit und Jugend, als sie mit diesen Rechnern ihre ersten Schritte in der Computerwelt machten, ihre ersten eigenen Programme schrieben und als sie auf dem Schulhof die neusten Spiele mit ihren Kumpels tauschten. Viele Bücher über Computergeschichte legen ihren Fokus genau auf diese Epoche der Rechnergeschichte, beschreiben alle Geräte ganz genau und erzählen Geschichten und Anekdoten über die Herstellerfirmen, die Entstehung der Geräte und über die damalige Nutzerszene. In diesem Buch wird dieses Kapitel allerdings wohl eines der kürzesten werden. Dafür gibt es einen persönlichen und einen fachlichen Grund: Der persönliche Grund ist, dass ich kein Spieler bin. Der fachliche und wohl auch der wichtigere Grund ist, dass diese Geräte zwar für viele der Einstieg in die Computerwelt waren, sie in Bezug auf die Nutzungsschnittstellen aber nur wenig Neues brachten.

1981, als der IBM PC begann, in die Bürowelt vorzudringen, gab es in den meisten heimischen Wohnungen noch keine Computer. Die am Markt angebotenen Computer waren nicht gerade günstig (Apple II), nicht gut für Spiele geeignet (Commodore PET) oder sogar keines von beidem (IBM PC). Seit einigen Jahren waren aber die ersten Spielekonsolen von Atari und Activision auf dem Markt. Sie boten gute Grafik- und Soundfähigkeiten und wurden einfach an den heimischen Fernseher angeschlossen. Spiele wurden als Steckmodule, sogenannte „Cartridges“, ausgeliefert. Die Bedienung war dadurch sehr einfach. Um ein Spiel laufen zu lassen, musste man nur die Konsole an den Fernseher und die Controller an die Konsole anschließen, ein Modul einstecken und das Ganze einschalten. Umfangreiches Wissen über Computertechnik war nicht nötig. Die Spielekonsolen wurden im Laufe der Jahrzehnte natürlich weiterentwickelt. Es gibt sie auch heute noch und nach wie vor zeichnen sie sich dadurch aus, dass sie vergleichsweise einfach zu bedienen sind und keine besonderen Computerkenntnisse erfordern. Die frühen Spielekonsolen waren ein Grundstein der nun aufkommenden Heimcomputer, die sich dann unabhängig von ihnen weiterentwickelten.

Im Jahr 1979 bereits brachte Atari die Computer Atari 400 und Atari 800 auf den Markt. Die beiden Rechner waren im Prinzip Atari-Spielekonsolen mit eingebauter Tastatur, wobei gerade die Tastatur des Atari 400 für effektives Tippen nicht geeignet war, denn es handelte sich um eine Folientastatur wie man sie heute allenfalls noch von älteren und billigen Fernbedienungen kennt. Programme und Spiele für die Atari-Computer erschienen in Form von Einsteckmodulen. Wenn man so ein Einsteckmodul hatte, öffnete man die Klappe oberhalb der Tastatur, setzte das Modul ein und startete den Rechner. Wie bei den Spielekonsolen wurde das Programm sofort gestartet und konnte direkt verwendet werden. Die meisten Module waren natürlich Spiele, es gab aber auch ein Textverarbeitungsmodul und einen BASIC-Interpreter. Steckte man dieses Modul ein und startete das Gerät, startete das Atari BASIC und man konnte, wie auf einem Commodore PET oder Apple II, eigene Programme erstellen.

Atari 800 von 1979 – Bild: Evan-Amos (CC BY-SA 3.0)
Atari 800 von 1979 – Bild: Evan-Amos (CC BY-SA 3.0)

Wenn man mit dem Computer in BASIC programmierte, musste man die Programme natürlich abspeichern und laden können. Hierfür musste man einen Programmrekorder erwerben. Dabei handelte es sich um einen Kassettenrecorder für handelsübliche Musikkassetten, allerdings mit zusätzlicher Elektronik, sodass die Codierung der Daten in Töne und die Decodierung der Töne in Daten schon im Gerät vorgenommen wurde. Auf eine Musikkassette mit dreißig Minuten Länge (also einer Seite einer 60er-Kassette) passten 50 KB Daten. Da die Kassette in ihrer normalen Geschwindigkeit abgespielt wurde, hieß das natürlich, dass das Laden von 50 KB Programm ganze dreißig Minuten gedauert hätte. So lange musste man aber nie warten, denn die Rechner verfügten nur über 8 KB Arbeitsspeicher, was die mögliche Programmgröße selbstredend beschränkte. Auch ein Diskettenlaufwerk war verfügbar, das natürlich einen schnelleren Zugriff bot und pro Diskette insgesamt 180 KB, also 90 KB pro Diskettenseite, speichern konnte.

Die Atari-Computer blieben nicht die einzigen Computer dieser Art. Atari selbst baute ab 1983 die Computer 600XL und 800XL, die mit 16 bzw. 64 KB Arbeitsspeicher ausgerüstet waren und das Atari BASIC bereits integriert hatten. Bereits 1980 erschien der VIC 20 der Firma Commodore (in Deutschland VC 20 genannt). Gegenüber den Atari-Rechnern war er ziemlich eingeschränkt. Er konnte nur etwa 22 Zeilen à 23 Zeichen Text auf den Bildschirm bringen und hatte keinen richtigen Grafikmodus. Aufgrund seines günstigen Preises fand er aber durchaus Verbreitung. 1982 folgte auf den VIC 20 der Heimcomputer der 1980er schlechthin9, der Commodore 64, kurz C64. Er wurde bis 1994 gebaut.

Der Commodore 64 (C64)

Commodore hatte 1977 den Commodore PET auf den Markt gebracht. Dieser wuchtige Rechner mit integrierter Tastatur und integriertem Bildschirm war vor allem für Schulen und Unternehmen interessant. Mit dem VIC 20 verfügte Commodore 1980 dann über einen Computer, der für Arbeit und Programmierung eher weniger geeignet, dafür aber günstig und dank einfacher Grafik- und Soundoptionen spieletauglich war. Ganz in dieser Linie stand auch der Commodore 64, kurz C64, der 1982 erschien. Der Rechner wurde unter der Maßgabe entwickelt, günstiger als ein Apple II zu sein, eine komfortable Programmierung zu ermöglichen und vor allem auch durch die Unterstützung von Grafik und Sound gut für Spiele geeignet zu sein und damit auch Atari den Rang ablaufen zu können.

Der Commodore 64 (C64) – Bild: Bill Bertram (CC BY-SA 2.5)
Der Commodore 64 (C64) – Bild: Bill Bertram (CC BY-SA 2.5)

Wie konnte man beim C64 etwa gegenüber einem teuren Apple II etwas einsparen, um günstiger zu sein? Sparen konnte man sich zum Beispiel den Monitor, denn jeder Nutzer hatte bereits einen Monitor zu Hause, nämlich den heimischen Fernseher. Der C64 wurde also wie zuvor schon der VIC 20 an das Fernsehgerät daheim angeschlossen. Dieser erledigte auch gleich die Klangwiedergabe, es brauchte also keinen eingebauten Lautsprecher. Dass durch die Fernsehausgabe die Auflösung eingeschränkt war, war für den Einsatzzweck im Heimbetrieb weniger problematisch. Der C64 war nicht der Rechner zum Verfassen von Serienbriefen oder für umfangreiche Tabellenkalkulation. Diesen Bereich überließ man gerne anderen oder bot mit den Nachfolgern des PET selbst entsprechende Geräte an.

  RAM Zeichen Textfarben 2 4 16 Sound
C64 64 KB 40 16 320 x 200 320 x 200 320 x 200 3 Stimmen, moduliert
IBM PC 16/64 KB 80 16 640 x 200 320 x 200 160 x 120 1 Stimmen-Beeper

Der C64 war ein sehr attraktives Gerät. Obige Tabelle zeigt einige technische Eigenschaften des Commodore 64 und des IBM PC 5150 im Vergleich. Wie Sie sehen, war der PC tatsächlich nur in den eher für Büroeinsatz wichtigen Eigenschaften im Vorteil: Es konnten im Textmodus achtzig Zeichen pro Textzeile und im Grafikmodus bei zwei Farben eine Auflösung von 640 x 200 Pixeln erreicht werden. Der Commodore 64 hingegen erlaubte die Darstellung von sechzehn Farben im Text- und im Grafikmodus bei einer Auflösung von 320 x 200 Pixeln. Der PC konnte bei dieser Auflösung nur vier Farben anzeigen. Aus ganz verschiedenen Welten waren die Klanggeneratoren der Systeme. Der PC hatte nur einen einstimmigen Piepser, der C64 hingegen einen dreistimmigen Synthesizer, der für ein durchaus hörenswertes Klangerlebnis sorgen konnte.

Ein C64 startet direkt mit BASIC
Ein C64 startet direkt mit BASIC

Schaltete man einen Commodore 64 ein, startete sofort ein BASIC-Interpreter. Verwendet wurde das gleiche BASIC, das Commodore auch schon beim PET verwendet hatte, also ein BASIC-Dialekt von Microsoft. Ein Besitzer eines C64 konnte sofort nach dem Einschalten BASIC-Befehle eingeben und etwa wie auf der Abbildung oben die einfache Berechnung 5+3*7 durchführen. Auch mit der Programmierung eines richtigen BASIC-Programms konnte sofort begonnen werden. Der C64 verfügte, wie auch schon der PET, über einen komfortablen Editor für die BASIC-Programmierung. Der Cursor ließ sich frei auf dem Bildschirm bewegen. Da die Ausgabe einer Zeile im BASIC-Listing der Definition ebendieser Zeile entspricht, ließ sich das Programm komfortabel bearbeiten, indem im Listing in die entsprechende Zeile navigiert, die Ausgabe dort verändert und die geänderte Zeile durch das Drücken von „Return“ zur Neueingabe gemacht wurde. Andere Rechner wie der Apple II unterstützten dies grundsätzlich zwar auch, doch war die Bewegung des Cursors dort nur sehr umständlich durch die Eingabe von Tastenkombinationen zu erreichen.

Auch die in BASIC erstellten Programme konnten die Vorteile eines Text-Bildschirms ausnutzen. Der Bildschirm ließ sich löschen, Farben konnten verwendet werden und der Cursor ließ sich durch das Programm frei positionieren. Eigenartigerweise gab es trotz der herausragenden Grafik-Soundchips des C64 keine BASIC-Befehle zur Grafik- und Klangausgabe. Programmierer mussten sich behelfen, indem sie mit dem Befehl POKE direkt Werte in Speicherbereiche des Computers schrieben. Dies funktionierte zwar, brachte den Programmierer aber eigentlich unnötig nah an die Hardware-Ebene.

Wie beim Atari 800, beim Apple II, dem PET und dem TRS-80 gab es auch beim C64 die zwei Varianten des Massenspeichers, die in den 1980er Jahren üblich waren. Die günstigere, aber langsame Variante war die Nutzung von handelsüblichen Musikkassetten. Das zugehörige Abspielgerät wurde von Commodore „Datassette“ genannt. Auf ein dreißigminütiges Band konnten mit Bordmitteln 100 KB Daten gespeichert werden. Vielen Nutzern, Entwicklern und Bastlern war das allerdings zu wenig und zu langsam. Mit Hilfe von sogenannten „Turbo-Loadern“, die es sowohl in Hardware- als auch in Software-Form gab, gelang es ihnen, bis zu 1 MB auf die Kassettenseite zu quetschen. Auch für den C64 gab es natürlich Diskettenlaufwerke. Erstaunlicherweise war die Verbreitung dieser Laufwerke national unterschiedlich. In Großbritannien etwa war die Kassette das Medium der Wahl, gerade, was Spiele für den C64 anging, in Deutschland waren beide Speichermedien anzutreffen und in den USA wurde ein C64 eigentlich nur mit Diskettenlaufwerken verwendet. Auf eine Seite einer Diskette passten 163 KB Daten. Auch die andere Diskettenseite konnte beschrieben werden. Dafür musste man die Diskette allerdings händisch umdrehen. Die Diskette konnte mit 400 Bytes pro Sekunde sagenhaft langsam gelesen werden. Eine ganze Diskette einzulesen, dauerte sage und schreibe sieben Minuten. Auch bei der Disketten-Nutzung gab es Schnell-Lader, die den Datendurchsatz auf 10 KB pro Sekunde steigern konnten.

Die meisten Computer der damaligen Zeit mussten mit einem eigenen Disk Operating System ausgestattet werden, um mit Disketten arbeiten zu können (Apple II, TRS-80, IBM PC) oder hatten ein solches integriert (etwa Atari 600XL/800XL). Bei den Commodore-Rechnern war das nicht so. Deren Betriebssystem unterstützte, genau schon wie das des PET und des VIC 20, Diskettenlaufwerke eigentlich überhaupt nicht. Wollte man Daten von der Diskette laden, musste man die Gerätenummer des angeschlossenen Geräts angeben. Bei Diskettenlaufwerken war das üblicherweise die Nummer 8. Dass es sich dabei dann um ein Diskettenlaufwerk handelte, war für den Rechner irrelevant. Man konnte ein Programm auf genau die gleiche Art und Weise – unter Angabe einer anderen Gerätenummer – auch von einer Schnittstelle lesen, an der zum Beispiel ein anderer Computer per Kabel angeschlossen war, der die Daten sendete. Für das System war es unerheblich, welche Art von Gerät auf der anderen Seite hing. Wie die Daten also von einer Diskette zu lesen waren, wie eine Diskette strukturiert war oder wie sie formatiert wurde, war keine Sache des Betriebssystems des C64. All diese Funktionen brachte Commodore direkt im Diskettenlaufwerk unter, das dadurch letztlich zu einem kleinen Computer für sich wurde. Diese von Commodore gewählte Architektur für den Diskettenzugriff klingt sehr sinnvoll, denn die konkrete Implementierung des Datenträgerzugriffs wurden so vom Computer und vom Betriebssystem abgekoppelt. Dies erlaubte grundsätzlich, verschiedenste Disketten- oder sogar Festplattenlaufwerke anzuschließen, die alle auf die gleiche Art und Weise hätten angesprochen werden können, solange sie nur über die gleiche Schnittstelle verfügten. Leider war diese Entkopplung in der Praxis aber gar nicht so toll, denn der C64 hatte nicht etwa eine abstrahierte Unterstützung von Diskettenlaufwerken als allgemeine Datenträger, sondern schlichtweg gar keine Unterstützung für sie.

Laden eines Programms am Commodore 64
Laden eines Programms am Commodore 64

Im Bild oben sehen Sie, wie am Commodore 64 ein Programm, hier das Programm „RATEN“ von Diskette geladen wurde. Dies gelang über den Befehl LOAD "RATEN",8. Wichtig ist der Zusatz ,8, die Angabe der Gerätenummer 8. Vergaß man diese zwei Zeichen, versuchte der C64 das Programm von Kassette zu laden. Auf die gleiche Art und Weise wie das Laden funktionierte das Speichern, also etwa mit SAVE "NEU",8. Diese beiden Operationen waren noch recht einfach und einleuchtend. Kompliziert wurde es aber, wenn man zum Beispiel ein Programm auf der Diskette löschen wollte. Der C64 kannte keinen Befehl dafür. Man musste also eine Verbindung zum Diskettenlaufwerk aufbauen, eine speziell formatierte Nachricht dort hinschicken und die Verbindung wieder schließen. Wollte man zum Beispiel das Programm „UNSINN“ löschen, ging das durch die Eingabe von OPEN 1,8,15,"S:UNSINN.PRG":CLOSE 1. Aus Nutzungsschnittstellen-Sicht war das natürlich ziemlich schrecklich. Statt mit virtuellen Objekten umzugehen, diese zu erstellen, zu löschen oder zu manipulieren, öffnete man Kanäle zu angeschlossenen Geräten und schickte diesen kryptische Nachrichten. Man begab sich also für so alltägliche Operationen wie das Löschen, Kopieren oder Umbenennen von Dateien ganz tief hinab in die Technik des Computers bzw. des Diskettenlaufwerks. Diesen Missstand dürften viele der Besitzer des Rechners aber wohl gar nicht bemerkt haben, sie steckten nur eine Diskette ein und gaben LOAD "*",8,1 ein, um das erste Programm auf der Diskette direkt zu laden und zu starten und schon konnten sie ihr Lieblingsspiel spielen.

Die Rolle der 8-Bit-Heimcomputer

Mit den Heimcomputern der 8-Bit-Ära drangen Computer in die Wohn- und Kinderzimmer vor, was natürlich zu einem nicht geringen Anteil daran lag, dass sie mit ihren Grafik- und Soundfähigkeiten gut für Spiele geeignet waren und dass sich diese Spiele, wenn sie auf Kassette oder Diskette verbreitet wurden, gut kopieren ließen. Dadurch, dass die Geräte beim Einschalten mit einem BASIC-Interpreter starteten und damit einen schnellen Zugang zur Programmierung boten, hat aber auch so mancher, der den Computer zum Spielen angeschafft hatte, auch das Programmieren erlernt und kleine Programme für die Probleme des Alltags oder der Hobbys gebaut. Betrachtet man die Rechner aus der Nutzungsschnittstellen-Perspektive, brachten sie nichts wirklich Neues. Im Gegenteil: Sie hinkten Betriebssystemen wie CP/M oder auch dem DOS des Apple II sogar hinterher.

Die Heimcomputer entwickelten sich natürlich weiter. Die Nachfolgegeneration der 8-Bit-Computer von Commodore und Atari war nicht nur eine aufgemotzte Variante dieser Geräte, sondern auch stark beeinflusst vom Apple Macintosh. Der Commodore Amiga und der Atari ST waren somit gleichermaßen Nachfolger der auf Spiele fokussierten 8-Bit-Computer und Konkurrenten für die Bürocomputer Macintosh und IBM PC. Gleichzeitig wurden die IBM PCs mit besserer Grafik und besserem Sound stetig spieletauglicher und fanden mit sinkenden Preisen auch ihren Platz auf manch heimischem Schreibtisch. Die Zeit der an den Fernseher angeschlossenen Computer ging zu Ende und die Unterscheidung zwischen typischen Heim- und Bürocomputern schwand zusehends.