1. Niedrigauflösende Grafik
Im Gegensatz zu der 4K-Auflösung (HD ist ja inzwischen schon fast wieder Out), verfügten Heimcomputer über eine geradezu lächerliche Grafikauflösung. In der Regel lag diese irgendwo um die 320 x 200 Pixel (beim ZX Spectrum z.B. sogar nur 256 x 192 Pixel). Farbe war nicht immer gegeben: Ein ZX 81 musste noch mit Monochromer-Grafik auskommen (und mit nur 64 x 48 „Pixeln“, siehe Bild rechts: Star Trek), ein ZX Spectrum konnte schon 8 Farben in zwei Helligkeitsstufen darstellen und ein C64 immerhin 16 Farben.
Der Grund für die niedrige Auflösung lag teilweise an einem fehlenden Videoprozessor, so dass die CPU die Grafik darstellen musste, teilweise aber auch am geringen Arbeitsspeicher. Beim ZX 80/81 teilten sich z.B. ein spezieller Chip (die ULA) und die CPU die Grafikaufbereitung. Die CPU lass die Werte aus dem Speicher aus und übergab sie im richtigen Zeitpunkt an die ULA. Ein Grund, warum dieser Rechner über einem Betriebsmodus (den FAST Modus) verfügte, in dem man den Bildschirm ausschalten konnte. Ohne Anzeige wurde der Rechner gleich viermal schneller. Wurde der ZX 80/81 mit weniger als 4 KByte betrieben (Standard waren nur 1 KByte), wurden die Bildschirmzeilen verkürzt im Speicher abgelegt. Die rechts stehenden Leerzeichen einer Zeile wurden bei der Speicherung weggelassen. Dadurch belegte ein vollständig geleerter Bildschirm nur 24 Bytes (die HALT-Befehle für das Zeilenende), ein vollständig gefüllter Bildschirm jedoch 793 Bytes. Ein Grund, warum viele Programme nur die linke Bildschirmfläche belegten.
Beim ZX Spectrum wurde die Grafik „hochauflösend“ schon im Speicher abgelegt, was 6144 Byte belegte. Die Farbinformation wurde gesondert gespeichert und dabei jeweils 8×8 Pixel mit einer Vordergrund- und einer Hintergrundfarbe zusammengefasst, was weitere 768 Bytes belegte. Eine echte 8-Bit Farbtiefe hätten enorme 48 KByte benötigt, also den gesamten Speicher eines ZX Spectrum (mit 48 KByte). Diese Kompromisse zeigten sich aber auch durchaus auf dem Bildschirm (dem sogenannten „color clash“). Gerade beim ZX Spectrum vielen die 8×8 Klötzchen in Spielen immer wieder auf, wenn eine Figur einer anderes gefärbten Figur zu nahe kam. Je nachdem welche Farbe die zusammengefassten 8×8 Pixel an der Berührungsstelle hatten, sah man das Quadrat sehr deutlich entweder bei der einen oder der anderen Figur (siehe Bild rechts: rote und violette Grafik).
Durch diese Limitierungen waren die Entwickler aber gezwungen kreative Auswege zu finden, um Grafiken schnell und weich über den Bildschirm zu bewegen. Zudem gab es einen echten Wow-Faktor, wenn eine neue Computergeneration mit besseren grafischen Fähigkeiten auf den Markt kam.
2. Geringer Arbeitsspeicher
Obwohl Heimcomputer alles andere als günstig waren, ein C64 mit Monitor und Diskettenlaufwerk kostete immerhin um die 1000 DM, was heute ungefähr einem 1000 EUR teurem PC entspricht, ist die Hardware nicht mehr mit heutigen Maßstäben zu vergleichen. Die ersten Heimcomputer (ZX 80/81, Commodore VC 20, Atari 400 etc.) waren mit ca. 1 bis 4 KByte Arbeitsspeicher (RAM) ausgestattet, die nächste Generation dann mit bis zu 64 KByte (ZX Spectrum, C64, Atari 800 XL). Diesen Speicher mussten sich die Bildschirmdaten, Systemvariablen und Ein-/Ausgabeadressen teilen. Oft kamen noch ein paar KByte Festwertspeicher (ROM) hinzu, der das Betriebssystem und oft auch einen BASIC-Interpreter beinhaltete.
Mit dem restlichen Speicher musste ein Programm dann auskommen, denn das Nachladen von Daten von Kassette (im schlechtesten Fall) war kaum praktikabel (es gab aber Spiele, die in zwei oder drei Teilen aufgeteilt ausgeliefert wurden). Das ein abwechslungsreiches Abenteuerspiel (z.B. „The Hobbit“) mit nur knapp 40 KByte auskam, ist aus heutiger Sicht kaum vorstellbar. Erst mit der 16-Bit Ära wurde der Arbeitsspeicher erheblich größer mit 512 KByte bis 4 MByte.
3. Tonwiedergabe
Die ersten Heimcomputer besaßen nur einen einfachen „Beeper“, um evtl. einen Warnton wiederzugeben. Dieser wurde zwar auch für den Sound in Spielen verwendet, aber zu mehr als einzelne Piepser konnten diese Rechner nicht von sich geben. Der ZX Spectrum besaß einen kleinen Beeper, der zumindest Töne in verschiedenen Tonhöhen und -längen wiedergeben konnte. Andere Heimcomputer verfügten über einen echten Soundgenerator, der ggf. mehrere Kanäle zur Verfügung stellte und es ermöglichte den Klang über einfache Filter zu beeinflussen, wie z.B. der SID beim C64.
Video: Robin Of The Wood ZX Spectrum (c) 1985 Odin, maiki60fps, YouTube
Gerade durch die Einfachheit dieser Generatoren wurden die Programmierer/Musiker sehr kreativ. Beim ZX-Spectrum wurden durch schnelles wechseln der Tonhöhe, mehrere Kanäle simuliert und sogar eine Sprachausgabe, die allerdings kaum verständlich war, war in einigen Spielen zu finden. Der C64 entwickelte sich aufgrund seines damals besonders flexiblen Soundgenerators zur Lieblingsmaschine bei Musikern. Hier konnten sich die Kreativen richtig austoben und es entstanden Soundtracks, die heute noch viele in den Ohren haben und direkt mir dem C64 in Verbindung gebracht werden.
Video: Rob Hubbard – Commando [C64], PeyserCommodore, YouTube
4. Tape Loading Errors
Anfang der 1980er luden die meisten Computer ihre Programme von einer normalen Audio-Kassette. Das verlief mehr oder weniger schnell, mehr als 300-1500 baud (ca. 30 bis 150 Bytes pro Sekunde, also ca. 2-9 KByte pro Minute) waren kaum möglich. Es gab zwar Schnelllader, welche die Geschwindigkeit erhöhten, aber auf Kosten sehr viel häufig auftretender Fehler. Beim ZX Spectrum versuchte Speedyload die Geschwindigkeit bis auf 7500 baud zu steigern, erfahrungsgemäß war aber bei 6000 baud auch mit den allerbesten Bändern Schluss. Davon abgesehen musste der Speedloader zunächst normal geladen werden, was auch wieder Zeit kostete, so dass die Zeitersparnis nicht allzu hoch war.
Dennoch hielt dieses Firmen nicht davon ab Spiele mit einem Ladebildschirm zu versehen. Beim ZX Spectrum konnte man knapp eine Minute dem Bild beim Aufbau zusehen, bis dann anschließend das eigentliche Programm geladen wurde. Bei Jetpac für den ZX Spectrum 16K war das eigentliche Programm gerade einmal ein paar Byte größer als der Ladebildschirm.
Aber auch ohne Schnelllader hieß es oft nach etlichen Minuten vor dem Bildschirm: „Tape Loading Error“. Dann hieß es das Band zurückzuspulen, evtl. die Lautstärke anzupassen und ggf. den Wiedergabekopf des Kassettenrecorders mit einem Schraubenzieher zu justieren.
5. BASIC
Fast alle Heimcomputer wurden mit der Programmiersprache BASIC ausgeliefert, meistens fest eingebaut (im ROM), seltener von Kassettte oder Diskette ladbar. Der Befehlssatz war zwar ähnlich, aber die BASIC-Dialekte unterschieden sich teilweise sehr stark. Angefangen bei „Notlösungen“ im C64, dessen Dialekt noch nicht einmal einen eigenen Befehl zum Setzen der Vorder- oder Hintergrundfarbe kannte, bis hin zu den Luxus-Dialekten beim ZX Spectrum oder Sinclair QL, gab es quasi alles.
Dennoch hatten alle Dialekte eines gemeinsam: Der Besitzer lernte früher oder später zumindest ein wenig zu programmieren. Nicht unbedingt immer strukturiert, fehlerfrei oder effizient, aber immerhin…
10 FOR I=3 TO 100
20 FOR J=2 TO SQR(I)
30 IF (I/J)=INT(I/J) THEN GOTO 60
40 NEXT J
50 PRINT I
60 NEXT I
Es gab unzählige Magazine deren alleinige Daseinsberechtigung die zig Seiten BASIC-Quellcode waren, die es fehlerfrei abzutippen galt, um dann eine Adressenverwaltung, ein Finanzprogramm oder ein Spiel zu erhalten.
Schaltete man einen Heimcomputer ein, war meistens der BASIC-Interpreter direkt verfügbar und man konnte loslegen zu programmieren. Zudem waren Abstütze fast unbekannt. Anwendungen und Spiele liefen einfach. Und hing irgendwann dann doch einmal ein Programm, reichte ein Druck auf die RESET-Taste und weiter ging es.
Schreibe einen Kommentar