MEMRESTORE (TSB)
MEMRESTORE (TSB) | |
Syntax: | MEMRESTORE <swt> |
Parameter | |
swt: Flag für das Zurücksetzen der Transferregister | |
Einordnung | |
Typ: | Anweisung |
Kontext: | Einbindung einer RAM-Erweiterung (REU) |
Aufgabe: | Umschalter für das automatische Neuladen der Zähl- und Adressregister |
Abkürzung: | memresT |
Token: | $64 $7A $8C (100 122 140) |
Verwandte Befehle | |
MEMLOAD - MEMREAD - MEMSAVE - MEMDEF - MEMOR - MEMLEN - MEMCONT |
Dieser Artikel beschreibt das TSB-Schlüsselwort MEMRESTORE (TSB).
Es gibt kein entsprechendes Simons'-Basic-Schlüsselwort.
Typ: Anweisung Syntax: MEMRESTORE <swt>
MEMRESTORE steuert das automatische Neuladen der Übertragungsregister nach dem REU-Transfer. Der Wert
- 0 bedeutet "nicht neu laden" und belässt alle Register auf dem zuletzt bei der Übertragung erreichten Wert.
- 1 stellt alle Transferregister auf die vor dem Transfer eingestellten Werte zurück.
Außerdem erlaubt MEMRESTORE mit einem gesetzten Bit 7 im <swt>-Parameter, dass die Transferbefehle (MEMLOAD und MEMSAVE) auch auf das Farb-RAM zugreifen können und nicht nur auf das freie RAM darunter (ab TSB-Version 2.20826).
Beispiel[Bearbeiten | Quelltext bearbeiten]
Programm zum Anzeigen des Directory-Inhalts der REU unter GoDot:
80 CLS: CSET 1 85 d$="0123456789012345678" 90 ls=LEN(d$): stringadresse holen 95 sa=PEEK(p)+256*PEEK(p+1) 100 MEMCONT 0: MEMRESTORE 1: MEMLEN LS 110 MEMPOS 0,0: MEMOR sa: MEMLOAD 120 PRINT "Directory of Drive 12: " MID$(d$,5,11): PRINT 130 nx=ASC(MID$(d$,2))+256*ASC(MID$(d$,3)): bk=ASC(MID$(d$,4)) 210 FOR l=1 TO 119 230 MEMPOS l*19,0: MEMOR sa: MEMLOAD 240 p=l: IF ASC(d$)=$c0 THEN l=119: GOTO 290 245 if ASC(MID$(d$,4))=0 THEN FOR i=0 TO ls-1: POKE sa+i,$c0: NEXT: l=119: GOTO 290 250 USE" ### ",l;: PRINT MID$(d$,4) AT(28,LIN)"$" $$(ASC(d$) AND 15); 255 PRINT $$ASC(MID$(d$,3)); $$ASC(MID$(d$,2)) 260 IF LIN=24 THEN WAIT 198,255: CLS: POKE 198,0 290 NEXT 300 PRINT: PRINT "Next entry at $" $$bk; $$nx; "," 120-p "entries left" 999 END 1000 PROC stringadresse holen 1010 SYS $80be d$: p=(PEEK(780)+256*PEEK(782))+1 1040 END PROC
$$ | %% | AT | CALL | CENTRE | CHECK | COLD | COLOUR | COPY | CLS | CSET | D! | D!PEEK | D!POKE | DIR | DISK | DISPLAY | DIV | DO | DO NULL | DRAW TO | DUMP | DUP | ELSE | ERROR | EXEC | FETCH | GRAPHICS | INSERT | INST | JOY | KEY | KEYGET | LIN | MEMCLR | MEMCONT | MEMDEF | MEMLEN | MEMLOAD | MEMOR | MEMPEEK | MEMPOS | MEMREAD | MEMRESTORE | MEMSAVE | MERGE | MOB ON/OFF | MOD | MOVE | MULTI | NRM | ON ERROR | ON KEY | OUT | PAGE | PAINT | PAUSE | PLACE | RENUMBER | RESUME | RETRACE | SCRLD | SCRSV | SOUND | TEXT | TRACE | USE | WAVE