Multicolor
Den Darstellungs-Modus Multicolor gibt es bei Zeichen, Sprites und Grafik. Er bietet bis zu vier Farben pro Kachel bzw. pro Sprite. Da bei der Darstellung von Multicolor-Pixeln jeweils zwei Bits als ein Bitpaar für die Farbangabe benutzt werden, ist die Auflösung von Multicolorzeichen, -sprites und -grafiken horizontal gegenüber dem normalen Anzeigemodus (Hires) halbiert.
Das Ein- und Ausschalten des Multicolormodus erfolgt durch Ändern der Werte in den entsprechenden zuständigen Speicheradressen des VIC z.B. mit Hilfe des BASIC-Befehls POKE.
Multicolor-Zeichen[Bearbeiten | Quelltext bearbeiten]
Im Multicolor-Modus auf Zeichenebene ist eine Besonderheit zu beachten, hier stehen nur die ersten acht Farben (0-7) zur freien Verfügung. Die höheren Farbindices (8-f) entsprechen hierbei den ersten acht Farben, schalten aber für das entsprechende Zeichen überhaupt erst den Multicolormodus ein. Wird einer der niedrigeren Farbcodes gewählt, so wird das Zeichen Monochrom mit dieser Farbe dargestellt. Somit ist es möglich, Mono- und Multicolorzeichen auf einem Bildschirm darzustellen, ohne aufwändige Darstellungstricks verwenden zu müssen.
- Der Multicolor-Modus für Zeichen wird über VIC-Adresse $D016 Bit 4 gesteuert.
- Einschalten des Multicolor-Modus:
POKE 53270,PEEK(53270) OR 16
- Ausschalten des Multicolor-Modus:
POKE 53270,PEEK(53270) AND 239
Farb-Bits | Entsprechende Farbe | Speicheradresse |
---|---|---|
00 | Bildschirmfarbe | 53281 |
01 | Multicolorfarbe 1 | 53282 |
10 | Multicolorfarbe 2 | 53283 |
11 | Farbspeicher (Zeichenfarbe) | 55296-56295 |
Multicolor-Sprites[Bearbeiten | Quelltext bearbeiten]
- Der Multicolor-Modus für Sprites wird über VIC-Adresse $D01C gesteuert.
- Einschalten des Multicolor-Modus für alle Sprites:
POKE 53276,255
- Ausschalten des Multicolor-Modus für alle Sprites:
POKE 53276,0
Ansonsten kann gezielt z.B. mit POKE 53276,X
(X = 1, 2, 4, 8, 16, 32, 64, 128 für Sprite 0 bis 7) das jeweilige Sprite auf Multicolormodus umgeschaltet werden. Durch entsprechende Addition der genannten Werte können auch mehrere Sprites gleichzeitig in den Multicolormodus gehen. Will man z.B. die drei Sprites 0-2 auf Multicolor umschalten, so erfolgt dies mit POKE 53276,7
(7 = 1+2+4).
Farb-Bits | Entsprechende Farbe | Speicheradresse |
---|---|---|
00 | Bildschirmfarbe | 53281 |
01 | Multicolorfarbe 1 | 53285 |
10 | Farbe des entsprechenden Sprites |
53287-53294 |
11 | Multicolorfarbe 2 | 53286 |
Multicolor-Grafik[Bearbeiten | Quelltext bearbeiten]
- Der Multicolor-Modus für Grafik wird über VIC-Adresse $D016 Bit 4 gesteuert.
- Einschalten des Multicolor-Modus:
POKE 53265,PEEK(53265) OR 32 : POKE 53270,PEEK(53270) OR 16
- Ausschalten des Multicolor-Modus:
POKE 53265,PEEK(53265) AND 223 : POKE 53270,PEEK(53270) AND 239
- Einschalten des Multicolor-Modus:
- Multicolor-Bilder haben eine Auflösung von 160x200 px und können pro Kachel vier verschiedene Farben enthalten.
- Jedem Bitpaar der Bitmap ist eine der vier Farben folgendermaßen zugeordnet:
Bitpaar Farbe Speicheradresse (hex) 00 Hintergrundfarbe 53281 ($D021) 01 Obere vier Bits vom Bildschirmspeicher 1024-2023 ($0400-$07E7), konfigurierbar 10 Untere vier Bits vom Bildschirmspeicher 1024-2023 ($0400-$07E7), konfigurierbar 11 Farbspeicher 55296-56295 ($D800-$DBE7)
Siehe den Artikel Multicolor Bitmap-Modus mit zusätzlichen Details.