Klein, aber fein – Der ZX81 von Sinclair (Teil 3 – Die Software)

Avatar von Jens Sommerfeld

Mehr Games, James… es war 1982 – Falklandkrieg, Helmut Kohl wird Bundeskanzler, Blade Runner und E.T. laufen in den Kinos, der erste Computervirus ging um die Welt und ich bekam zu Weihnachten meinen Sinclair ZX81 als Bausatz vom Weihnachtsmann gebracht.

Bis zum nächsten Weihnachtsfest, bei dem ich einen Commodore C64 bekam, versuchte ich alles über Computer und insbesondere über den ZX81 zu lernen. Mein erstes Programm schrieb ich (wie wohl die meisten Homecomputerbesitzer) in BASIC.

BASIC (Beginners All-purpose Symbolic Instruction Code) wurde Anfang der 60er Jahre am Dartmouth College entwickelt, wurde aber erst mit den Homecomputern der 1980er-Jahre richtig populär. Die Sprache eignet sich für Anfänger, weil sie recht einfach zu verstehen ist und viele Worte aus der englischen Sprache enthält; beispielsweise „PRINT“. Außerdem war sie nicht sehr Speicherintensiv und konnte somit leicht in einem ROM untergebracht werden. Das bekannteste BASIC stammt von der Firma Micro-Soft (damals noch mit Bindestrich) und wurde für den ALTAIR Computer geschrieben. Viele Homecomputer hatten damals das Microsoft-BASIC, zum Beispiel der Apple II der Commodore 64, die ATARI-Homecomputer und der Dragon 32. Der Terminator nicht, der lief mit Assembler, denn mit Microsoft würde er ja ständig irgendwo stehenbleiben 😉 Die meisten BASICs waren Interpreter, nur wenige gab es auch als Compiler.

Sinclair setzte auf ein eigenes Interpreter-BASIC, welches von der Firma Nine Tiles Networks Ltd für den ZX80 entwickelt wurde (4kB), dann für den ZX81 erweitert wurde (8kB) und später komplettiert (16k) für den ZX Spectrum herausgebracht wurde. Es unterschied sich in vielerlei Hinsicht von den anderen BASIC-Dialekten.

Kurz zur Erklärung: wenn man einen Homecomputer einschaltet, dann startet er nach ein paar Sekunden direkt im BASIC – sobald der Cursor erschien, konnte man losprogrammieren. Beim ZX81 in der Grundversion (1kB Speicher) ging das nach einer Sekunde (!). Ein 486er mit Windows 95 braucht zum hochfahren etwa vier Minuten und dann musste ja noch das Schreibprogramm gestartet werden. Nun denn… in der Zeit habe ich schon ein einfaches Schreibprogramm auf dem ZX81 programmiert – incl. Druckerausgabe… sei es drum… wir waren bei den Unterschieden.

Beim ZX81 in der Grundversion war das BASIC nach einer Sekunde (!) geladen und man konnte losprogrammieren.

Jens Sommerfeld

Sinclair war ziemlich clever, nicht nur, weil er erkannte, das Computer mehr Gewinn abwarfen wenn sie günstig zu produzieren sind, sondern auch in der Implementierung der Computersprache. Während man bei den meisten Homecomputern die Befehle komplett einzeln tippen musste, reichte bei Sinclair ein Druck auf eine einzige Taste. Möglich wurde das durch sogenannte „Keywords“. Nach dem Anschalten erschien unten links ein Cursor, der mit dem Buchstaben K (richtig… K wie Keyword) angezeigt wurde. Tippte man nun auf der Folientastatur den Buchstaben „P“ so erschien auf dem Bildschirm gleich das Wart „PRINT“ und der Cursor wechselte zu einem L (L wie Letter). Ab dann konnte man sowohl Buchstaben, Symbole sowie Zahlen tippen. PRINT 6+3 (also P, 6, Shift+K und die 3, dann auf NEWLINE drücken) und schon erscheint 9 (das ist das Ergebnis, jaja…) auf dem Bildschirm. Damit konnte man eine Menge Zeit und Tipperei sparen, was bei der Folientastatur auch angebracht war.

