Fasziniert Sie die Grafikdarstellung eines Amiga, haben Sie aber nur einen Schneider-CPC? Dann hilft unser Listing Ihrem CPC auf die Sprünge. Immer aktueller und beliebter scheint das Thema Grafik zu werden. Diesmal haben wir wieder einen ganz außergewöhnlichen Schmaus für verwöhnte Gaumen. »Blende« macht aus jedem CPC (fast) einen »kleinen« Amiga - zumindest, was die Fähigkeit betrifft, verschiedene Bildschirmseiten übereinander zu schieben. Durch Variation des Aufrufs lassen sich erstaunliche Effekte erzielen: - das »neue« Bild schiebt sich über das alte
- das neue Bild schiebt das alte aus dem Bildschirm hinaus
- das alte Bild gibt den Blick auf das darunterliegende neue frei, indem es nach außen wandert.
Alle Bewegungen erfolgen dabei mit weichem, pixelweisem Scrolling. Spätestens bei Betrachtung der Geschwindigkeit zeigt sich aber, daß der CPC nun leider doch kein Amiga ist. Dafür bietet »Blende« aber noch andere Vorteile. Es speichert Bildschirme auf Diskette mit einem Platzbedarf von nur 16 KByte. Das ergibt beim 3-Zoll-Laufwerk eine Ersparnis von je 1 KByte, bei den Vortex-Laufwerken sogar 4 KByte. Durch diese Leistungsmerkmale eignet sich »Blende« hervorragend für Bildvorführungen (beispielsweise die beliebten »Dia-shows«). Außerdem lassen sich die Farben mitspeichern und beim Laden automatisch setzen. Es verzichtet auf RSX-Befehle, statt dessen arbeitet es mit eigenen Vektoren, über die die gewünschten Routinen erreichbar sind. So läßt sich der Assembler-Quellcode (Listing 5) auch als Include-Datei für eigene Maschinencode-Programme nutzen. Der Quelltext ist für einen Makro-Assembler geschrieben.Listing 1 enthält den DATA-Lader. Speichern Sie ihn bitte sofort nach der Eingabe. Beim Start erzeugt er automatisch die Binärdatei »BLENDE.BIN«. Listing 2 demonstriert die Fähigkeiten in Form einer »Dia-show«, wenn auf der Programmdiskette vier Bilder »A0.BIL«, »A1.BIL«, »A2.BIL«, »A3.BIL« vorliegen. Die Zahl der Bilder läßt sich variieren, wenn Sie die FOR-NEXT-Schleife in Zeile 240 ändern und die zusätzlichen Bilder mit entsprechenden Dateinamen versehen (»A4.BIL«, »A5.BIL«,...). Bevor sich die Bilder für diesen Zweck nutzen lassen, müssen Sie sie in das richtige Speicherformat bringen. Das erledigt »BLENDE.SAV« (Listing 3), indem es Bildschirminhalte komprimiert und wahlweise mitsamt der Farben speichert. »BLENDE.LDR« (Listing 4) ist das Gegenstück dazu. Es lädt »Blende«-Bilder und zeigt sie auf dem Bildschirm an. Gespeicherte Farbinformationen sind mitzuladen. Für Nutzung der Effekte in eigenen Programmen laden Sie den Maschinencode mit der Befehlsfolge MEMORY &5FFF:LOAD "BLENDE.BIN"Zum Aufruf der Routinen dienen folgende Adressen:- 6000 hex: Ein Bildschirminhalt wird in den internen Puffer ab Adresse 6250 hex kopiert. Das Bild hat danach eine Länge von 16000 Byte und läßt sich aus Basic mit SAVE "NAME.BIL",B,&6250,16000 speichern.
- 6003 hex: Das Bild aus dem Puffer wird auf den Bildschirm gebracht. Dieses Bild ist vorher mit LOAD "NAME",&6250 zu laden.
- 6006 hex: Das Bild aus dem Puffer schiebt sich von unten pixelweise in den Bildschirm.
- 6009 hex: Das neue Bild aus dem Puffer schiebt sich von oben pixelweise über das alte Bild.
- 600C hex: Das alte Bild gleitet nach oben und hinterläßt das neue Bild aus dem Puffer.
- 600F hex: Das alte Bild fällt nach unten und gibt den Blick frei auf das darunterliegende Bild aus dem Puffer.
- 6012 hex: Kante an Kante schiebt das von unten kommende neue Bild das alte nach oben weg und rückt nach.
- 6015 hex: Das alte Bild gleitet nach unten, während das neue Bild aus dem Puffer von oben folgt.
- 6018 hex: Das Bild wird mit der angegebenen Farbe mit Zufallsverteilung gelöscht. Basic-Programmierer rufen diese Routine mit
CALL &6018,färbeauf. Aus Maschinensprache erfolgt die Parameterübergabe im E-Register. - 601B hex: Hier werden die aktuellen Farben hinter dem Bildschirmpuffer ab A0D0 hex gelöscht. Zur Speicherung ist nun die Angabe der Länge von 16 000 auf 16 034 Byte zu erhöhen.
- 601E hex: Die Farben eines Bildes werden neu gesetzt.
- 6021 hex: An den Adressen 6021 und 6022 hex steht die Puffer-Anfangsadresse (bei der jetzigen Version von »Blende« 6250 hex).
Ab A100 hex ist der Speicher für andere Programme frei.(Stefan Aust/ja), HC
| ★ AMSTRAD CPC ★ DOWNLOAD ★ |
|
CPCrulez[Content Management System] v8.732-desktop/c Page créée en 326 millisecondes et consultée 646 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. |
|
|