DS$ (SBX)
|
Dieser Artikel beschreibt das Simons'-Basic-Extension-Schlüsselwort DS$.
Mit der Benutzung der Systemvariablen DS$ wird der Floppy Fehlerkanal ausgelesen und in die Zeichenkette DS$ mit der Länge 30 übergeben. Nicht von der Fehlerausgabe benutzte Zeichen in DS$ werden mit Leerzeichen aufgefüllt.
DS$ führt intern ein OPEN 14,8,111
durch und greift damit auf die Floppy mit der Geräteadresse 8 zu.
Durch ein vorangestelltes OPEN mit anderen Parametern können diese Vorgaben jedoch überschreiben werden.
Hinweise:
- Die Sekundäradresse wird vom Betriebssystem der Floppy mit
AND #$0F
logisch verknüpft; damit wird aus 111 eine 15, die Nummer des Befehlskanals. - Eine Alternative zum Voranstellen von OPEN ist der SB2-Patch mit
POKE $7E2B,186
, durch den die DS$-Routine statt auf Gerät 8 nun auf das aktuelle Gerät (Nummer in 186=$BA) zugreift.
Beispiele[Bearbeiten | Quelltext bearbeiten]
Variablenzuweisung:
F$ = DS$
Direkte Verwendung in der Ausgabe:
PRINT DS$
Fehlerausgabe nach LOAD von Gerät 8 (bei Start mit RUN) oder 9 (starten mit RUN11):
10 D=8:GOTO 20 11 D=9 20 PRINTCHR$(147)"LOADING ..." 30 DF$="NIX":L=0:H=204:REM $CC00 40 SYS(57812)DF$,D:POKE780,0:POKE781,L:POKE782,H:SYS65493 50 GOSUB 30010 60 END 30000 PRINTAT(2,23){rvson};DS$;{rvsonff}:PAUSE3:RETURN 30010 OPEN14,D,15:PRINTAT(2,23)){rvson};DS$;{rvsonff}:PAUSE3:RETURN
- Ab Zeile 30000 ist die einfache Variante der Fehler-Subroutine, wenn Gerät 8 benutzt wird.
- Ab Zeile 30010 ist die erweiterte Variante mit vorangestelltem OPEN, die für beliebige Gerätenummern funktioniert.
Ähnliche Befehle[Bearbeiten | Quelltext bearbeiten]
* | ADD ALL | ADD ARR | ALTER | BACK | BARRIER | BCKFLASH | BEEP | BIN$ | CALCX | CALCY | CCOL | CHAIN | CHANGE | CLEAR | CONTINUE | COPY ARR | CREATE | DEEK | DEG | DELETE | DIV ALL | DIV ARR | DOKE | DRAW TO | DS$ | ECOL | ELEMENTS | EVAL | FILTER | FIND | FONT | FORCE | GRAD | GRID | HELP | HEX$ | HIMEM | HLIN | HLOAD | HSAVE | INFO | INIT | INPUT ARR | INVERT | LABEL | LOMEM | LOW RES | MAX | MCOL | MIN | MODE | MUL ALL | MUL ARR | NORMAL | ON DETECT | PREPARE | PRINT ARR | PROTECT | PULL | PULSE | PUSH | READ ARR | RENUMBER | REVERSE | ROTATE | SCALE | SCHR | SCOL | SCRATCH | SCREEN | SCX | SCY | SET ARR | SHOW | SORT | SPRITE | SPR LOC | SPRX | SPRY | START | SUB ALL | SUB ARR | SUM | TICK | TRANSFER | UPPER | VLIN | XVEC | YVEC | ZER ARR |