★ APPLICATIONS ★ PROGRAMMATION ★ RSX FILL (SCHNEIDER AKTIV SPECIAL) ★![]() |
RSX Fill (Schneider Aktiv Special) | Applications Programmation |
Über den Basic-Befehl FILL konnten sich nur die Besitzer eines CPC 664 und eines CPC 6128 freuen, der Interpreter des 464 verstand die Anweisung nicht. Christian Fibikar sandte uns ein Listing zu, das den Einsatz dieses Grafikbefehles als RSX-Erweiterung nunmehr auch beim 464 erlaubt. Programmbeschreibung Das Basic-Programm lädt ein Maschinenprogramm an das Ende des Basic-Rams und installiert den RSX-Befehl FILL. Mit diesem Befehl kann man jede erdenkliche und komplizierte Form ausmalen. Dabei begrenzt nur der Speicher die Komplexität der Figur. Nachdem das Maschinenprogramm (Länge 310 Bytes) im Speicher ist, wird der RSX-Befehl in Zeile 240 durch Aufruf der Initialisierungsroutine installiert. Diese Initiaüsierungsroutine darf nur einmal angesprungen werden. Da der FILL-Befehl rekursiv arbeitet (das heißt, er ruft sich selber auf) und somit jede erdenkliche Figur ausmalen kann, braucht er genug Speicherplatz zur Zwischenspeicherung von Werten. Dazu reserviert die Initialisierungsroutine 2 KByte am Ende des Basic-Rams und das HIMEM wird noch einmal um zwei KByte herabgesetzt. Will man sehr komplexe Figuren ausmalen, dann empfiehlt es sich, einen größeren Speicherbereich für den FILL-Befehl zu reservieren. Dazu werden zwei Parameter bei der Initialisierung übergeben. Der erweiterte Initialisierungsbefehl lautet: CALL basis,int1 ,int2Dabei gibt int 1 den Anfang und int2 das Ende des Speicherbereiches an, beide Parameter müssen allerdings größer als &3FFF sein. Aber normalerweise reicht der standardmäßig eingestellte Bereich aus.Ist der RSX-Befehl nach Ansprung der Initialisierungsroutine nicht installiert, dann bedeutet das, daß die untere Grenze des Speicherbereichs tiefer als &4000 liegt. Auch muß der FILL-Befehl selbst in den zentralen 32K RAM hegen. An dem Basic-Programm ist noch ein kleines Demonstrationsprogramm angehängt, welches Ellipsen zeichnet und diese ausmalt. Der Ladeteil des Basic-Programmes kann auch in andere Programme eingebunden werden. Der Befehl selbst hat folgendes Format: |FILL , y , yf1 , f2Die Variablen x und y sind die Koordinaten des Startpunktes und f1, f2 sind Inks. Ist f1 ungleich f2, dann ist fl die Farbe, mit der ausgemalt wird, und f2 die Farbe der Punkte, die ausgemalt werden. Ist f1 gleich f2, dann ist f1 die Farbe, mit der ausgemalt wird und die als Grenze dient, das heißt, daß alle Punkte die nicht die Farbe f1 haben, ausgemalt werden.Die Stiftfarbe wird mit fl gesetzt.
|