
Grafikkurs Teil 6.2
Sie sehen hier wie die Grafikpunkte in-
nerhalb der Zeichen gesetzt sein müssen,
und wo sich der VIC nun die Farben für
die Normaldarstellung herholt.
Nun jedoch zum MÖSSEN und KÜNNEN. Wie
Sie sehen, wird die vierte Farbe eines
Zeichens ja durch die Bits 0 bis 2 der
entsprechenden Farbramadresse eines
Bildschirmzeichens dargestellt. Wir ha-
ben hier also 3 Bits, in denen wir die
Farbe für die "11"-Bitkombination ange-
ben können. Somit haben wir die Möglich-
keit nur schlappe 8 Farben für diese
Multicolorfarbe festzulegen, anstelle
der sonst 16 möglichen. Zugegeben - ein
Nachteil, jedoch wird diese Einschrän-
kung durch einen erheblichen Vorteil
wieder von höchst positiv zu wertender
Bedeutung. Das 3. Bit des Farbrams (in
dem man sonst ja das vierte Bit für die
Farbinformation ablegen könnte, so daß
man 16 Farben zur Verfügung hätte) fun-
giert im Multicolormodus für Zeichen
nicht mehr als Farbinformationsträger,
sondern es gibt dem VIC Auskunft darü-
ber, ob das entsprechende Zeichen nun
tatsächlich in Multicolordarstellung auf
dem Bildschirm erscheinen soll, oder in
normaler Auflösung! Somit bietet sich
die Möglichkeit beide Zeichenmodi mitei-
nander zu kombinieren, so daß sie im
oberen Teil des Bildschirms beispiels-
weise eine kleine Grafik darstellen kön-
nen, zusammengesetzt aus Multicolorzei-
chen, und im unteren Teil des Bild-
schirms einen ganz normalen Text stehen
haben, in normaler Zeichenauflösung
natürlich.
Ist das 3. Bit in der Farbramadresse
eines Zeichens gesetzt, so wird die Mul-
ticolordarstellung jenes Zeichens akti-
viert, ist es jedoch gelöscht, so wird
das Zeichen in ganz normaler Darstellung
angezeigt. Experimentieren Sie doch ein-
mal ein wenig mit dem Multicolorzeichen-
satz; schreiben Sie einmal ein Zeichen
in die Ecke links oben des Bildschirms
und schalen Sie den Multicolormodus ein.
Nun POKEen Sie den Wert 1 in die erste
Farbramadresse (das Zeichen steht ja
auch in der ersten Adresse des Bild-
schirmspeichers), mit der Nummer 55296.
Das Zeichen sollte nun in Weiß und nor-
maler Auflösung dort erscheinen. Schrei-
ben Sie jetzt eine 9 in die Farbadresse
des Zeichens, so wird es in Multicolor-
darstellung erscheinen, wobei die vierte
Multicolorfarbe Weiß ist (9 enstpricht
Binär 1001, wobei das 3. Bit ja wegfällt
- die effektive Farbe ist also 001 was
dezimal 1 und somit die Farbe Weiß ist -
Sie erinnern sich ja noch an die Farbta-
belle die ich schon häufiger zitierte).
Mit dem Multicolorzeichensatz ergeben
sich ja schon immense Möglichkeiten der
Grafikdarstellung, kommen wir nun aber
noch zu einem weiteren Modus, in dem wir
einen Zeichensatz auf dem Bildschirm
darstellen können, dem "Extended Back-
ground Color Mode".
Öbersetzt heißt das "Erweiterter Hinter-
grundfarben Modus", und genau das ist es
was dieser Modus bewirkt. Durch das Ein-
schalten dieses Modus schrumpft der Dar-
stellbare Zeichensatz von 256 Zeichen
auf genau ein Viertel, nämlich 64 Zei-
chen zusammen. Diese 64 Zeichen können
nun jedoch in 4 verschiedenen Hinter-
grundfarben dargestellt werden. Diese
Farben werden wie beim Multicolormodus
in den 4 Hintergrundfarbregistern (Regi-
ster 33-36) des VIC festgelegt. Das dar-
gestellte Zeichen selbst erscheint in
der Farbe der entsprechenden Farbrama-
dresse eines Zeichens. Zur besseren Erl-
äuterung sollten Sie sich einmal das
Programm "ZEICHENDEMO" auf der Rückseite
dieser MD anschauen. Es sind dort auch
noch eine Multicolordemo enthalten und
eine Demo, die eine weiter unten be-
schriebene Funktion des VIC erläutert.
Jetzt jedoch noch zu weiteren Einzelhei-
ten des "Extended Background Color Mode"
(im weiteren EBC-Modus). Zunächst einmal
die Befehle zum Ein- und Ausschalten
desselben. Hierfür ist Register 17 des
VIC (Adresse 53265) zuständig. Wird hier
das 6. Bit gesetzt, so wird der EBC-
Modus eingeschaltet. Somit ergeben sich
die Befehle:
POKE V+17,PEEK(V+17) OR 64
zum Einschalten und
POKE V+17,PEEK(V+17) AND NOT 64
zum Ausschalten.
Die 64 darstellbaren Zeichen des EBC-
Modus enstprechen den 64 ersten Zeichen
eines Zeichensatzes und somit den Bild-
schirmcodes von 0 bis 63. Der Unter-
schied, in welcher Hintergrundfarbe ein
Zeichen nun dargestellt wird, besteht in
den Bildschirmcodes im Bildschirmspei-
cher. Die Codes 0-63 lassen die entspre-
chenden Zeichen mit der Hintergrundfarbe
aus Farbregister 0 (=VIC-Register 33)
erscheinen. Die Codes 64-127 die zeigen
DIESELBEN Zeichen, jedoch mit der Hin-
tergrundfarbe aus dem Farbregister 1
(=VIC-Register 34) an, und so fort.
Hierzu eine Tabelle:
Zeichen Farbreg. VIC-Reg. Adresse
---------------------------------
0-63 0 33 53281
64-127 1 34 53282
128-191 2 35 53283
192-255 3 36 53284
Ein Beispiel: Der Buchstabe "A" hat den
Bildschirmcode 1. Im EBC-Modus entspre-
chen die Bildschirmcodes 1+1*64=65,
1+2*64=129 und 1+3*64=193 jedoch eben-
falls dem Buchstaben "A", allerdings mit
dem Unterschied, daß der Buchstabe je-
weils in verschiedenen Hintergrundfarben
erscheint. Um also den enstprechenden
EBC-Bildschirmcode eines Zeichens zu
ermitteln, braucht man lediglich zu dem
absoluten Bildschirmcodes dieses Zei-
chens die Farbregisternummer multipli-
ziert mit 64 zu addieren. Daraus ergibt
sich die Formel:
EBC-Code=Bildschirmcode+Farbregister*64
Auch dies ist in dem schon erwähnten
Programm "ZEICHENDEMO" in einem Beispiel
erläutert.
Hiermit hätten wir das Thema "Grafik" im
allgemeinen schon abgehandelt. Jedoch
möchte ich Ihnen nun noch einige Fein-
heiten des VIC erklären, mit denen sich
schöne Effekte erzielen lassen. Im Ein-
zelnen handelt es sich hierbei um die
beiden Steuerregister des VIC Nummer 17
und 22. Diese hatten wir ja teilweise
schon bei einzelnen Themen erwähnt, je-
doch befinden sich in diesen beiden Re-
gistern noch einige Bits, die wir noch
nicht kennen, mit denen wir jedoch un-
geanhte Möglichkeiten aus dem VIC raus-
holen können.
Mit diesen beiden Registern kann man
nämlich den Bildschirm selbst und seine
Lage steuern. In beiden stehen uns
hierfür jeweils 4 Bit zur Verfügung,
genauer gesagt die Bits 0-3.
Das Bild vor dem nächsten Kursteil zeigt
die Belegung der Bits...