Diese Befehlserweiterung stellt Ihnen eine Routine zur Verfügung, die Ihren Ansprüchen genügen dürfte. Selbst komplexe Figuren sind kein Problem. In letzter Zeit sind immer wieder Routinen zum Füllen von Grafiken in diversen Zeitschriften erschienen. Leider erfüllten diese jedoch nicht die Ansprüche, die man von seiten des Anwenders an sie stellte. Hier wäre vor allem die Unfähigkeit solcher Programme zu nennen, auch eine verschnörkelte Figur zu füllen, wie sie zum Beispiel eine Spiralfigur darstellt (siehe auch Demoprogramm). Das vorgestellte Programm hingegen macht auch vor der klitzekleinsten Verschnörkelung nicht halt und füllt sie wunschgemäß. Am eindrucksvollsten wird dies an einem Text (z.B. einem Listing) auf dem Bildschirm deutlich, über den hinweggefüllt wird. Probieren Sie's. Damit sich diese . Routine auch in die vorhandene Schneider-Umwelt ideal einpaßt, wurde zusätzlich auf das Grafikfenster Rücksicht genommen und sowohl ein absolutes Füllen (RSX-FILL) als auch ein relatives (RSX-FILLR) unterstützt. Wichtige Eigenschaften der beiden Befehle FILL und FILLR sind hohe Geschwindigkeit, Unterstützung des Grafikfensters und Unabhängigkeit vom Scrollzustand des Bildschirms. Die zu füllenden Grafiken können beliebig komplex, der Rand muß gleich der Füllfarbe sein. Das Utility benützt den freien Basic-Speicherplatz zwischen Variablen und Strings, wobei jedoch keinesfalls die Garbage-Collection-Routine ausgeführt wird. Der relokatible Lader sowie das Nicht-Verbiegen der Systemvektoren ermöglichen die Unabhängigkeit von anderen Erweiterungen. Das Einbinden der Befehle |FILL und |FILLR geschieht allgemein mit der Befehisfolge MEMORY mem-1: LOAD”FILL”: CALL mem, wobei vorher das File FILL.BIN mit dem Basic-Lader FILLDATA erzeugt wird und für "mem" die beim Programm "FILLDATA” angegebene Ladeadresse eingesetzt werden muß. Dieser Lader nimmt auch hexadezimale Adressen bei der Eingabe an. Die einzelnen Befehlsformate: Es können bis zu 3 Parameter angegeben werden, die in folgender Weise interpretiert werden: - Sind keine Parameter angegeben, wird der Computer veranlaßt, den zuletzt benutzten Grafikfarbstift zum Füllen zu nutzen und auf der augenblicklichen Grafikposition zu beginnen.
- Einen Parameter (z.B. |FILL,2 oder |FILLR,0) deutet das Programm als Farbangabe. Außerdem wird bei der absoluten Version FILL nicht die Position 0/0 angenommen, sondern die derzeitige Position (also sind hier |FILL und |FILLR gleich).
- Zwei Parameter werden automatisch als Koordinatenpaar gedeutet; als Füllfarbe dient der letzte Farbstift.
- Drei Parameter enthalten sowohl ein Koordinatenpaar als auch eine Farbangabe (z!B. |FILL,x,y,f oder |FILLR,-12,4,1).
- Ein Absturz des Programms ist nicht möglich. Für einen leeren Bildschirm benötigt es maximal 4 Sekunden (Mode 2), kommt in Mode 0 aber mit 2.7 Sekunden für einen vollen Bildschirm aus.
Martin Huber, CPC Magazin ★ AMSTRAD CPC ★ DOWNLOAD ★ |
CPCrulez[Content Management System] v8.7-desktop/c Page créée en 832 millisecondes et consultée 890 foisL'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko. |
|
|
|