Magic Disk 64

home to index to text: MD9005-KURSE-GRAFIKKURS_TEIL_6-2.txt
MD9005-KURSE-GRAFIKKURS_TEIL_6-2.koala.png

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

Valid HTML 4.0 Transitional Valid CSS!