SCRSV
SCRSV | |
Syntax: | SCRSV <fn>,<dr>,<sa>,<name>+",<ft>,w" |
Parameter | |
fn: Dateinummer | |
dr: Laufwerk | |
sa: Sekundäradresse (2) | |
name: Dateiname | |
ft: Dateityp (u, s, p) | |
Einordnung | |
Typ: | Anweisung |
Kontext: | Ein- / Ausgabe |
Aufgabe: | speichert einen Textbildschirm |
Abkürzung: | keine |
Token: | $64 $6d (100 109) |
Verwandte Befehle | |
SCRLD - MERGE - LOAD - SAVE |
Dieser Artikel beschreibt das Simons'-Basic-Schlüsselwort SCRSV.
Typ: Anweisung Syntax: SCRSV <fn>,<dr>,<sa>,<name>+",<ft>,W"
Mit SCRSV kann ein Programmierer Textbildschirme (z. B. Bildschirmmasken) abspeichern, um sie später bei Bedarf schnell und Platz sparend zur Verfügung zu stellen, denn der Code zum Aufbau einer solchen Maske bräuchte im endgültigen Anwendungsprogramm nicht vorzukommen. SCRSV speichert eine 2×1000 Bytes lange Datei, in der byteweise abwechselnd das Video-RAM und das Farb-RAM aufsteigend in einem 250-Byte-Abstand liegen. Die Datei enthält keine Startadresse.
Der Befehl benötigt die gleichen Parameter, die auch der BASIC-Befehl OPEN verwendet:
- eine logische Dateinummer <fn>, (1 bis 255)
- eine Laufwerksangabe <dr>, 1 (Datasette) bzw. 8 bis 11 (Diskettenlaufwerke)
- eine Sekundäradresse <sa>, wobei diese Zahl vom angeschlossenen Gerät abhängt; bei Floppys sind Werte von 2 bis 14 zulässig, eine Datasette benötigt hier 1 oder 2
- ein Dateiname <name>, mit einer Maximallänge von 16 Zeichen
- eine Angabe über den gewünschten Dateityp <ft> der Datei, "S" = SEQ, "U" = USR und "P" = PRG
- die letzte Angabe muss "W" (für "Write") lauten, sonst wird nicht gespeichert
Mögliche Fehlermeldungen sind alle diejenigen, die auch SAVE bzw. OPEN verursachen würden.
Beachten: Gesichert wird immer der Bildschirmspeicher ab $0400. Nach MEM beginnt allerdings der Bildschirmspeicher bei $CC00, so dass in diesem Fall nicht der sichtbare Bildschirm gespeichert wird.
Dieser Befehl wurde in TSB um weitere Funktionen ergänzt, siehe SCRSV (TSB).
Beispiel[Bearbeiten | Quelltext bearbeiten]
Das folgende Beispiel basiert auf dem im Simons' Basic Handbuch enthaltenen Programm:
10 PRINT CHR$(147) 20 FILL 6,10,20,4,160,2 30 FILL 10,10,20,4,160,1 40 FILL 14,10,20,4,160,6 50 WAIT 198,1 60 SCRSV 2,8,2,"TRICOLOR.SRC,S,W"
Zeile 60 speichert den Bildschirm unter dem angegebenen Namen (als sequentielle Datei) auf Diskette.
$ | % | @ | ANGL | ARC | AT | AUTO | BCKGNDS | BFLASH | BLOCK | CALL | CENTRE | CGOTO | CHAR | CHECK | CIRCLE | CMOB | COLD | COLOUR | COPY | CSET | DELAY | DESIGN | DETECT | DIR | DISABLE | DISAPA | DISK | DISPLAY | DIV | DOWN | DRAW | DUMP | DUP | ELSE | END LOOP | END PROC | ENVELOPE | ERRLN | ERRN | EXEC | EXIT | EXOR | FCHR | FCOL | FETCH | FILL | FIND | FLASH | FRAC | GLOBAL | GRAPHICS | HI COL | HIRES | HRDCPY | INKEY | INSERT | INST | INV | JOY | KEY | LEFT | LIN | LINE | LOCAL | LOOP | LOW COL | MEM | MERGE | MMOB | MOB OFF | MOB SET | MOD | MOVE | MULTI | MUSIC | NO ERROR | NRM | OFF | OLD | ON ERROR | ON KEY | OPTION | OUT | PAGE | PAINT | PAUSE | PENX | PENY | PLACE | PLAY | PLOT | POT | PROC | RCOMP | REC | RENUMBER | REPEAT | RESET | RESUME | RETRACE | RIGHT | RLOCMOB | ROT | SCRLD | SCRSV | SECURE | SOUND | TEST | TEXT | TRACE | UNTIL | UP | USE | VOL | WAVE