UP

Aus C64-Wiki
Zur Navigation springenZur Suche springen
UP
Syntax: UPB / W <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: Aufwärtsscrollen eines Bildschirmbereichs
Abkürzung: keine (TSB: uP für UPB)
Token: $64 $11 (100 17) / $64 $12 (100 18)
Verwandte Befehle
DOWN - LEFT - RIGHT


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

Typ: Anweisung
Syntax: UPB / W <zl>,<sp>,<bt>,<ho>

UPB bzw. UPW erlaubt es dem Programmierer, Bereiche des Textbildschirms inklusive der Farben zeilenweise nach oben zu scrollen. In der untersten, freiwerdenden Zeile werden je nach Typ des Befehls Leerzeichen aufgefüllt (UPB, das "B" steht für "blank"), was nur einen einzigen kompletten Scrollvorgang erlaubt, oder die oben herausfallenden Zeichen wieder eingefügt (UPW, das "W" steht für "wrap"), was mit dem gleichen Inhalt immer wieder durchgeführt werden kann.

Leider handelt es sich bei diesem Scrolling um ein zeichenweises Scrolling, das in jedem Falle recht ruckelig wirkt. Pixelweises Scrolling ("Smooth Scrolling") ist mit Simons'-Basic-Befehlen nicht möglich.

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

Beachten: Wenn UPB oder UPW direkt am unteren Bildschirmrand enden (Zeile 24), kann es öfter zu "Geisterzeichen" dort kommen, die sehr störend sein können, allerdings keinen schwerwiegenden Folgefehler verursachen (behoben in TSB).


Beispiel[Bearbeiten | Quelltext bearbeiten]

100 PRINT CHR$(147): COLOUR 11,12: CSET 0
110 FOR X=0 TO 11
120 PRINT AT(X+15,X) CHR$(109)
130 NEXT
140 FOR X=12 TO 23
150 PRINT AT(23-X+15,X) CHR$(110)
160 NEXT
170 PAUSE 2
180 REPEAT: GET X$: UPW 0,15,12,24: UNTIL X$>""

Das Beispiel erzeugt eine wandernde Zickzacklinie. Abbruch ist per Tastendruck möglich. UPW lässt hier den Zickzack nach oben bewegen.

Beispiel übernommen und angepasst aus dem Buch "Das Trainingsbuch zum Simons' Basic".