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