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 HARDWARE
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.
|