Zum 35-jährigen Jubiläum: Hier eine Kurzbeschreibung meines Z80-Eigenbaurecchners ORWELL.

Mein Eigenbaurechner ORWELL

Nachdem ich 1980/81 erfolgreich den Bausatz eines Sinclair ZX81 zusammengelötet hatte, fing ich an, dessen Peripherie zu erweitern: als lizensierter Funkamateur musste ich ein Funkfernschreib-Interface haben, mit dem man vom ZX81 aus Fernschreibsignale in die Welt schicken konnte, die so dringend auf meine wichtigen Nachrichten im 5-Bit-Baudot-Code mit einer Baudrate von 45,45 Baud wartete. Es machte mir einen Höllenspaß, mit Dutzenden von software-generierten BEL-Codes hintereinander die Glocken aller mitlesenden Funkfernschreibamateure, die noch mit einem mechanischen Fernschreiber arbeiteten, zu betätigen und damit nächtlich bei denen einen höllischen Lärm zu veranstalten.

Natürlich war das in der Basic-Sprache, die der Sinclair ZX81 von Haus aus mitbrachte, gar nicht zu bewältigen, denn da mussten Sende-Relais vom Funkgerät ein- und ausgeschaltet und Töne mit 2.125 Hz und mit 750 Hz darüber generiert werden. Die 5 Datenbits des Baudot-Codes waren jeweils mit einem Startbit und 1,5 Stopbits einzurahmen und die Nullen und Einsen in Tonfolgen umzuwandeln. Also habe ich einen AY-3-1014 (seriell-/parallel Wandler-IC), eine Z80-CTC (zum Tönemachen) und ein Senderelais (zum Ein- und Ausschalten der Sendefunktion meines Funkgeräts) auf eine Rasterplatine gelötet, an den ZX81 angedockt und meine ersten Schritte in Z80-Maschinensprache gewagt. Die musste ich damals noch als Dezimalzahlen in Kommentarzeilen des ZX81-Basic-Programmes (mit "Poke" einhacken), um die Z80-CTC zum Erzeugen von Tönen zu bewegen. Später kam dann ein richtiger Z80-Assembler dazu, der das Leben erheblich erleichterte. Das selbst in Maschinensprache bzw. später in Assembler geschriebene Terminal-Programm, mit separatem Schreib- und Lese-Bereich auf dem Bildschirm hat Spitze funktioniert und auf Knopfdruck 100 aufeinander folgende BEL-Zeichen ausgesendet. Allerdings war der ganze Kasten doppelt so groß wie der eigentliche ZX81, besonders nachdem ich die Folientastatur des ZX81 durch eine riesige Tastatur vom Flohmarkt ersetzt hatte, damit ich noch schneller BEL-Zeichen eintippen konnte.

Wer so sozialisiert ist, hat keinerlei Angst vor Assembler mehr. Und nimmt sich größere Eigenbaupläne vor. Es sollte ein Z80-Rechner entstehen, der all die großartigen Neuerungen der Z80-CPU zur praktischen Anwendung bringen sollte: Einzelschrittansteuerung, vollen Interrupt-Betrieb, u.v.a.m. Weil Thomson-CSF auch noch einen herrlichen 512*512 Pixel großen Grafik-Controller anbot, war auch die Anzeige anspruchsvoll zu gestalten. Da es so einen Rechner nicht zu kaufen gab, musste ich ihn selbst bauen.

Da das sagenhafte Jahr 1984 bevorstand, war der Name meines Eigenbau-Rechners auch quasi vorherbestimmt: er musste ORWELL heißen.

Es wurde ein Rechner mit zehn Steckplätzen für Europlatinen, die einen 64-poligen Bus kriegten. Der Stromverbrauch war riesig, das Netzteil entsprechend dimensioniert (alleine die 5V-Versorgung war auf 5A Dauerstrom ausgelegt). Den Trafo habe ich bei einer kleinen Firma in Bensheim wickeln lassen, weil es die Kombination an Spannungen und Strömen so nicht zu kaufen gab und gibt. Um flexibel beliebige Steckkarten einstecken zu können, habe ich als Gehäuse ein 19-Zoll-Teil von Isel verwendet, das mit Netzteil und den 10 Bussteckplätzen sowie einer akkugepufferten Uhr. Die Uhr war immer der Test, ob die Interrupts noch korrekt arbeiteten: blieben die Sekunden auf dem Bildschirm stehen, war Fehlersuche bei der Z80-Interrupt-Bearbeitung angesagt.

Zur Anzeige von Adressen und Daten dienten 7-Segment-Anzeigen. Die Anzeige diente aber auch noch anderen Zwecken: auf ihr konnte ich Ausgaben machen, solange meine Grafikkarte noch im Design-Stadium harrte. Deshalb musste die Anzeige unbedingt Hexadezimal-Zahlen anzeigen.

Das Bedienprogramm war an das Betriebssystem CPM angelehnt, das zu dieser Zeit so was wie ein Standard war. Es war in ein EPROM gebrannt, so dass es beim Start des Rechners unmittelbar arbeitete. Insgesamt vier solcher EPROMs, ergänzt durch vier SRAM-Bausteine, passten mit Bankumschaltung in die untersten 16 kB des Adressraums.

Nach und nach kamen immer neue Steckkarten hinzu: Tastatur, RS232-Schnittstelle zur Übertragung von Daten und Programmen von meinem Eigenbau-ZX81, ein Kassettenrecorder als Massenspeicher mit c't-Supertape als Schreib- und Leseprogramm. Ein erster Höhepunkt war eine 8-Zoll-Floppy vom Flohmarkt, auf die ich Programme und Daten geschrieben habe. Ein eigenes Floppy-Betriebssystem kam in das EPROM, es hies ODOS für Orwell-Disk-Operation-System. Es hat Dutzende von 8-Zoll-Disketten mit meinem eigenen ODOS-Diskettenformat formatiert, beschrieben und zuverlässig gelesen. Da das Floppy-Laufwerk kein Gehäuse besaß, war der Lärmpegel durch den 220V-Motor ziemlich hoch.

Der Gipfel war dann allerdings ein Programm, um AMD-PALs zu entwerfen, zu speichern, zu drucken und in Chips zu brennen. Das hat die 512*512-Pixel-Grafik des Grafikcontrollers voll gefordert, weil das Innere der PALs hochaufgelöst dargestellt und komfortabel editiert werden konnte. Nach und nach wurden mit den selbstgebrannten PALs immer neue Steckkarten gebaut, da sich die Adressdekodierung damit so wunderbar vereinfachen ließ. AMD hat auch genug 16L8, 16R8, 16R6 und 16R4 kostenlos spendiert, die es im Handel gar nicht zu kaufen gab, dass daran kein Mangel wsr. Wegen des PAL-Brenners habe ich den Orwell noch weit in die 90-er Jahre praktisch verwendet.

Die Hardware von ORWELL

Nachfolgend sind Scans der Originaldokumentation (Bleistiftzeichnungen) wiedergegeben. Es ist aber nicht immer eindeutig, dass diese mit der Endfassung übereinstimmen. Die folgenden Links führen zu den nachbearbeiteten Scans. Alle Grafiken zusammen sind der Datei hardware.zip verfügbar (32 GIF-Dateien, 7 MB).

©2019 by Gerhard Schmidt