Das ASICCRT steuert die komplette Videosignalaufbereitung. Dazu werden aus einem externen 16 MHz Takt zunächst der Punkt-, Zeilen- und Bildtakt generiert. Daraus werden dann die Synchronsignale sowie die Steuersignale für das Video-RAM gebildet. Zugriffe des Prozessors auf das Video-RAM werden über die RAMFREE-Leitung synchronisiert, so dass keine Bildstörungen auftreten. Für die Bildaufbereitung werden die Daten des Video-RAM zwischengespeichert und an das Character-Generator-ROM weitergeleitet. Die Daten des Character-Generator-ROM werden dann über ein Schieberegister in einen seriellen Datenstrom umgewandelt. Dieser Datenstrom bildet zusammen mit den Synchronsignalen das Videosignal.

Der Baustein erzeugt einen monochromen Textbildschirm mit einer Kapazität von 80 x 25 Zeichen. Die einzelnen Zeichen bestehen aus einer Matrix von 8 x 10 Punkten. Zunächst hatte ich einen umschaltbaren Grafik-Modus 640 x 250 vorgesehen, doch musste dieser aufgrund von Kapazitätsengpässen im verwendeten CPLD entfallen. Stattdessen kann jetzt zwischen einem 8-Bit Zeichensatz und einem 7-Bit Zeichensatz umgeschaltet werden. Beim 7-Bit Zeichensatz kann das 8. Bit zur Steuerung der Leuchtdichte verwendet werden. Ist das Bit gesetzt, so wird das betreffende Zeichen heller dargestellt.

Das Video-RAM ist über einen Datenpuffer 74ACT245 vom Datenbus getrennt.

Die darzustellenden Daten müssen vom Prozessor in das Video-RAM geschrieben werden. Dieses ist ab Adresse $FC0000 in den Adressraum eingeblendet. Weil aus Ressourcenmangel kein eigener Adresszähler für das Video-RAM verwendet werden konnte, ist die Adressierung der einzelnen Bildschirmzeilen etwas ungewöhnlich:

$FC0000

Bildschirmzeile 1, 1. Zeichen

$FC0001

Bildschirmzeile 1, 2. Zeichen

......................

...........................................

$FC004E

Bildschirmzeile 1, 79. Zeichen

$FC004F

Bildschirmzeile 1, 80. Zeichen

$FC0080

Bildschirmzeile 2, 1. Zeichen

$FC0081

Bildschirmzeile 2, 2. Zeichen

......................

...........................................

$FC00CE

Bildschirmzeile 2, 79. Zeichen

$FC00CF

Bildschirmzeile 2, 80. Zeichen

$FC0100

Bildschirmzeile 3, 1. Zeichen

$FC0101

Bildschirmzeile 3, 2. Zeichen

usw.

Auf das Video-RAM kann der Prozessor schreibend und lesend zugreifen. Das ASICCRT generiert nebenbei noch einen Cursor. Die Cursorposition kann vom Prozessor durch einen Zugriff auf die jeweilige Video-RAM-Adresse + $8000 festgelegt werden. Um den Cursor in Zeile 2 unter Zeichen 2 zu positionieren, muss der Prozessor auf die Speicheradresse $FC8081 ($FC0081 + $8000) zugreifen. Es unerheblich, ob dieser Zugriff schreibend oder lesend ist.

Das Äquivalenzschaltbild des ASICCRT kann hier heruntergeladen werden.

Der vorläufige Character Generator steht hier zur Verfügung. Am Character Generator werden künftig im Rahmen der weiteren Entwicklung noch Modifikationen vorgenommen, insbesondere was die Darstellung von Umlauten und Sonderzeichen angeht.