MULTI

Aus C64-Wiki
Zur Navigation springenZur Suche springen
MULTI
Syntax: MULTI <farbe1>, <farbe2>, <farbe3>
Parameter
farbe1: 0..15 (Bitkombination %01)
farbe2: 0..15 (Bitkombination %10)
farbe3: 0..15 (Bitkombination %11)
Einordnung
Typ: Anweisung
Kontext: Grafik
Aufgabe: Färben und Aktivieren der Multicolorgrafik
Abkürzung: keine
Token: $64 $19 (100 25)
Verwandte Befehle
CSET - HIRES - NRM - COLOUR - LOW COL


Dieser Artikel beschreibt das Simons'-Basic-Schlüsselwort MULTI.

Typ: Anweisung 
Syntax: MULTI <farbe1>, <farbe2>, <farbe3>

Die ersten beiden Parameter nehmen jeweils Werte von 0 bis 15, der dritte einen Wert von 0 bis 255 an, allerdings wird für das Setzen der Farbe nur 0 bis 15 benutzt.


MULTI legt drei der Farben des Multicolor-Modus des C64 fest und schaltet den Multicolor-Modus ein. Die vierte mögliche Farbe (die Hintergrundfarbe, Multicolor-Bitkombination %00, gesteuert durch Speicheradresse $D021) wird mit dem Befehl COLOUR definiert. Der erste Parameter von MULTI (<farbe1>) steuert die Farbe der Bitkombination %01, <farbe2> entspricht der Farbe der Bitkombination %10 (beide im Speicherbereich ab $C000 zu finden) und <farbe3> färbt die Bitkomination %11 ein (im Farbspeicher ab $D800). Kehrt Simons' Basic in den Direktmodus zurück, wird MULTI automatisch deaktiviert.

Wichtig: Im Multicolor-Modus beziehen sich die Farbquellangaben aller Grafikbefehle auf die hier mit MULTI festgelegten Farben. Bei Angabe der Farbquelle "0" in einem Grafikbefehl wird die Hintergrundfarbe ausgewählt (siehe COLOUR), die Angaben von "1..3" wählen von links nach rechts die Farben hinter MULTI (bzw. LOW COL) aus. Die Farbquellangabe "4" invertiert den angesteuerten Pixel, d.h., dass die Hintergrundfarbe (%00) nun in <farbe3> ausgegeben wird, <farbe1> (%01) erscheint nun als <farbe2>, <farbe2> (%10) als <farbe1> und <farbe3> (%11) als Hintergrundfarbe (siehe auch unter Simons' Basic Farbquelle).

Beachten: MULTI verändert die Farben auch für den Textbildschirm (die Schreibfarbe erscheint in <farbe3> und die Hintergrundfarbe wurde geändert), so dass nach der Rückkehr aus dem Grafikmodus möglicherweise Texte unleserlich geworden sind. Der Befehl FCOL ist hier nützlich, um den Textscreen wieder lesbar einzufärben.

Wird kein Parameter eingegeben, so erscheint die Fehlermeldung ?SYNTAX ERROR, bei einem falschen Wert erscheint ?BAD MODE ERROR.

Beispiel[Bearbeiten | Quelltext bearbeiten]

10 COLOUR 5,7: HIRES 10,1: BLOCK 0,0,100,100,1 
20 WAIT 198,255: POKE 198,0
30 MULTI 12,15,1: WAIT 198,255

CSET 2: WAIT 198,255

Das Beispiel schaltet die Grafik an, zeigt ein hellrotes Quadrat auf weißem Hintergrund und wartet auf einen Tastendruck, dann wird umgefärbt in mittelgrau, hellgrau und weiß; der letzte, interaktive Befehl zeigt die Grafik erneut, allerdings mit Farben wie nach HIRES 12,15, da zuvor MULTI ausgeführt wurde.