- Sinclair ZX81
-
Der Sinclair ZX81 ist ein Heimcomputer der britischen Firma Sinclair aus dem Jahre 1981, der auf dem ein Jahr zuvor erschienenen Sinclair ZX80 basiert. Er wurde als Fertiggerät und als Bausatz ausgeliefert. In Deutschland betrug der Ladenpreis anfänglich 398 DM (Bausatz 298 DM). Er hat eine Folientastatur und 1024 Byte Hauptspeicher. Neben dem Originalgerät wurden ab 1982 auch Lizenzfertigungen vertrieben.
Inhaltsverzeichnis
Allgemeines
Über den verwendeten Mikroprozessor ist die Quellenlage uneinheitlich. Sinclair selbst gab in der eigenen Dokumentation den Z80 von Zilog an, auch einige noch verfügbare Webquellen übernehmen das. Tatsächlich gibt es aber Hinweise, dass zumindest ein Teil der Geräte mit dem Nachbaumodell D780C-1 von NEC ausgestattet wurde. Zur Programmierung steht dem Anwender ein Sinclair-eigener BASIC-Dialekt zur Verfügung. Dabei sind die Tasten jeweils mit kompletten Befehlen belegt, die durch einen einzigen Tastendruck bzw. durch Tastenkombinationen abgerufen werden.
Der ZX81 besteht aus lediglich fünf (teilweise auch nur vier) ICs:
- den oben bereits erwähnten Prozessor Z80 mit 3,25 MHz Taktfrequenz,
- einen 8192 Byte großen ROM, der unter anderem einen für die Zeit seines Erscheinens und seine Kompaktheit sehr leistungsfähigen BASIC-Interpreter enthält,
- zwei SRAM-Bausteine des Typs 2114 (1024 × 4) mit zusammen 1024 Byte (in der US-Version nur ein 6116(2K × 8)-Baustein, dafür aber mit 2048 Byte, einige Versionen haben auch nur einen 4118 (1K × 8)-Baustein mit 1024 Byte) und
- die Sinclair Computer Logic (SCL), ein so genanntes Uncommitted Logic Array, welche die 17 Einzelbausteine des ZX80 in einem Baustein integriert.
Der Bildaufbau wird wie beim Vorgänger ZX80 – aber im Gegensatz zu allen anderen Heimcomputern – von der CPU miterledigt. Während der ZX80 während der Berechnungen den Bildschirmausgang grundsätzlich abschaltet, kennt der ZX81 zwei Modi, die sich per Software wählen lassen:
- Im SLOW-Modus ist die CPU hauptsächlich mit der Darstellung des Bildes auf dem angeschlossenen Fernseher beschäftigt; andere Rechenarbeiten finden nur in der vertikalen Lücke zwischen Ende und Anfang des Titelfeldes statt. Mehr als 60 % der Rechenleistung der Z80-CPU müssen dabei zur Erzeugung des Fernsehsignals aufgewendet werden. Die verbleibende Rechenleistung entspricht umgerechnet der einer mit 1,25 MHz getakteten Z80-CPU, die sich nicht nebenher um eine Signalgenerierung kümmern muss.
- Im FAST-Modus wird die Bilderzeugung nur durch explizite Anweisung (
INPUT
,PAUSE
) eingeschaltet. Die CPU kann sich in diesem Modus voll und ganz der Ausführung von Programmen widmen, währenddessen der Fernseher nur ein Störbild darstellt. (Dies resultiert aus der Mehrfachverwendung interner Schaltkreise.)
Da der ZX81 werksseitig nur über 1024 Byte RAM verfügt, in dem sowohl Programm- als auch bis zu 768 Byte an Bildschirmdaten Platz finden müssen, wird der Videospeicher dynamisch verwaltet, d. h. er belegt lediglich so viel RAM wie nötig. Dies sind pro Zeile mindestens 1 Byte (HALT-Befehl); werden mehrere Zeichen pro Zeile angezeigt, so wird nur der Speicher bis zur zuletzt belegten Spalte benötigt. Um kostbaren Speicherplatz einzusparen, beschränken sich daher viele Programme darauf, nur den linken Teil des Bildschirms zu nutzen. Ist jedoch eine Speichererweiterung angeschlossen, so wird auf diese Art der „Kompression“ verzichtet und pauschal 793 Byte (33 Zeichen × 24 Zeilen, ein Zeichen pro Zeile ist der HALT-Befehl) für den Videospeicher reserviert.
Programme
Selbst mit dem aus heutiger Sicht sehr kleinen Hauptspeicher von 1024 Byte ist bereits in der Basisversion die Ausführung sinnvoller Programme möglich: so existiert beispielsweise ein Schach-Programm. Die große Mehrheit der kommerziell vertriebenen Programme benötigt aber eine Speichererweiterung. Die Programme wurden in der Regel auf Audiokassetten vertrieben.
Verbreiteter als der Erwerb kommerzieller Programme war jedoch die Selbstprogrammierung oder das Abtippen von in Zeitschriften abgedruckten Programmen, die man dann selbst auf Kassette speichern konnte. Bei in BASIC geschriebenen Programmen hatte dies den Vorteil, dass man die Programme verstehen und bei Bedarf selbst verändern konnte. Programme in Maschinencode waren leistungsfähiger und kompakter, ihr Abtippen war jedoch sehr umständlich, da sie für den Menschen völlig unverständlich sind und bereits ein einziger Tippfehler zur Nichtfunktionsfähigkeit führte.
Die Grafik des ZX81
Der ZX81 verfügt eigentlich nur über einen Textmodus. Der Zeichensatz, der im Gegensatz zu den meisten anderen Heimcomputern komplett von der ASCII-Norm abweicht, umfasst 64 normale Zeichen (schwarz auf weiß) und deren 64 inverse Äquivalente (weiß auf schwarz). Durch eine intelligente Konstruktion des Zeichensatzes ist es aber auch möglich, eine einfache 64×44-Blockgrafik darzustellen. Das BASIC verfügt über den Befehl PLOT, jedoch werden die dadurch entstehenden Grafikpunkte intern den Zeichen des Standardzeichensatzes zugeordnet. Jeder dieser Grafikpunkte besteht aus 4×4 Pixeln (ein Viertel Zeichengröße, jeweils schwarz oder weiß) und jeweils vier dieser Grafikpunkte entsprechen bei der Darstellung einem Grafikzeichen des Standardzeichensatzes. Dieses Blockgrafikzeichen wird auf dem Bildschirm ausgegeben. Damit sind alle 16 Schwarz-Weiß-Kombinationen möglich, die sich aus einem gedacht gevierteilten Zeichen ergeben.
Zusätzlich verfügt der Zeichensatz über Blockgrafik mit Grauanteilen, die die Darstellung komplexerer Figuren mit der Tastatur ermöglicht. Das einfachste, ein graues Quadrat, gleicht einem Schachbrett (ein 8×8 Pixel großes Zeichen, Schwarz und Weiß abwechselnd). Die übrigen grauen Zeichen können mit schwarzen oder weißen Grafikpunkten kombiniert werden, jedoch sind nicht alle Kombinationen möglich, die sich aus einem gedacht gevierteilten Zeichen ergeben. Im Wesentlichen sind dies zwei Klötzchen unterschiedlicher Helligkeit (Schwarz, Weiß, Grau) übereinander (innerhalb eines Blockgrafikzeichens, siehe nebenstehende Grafik zum Zeichensatz). Kurios ist, dass es zu jedem Zeichen, das einen grauen und einen weißen Teil enthält, ein exakt invertiertes Pendant gibt (Grau und Schwarz), wobei auch die graue Fläche invertiert wird und es neben dem „Schachbrett“-Zeichen ebenfalls ein invertiertes Grauzeichen gibt, deren Pixelmuster wegen der Inversdarstellung nicht zu dem anderen Grauzeichen passt. Somit sind nicht beliebige Schwarz-Grau-Weiß-Kombinationen möglich, da sich bei Figuren aus mehreren Zeichen unregelmäßige Graumuster ergeben können.
Durch entsprechende Programmierung (Herabsetzen des Zeilen-Interrupts und Modifizierung des Zeichenzeigers) ist jedoch auch ein Software-HiRes-Modus mit 256×192 Punkten für die Darstellung von Funktionsverläufen möglich; hierbei wird versucht, das darzustellende Muster bestmöglich auf vorhandene ROM-Daten abzubilden, da der Aufbau des Rechners die direkte Ausgabe von RAM-Daten auf den Bildschirm ohne Umbau nicht ermöglicht.
Schnittstellen und Zubehör
Bildschirm
Der Anschluss eines Monitors an den ZX81 erfordert entweder Umbauarbeiten im Computer oder die Zwischenschaltung eines Analog-TV-Tuners, zum Beispiel des in den 1980er Jahren erhältlichen Philips AV7300. Über eine seitlich am ZX81 angebrachte Cinch-Buchse ist ab Werk nur der Anschluss eines Fernsehers via Antennenbuchse vorgesehen, für den ein entsprechender Hochfrequenzmodulator im Computer fest eingebaut ist. Das war zum Zeitpunkt des Erscheinens des ZX81 sinnvoll und auch bei anderen Herstellern üblich, da seinerzeit im Endverbraucher-Bereich außer der Antennenbuchse kein Signaleingang am Fernseher üblich war.
Das Fernsehsignal des ZX81 weicht deutlich stärker von einem Normsignal ab, als es bei den meisten anderen Heimcomputern der Fall ist; die hintere Schwarzschulter, anhand derer viele Fernseher den Schwarzpegel des Signals ermitteln, fehlt; die Pegel für "Synchronsignal", "Schwarz" und "Weiß" stehen außerdem nicht im richtigen Verhältnis zueinander. Die 1981 auf dem Markt befindlichen rein analogen Fernsehgeräte arbeiteten dennoch zufriedenstellend mit diesem Signal. Viele neuere Fernsehgeräte kommen damit aber nicht zurecht, der "Sender" wird teilweise gar nicht gefunden, das Bild erscheint falschfarbig, verschmiert und/oder viel zu dunkel.
Der Anschluss eines (F)BAS-Monitors (oder eines Fernsehers mit Video- oder SCART-Eingang) ohne zwischengeschalteten Tuner erfordert einen Eingriff in den Computer; hierzu muss das intern vorhandene BAS-Signal über einen Transistor ausgekoppelt werden. Ein solchermaßen gewonnenes Signal funktioniert auch mit den meisten neueren Fernsehgeräten zufriedenstellend, wenn die Helligkeits- und Kontrasteinstellung des Gerätes entsprechend angepasst wird; normalerweise muss der Helligkeitsregler bis in die Nähe des Maximalwertes aufgedreht werden.
Ab einem gewissen Zeitpunkt ersetzte Sinclair den SCL-Chip (siehe oben), der in älteren ZX81 die Bezeichnung ULA2C184E trägt, durch ein neueres Modell mit der Bezeichnung ULA2C210E. Dieser neuere Chip erzeugt eine korrekte Schwarzschulter, wodurch das Signal auch auf neueren Fernsehgeräten relativ problemlos und ohne Anpassung von Helligkeit und Kontrast korrekt dargestellt werden kann. Auch bei älteren ZX81 kann durch den Einbau einer Reihe zusätzlicher Komponenten eine korrekte Schwarzschulter in das Signal eingefügt werden, wodurch die Darstellungsprobleme verschwinden.
Kassettenrecorder
Diskettenlaufwerke waren für den ZX81 werksseitig nicht erhältlich, stattdessen können handelsübliche Kassettenrekorder mit Compact Cassette als Speichermedien genutzt werden. Der Rekorder wird über die seitlichen Anschlüsse EAR und MIC an den ZX81 angeschlossen und ist manuell zu bedienen. Eine Fernsteuerung wie bei vielen anderen Heimcomputern ist nicht möglich.
Im Gegensatz zu den meisten anderen Heimcomputern wird beim ZX81 immer der gesamte Speicherinhalt (außer einiger weniger Systemvariablen) geladen oder gespeichert, darunter auch BASIC-Variablen und ggf. auch Maschinensprache-Routinen, aber mit Ausnahme der unbelegten Speicherbereiche.
Der Austausch von Programmen auf Kassette ist teilweise schwierig: Versucht man ein Programm einzulesen, das auf einer Audiokassette eines anderen Benutzers gespeichert ist, so muss eventuell der Tonkopf des eigenen Abspielgerätes neu justiert werden, damit die Software erfolgreich geladen werden kann.
Während des Lade- und des Speichervorgangs sind am Bildschirm störungsähnliche Bilder zu sehen, an denen der fachkundige Nutzer den Rekorder aussteuern kann.
Standard-Erweiterungsport
Der ZX81 besitzt an der Rückseite einen 44-poligen Platinenstecker, an den diverse Geräte sowohl von Sinclair als auch von Fremdanbietern angeschlossen werden können. Diese Kontakte dieses Erweiterungsports sind elektrisch nicht kontaktsicher. Steckt man eine Speichererweiterung oder ein anderes Peripheriegerät an, kann dies bei Bewegung einen Absturz des Rechners zur Folge haben.
Unter anderem sind folgende Geräte für den Erweiterungsport bekannt:
Speichererweiterung
Von Sinclair gab es eine Speichererweiterung auf 16384 Byte (der interne Speicher wird durch das externe Speichermodul abgeschaltet), von Fremdherstellern (z. B. Memotech) auch bis 65536 Byte; hiervon können (ohne Bankswitching) bis zu 57344 Byte verwendet werden (8192 Byte benötigt das ROM).
Drucker
Thermodrucker ZX PrinterVon Sinclair selbst wurde ein preiswerter Spezialdrucker für metallisiertes Papier angeboten: Wenn die Nadeln das Papier erhitzen, kommt es mitunter zum sichtbaren Funkenflug, da es sich hierbei um einen Elektro-Erosionsdrucker handelt. Dieser Drucker arbeitet nicht mit einem Druckkopf, sondern mit zwei Nadeln, die sich auf einem fortlaufenden Band zeilenweise über das metallisierte Papier bewegen. Wenn eine Nadel am rechten Papierrand ankommt, erscheint links die zweite Nadel. Gleichzeitig wird das Papier langsam vorwärts transportiert, so dass die Nadel in der nächsten Zeile beginnt. An der Stelle, an der ein Punkt erzeugt wird, wird die Nadel unter Spannung gesetzt. Hierdurch wird die silberfarbene Metallschicht weggebrannt und die darunter liegende, schwarz gefärbte Papierschicht sichtbar.
Eine Buchstabenzeile benötigt auf diese Weise 8 Zeilen, d. h. 8 Linien wie beim Fernsehbild, inklusive Leerzeile zur folgenden Textzeile. Die horizontale Auflösung beträgt dabei maximal 32 Zeichen oder 256 Pixel auf 92 mm Breite. Die Ausgabe normaler Briefdokumente ist in diesem Format nicht möglich. Die Zeichen werden als Grafik übertragen, es gibt auch Programme für Kurvendiagramme zur Ausgabe auf Papier (z. B. Biorhythmus) oder solche, die weitere Textzeichen drucken (z. B. Kleinbuchstaben und Sonderzeichen).
Gegenüber den damals üblicheren Thermodruckern sind die Ausdrucke des ZX-Printers lichtecht und längerfristig haltbar, jedoch sind die silberfarbenen Ausdrucke sehr empfindlich gegenüber Fingerabdrücken, was dem ZX-Printer den Spitznamen Fingerprinter einbrachte. Heute ergibt sich zusätzlich das Problem, dass das nötige Spezialpapier nicht mehr im Handel erhältlich ist. Zudem ist der Betrieb des ZX-Printers, der auch am Sinclair Spectrum funktionierte, recht laut.
Später wurden für den Rechner auch Drucker von anderen Anbietern auf den Markt gebracht, so z. B. der Alphacom 32, ein Thermodrucker, der fast doppelt so schnell wie der Sinclair-Drucker ist. Von der Firma Seikosha wurde mit dem GP-50S ein Nadeldrucker für Normalpapier und Gewebeband-Farbkassette speziell für ZX81 und Spectrum auf den Markt gebracht. Er ist eine Abwandlung des GP-50(A), der mit einem Standardanschluss für Heimcomputer ausgestattet war.
Weitere Anschlussmöglichkeiten
- Standarddrucker: Ein Interface bietet eine Centronics-Schnittstelle (Parallelanschluss). Sie verbindet den ZX81 mit den damals handelsüblichen Druckern und anderen Standardgeräten.
- Serielle Schnittstelle: Auch ein Interface mit einem seriellen Anschluss des Typs RS232C zur Kommunikation mit anderen Computern war lieferbar.
- Disketteninterface: Mit einem Interface für den Erweiterungsbus können Diskettenlaufwerke mit Shugart-Bus an den ZX81 angeschlossen werden.
- PIO: Eine andere Schnittstelle erweitert den ZX81 um eine Ein-/Ausgabeschnittstelle zur Steuerung z. B. von Robotern (PIO = Parallel Input/Output).
- HiRes-Modul: Mit Hilfe dieses Moduls wird der ZX81 um die Möglichkeit erweitert, hochauflösende Grafik von 256×192 Punkten anzusteuern. Ohne Zubehör ist unter BASIC nur eine grobe Blockgrafik von 64×44 Punkten zu steuern (siehe oben unter Allgemeines).
Baugleichheiten
Ab 1982 kamen mehrere in Lizenz gefertigte leicht veränderte Varianten des ZX81 von Timex auf den Markt. Das Modell „Timex Sinclair 1000“ ist in den USA die verbreitetste Variante des ZX81. In Deutschland wurde es bei Allkauf vertrieben. Es kostete 99 DM und hat statt 1024 Byte nun 2048 Byte RAM. Außerdem ist die Enter-Taste mit „ENTER“ statt mit „NEW LINE“ beschriftet, und Backspace heißt „DELETE“ statt „RUB OUT“. Zudem ist der TS 1000 mit einem Kanalwahlschalter für den TV-Ausgang ausgestattet.
Spiele
Es wurden etwa 100 kommerzielle Spiele veröffentlicht. Darunter 3D Monster Maze (wird meist als erstes 3D-Spiel für Heimcomputer bezeichnet), Manic Miner, Pimania, ein Flugsimulator sowie einfache Schach-, Text- und Shooter-Spiele.
Literatur
- Ekkehard Flögel: Programmieren in BASIC und Maschinencode mit dem ZX 81, Verlag: W. Hofacker, ISBN 3-921682-93-2
- H. Brandl, S. Sanver: Das ZX 81 Rom. Komplettes, dokumentiertes Listing des ZX 81, Verlag: Hueber Max GmbH + Co. KG, ISBN 3-19-008206-5
- Douglas Hergert: Mein SINCLAIR ZX 81. BASIC Handbuch, Verlag: Sybex-Verlag GmbH, ISBN 3-88745-028-0
- Aribert Deckers: Das kleine ZX-Hardwarebuch, ISBN 3-89191-074-6
- Trevor Toms: Das ZX 81 Buch, Verlag: Hueber Max GmbH + Co. KG, ISBN 3-19-008203-0
- M. James, S.M. Gee: The Art of Programming the 1K ZX81, Bernard Babani Publishing, 1982, ISBN 0-85934-084-8
Weblinks
Commons: Sinclair ZX81 – Sammlung von Bildern, Videos und Audiodateien
Wikimedia Foundation.