SCRLD (TSB)

Aus C64-Wiki
Zur Navigation springenZur Suche springen
SCRLD (TSB)
Format: SCRLD <fn>,<dr>,<sa>,<name> [+",<ft>,R"]
Parameter
fn: Dateinummer
dr: Laufwerk
sa: Sekundäradresse (2 oder 3)
name: Dateiname
ft: Dateityp (U, S, P)
Einordnung
Typ: Anweisung
Kontext: Ein- / Ausgabe
Aufgabe: lädt einen Textbildschirm oder eine Grafik-Bitmap
Abkürzung: keine
Verwandte Befehle
SCRSV - MERGE - LIN - LOAD - SAVE


Dieser Artikel beschreibt das TSB-Schlüsselwort SCRLD (TSB).
Das entsprechende Simons'-Basic-Schlüsselwort lautet ebenfalls SCRLD.

Typ: Anweisung
Syntax: SCRLD <fn>,<dr>,<sa>,<name> [+",<ft>,R"]

1. Alternative

Siehe den gleichlautenden Simons'-Basic-Befehl SCRLD, allerdings sollte dann die Sekundäradresse 0 oder 2 (oder eine beliebige gerade Zahl) sein. Diese Alternative lädt einen Textbildschirm inklusive seiner Farben.

2. Alternative

Der TSB-Befehl SCRLD ist zusätzlich in der Lage, die Bitmap eines Grafikbildes zu laden. Dazu ist nur eine winzige Änderung in der Parameterangabe erforderlich: Die Sekundäradresse <sa> muss ungerade sein, typischerweise wird "3" verwendet (siehe auch Beispiel). TSB lädt 8192 Bytes, d.h. den kompletten Grafikpuffer (unter TSB ab $E000), erwartet also eine 33 Blöcke große Datei.

Hinweis: Die Bildfarben lädt TSB nicht, es gibt aber eine einfache Möglichkeit, auch diesen Nachteil zu umgehen. Wenn man mit POKE $B21C, $C0: SCRSV 1,DR,2,"NAME,P,W": POKE $B21C,4 die Grafikfarben in einer zweiten Datei abgespeichert hat, kann man sie mit den gleichen POKEs auch wieder laden. Bei Bildern im Multicolor-Modus muss man sich irgendwie die Hintergrundfarbe merken, am besten im Filenamen der Farbendatei, damit die Farbnummer nicht in Vergessenheit gerät.

Beachten: Entgegen der TSB-Eigenschaft, bei Befehlen, die die Floppy-Laufwerke ansprechen, die Gerätenummer wegfallen lassen zu können, muss sie bei SCRLD (genau wie bei OPEN) ausdrücklich mit angegeben werden. Intern greift TSB jedoch immer auf die mit USE eingestellte Diskette zu. Ist deren Laufwerk nicht vorhanden, produziert dieser Zugriff einen Floppy-Error.

Beispiel[Bearbeiten | Quelltext bearbeiten]

1550 PROC TSBLOAD
1560 HIRES 1,0: MULTI 11,12,15
1565 SCRLD 1,I8,3,"IMAGE *"
1570 POKE $B21C,$C0
1575 SCRLD 1,I8,2,"IMAGETOOLS"
1580 COLOUR BG
1585 POKE $B21C,4
1595 END PROC

Lädt eine Grafik samt Farben unter dem angegebenen Namen in zwei Dateien von Disk auf Gerät gemäß Variable I8. Die Variable BG enthält die Nummer der Hintergrundfarbe aus dem Dateinamen "IMAGE"+STR$(BG). Die Werte bei HIRES und MULTI sind beliebig, da sie von den Dateien überschrieben werden.