RSX-Erweiterung für CPC

Bei Argumenten, an deren Ende ein Wert in Anführungszeichen steht, darf der Wert des Arguments diese Zahl nicht überschreiten; ansonsten wird die Fehlermeldung Umproper argument" ausgegeben. Werden zuwenig oder zuviele Argumente übergeben, wird ein "Syntax Error" ausgegeben. Die Fehlerzeilen werden allerdings nicht richtig angezeigt. Werden die Befehle im Direktmodus benutzt, ist auf korrekte Angabe der Argumente zu achten (Vorsicht: Absturzgefahr!).

ISORT,@I$(0), Anzahl, Position '255'

Dieser Befehl sortiert ein Stringarray ab dem Übergabeelement +i (wurde z. B. z$(2) übergeben, dann wird ab z$(3) sortiert). Der Wert bestimmt, wieviele Feldelemente sortiert werden sollen. gibt an, ab welcher Stelle die Strings verglichen werden sollen. Beim Vergleich wird der deutsche Zeichensatz berücksichtigt. Die Angabe der Position ist wahlweise. Wird dieser Wert nicht angegeben, wird dafür 1 angenommen.

Wird ein anderes Element als das nullte übergeben, ist der Übergabestring vor dem Befehlsaufruf zu retten.
Beispiel:

100 r$=k$(39) : n=40  

110 ISORT,k$(39),n,5 : REM sortieren von k$(40) bis  

120 k$(39)=r$ : REM k$(80) ab dem 5 Zeichen  

|RECT, a, b, x, y, pen' 15', fill' 255'

Dieser Befehl zeichnet ein Rechteck. Die Angabe von X,Y und Pen ist wahlweise. Ohne <Y,X> wird bei der letzten Grafikcursorposition begonnen. Ist nicht angegeben, wird der bei dem letzten Grafikbefehl verwandte Stift genommen'. Ist null, wird nur ein Rechteck gezeichnet. Jeder von Null verschiedene Wert führt zu einem ausgefüllten Rechteck.

|LINE  y,xr,yr,pen '15'

Es wird eine Linie von der absoluten Position <X,Y> zu <xr,yr> gezeichnet. Für Pen gilt das gleiche wie bei RECT.

|SCROLLUP, links, rechts, oben, unten, paper' 15'

Der Bildschirmauschnitt wird um 1 Zeile abwärts gescrollt. Die neue Zeile hat die Farbe, die mit Paper angegeben wird (kann weggelassen werden).

|SCROLLDOWN, links, rechts, oben, unten, paper' 15'

Der Bildschirmausschnitt wird um 1 Zeile aufwärts gescrollt (Paper wie oben). Bei den Scroll-Befehlen wird nur überprüft, ob der linke und obere Wert kleiner ist als der rechte und untere Wert, d.h. da nur das Low-Byte genommen wird, ist &4000 (rechts) kleiner als 1 (links).

|DOKE,Adresse,Wert

Ein 16Bit Wert wird in die Speicherstellen < Adresse > und < Adresse +1 > gepoked, das Low-Byte von Wert kommt in und das HighByte in .

|DEEK, Adresse @, Variable%

Der Wert * 256+ wird in die Variable gebracht. Die Variable muß vom Typ Integer sein und vor der ersten Benutzung von DEEK schon einmal einen Wert zugewiesen bekommen haben.
Anmerkungen: Die RSX-Erweiterung beginnt bei &9EF0. Damit ist vor der Einbindung ein SYMBOL AFTER 91 (für den deutschen Zeichensatz) möglich. Wenn mit einem Assembler (oder dem BASICLoader) die Binärdatei erstellt wurde, sind folgende Schritte zur Einbindung notwendig:

100 SYMBOL AFTER 91
REM nicht kleiner 91!!!
110 MEMORY &9EF0-1
120 LOAD "RSX1.BIN"
130 CALL &9EF0
Raimund Schuldhaus


Links

Copyright-Bestimmungen: siehe Über diese Seite
Classic Computer Magazines
[ Join Now | Ring Hub | Random | << Prev | Next >> ]