APPLICATIONSDIVERS ★ MAGIC SCROLL (CPC MAGAZIN) ★

Magie in alle RichtungenUpdate zu Magic Scroll (Computer Partner)
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

Mit "Magie Scroll” können Sie in alle Richtungen scrollen.

Zwar liegen schon viele Scroll-Programme vor, aber "Magic Scroll” ist keines der üblichen, sondern kann mehr. So ist z.B. ein Verschieben in alle vier Richtungen in einem beliebigen Bildschirmausschnitt möglich; wahlweise lassen sich gleichzeitig vorher im RAM abgelegte Bilder einfü-gen. Das vertikale Scrolling (hoch/runter) erfolgt pixelweise, das horizontale (rechts/links) byteweise.

Die RSX-Erweiterung stellt sieben neue Befehle zur Verfügung, die mit CALL &A000 initialisiert werden. Es handelt sich um folgende:

|VSCROLL,Flag,links.rechts.oben.unten Links und rechts geben den linken und rechten Rand des zu scrollenden Bildschirmausschnitts in Bytes (= Spalten in MODE 2) an. Das Window muß mindestens zwei Bytes breit sein. Oben und unten stehen für die Ober- und Untergrenze des Fensters, gemessen in normalen Bildschirmzeilen. Flag legt die Scroll-Richtung fest. Ist Flag = 0, wird nach unten, bei Flag > 0 nach oben verschoben. |HSCROLL.FIaq.links.rechts.oben.unten Die Window-Grenzen werden wie bei |VSCROLLfestgelegt. Bei Flag = 0 erfolgt eine Verschiebung nach links, bei Flag >0 nach rechts. |MEMORY,adr, Breite, Höhe Dieser Befehl dient zur Bestimmung eines Speicherbereichs ab Adresse adr, in welchem ein Bildschirmausschnitt mit |STORE abgelegt wird. Dessen Breite und Höhe (Breite in Bytes) sind für die spätere Ausgabe des Bildes nötig. Selbstverständlich können mehrere Windows ins RAM kommen, sofern der Speicher ausreicht.

|STORE,links,rechts,oben,unten

Mit dieser Anweisung wird ein Bildschirmausschnitt (Window-Grenzen wie bei den Scroll-Befehlen) in dem mit |MEMORY festgesetzten Bereich abgelegt.

|VCALL,Flaq,links,rechts,oben,unten

Mit diesem Kommando wird jeweils eine Pixel-Zeile eines gespeicherten Fensters wieder auf den Bildschirm geholt, was natürlich nur in Verbindung mit Scrolling sinnvoll ist. Bei .jedem Aufruf erfolgt die Ausgabe der jeweils nächsten Pixel-Zeile. Die Window-Grenzen müssen natürlich mit denen des Scroll-Befehls übereinstimmen. Das Flag hat hier eine besondere Bedeutung. Bei Flag = 0 (Scrolling nach unten) wird mit der Bildunterkante, bei Flag >0 (Scrolling nach oben) mit der Bildoberkante begonnen.

Das jetzige Ausgabefenster muß zwar die gleiche Breite wie das ursprünglich gespeicherte haben, die Höhe kann jedoch variiert werden, wodurch sich interessante Effekte erzielen lassen. Falls man mit |MEMORY und |STORE mehrere Windows hintereinander abgelegt hat oder nach einer Ausgabe wieder von vorne beginnen will, muß man den gewünschten Speicherbereich und die ursprünglicher Maße des gespeicherten Fensters mit |MEMORY neu mit-teilen.

|HCALL,flag,links,rechts,oben,unten

Dies ist die analoge Anweisung zu |VCALL für horizontales Scrolling. Das meiste, was für |CALL gilt, läßt sich auch hier anwenden. Die Ausnahmen sind folgende: Bei Flag = 0 (Scrolling nach links) wird mit der linken, bei Flag >0 (Scrolling nach rechts) mit der rechten Bildkante begonnen. Das jetzige Ausgabe-Window muß die gleiche Höhe wie das ursprüngliche aufweisen, die Breite läßt sich variieren. Ausgegeben wird jeweils ein Abschnitt mit einer Breite von 1 Byte.

|CALL,links,rechts,oben,unten

Dies ist das Gegenteil zum Befehl |STORE. Ein mit |MEMORY charakterisierter Speicherbereich wird innerhalb der angegebenen Window-Grenzen auf den Bildschirm geholt, wobei Ursprungs- und Ausgabefenster wieder die gleichen Maße haben müssen.

Für Maschinenprogrammierer seien nachfolgend noch die Einsprungadressen genannt:

Start : &A000
Länge : &3D3
|VSCROLL : &A048
|HSCROLL : &A0C5
|STORE : &A172
|VCALL : &A1A7
|HCALL : &A1EE
|MEMORY : &A265
|CALL : &A2A3

Die Variablen stehen ab &A3B2 im Speicher.

Hartmut Grawe , CPC Magazin

★ PUBLISHER: CPC Magazin
★ YEAR: 1987
★ CONFIG: 64K + AMSDOS
★ LANGUAGE:
★ LiCENCE: LISTING
★ COLLECTIONS: CPC MAGAZIN 1987 , COMPUTER PARTNER 1989
★ AUTHOR: Hartmut Grawe
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Magic  Scroll    (CPC  Magazin)    LISTING    GERMANDATE: 2021-02-02
DL: 193
TYPE: PDF
SiZE: 488Ko
NOTE: 4 pages/PDFlib v1.6

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Interrupt Driven Scroller (Computing with the Amstrad)
» Applications » RSX - Scroller (Computing With the Amstrad)
» Applications » Magic Vertical Scroll (CPC Magazin)
» Applications » Rock N Scroll (AM-Mag)
» Applications » RSX Scroll (CPC Amstrad International)
» Applications » New Way Cracking's PK-Scroll
Je participe au site:
» Pour ce titre nous ne disposons de fichier executable sur CPC (Dump, Saisie du listing) , alors si vous avez ça dans vos cartons ou vous désirez usé vos petit doigts boudinés sur votre clavier faites le nous savoir.
» Vous avez des infos personnel ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 597 millisecondes et consultée 1472 fois

L'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.