Das BASIC von Sinclair hat auch eine Syntax-Prüfung eingebaut. Sehr clever, denn somit werden Fehler schon während der Eingabe angezeigt und können korrigiert werden. 

Der ZX81 ist direkt (wie vorher beschrieben) zB durch Eingabe von PRINT 6+3 zum Rechnen zu bewegen. Man kann auch so Programmieren, zum Beispiel kann man dem Rechner sagen „LET BUTTER=1.39“. Damit hat man ihm eine Variable (BUTTER) und einen WERT (1.39) zugewiesen. Wenn man nun PRINT BUTTER eingibt, erscheint 1.39. Durch das Vorwegstellen einer Zeilennummer kann man auch Programme schreiben, die dann durch die Eingabe von RUN gestartet werden und sequentiell abgearbeitet werden. Dadurch sind Schleifen usw. möglich. 

So sieht ein einfaches BASIC-Programm auf dem ZX81 aus. Man beachte das inverse „K“ unten links – das ist der Cursor. (Bild: Jens Sommerfeld)
So sieht ein einfaches BASIC-Programm auf dem ZX81 aus. Man beachte das inverse „K“ unten links – das ist der Cursor. (Bild: Jens Sommerfeld)
Mit RUN (ein Druck auf die Taste R genügt) und NEWLINE gestartet sieht das Ergebnis dann so aus. Die Meldung am unteren Bildrand bedeutet „Bildschirm voll“ (5) / aktuelle Position Zeile 10. (Bild: Jens Sommerfeld)
Mit RUN (ein Druck auf die Taste R genügt) und NEWLINE gestartet sieht das Ergebnis dann so aus. Die Meldung am unteren Bildrand bedeutet „Bildschirm voll“ (5) / aktuelle Position Zeile 10. (Bild: Jens Sommerfeld)

Das Handbuch, welches dem ZX81 beilag ist (auch heute noch) ein sehr gutes Lehrbuch. Es wurde von Steve Vickers (dem späteren Vater des Jupiter Ace) geschrieben und ist sehr übersichtlich gestaltet. Damit lässt sich der Computer gut verstehen und bedienen.

Schon bald gab es viele Firmen, die Software (und auch Hardware) als Kleinanzeige in die Zeitungen und später auch in die Kaufhäuser brachten. Später gab es auch eine Software-Serie, die von Sinclair offiziell herausgebracht wurde, welche aber auch Software von Fremdunternehmen enthielt. Sinclair war damit einer der ersten Publisher von Lizenzsoftware. Wer sich über die damalige Homecomputerzeit und die Softwareentwicklungen in Großbritannien näher informieren möchte, dem sei der Film „From Bedrooms to Billions“ (siehe Sidebar rechts) empfohlen.

Anfangs kamen viele Spiele heraus, die recht einfach (oft noch in BASIC) programmiert waren. Nur wenige Firmen produzierten wirklich gute Spiele. Anwendungsprogramme gab es zuerst so gut wie gar nicht. Erst später gab es auch professionelle Programme wie VU-CALC (Tabellenkalkulation) und VU-FILE (Datenbank).

In den Zeitschriften erschienen regelmäßig Programme zum Abtippen. Diese „Listings“ waren zuerst fast alle in BASIC geschrieben, später wurden auch MC-Programme – sprich: Zahlenkolonnen – veröffentlicht. Die Computerbesitzer hat das gefreut, denn damit lernte man BASIC besser zu verstehen und die Programme waren günstig. Zusammen mit dem Handbuch lernten viele das Programmieren.

Das erste ernstzunehmende und gut programmierte Spiel kam allerdings schon 1981 auf den Markt und verhalf dem ZX81 zu weiterer Verbreitung:

3D-Monster-Maze von Malcolm Evans.

3D-Monster-Maze wurde in BASIC und Maschinensprache geschrieben und ist eines der ersten Spiele aus der 3D-Ego-Perspektive. (Bild: Jens Sommerfeld)
3D-Monster-Maze wurde in BASIC und Maschinensprache geschrieben und ist eines der ersten Spiele aus der 3D-Ego-Perspektive. (Bild: Jens Sommerfeld)

