Neuer ZX Spectrum 48K

Ich bekam die Platine eines Sinclair ZX Spectrum. Es musste vorher ein ZX Spectrum Plus Modell gewesen sein, da ein Reset-Kabel daran befestigt war. Auf der Platine klebten auch ein paar Etiketten, die die Funktion der Bauteile erklärten, vielleicht zu Bildungszwecken.

Ich versuchte, eine Diagnose laufen zu lassen, aber das Modul startete nicht einmal und die D0-LED blieb dauerhaft dunkel. Irgendwo auf dem Datenbus musste ein Kurzschluss vorhanden sein. Aber anstatt ihn zu beheben, plane ich sowieso, mir einen komplett neuen ZX Spectrum zu bauen. Ich möchte dabei so viele neue Bauteile verwenden wie möglich. Nur die ULA, die CPU, der LM1889N, die Spule und die RAM-Chips werden wiederverwendet.

Also entfernte ich zuerst diese wertvollen Komponenten. Die leere Originalplatine war danach ein trauriger Anblick. Die Aussicht, dass daraus ein nagelneuer Speccy entstehen wird, machte es weniger schmerzhaft.

Die ULA habe ich bereits in einem anderen Speccy überprüft, sie war in Ordnung. Von den 16 RAM-Chips waren leider nur noch 9 funktionsfähig. Das war viel weniger, als ich gehofft hatte. Ich habe noch ein paar dieser alten RAM-Chips auf Lager, aber sie sind knapp und wertvoll.

Eine neue Platine

Die neue Replika-Platine stammt von PABB und kann bei PCBWay bestellt werden.

Für die benötigten Bauteile habe ich eine Stückliste zusammengestellt. Sie enthält so viele neue Komponenten, wie ich finden konnte, aber einige seltene Teile werden schon lange nicht mehr produziert. Man findet sie immer noch als NOS-Teile auf Online-Marktplätzen, teilweise gibt es auch Ersatztypen oder Nachbauten (wie die Retroleum Nebula oder vRetro vLA82).

Es gibt vier Drahtbrücken, die den Typ der oberen RAM-Chips und die Marke des ROM-Chip-Herstellers bestimmen. Die richtige Konfiguration findet man ebenfalls in meiner Stückliste.

Anstelle des Modulators entschied ich mich, einen S-Video-Mod und eine 3D-gedruckte Grundplatte zu verwenden. Eine weitaus simplere Alternative wäre, einen Cinch-Anschluss an COMP und GND zu löten und ihn als Composite-Ausgang zu verwenden.

Nach viel Lötarbeit war der Zusammenbau fast abgeschlossen. Aber bevor ich die wertvollen Chips einsetzen würde, überprüfte ich zuerst, ob alle drei Spannungen (+5V, +12V, -5V) vorhanden und innerhalb der Toleranz lagen.

Der S-Video-Mod tritt an die Stelle des originalen Modulators, wird aber nicht eingelötet, sondern von zwei Schrauben gehalten. Die Schrauben sorgen auch für die Masseverbindung, dürfen also nicht aus Kunststoff sein. Drei Drähte verbinden die Platine dann mit +5V und dem Composite-Signal als Luma. Das Chroma-Signal wird an das positive Ende von C65 angeschlossen. Dieser muss vorher entfernt werden, damit sich die Luma- und Chroma-Signale nicht mischen.

Danach war die neue Platine endlich fertig und bereit für einen ersten Test.

Bugfixing

Aber leider sah ich das hier, als ich den Computer zum ersten Mal einschaltete.

Die Diagnose zeigte keine Aktivität auf den CPU-Bus-Steuerleitungen. Mein Verdacht bestätigte sich, als ich den Takteingang der CPU mit einem Oszilloskop überprüfte. Es war nur eine flache Linie zu sehen:

Der CPU-Takt wird von der ULA generiert, aber dort war das Taktsignal vorhanden.

Ein Blick in den Schaltplan zeigt, dass sich zwischen dem ULA-Taktausgang und dem CPU-Takteingang der Transistor TR3 befindet, wahrscheinlich zur Verstärkung des Signals. Seltsamerweise war das Signal rechts von R24, der direkt mit dem Taktausgang verbunden ist, noch vorhanden. Links von R24 (dort mit der Basis des Transistors verbunden) fehlte das Signal aber. Als ich TR3 entfernte, erschien das Taktsignal auch dort, also musste TR3 die Ursache sein.

Nach einer längeren Suche fand ich heraus, dass der Spectrum bei dem für TR3 verwendeten Typ sehr wählerisch ist. Der originale ZTX313 wird nicht mehr hergestellt, also verwendete ich zuerst einen BC548, der an anderen Stellen ein Ersatztyp sein sollte. Für TR3 ist der einzige empfohlene Ersatztyp jedoch der MPS2369, der mittlerweile auch schon schwer zu bekommen ist. Mit diesem Typ war das Taktsignal aber endlich in Ordnung (cyan: ULA-Taktausgang, gelb: CPU-Takteingang).

Zu meiner Freude startete der neue Spectrum dann auch und zeigte den berühmten Startbildschirm.

Als nächsten Schritt führte ich eine vollständige Diagnose durch. Nun bekam ich den Fehler, dass das M1-Signal fehlte.

Das M1-Signal wird von der CPU generiert und zeigt den ersten von vier Maschinenzyklen an, in dem der nächste Befehl eingelesen wird. Der Spectrum selbst nutzt das M1-Signal nicht, aber ein paar Erweiterungen wie das ZX Interface 1 benötigen es.

Nach dem Austausch der CPU wurden schließlich alle Diagnoseprüfungen bestanden.

Letztendlich konnte ich vom alten ZX Spectrum also nur die ULA, das ROM, den LM1888N und die Spule wiederverwenden. Ich hatte auch auf die RAM-Chips und die CPU gehofft, aber mit denen hatte ich weniger Glück.

Testlauf

Egal, endlich war es Zeit für einen Testlauf. Ich schloss den neuen Speccy an meinen Computer an und nutzte tzxplay, um mein Lieblingsspiel Starquake zu laden. Es lud und lief einwandfrei. Auch die Bildqualität des S-Video-Ausgangs ist hervorragend, aus diesem alten Design kann man vermutlich nicht noch mehr herausholen. Nur der ZX Spectrum Next hat mit seinem nativen, pixel-perfekten HDMI-Ausgang eine noch bessere Qualität.

Ich bekam die originale Platine ohne Gehäuse. Aber zum Glück gibt es Replika-Gehäuse, Tastaturmatten, Membrane und Frontplatten auf dem Markt, womit man sich ein brandneues Äußeres zusammenbauen kann. Natürlich wählte ich ein transparentes Gehäuse, damit man das schöne schwarze Mainboard von außen bewundern kann. Naja, zumindest ein wenig.

Und das ist er nun, ein ZX Spectrum in praktisch neuem Zustand.