MEMLOAD (TSB)

Aus C64-Wiki
Wechseln zu: Navigation, Suche
MEMLOAD (TSB)
Format: MEMLOAD
Parameter
keine
Einordnung
Typ: Kommando
Kontext: Einbindung einer RAM-Erweiterung (REU)
Aufgabe: Holen von Speicherbereichen aus einer REU in den C64
Abkürzung: keine
Verwandte Befehle
MEMSAVE - MEMREAD - MEMDEF - MEMOR - MEMPOS - MEMLEN - MEMCONT - MEMRESTORE


Dieser Artikel beschreibt das Schlüsselwort MEMLOAD (TSB).

Typ: Anweisung
Syntax: MEMLOAD

MEMLOAD holt einen Speicherbereich mit einer festgelegten Länge (MEMLEN) von einer vorher festgelegten Adresse in einer REU (MEMPOS) ab und speichert ihn an eine ebenso festgelegte Adresse des C64 (MEMOR). Der Befehl beachtet dabei die Einstellungen zur Transferart (MEMCONT) und zum Autoload der Adress- und Zählregister der REU-Steuereinheit (MEMRESTORE).

Mit dem folgenden kurzen Programm kann man nacheinander sieben (vorher dort abgelegte) Hires-Bilder aus der REU holen und anzeigen. Die Bilder befinden sich hier in Bank 3 der REU ab Adresse 1024. Wenn man sich auf die reinen Bilddaten beschränkt, passen in eine REU-Bank neun Hires-Bilder. Nach jedem Bild wartet das Programm auf einen Tastendruck. Tippt man beim letzten Bild "x", endet das Programm.

So sieht das Programm im Betrieb aus (Bild anklicken)



Beispiel: Programm "show images of reu"

10 COLOUR 11,12,0: PRINT "{clr}" AT(8,12) "End: 'x' on last image.": DO NULL
20 CSET 2: REPEAT
30 image=$0400: screenload: DO NULL
40 image=$2800: screenload: DO NULL
41 image=$4c00: screenload: DO NULL
42 image=$7000: screenload: DO NULL
43 image=$9400: screenload: DO NULL
44 image=$b800: screenload: DO NULL
45 image=$dc00: screenload
50 REPEAT: GET x$: UNTIL x$>""
60 UNTIL x$="x"
70 PRINT "{clr}" AT(14,12) "End of Show!" AT(0,20) "";
999 END

40100 PROC screenload
40110 MEMCONT 0
40120 MEMOR $c000: MEMPOS image,3
40130 MEMLEN 1000: MEMLOAD
40140 MEMOR $e000: MEMPOS image+$0400,3
40150 MEMLEN 8000: MEMLOAD
40160 END PROC

Zur Verdeutlichung sind hier die von TSB erzeugten "Befehlsworte" (nämlich: "screenload") klein geschrieben, da sie keine eingebauten BASIC-Befehlsworte sind, sondern erst im BASIC-Programm definiert werden. Wie man Bilder in einer REU ablegt, ist beim Befehl MEMSAVE erklärt.