ZX-Spectrum Nachbau/Clone

Ende 1988 bekam ich über die Technische Hochschule Ilmenau eine Leerplatine des dort entwickelten ZX-Spectrum-Nachbaus GDC 204.
Nachdem mein CP/M Computer mehr für Programmierung und Textbearbeitung lief, reizte dieser populäre Spielecomputer mit Vollgrafik und gutem Softwareangebot.
Die Schaltungsanalyse der TH-Version ergab allerdings große Unterschiede zum Original-Spectrum, wodurch hardwarenah oder zeitkritisch programmierte Programme nicht richtig liefen.

  • CPU arbeitet während Bildaufbau nicht, also 60% der Zeit, dadurch Timing abweichend
  • PIO statt Registergesteuerter I/O
  • ROM wegen Hardwareabweichung geändert
  • keine Farbausgabe, nur schwarz-weiß-Grafik
  • zusätzliche CTC und PIO, die bei unüblichen Programmzugriffen stören können

Somit setzte ich mir zum Ziel, die Schaltung soweit abzuändern, dass 100% Kompatibilität erreicht wird. Im Prototyp bedeutete dass noch, dass eine zweite Platine entstand, die diverse Schaltungsteile neu darstellte und genauso groß war, wie die originale GDC 204. 

Das fertige Gerät bekam ein stabiles, glänzendes Gehäuse aus Thermoplaste (Polypropylen).

Auch das Gehäuse ist von Hand aus einzelnen Platten gesägt, über einem Hitzedraht gebogen und mit Gewindebohrungen zur Montage versehen.

 

An der Rückseite Anschlüsse für Strom, Kempston-Joystick, BAS-Signal, Tape, RGB-Signal,
Schalter für Netz-Ein und Farbe, sowie eine Sicherung.

 

Im Innerem sieht der Computer wie folgend dargestellt aus.
Die Tastatur war wieder ein Kostentreiber, 180 Mark kostete mich diese im Jahr 1988. Es waren mehr Tasten verfügbar als eigentlich für das original ZX-Spectrum Tastaturlayout benötigt, somit verwendete ich zusätzliche Tasten für eine Resetfunktion und für eine On/Off Soundschaltung.

 

Die Hauptplatine vom GDC hat nicht viel vom Original behalten, eine Huckepackplatine ersetzt die PIO, ein extra IC die Adresskodierung, eine Addon-Platine eingefügt für den Kempston-Joystick, eine Addon-Platine für RGB-Pegelanpassung, die Buskoppler der Zählerkette wurden als Steckverbinder bestückt und auf meine Grafikplatine geführt.

Wer ganz genau hinschaut, findet in der Bestückung eine weitere Besonderheit: Statt eines UA880 steckt als CPU ein U84C00DC 04. Dieser Schaltkeis war die CMOS-Variante des Zilog-Z80, welcher im VEB Mikroelektronik Erfurt (MME) erst 1989 entwickelt wurde.

 

Die gesamte neue Grafikeinheit befindet sich auf einer zusätzlichen Platine unter der GDC-Karte.

 

Die Bildausgabe des ZX-Spectrum ist folgendermaßen aufgebaut:
Grafik 256x192 Pixel Vollgrafik = 6 Kbyte Grafikspeicher
Farbe 32x24 Blöcke mit je 8 Vorder- und Hintergrundfarben+Bright+Blink = 1 Kbyte Farbspeicher
Randfarbe 1 aus 8  über I/O Bits.

Im Original ZX-Spectrum 48k war der Speicher folgendermaßen aufgeteilt und bestückt:

0000H-3FFFH  16 kByte EPROM 1x 23128  an CPU
4000H-7FFFH      16 kByte RAM 8x 4161   an ULA = Videospeicher    
8000H-FFFFH     32 kByte RAM 8x 4532   an CPU

 

Im Gegensatz zur GDC-Schaltungsvarianten habe ich den Video+Farb-RAM als extra zusätzliche Speicherschaltkreise ausgeführt, so dass die CPU jederzeit im normalen RAM-Bereich unbeschränkt arbeiten kann, und ausschließlich bei Schreibzugriffen in den Videoram ggf. ein WAIT-Zyklus für die CPU eingefügt wird, um die Bilddarstellung nicht zu stören. Nur der reine Videospeicher läuft über Multiplexer. 

Im Nachbau ZX-Spectrum war der Speicher demzufolge wie folgt bestückt:

0000H-3FFFH  16 kByte EPROM 4x U2732  an CPU
4000H-FFFFH 64 kByte DRAM 8x U2164  Eprombereich überblendet 
4000H-57FFH        6 kByte SRAM 3x U6516  Videospeicher
5800H-5AFFH       1 kByte SRAM 2x U214  Farbspeicher

Das Eprom-Bitmuster entspricht im Nachbau zu 100% dem original ZX-Spectrum, jegliche getestete Originalsoftware lief uneingeschränkt.

 

Nachdem mein Spectrum quasi als Prototyp für die neue Schaltung fertiggestellt war, enstand für weitere Spectrum-Interessenten noch eine Platine, die beide Leiterkarten in einer vereinigt. Der Gesamtschaltplan sah dann folgendermaßen aus: Schaltplan (626 kbyte)

Kurz darauf ergab sich die Beschaffungsmöglichkeit von U6264, einem 8kByte SRAM. Damit lies sich die Schaltung nochmals vereinfachen, statt  8 x RAM U2164  +  4 x ROM U2716   ergab sich jetzt  6 x RAM U6264 + 2 x ROM U2764. Zusätzlich konnte die gesamte RAS/CAS Aufbereitung für die DRAM wegfallen. Somit entstand für den CPU-Teil diese letzte Variante: Schaltplan (360 kbyte)

Am Rande: die Farbfernseher der DDR hatten keinen RGB-Eingang, um das Computerbild in Farbe einzukoppeln. Also musste ich sogar den 4.900 M teueren Fernseher mit einer eigenen Platine nachrüsten. Deshalb ist in der obigen Schaltung die Farbauskopplung nicht weiter dargestellt.

Dieser selbst aufgebaute Prototyp arbeitet auch noch nach 25 Jahren einwandfrei und kann mit vollem Retrofeeling bespielt werden. Erstaunlicherweise existieren im Jahr 2017 mehrere ZX-Spectrum Neuauflageprojekte: „ZX Spectrum Vega“, „ZX Spectrum Next“, „Spectral Nachbau“, „Harlequin“

 

Erweiterungen:

- Joystick

- als Ersatz für die umständlichen Programmkassetten baute und programmierte ich auf dem CP/M PC eine Schnittstelle, so dass letztlich bereits damals alle Spiele komfortabel von Diskette geladen werden konnten.