Chroma Interface [Retro: Sinclair ZX81]

Chroma Interface
Chroma Interface

Das Chroma Interface für den Sinclair ZX81 ist der neueste Streich von Paul Farrow. Von diesem Tüftler stammen auch das SPECTRA Interface, ZXC3 und ZXC4. Das neue Interface ist nun für den ZX81 und stellt praktisch das Gegenstück zum SPECTRA Interface dar. Dies ist der erste Teil der Reihe, da der Umfang sonst zu groß wird. Im zweiten Teil werde ich mich dann mit der Software beschäftigen.
Die primäre Funktion ist es, den ZX81 an den Fernseher per SCART anschließen zu können und ein RGB-Bild auszugeben, das scharf und hell ist. Dazu sind keine Modifikationen am ZX81 nötig, da das Interface nur Zugriff auf die Signale benötigt, die am Erweiterungs-Bus vorhanden sind.
Ein aufregende zusätzliche Fähigkeit des Chroma Interface ist es zur Anzeige des ZX81 Farben hinzuzufügen. Zwei Farbmodi sind vorgesehen wobei jeder bis zu 15 Farben unterstützt. Ein Modus bietet eine Attributdatei die im Konzept ähnlich der auf dem Spectrum gefundenen ist. Die Nutzung dieser Attribute-Datei benötigt spezielle Software, um sie zu kontrollieren. Der andere Modus bietet eine Farbtabelle, die bestimmte Farben mit jedem der 128 verschiedenen Zeichen verbindet (64 normale und 64 invers), die der ZX81 anzeigen kann. Dieser Modus erlaubt es bestehende Spiele zu „färben“.