Man läuft in einem 16 x 16 Labyrinth herum und muss den Ausgang finden, bevor ein gar schrecklicher Tyrannosaurus Rex dem Leben ein schnelles Ende bereitet. In der unteren Zeile bekommt der Spieler sechs unterschiedliche Sätze angezeigt, je nachdem, wie weit der T-Rex entfernt ist („Footsteps approaching“ ist nicht unbedingt ein Satz, den man gerne hören möchte). Das Game ist schwierig, spannend und in den wenigsten Fällen überlebte man das große Fressen (also auf der anderen Seite vom Bildschirm).

Ein weiteres sehr gutes Spiel ist GALAXIANSvon 1982, welches komplett in Maschinensprache geschrieben von der englischen Firma ARTIC herausgegeben wurde. Es handelt sich hier um einen Clon des berühmten Acarde-Spiels mit dem gleichen Namen.

GALAXIANS ist sehr schnell und der Spielspaß groß. Gesteuert wird es über die Tasten 5, 8, und 0. (Bild: Jens Sommerfeld)
GALAXIANS ist sehr schnell und der Spielspaß groß. Gesteuert wird es über die Tasten 5, 8, und 0. (Bild: Jens Sommerfeld)

Absolut erwähnenswert ist auch 1k-Chess, welches tatsächlich mit einem Kilobyte auskommt und mit dem sich auch wirklich Schach spielen lässt. Das Spiel wurde ebenfalls 1982 von ARTIC (von denen wir in einer Extra-Serie noch mehr hören werden) produziert und später auch von Sinclair als Kaufkassette herausgegeben. Das Schach war nicht besonders intelligent, aber das ist bei 1kB auch nicht wirklich zu erwarten 🙂

Wir sehen hier einen Screenshot aus dem Spiel.

Das Schachspiel 1K ZX Chess wurde 1983 von David Horne geschrieben. (Bild: Jens Sommerfeld)
Das Schachspiel 1K ZX Chess wurde 1983 von David Horne geschrieben. (Bild: Jens Sommerfeld)

In den populären Jahren des ZX81 (das war von 1981 bis etwa 1985) kamen viele tolle Spiel heraus. Danach passierte kaum noch etwas und der ZX81 kam aus der Mode. Andere Homecomputer übernahmen den Markt und das Softwareangebot für den ZX81 ging gegen Null. Mitte der 90er Jahre war der Homecomputermarkt total zusammengebrochen und die Konsolen und der PC übernahmen die Herrschaft über die Maschinen.

Als in den Jahren nach 1995 das Wort „Retro“ immer mehr an Bedeutung zunahm, entdeckten viele ihren alten Rechner wieder. Ab dem Jahr 2000 erlebt die Retroszene erneut einen Boom und dieser hält bis heute (2015) an.

So wurden in den letzten Jahren einige Spiele von anderen Homecomputern auf den ZX81 portiert – zum Beispiel das Spiel H.E.R.O., das für den C64, den Spectrum und andere Rechner in den 1980er-Jahren produziert wurde, aber auf Grund der technischen Limitierung des ZX81 nie für diesen realisiert wurde. Cross-Compiler und die neuen HRG-Fähigkeiten des ZX81 ermöglichen dies inzwischen. Das Spiel wurde von Martin Korth (http://problemkaputt.de) von der MSX-Version portiert und sieht dann auf dem ZX81 so aus.

H.E.R.O. für de ZX81 von Martin Korth. (Bild: Jens Sommerfeld)
H.E.R.O. für de ZX81 von Martin Korth. (Bild: Jens Sommerfeld)
Zum Vergleich hier das Original, die C64-Version) von H.E.R.O. (Bild: Jens Sommerfeld)
Zum Vergleich hier das Original, die C64-Version) von H.E.R.O. (Bild: Jens Sommerfeld)

Viele neue Spiele (nicht nur für den ZX81, sondern für fast alle Computer der damaligen Zeit) kamen in den letzten Jahren auf den Markt – dabei sind sowohl Remakes, Portierungen als auch neue Spielideen.

