Grafikkurs Teil 6 .2
Sie sehen hier wie die Grafikpunkte innerhalb 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 haben hier also 3 Bits, in denen wir die
Farbe für die "11"- Bitkombination angeben können. Somit haben wir die Möglichkeit nur schlappe 8 Farben für diese
Multicolorfarbe festzulegen, anstelle
der sonst 16 möglichen. Zugegeben - ein
Nachteil, jedoch wird diese Einschränkung 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 miteinander zu kombinieren, so daß sie im
oberen Teil des Bildschirms beispielsweise eine kleine Grafik darstellen können, zusammengesetzt aus Multicolorzeichen, und im unteren Teil des Bildschirms 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 Multicolordarstellung jenes Zeichens aktiviert, ist es jedoch gelöscht, so wird
das Zeichen in ganz normaler Darstellung
angezeigt. Experimentieren Sie doch einmal ein wenig mit dem Multicolorzeichensatz; 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 Bildschirmspeichers), mit der Nummer 55296 .
Das Zeichen sollte nun in Weiß und normaler Auflösung dort erscheinen. Schreiben Sie jetzt eine 9 in die Farbadresse
des Zeichens, so wird es in Multicolordarstellung 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 Farbtabelle 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 Hintergrundfarben Modus", und genau das ist es
was dieser Modus bewirkt. Durch das Einschalten dieses Modus schrumpft der Darstellbare Zeichensatz von 256 Zeichen
auf genau ein Viertel, nämlich 64 Zeichen zusammen. Diese 64 Zeichen können
nun jedoch in 4 verschiedenen Hintergrundfarben dargestellt werden. Diese
Farben werden wie beim Multicolormodus
in den 4 Hintergrundfarbregistern ( Register 33-36) des VIC festgelegt. Das dargestellte Zeichen selbst erscheint in
der Farbe der entsprechenden Farbramadresse 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 beschriebene Funktion des VIC erläutert.
Jetzt jedoch noch zu weiteren Einzelheiten des " Extended Background Color Mode"
( im weiteren EBC-Modus) . Zunächst einmal
die Befehle zum Einund 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 Bildschirmcodes von 0 bis 63 . Der Unterschied, in welcher Hintergrundfarbe ein
Zeichen nun dargestellt wird, besteht in
den Bildschirmcodes im Bildschirmspeicher. Die Codes 0-63 lassen die entsprechenden Zeichen mit der Hintergrundfarbe
aus Farbregister 0(= VIC-Register 33) erscheinen. Die Codes 64-127 die zeigen DIESELBEN Zeichen, jedoch mit der Hintergrundfarbe 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 entsprechen die Bildschirmcodes 1+1*64=65,1+2*64=129 und 1+3*64=193 jedoch ebenfalls dem Buchstaben " A", allerdings mit
dem Unterschied, daß der Buchstabe jeweils in verschiedenen Hintergrundfarben
erscheint. Um also den enstprechenden
EBC-Bildschirmcode eines Zeichens zu
ermitteln, braucht man lediglich zu dem
absoluten Bildschirmcodes dieses Zeichens 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 Feinheiten des VIC erklären, mit denen sich
schöne Effekte erzielen lassen. Im Einzelnen 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, jedoch befinden sich in diesen beiden Registern noch einige Bits, die wir noch
nicht kennen, mit denen wir jedoch ungeanhte Möglichkeiten aus dem VIC rausholen 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. . .