Die restlichen Fähigkeiten

  • RAM Pack
  • RAM angesiedelt zwischen $2000-$3FFF, was Unterstützung von benutzerdefinierten Zeichen erlaubt
  • RAM Pack angesiedelt in der Region 48K-64K der Speicherkarte, der als Datenspeicher genutzt werden kann
  • Attribute Farbmodus (15 ink und 15 paper Farben pro Charakterposition).
  • Zeichencode Farbmodus (15 ink und 15 paper Farben pro Zeile jedes normalen und inversen Zeichen
  • LOAD/SAVE Geräusche Übertragung über das SCAR-Kabel zum Fernseher
  • Quicksilva Character Board Emulation, welche mit den Quicksilva Spielen benutzt werden können,die das Original Board unterstützen
  • WRX HiRes Grafik Unterstützung für den Onboard-Speicher
  • RS232 Anschluss, der die Verbindung zu einer Anzahl von seriellen Geräten erlaubt, wie Drucker oder einen PC
  • ZX Interface 2 ROM Cartridge Sockel, der es erlaubt, das interne ROM des ZX81 komplett zu überschreiben
  • Cursor Joystick Anschluss, mit Unterstützung für Auto-Feuer Joysticks
  • Reset Knopf
  • einen durchgeschliffenen, vergoldeten Interface-Anschluß
  • einige Konfigurations-Schalter (DIP), die es erlauben jede der neuen Fähigkeiten ein- oder auszuschalten um volle I/O Kompatibilität mit der ganzen existierenden Hardware zu gewährleisten

Switche
Switch 1: ON=Onboard 16K RAM [$4000-$7FFF] aktiviert
Switch 2: ON= WRX Grafik-Unterstützung für das Onboard-RAM.
Switch 3: ON=Onboard 8K RAM [$2000-$3FFF] aktiviert
Switch 4: ON=Quicksilva Character Board Emulation aktiviert
Switch 5: ON=RS232 Anschluss eingeschaltet
Switch 6: ON=Farbfähig eingeschaltet / zusätzliche 16K RAM [$C000-$FFFF].

Kompatibilität
Sinclair ZX81 Edition 1 ROM Hardware Fix
Der ZX81 wurde mit zwei Editionen seines ROM’s veröffentlicht. Die erste Version hatte einen berüchtigten Bug die bei SQR 0,25 ein Ergebnis von 1,3591409 ergab an Stelle von 0,5. Der Fehler wurde von drei unnötigen Instruktionen verursacht, die das berechnete Ergebnis fehlerhaft machten. Statt alle ROM’s zu entsorgen, entschied sich Sinclair dazu ein kleine Platine zu bauen, welche über die Z80 CPU gelötet wurde. Es unterbrach die Ausführung eines der fehlerhaften Instruktionen und änderte die Instruktion so, das sie nicht länger einen Effekt auf die Fließkommaberechnung hatte. Auf Grund der Art in der die Platine die Anweisung auffängt, unterbricht und überschreibt sie auch Instruktionen die an der entsprechenden Stelle einer ROM-Cartridge aufgefangen werden. Dies führte zu Einschränkungen von Programmen die von der ROM-Cartridge liefen, wenn sie an einem ZX81 mit dem Board verwendet wurden.

Chroma Interface  - mit ZXpand
Chroma Interface – mit ZXpand

Sinclair 16K RAM Pack
Das Sinclair 16K RAM Pack ist mit dem Chroma Interface kompatibel, macht es aber nötig das das Onboard 16K RAM abgeschaltet wird, durch das Setzen von DIP-Schalter 1 auf OFF.

Sinclair ZX Printer
Der Sinclair ZX Printer ist mit dem Chroma Interface kompatibel.

ZXpand
Das ZXpand SD-Karten Interface, entwickelt von Charlie Robson ist mit dem Chroma Interface kompatibel. Das ZXpand beinhaltet 8K ROM und 32K RAM. Dies wird von dem entsprechenden Speicher des Chroma Interface überschrieben wenn es eingeschaltet ist. Durch das Kombinieren des Speichers des ZXpand mit dem Chroma Interface, ist es möglich einen durchgehenden Block Speicher im Bereich 16K-64K zu erreichen.

64K RAM Packs
64K RAM Erweiterungen sind mit dem Chroma Interface kompatibel, machen es aber erforderlich das der gesamte Speicher auf dem Board abgeschaltet wird (DIP-Schalter 1, 3, 4 und 6 auf OFF)

Internal 4K Graphics ROM
Kayde Electronic Systems und dk’tronics veröffentlichten beide ein 4K Grafik ROM Board, die intern im ZX81 angeschlossen wurden und 7 zusätzlich Zeichensätze zur Verfügung stellten. Das Chroma Interface wird die alternativen Zeichensätze korrekt darstellen, wenn diese im ZX81 präsent sind. Wie auch immer wird ein ROM Cartridge inkompatibel sein, wenn ein Grafik-ROM-Board mit dem ZX81 verbunden ist.

NTSC Unterstützung
In der Theorie arbeitet das Chroma Interface mit einem 60Hz ZX81 (oder TS1000) wurde aber noch nicht geprüft. !Anmerkung: Wie sich herausstellte, ist mein ZX81 ein Modell mit 60Hz. Durch ein paar Tests konnten wir feststellen, das mit diesem Modell nicht alles funktioniert. Ich durfte also mein Board zu Paul Farrow senden, der ein entsprechendes Upgrade vornahm – nun klappt es auch damit 🙂

Verwendung mit dem ZX80
Das Chroma Interface (oder Chroma 81 wie der komplette Name ist) wurde für den Gebrauch mit dem ZX81 entworfen. Obwohl die ZX80 Hardware wie eine Teilmenge des ZX81 erscheint, gibt es in seinem Betrieb einige subtile Unterschiede die manche Fähigkeiten von der korrekten Funktion abhalten, z.B die Farbmodi. Diese Probleme können überwunden werden, erfordern aber eine Schnittstelle die speziell für den ZX80 entworfen wurde. Ein Prototyp wurde bereits entwickelt und eine funktionierende Version wird in naher Zukunft erscheinen. Das Interface wird den Namen Chroma 80 haben und wird Fähigkeiten unterstützen die besser auf den ZX80 und die dafür verfügbare Software zugeschnitten ist.

TV Compatibility
Einige Fernseher von Panasonic implementieren anscheinend die SCART Spezifikationen nicht richtig und versetzen das Bild entweder nach links oder das Bild springt ständig von links nach rechts. Es scheint das der Fernseher erwartet dass das Video-Synchronisierungs-Signal ein Farbburst-Signal enthält, was aber nur von RF modulierten Signalen erwartet werden sollte.

Chroma Interface
Chroma Interface

Grafik Unterstützung
Quicksilva Character Board Emulation
Das QS Character Board überlagert die Zeichenpixelmuster am Ende des ZX81 ROM mit 1K RAM um zu erlauben das die normalen und inversen Zeichen neu definiert werden. Quicksilva integrierte Unterstützung für das QS Character Board in den Spielen QS Scramble, QS Asteroids und QS Invaders. Das Chroma Interface emuliert das Verhalten des QS Character Boards und erlaubt das Spielen dieser Quicksilva Spiele in ihrer erweiterten grafischen Form. Das QS Character Board muss manuell mit Switch 4 eingeschaltet werden und damit wird diese Funktionalität von dem Chroma Interface repliziert.

User Definable Characters
In einem Standard ZX81 können die Pixelmuster, die jedes Zeichen definieren nur innerhalb des ROM existieren. Zwei Hersteller (dk’tronics and Kayde Electronic Systems) verkauften ein Board das in den ZX81 eingebaut werden konnte und somit den Rechner mit zusätzlichen 4K ROM, das 7 zusätzliche Zeichensätze hatte, ausstattete. In ihrer Werbung wurde das Board einfach als Grafik ROM bezeichnet. Sechs der sieben Zeichensätze waren auf dem Kayde und dem dk’tronics ROM gleich. Das 4K ROM wurde dekodiert um sofort nach dem BASIC ROM im Speicher zu erscheinen – in einer Region die normal vom ZX81 nicht verwendet wurde.

Das Kayde und das dk’tronics Board waren im wesentlichen das Gleiche und arbeiteten indem sie den Speicherbereich aus dem die Bildschirm-Anzeige die Zeichenpixel holt erweiterten. So wie sie 4K ROM enthielten, konnten sie ebenso mit 1K oder 2K RAM ausgestattet werden und damit 2 oder 4 Sätze von benutzerdefinierten Zeichen erlaubten.

Kayde veröffentlichte die Titel Space Invaders, Centipede und Peckman für ihr Grafik-ROM. dk’tronics veröffentlichte die Titel Space Invaders, Centipede, Asteroids, Defender und Meteor Storm für ihr Grafik ROM.

Das Chroma Interface bietet die Möglichkeit, das Zeichensatz Pixelmuster innerhalb des vollen Bereiches des unteren 16K Bereichs zu lokalisieren. Dies macht es möglich, eine ROM-Kassette zu verwenden, die eine Kopie des ZX81 ROM und des Kayde oder dk’tronics Graphics ROM enthält und die alternativen Zeichensätze anzuzeigen die vom Graphic ROM zur Verfügung gestellt werden. Dies ermöglicht die Entwicklung von verbesserten grafischen Spielen die die ROMs verwenden, ohne die Notwendigkeit die ursprüngliche Hardware zu haben

Das Chroma Interface kann alternativ auch die Region zwischen dem BASIC ROM und dem Bereich für BASIC Programme 8K RAM zur Verfügung stellen. Das ermögliche es dem Benutzer eigene Zeichensätze zu entwerfen.

WRX True High Resolution Graphics
Der WRX Grafik Mechanismus erzielt eine echte hochauflösende Anzeige mit einer Kombination aus Hardware und einem benutzerdefinierte Grafiktreiber. Es erfordert, dass das /RFSH Steuersignal in das 16K RAM umgeleitet wird, damit Pixeldaten daraus gelesen werden während der Generierung des Fernsehbildes (auf einem Standard ZX81 können die Pixeldaten nur aus dem ROM-Bereich erhalten werden). Das Chroma Interface fügt die WRX Grafikunterstützung zu seinem kompletten Onboard-RAM hinzu wenn DIP-Schalter 2 eingeschaltet ist.

Chroma Interface - Unterseite
Chroma Interface – Unterseite

Einschränkungen/Hinweise

  • Das Interface gibt nur ein Bild im RGB Format aus (kein Composite Video oder S-Video)
  • Das Interface arbeitet sowohl mit dem 50Hz (UK und Europa) als auch dem 60Hz (USA) Modell des ZX81
  • Das Interface wurde mit keinem ZX81 Clone getestet und es wird daher davon ausgegangen das es auch nicht kompatibel damit ist
  • Es wird empfohlen die 1,2A Version des ZX81 Netzteils zu verwenden. Die Original 0,7A Version könnte nicht ausreichen wenn zusätzlich noch andere Geräte oder ein ROM Cartridge verwendet wird. Wenn mehr Strom aus dem Netzteil gezogen wird, als es sicher verarbeiten kann, könnte es überhitzen und eine Feuergefahr davon ausgehen
  • Der SCART Ausgang reflektiert genau das Bild das am RF Ausgang verfügbar ist. Leichtes Schimmern oder ein Beugung der oberen Reihe des Bildes wird sichtbar sein, wenn aus am origianl RF Ausgang erscheint.
  • Das Interface ist voll kompatibel mit dem ZXpand SD Karten Interface
  • Flimmerfreie Spiele die für den ZX80 entwickelt wurden, der mit dem 8K ROM Upgrade ausgestattet ist, zeigt möglicherweise wegen ungenauer Timings im Spiel kein ganz stabiles Bild an
  • Ein SCART Kabel ist nicht mit dabei. Nahezu alle kommerziell verfügbaren RGB SCART Kabel sollten passen, so dass man sich die bevorzugte Länge aussuchen kann
  • Ein RS232 Kabel ist nicht mit dabei. Wenn der PC keinen eingebauten seriellen Anschluss hat, kann auch ein USB-RS232 verwendet werden. Ein serielles Standard-Kabel (kein Crossover) ist passend für den RS232 Anschluss und kann verwendet werden zur Verbindung mit einem seriellen Drucker oder einem PC (allerdings wird erst noch eine Software zur Kontrolle des RS232 Anschlusses)
  • Der ROM Cartridge Sockel unterstützt das ZXC4 ROM Cartridge von Paul Farrow, das ein 4MB Flash ROM hat. Das ZX Cartridge Creator Utility (für Windows) kann verwendet weren um ein einzelnes ZX81 ROM in das ZXC4 ROM Cartridge mit einem Spectrum zu programmieren. Bald wird auch das ZXC3 ROM Cartridge unterstützt. In der Zukunft wird der Cartridge Creator erlauben Compilations mit vielen Programmen (ROMs und Programm Dateien) zu erstellen. Dazu soll dann direkt der ZX81 selbst mit dem RS232 verwendet werden können um das ZXC3 oder ZXC4 ROM Cartridge zu programmieren.
  • Das Chroma Interface hat kein Gehäuse (Paul Farrow hofft in der Zukunft ein Gehäuse anbieten zu können wenn es preislich vertretbar ist)
  • Der Hauptchip oder der 5V Konverter werden bei Verwendung heiß, das ist aber ein normales Verhalten
  • Moderne Fernseher neigen dazu mit der Anzeige des RF Signals des ZX81 zu kämpfen. Dies ist aber meistens ausreichend soviel vom Bild zu sehen um feststellen zu können, das der ZX81 funktioniert. Das Chroma Interface sollte nur mit dem ZX81 verbunden werden, wenn man sicher ist, das dieser auch funktioniert, sonst könnte das Interface beschädigt werden.

Wirklich toll, was Paul Farrow hier geschaffen hat – ich bin gespannt was die kommende Software noch bringen wird. Außer den vom Entwickler schon „eingefärbten“ Spielen, gibt es inzwischen schon ein paar andere – ich werde diese Spiele hier sammeln wenn ich welche „finde“.