Inzwischen mit Soundmodul und HRG ausgestattet, wurden „alte“ Spielideen neu umgesetzt. So zum Beispiel das Spiel Batz, eine Breakout-Variante, die von Peterz mit Sound umgesetzt wurde. Es gibt auch eine Variante mit Hintergrundmusik, die der polnische Künstler „yerzmyey“ komponiert hat.

Batz für den ZX mit 16kB-Erweiterung wurde 2013 vom Entwickler Peterz veröffentlicht. (Bild: Jens Sommerfeld)
Batz für den ZX mit 16kB-Erweiterung wurde 2013 vom Entwickler Peterz veröffentlicht. (Bild: Jens Sommerfeld)

Ein weiteres tolles Spiel stammt von Bob Smith aus dem Jahr 2010 (er schreibt weiterhin jedes Jahr neue Games – siehe www.bobs-stuff.co.uk) – Es heißt VIRUSund lässt sich wunderbar spielen. Hier zwei Screenshots.

VIRUS von Bob Smith für den ZX81 soll mit den Qualitäten von ZX Spectrum-Spielen mithalten können. (Bild: Jens Sommerfeld)
VIRUS von Bob Smith für den ZX81 soll mit den Qualitäten von ZX Spectrum-Spielen mithalten können. (Bild: Jens Sommerfeld)
Es handelt sich bei VIRUS um einen sogenannten „top-down shooter“. (Bild: Jens Sommerfeld)
Es handelt sich bei VIRUS um einen sogenannten „top-down shooter“. (Bild: Jens Sommerfeld)

Weiterhin sehr gelungen sind die Games von Martijn Wenting (www.revival-studios.com). Er schreibt tolle Spiele für verschiedene Plattformen und bringt diese Originalgetreu auf Tape heraus.

Avalanche (2011) und Mayhem (2011) für den ZX81 von Martijn Wenting. (Bild: Jens Sommerfeld)
Avalanche (2011) und Mayhem (2011) für den ZX81 von Martijn Wenting. (Bild: Jens Sommerfeld)

Aber es gibt nicht nur Spiele, die neu entwickelt wurden. Matthias Swatosch schrieb einen BRAINFUCK-Interpreter für den ZX81 – für alle, die jetzt gerade Kopfkino haben: NEIN, es ist absolut anständig. Brainfuck ist eine esoterische Computersprache, die mit nur acht Befehlen auskommt und trotzdem Turing vollständig ist – siehe https://de.wikipedia.org/wiki/Brainfuck.

Außerdem gibt es einige Demos, die die Möglichkeiten des ZX81 ausschöpfen. Die Demo 25THANNI von Bodo Wenzel wurde anlässlich des 25jährigen Jubiläums des ZX81 (2006) geschrieben – vollständig in C und dann mit dem z88dk-Cross-Compiler (z88dk.org) übersetzt – und zeigt viele schöne Dinge, beispielsweise Lauftext während der HRG-Darstellung, Echtzeitberechnung von Partikeln sowie Soft-Scrolling und viele mehr. Ein Video davon gibt es hier.

Hier ein Auszug aus dem Quelltext.

Ein Code-Auszug der ZX81-Demo 25THANNI (2006) von Bodo Wenzel. (Bild: Jens Sommerfeld)
Ein Code-Auszug der ZX81-Demo 25THANNI (2006) von Bodo Wenzel. (Bild: Jens Sommerfeld)

Zum Abschluss möchte ich hier noch ein Spiel vorstellen, welches vor einiger Zeit ein regelrechter Hype auf den Mobiltelefonen war und von vielen zum Anlass genommen wurde, das Game auf einem Homecomputer zu programmieren. Das Original heißt Flappy Bird und wurde vom vietnamesischen Entwicklers Dong Nguyen im Jahr 2013 entwickelt. Die ZX81-Version wurde von Bob Smith 2014 geschrieben und heißt.

Quack! wurde 2014 von Bob Smith in nur einem Nachmittag programmiert. (Bild: Jens Sommerfeld)
Quack! wurde 2014 von Bob Smith in nur einem Nachmittag programmiert. (Bild: Jens Sommerfeld)

…und das Gameplay sieht wie folgt aus.

