Nascom Journal

  

Juli/August 1982 · Ausgabe 7/8

Umlaute

von Christian Peter

Umlaute und andere Sonderzeichen für den Nascom

Nachdem ich mir vor kurzem selbst die Mühe gemacht habe, herauszufinden, wie man ein 2716 EPROM als Zeichengenerator verwendet, möchte ich den anderen Lesern des Nascom Journals diese Mühe sparen und es ihnen in einem kleinen Artikel erklären:

Die Hard­ware

Der Zeichengenerator des Nascom ist auch nichts weiter als ein read-only-memory (ROM). Nachdem dieses ROM auch noch Pinkompatibel mit dem 2716 EPROM ist, stellt die Hardware kein Problem dar: Zeichengenerator-ROM gegen entsprechend programmiertes 2716 EPROM austauschen – fertig.

Funktion des Zeichengenerators

Der Viedeoteil der Nascom Platine besteht unter anderem aus einer Anzahl von Zählern, die ständig vom CPU-Quarz getaktet werden. Die Ausgänge dieser Zähler sind so verschaltet, daß sie einerseits ständig die Synchron Signale für das Videobild erzeugen und andererseits ständig den Bildschirmwiederholspeicher adressieren (’800 bis ’BFF für die CPU). Mittels Multiplexern haben sowohl die CPU als auch diese Zähler Zugriff auf diesen Speicherbereich (die CPU hat dabei Priorität).

Der Datenausgang der jeweils von den Zählern aktivierten Speicherzelle wird an die Adressleitungen A4 bis A10 des Generator-ROMs angelegt und bildet so eine „Grundadresse“ des adressierten Characters. Nachdem das Fernsehbild aber zeilenweise abgetastet wird, muß der Buchstabe auch zeilenweise abgespeichert sein. Diese Zeilenabtastung des ROM-Inhalts erfolgt auch durch einen der oben erwähnten Zähler. Der Ausgang dieses Zählers ist die sogenannte „Row“-Adresse, die an die Adressleitungen A0 bis A3 des ROM angeschlossen wird.

Durch diese Art der Adressierung wird klar, daß der Nascom grundsätzlich 16 Bildschirmzeilen braucht, um einen Character darzustellen, daß es also 16. Rows pro Buchstabe gibt. Nur beim Nascom 2 wird ein vorzeitiger Reset-Impuls für den Row-Zähler erzeugt, der bewirkt, daß nicht alle Rows abgefragt und auf dem Bildschirm dargestellt werden.

Die Bit-Information, die in der so adressierten Speicherzelle steht, wird in ein Schieberegister eingelesen und auf den Videoausgang geschiftet, wobei für jedes „1“ Bit ein heller Punkt entsteht.

Die Programmierung des 2716

Durch die beschriebene Art der Adressierung des Charactergenerator-ROMs kommen also die niedrigsten 4 Bits der Adresse vom Row-Counter, die höherwertigen 7 Bits vom Bildschirmspeicher (das 8. Bit dient ja bekanntlich zur Umschaltung auf Graphik).

Das bedeutet, daß die Adresse eines Characters im ROM leicht zu finden ist: Die Row 1 des Buchstaben „A“ liegt z.B. auf Adresse ’410, die Row 16 auf ’41F. Man braucht also den ASCII-Code nur um eine Hex-Stelle erweitern und hat die Adresse des Buchstaben im ROM. Außerdem wissen wir schon, daß jedes „1“ Bit einen hellen Punkt erzeugt.

Will ich also selber einen Character ändern oder selbst erfinden, dann brauche ich nur ein 8 x 16 Raster aufzuzeichnen, für jeden Punkt, der dann am Bildschirm hell sein soll, ein X zu machen und dann jede Zeile in eine Bit-Information umzusetzen.

Bei allen Zeichen ist zu beachten, daß normalerweise ein Abstand zwischen zwei Zeichen ist. Dieser Abstand wird einfach dadurch erzeugt, daß eine senkrechte Punktreihe leergelassen wird. Beim Standard-Zeichengenerator ist diese leere Punktreihe immer links vom Zeichen.

Als Beispiel: Umlaute



Weitere Artikel zu diesem Thema finden Sie im Nascom Journal 10-81 S.7, 1-82 S.19 und 3/4-82 S.20 ff.

Seite 58 von 60