---------------------------------------------------
Anhang
B
Vorschlag
für einen speziellen
Zeichensatz
für die neuen Grafik-Modi
---------------------------------------------------
In
diesem Anhang werden die neuen Grahik-Modi 12, 13, 14 und 15 behandelt. Die Bildschirm-Modi
14 und 15 sind reine Graphik-Modi mit einer Auflösung von 160 mal 20 bzw. 160
mal 40 Pixel. Da sie keine Zeichen-Modi sind, bezieht sich die nachfolgende Besprechung
nur auf die Modi 12 und 13.
In
den Bildschirm-Modi 12 und 13 werden mit dem normalen Zeichensatz keine lesbaren
Zeichen erzeugt. Dies wird durch einen Vergleich zwischen Modus 0 und 12 bzw. 13
verständlich:
Modus
0 ist ein 40-Zeichen-Modus, bei dem jeder Buchstabe aus 9 waagerechten Pixeln besteht
(kleinste waagerechte Bildschirm-Auflösung). Jedes Pixel besitzt eine Breite
von 1/2 Color-Clock.
Die
Bildschirm-Modi 12 und 13 besitzen ebenfalls 40 Zeichen pro Zeile, aber jeder Buchstabe
besteht aus nur 4 waagerechten Pixeln, die jeweils eine Breite von einem Color-Clock
besitzen. Ein Buchstabe ist daher genauso groß wie im Modus 0. Es ist wesentlich
schwieriger, mit einer Auslösung von 4x8 Pixeln ein Zeichen darzustellen, als
mit 8x8 Pixeln.
‹berprüfen
wir zunächst, wie ein 4-Pixel-Zeichen im Vergleich zu einem 8-Pixel-Zeichen
aufgebaut ist:
Im
Modus Null ist eine Wahl zwischen zwei Farben für jedes Pixel möglich.
(Im Hardware-Manual werden 1 1/2 angegeben, aber es gibt zum einen die Farbe und
Helligkeit des 2. Playfields - wenn sich eine 0 im entsprechenden Bit befindet -
oder die Farbe und Helligkeit des 1. Playfields - sofern sich eine 1 an der entsprechenden
Bit-Position befindet). Es wird daher nur ein einzelnes Bit zur Definition eines
1/2 Color-Clock breiten Pixels benötigt. Der im OS vorhandene Zeichensatz definiert
die Zeichen in einer 8 mal 8 Matrix, die durch jeweils 9 Bytes festgelegt wird. (Jedes
Byte gibt das Aussehen des Buchstaben oder Zeichens in einer Scan-Line an).
Modus
12 benötigt ebenfalls 8 Scan-Lines pro Zeichen. Allerdings werden die Bytes
der Zeichen-Definition anders verwendet: jedes der von ANTIC eingeholten Datenbytes
wird als eine Einheit von vier 2-Bit Werten behandelt, wobei jedes Bit-Paar die Farbe
eines der 2 Color-Clocks breiten Pixel im Zeichen festlegt. Im Modus 13 werden die
Datenbytes genauso aufgespalten, aber anders als bei Modus 12 sind die einzelnen
Zeichen 16 anstatt 8 Scan-Lines hoch. Ein Datenbyte gibt daher das Aussehen von jeweils
zwei Scan-Lines an.
Betrachten
wir nun ein normales Zeichen, z.B. das W. Die den
Buchstaben
darstellenden Bits sind folgendermaßen angeordnet:
10000001 Anzeige: *
*
10000001
* *
10011001
* **
*
10011001
* **
*
10100101
* * * *
10100101
* * * *
11000011
** **
11000011
** **
10000001
* *
Anmerkung:
Dies ist nicht die exakte Darstellung, wird aber hier verwendet, um den Unterschied
zwischen der richtigen Bildschirm-Darstellung in Modus 0 und der falschen in den
Modi 12 und 13 zu verdeutlichen.
Betrachtet
man nun das Ergebnis der Bit-‹bertragung auf den Bildschirm, so ergibt sich in der
Tat ein lesbares ìWî. Die Bits geben die jeweiligen Punkte des Zeichens
an.
Im
Modus 0 erzeugt jede 1 eine Farbe, eine 0 den Hintergrund, so das ein lesbarer Buchstabe
entsteht.
In
den Modi 12 und 13 ist dies nicht der Fall, da die 4 (anstatt 8) Pixel wie folgt
kontrolliert werden:
Wert des Bit-Paares:
Farbe des Pixels:
00
Hintergrundfarbe
01
Farbe von Playfield 0
10
Farbe von Playfield 1
11
Farbe von Playfield 2
(wenn Bit 7 des Zei-
chennamens = 0)
11
Farbe von Playfield 3
(wenn Bit 7 dem Zei-
chennames = 1 ).
Für
das gezeigte Beispiel wäre die 4. Zeile von unten folgendermaßen gefärbt:
4 Pixel in den Farben Playfield 1, 1, 0 und 0. Die Farben der letzten Zeile wären
Playfield 1, Hintergrundfarbe, Hintergrund und Playfield 0. Ein solches Zeichen ist
verständlicherweise nicht mehr lesbar. (Dieser Buchstabe ist dabei noch spiegelsymmetrisch
zur Mittelachse - nichtsymmetrisch Zeichen
wären noch schwerer zu erkennen.)
Ein
Zeichensatz für diese Bildschirm-Modi 12 und 13 könnte so aufgebaut werden,
daß jeweils zwei Datenblöcke von 8 Bytes aufgestellt werden, so daß
ein Buchstabe wieder eine Breite von 8 Pixel erhält. Um einen Buchstaben in
dieser Form auf den Bildschirm auszugeben, müßte verfahren werden, wie
bei der Ausgabe von zwei Zeichen im Modus 0. So könnte ein ìWî
z.B. wie folgt aufgebaut werden:
Byte-Satz l: Byte-Satz 2:
10 00 00 00 00 00 00
10
10 00 00 00 00 00 00
10
10 00 00 10 10 00 00
10
10 00 00 10 10 00 00
10
10 00 10 00 00 10 00
10
10 00 10 00 00 10 00
10
10 10 00 00 00 00 10
10
10 10 00 00 00 00 10
10
10 00 00 00 00 00 00
10
Byte-Satz
1 könnte z.B. an ATASCII-Stelle $57 des neuen Zeichensatzes definiert werden.
Byte-Satz 2 an Stelle $D7 (= $57 plus $80). Natürlich bleibt diese Verteilung
jedem Benutzer selbst überlassen.
Werden
diese beiden Zeichen auf den Bildschirm gedruckt, so erhält man zum einen zwar
ein lesbares Zeichen, zum anderen aber passen nur noch 20 Buchstaben in eine Zeile.
Die Bit-Kombination 10 entspricht hierbei der 1 im Beispiel für Modus 0, die
Kombination 00 der 0. Der entsprechende Buchstabe besitzt also die gleiche Form,
wie im Beispiel für Modus 0.
Der
Benutzer besitzt auch die Möglichkeit, die Zeichen in einem von einer 8 x 8
Matrix differierenden Gitter zu definieren. (Bei dem gegebenen Beispiel bestünden
zwischen den einzelnen Zeichen keine Lücken. Sie würden auf dem Bildschirm
ineinander übergehen.)
Durch
die Modi 12 und 13 können auch Buchstaben und Zeichen erzeugt werden, die aus
mehreren Farben gleichzeitig bestehen. Es ist also, wie im Kapitel 3 des DE RE ATARI
angesprochen, die Darstellung mehrfarbiger Karten usw. mit einem Zeichensatz möglich.