Ziel ist es die Ente mit der richtigen Flughöhe durch die Hindernisse zu steuern. Das Spiel hat das gleiche Gameplay wie sein Vorbild. (Bild: Jens Sommerfeld)
Ziel ist es die Ente mit der richtigen Flughöhe durch die Hindernisse zu steuern. Das Spiel hat das gleiche Gameplay wie sein Vorbild. (Bild: Jens Sommerfeld)

Wer sich mit dem ZX81 beschäftigt, der bekommt ein besseres Verständnis für die Dinge (insbesondere von heutigen Computern) und deshalb kann ich Euch nur ans Herz legen: schaut mal im Netz nach und probiert den ZX81 mit einem Emulator aus (ich würde EightyOne von Michael D. Wynne empfehlen) und schafft euch evtl. sogar einen echten Sinclair ZX81 an – damit ist die Langeweile verflogen und die Kreativität kann sich entfalten… Ihr könnt mir unter jens@zx81.de gerne eine Mail schreiben, wenn Ihr Fragen habt oder Hilfe benötigt!

Im nächsten Teil meiner Serie um den ZX81 geht es um die Textadventures der Firma ARTIC.

Bernd Bock

Avatar von Jens Sommerfeld

10 Beiträge


Beitrag als PDF downloaden

This page as PDF


VSG unterstützen

Wenn dir unsere Beiträge gefallen, überlege doch bitte ob du unseren Blog fördern kannst. Videospielgeschichten lebt durch Unterstützung. Durch deine Hilfe stellst du sicher, dass unsere Webseite weiterleben kann und die unabhängige, ehrliche und authentische Medienwelt bunt bleibt!


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

5 Antworten zu „Klein, aber fein – Der ZX81 von Sinclair (Teil 3 – Die Software)“

  1. Avatar von B0D0
    B0D0

    Kleine Korrektur: 25thanni wurde komplett in Assembler programmiert. Nur Hilfsprogramme z. B. zum Komprimieren sind in C und sind für den PC gedacht…

  2. Avatar von Andreas
    Andreas

    @PokeMon

    Diese 1-Byte-Befehle nennt man Tokens. Das hatten damals fast alle BASICs. Alle Commodore 8 Bit Maschinen (VC20,C64,etc.), Microsoft GW-BASIC, etc. Der einzigste Unterschied ist, dass man weniger tippt und der Befehl nicht erst Zeichen für Zeichen mit den Verfügbaren Befehlen verglichen werden muss. Erst Q-BASIC benutzte dann einfache Textdateien.

    Die Commodore 8 Bit BASIC Tokens findest Du hier: https://www.c64-wiki.de/index.php/Token

  3. Avatar von PokeMon
    PokeMon

    Der Grund warum Sinclair statt Befehle zeichenweise einzutippen lieber auf Keywords gesetzt hat, lag vermutlich eher im knappen Speicherplatz. PRINT ist als $F5 oder 245 dezimal kodiert und belegt 1 Byte während es einzeln 5 Bytes belegen würde. Mit Leerzeichen zum nächsten Keyword sogar 6 Bytes (selbst das wurde gespart). Das Listing Programm zeigt es dann wieder im Klartext an.

    Zum Thema Listings in Zeitschriften kann ich mich an die mühsame Eingabe erinnern und des Öfteren traten Druckfehler auf, die in der nächsten Ausgabe 2 oder 4 Wochen später berichtigt wurde. Pech wer sich vorher einen Wolf getippt hat. Digitale Übernahmemöglichkeiten gab es ja damals nicht.

  4. Avatar von Msch
    Msch

    Wieder ein schöner Artikel! Bin schon gespannt auf den nöchsten Teil 🙂

  5. Avatar von byteproject

    Eine sehr schöne Artikelserie! Unglaublich was im Nachgang dann alles noch mit dem kleinen ZX81 möglich war. Es ist die Szene, die diese wundervollen Geräte am Leben erhält. Mit Hingabe und Leidenschaft. Ich freue mich schon jetzt auf den nächsten Artikel und kann nur sagen: weiter so! Passt zeitlich auch prima, denn ich bin gerade dabei einen Artikel über den Nachfolger des ZX81 am schreiben (in allen Variationen). Wenn wir das zeitlich schaffen könnt ihr den Weihnachten hier lesen 🙂