INV

Aus C64-Wiki
Zur Navigation springenZur Suche springen
INV
Syntax: INV <zl>,<sp>,<bt>,<ho>
Parameter
zl: Bildschirmzeile (0..24)
sp: Bildschirmspalte (0..39)
bt: Breite (1..40)
ho: Höhe (1..25)
Einordnung
Typ: Anweisung
Kontext: Bildschirmkontrolle
Aufgabe: Invertieren eines Bildschirmbereichs
Abkürzung: keine
Token: $64 $0d (100 13)
Verwandte Befehle
FCOL - FILL - MOVE - FCHR - COLOUR


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

Typ: Anweisung
Syntax: INV <zl>,<sp>,<bt>,<ho>

INV invertiert Bereiche des Textbildschirms (oder den ganzen Textbildschirm). Die Farben, die dort schon vorher waren, bleiben erhalten, da die Zeichen selbst manipuliert werden (Bit 7 der Bytes im Bildschirmspeicher wird umgeschaltet).

Nützlich, wenn man bestimmte Stellen auf dem Bildschirm (z. B. selbstdefinierte Fenster) blinken lassen oder auch nur hervorheben möchte. In TSB arbeitet dieser Befehl doppelt so schnell.

Bei Über- oder Unterschreitung der zulässigen Werte (siehe Box) meldet der Interpreter die Fehlermeldung ?BAD MODE ERROR.

Beispiel[Bearbeiten | Quelltext bearbeiten]

10 PRINT CHR$(147);: CENTRE "DEMO INV"
20 SP=29: ZL=14: BT=10: HO=10: RA=160: IN=32
30 FCHR ZL,SP,BT,HO,RA
40 FCHR ZL+1,SP+1,BT-2,HO-2,IN
50 PRINT AT(SP+2,ZL+2) "-DEMO-"
60 PRINT AT(SP+2,ZL+HO-2) "TASTE!"
70 WAIT 198,255
80 INV ZL+1,SP+1,BT-2,HO-2: PAUSE 1: INV ZL+1,SP+1,BT-2,HO-2
90 PRINT AT(SP+2,ZL+HO-2) "DANKE!"
100 PRINT CHR$(19)

Das Beispiel schreibt einen Rahmen in die rechte untere Bildschirmecke, wartet und lässt den Inhalt einmal blinken.