OCTOSPRITE
Der c64 muß sich nicht immer vor dem
großen Bruder Amiga verstecken. Mit
Spielen wie HAWKEYE wird dies eindeutig
bewiesen, denn dort werden übergroße
Sprites ( bei gleicher Auflösung) verwendet. Der Trick dabei ist, daß einfach
mehrere Sprites aneinandergehängt und
überlagert werden.
Wenn Sie das Programm geladen und gestartet haben, sehen Sie einen Editorscreen, auf dem folgende Anzeigen enthalten sind:
Links befindet sich ein gezoomter Ausschnitt des sich gerade im Editor-Buffer
befindenden Objektes.( Nach dem Start
dürfte dies meistens " Grafikmüll" sein!) Daneben entdecken Sie die Cursorkoordinaten, den aktuellen Quadranten
und das eigentliche Objekt. Darunter
sehen Sie ein Display mit dem Wort" TRANSPNT" und einen Pfeil, der die
aktuelle Zeichenfarbe anzeigt. Wenn Sie
den Pfeil auf " TRANSPNT" stellen, so
können Sie einen Punkt " transparent" darstellen ( löschen) .
Das Display " LAST PICBLK" zeigt den
zuletzt angesprochenen Objektspeicher
( Schreiboder Lesezugriffe)) an.
Zur Objektorganisation: Es wird immer
ein Spritefeld editiert, das sich aus
vier Multiund aus vier Singlecoloursprites zusammensetzt. Diese sind
quadratisch angeordnet, d. h. Sie haben
folgende Positionen:
(x,y) 1 MCS & 1 SCS (Sprites 1 & 0) (x+SPB,y) 1 MCS & 1 SCS (Sprites 3 & 2) (x,Y+SPH) 1 MCS & 1 SCS (Sprites 5 & 4) (x+SPB,Y+SPH) 1MCS & 1SCS (Sprites 7&6) MCS - Multicoloursprite SCS - Singlecoloursprite SPB - Spritebreite 24 SPH - Spritehöhe 21
Dabei werden die MCSs von den SCSs überlappt. Den Bereich eines Single/ Multicolour Spritepaares nennen wir Quadrant, bei dem Sie außerdem eine bestimmte
Spritezusatzfarbe nutzen können ( F7 !) .
Die Funktionen:
Der Cursor wird durch den Joystick in
Port #2 gesteuert. Drücken des Knopfes
bewirkt das Setzen eines Punktes mit den
vorher eingestellten Eigenschaften
( F-Tasten) .
Tasten "0" bis "9" und " a" bis " f" Sie ändern die aktuelle Zeichenfarbe
durch drücken der Hexadezimalziffern "0" bis " f" . Diese Codes stimmen mit den
Standardfarbwerten des c64 überein.
Zeigt der Pfeil auf eine Zusatzfarbe, so
wird nur die Farbe des aktuellen
Quadranten geändert.
SPACE
Mit der Spacetaste schalten Sie zwischen
Singleund Multicoloureditor um. Den
aktuellen Modus erkennen Sie am Cursor, der im Singlecolourbetrieb halb so breit
ist wie im Multicolourmodus.
F1 Lösch-Modus anschalten F3 Auf gemeinsame Spritefarbe #1 schalten ( nur MC-Modus) F5 Auf gemeinsame Spritefarbe #2 schalten ( auch nur im MC-Modus) F7 schaltet im Multicolourmodus auf die
Zusatzfarbe und im Singlecolourmodus
auf die Zeichenfarbe im aktuellen Quadranten um.
SHIFT CLR/ HOME Der aktuelle Quadrant wird von Sprites
aller Art befreit ( löschen) .
CONTROL + W Hiermit schreiben Sie den Editorbuffer
in einen Bildblock im Speicher ( Hex-Zahl
angeben!) . Ein bereits vorhandener Bild- block wird bei diesem Vorgang überschrieben.
CONTROL + R Mit dieser Funktion lesen Sie einen
Bildblock wieder in den Editorbuffer, der dadurch auch wieder gelöscht wird.
COMMODORE + A ( Animationsequenz angeben) Tippen Sie hier die Nummer jener Bildblöcke ein, die später nacheinander in
den Editorbuffer gelesen werden sollen.
CONTROL + A ( Bildblöcke animieren) Die bei dem vorhergehenden Punkt angegebenen Bildblöcke werden in der entsprechenden Reihenfolge auf den Bildschirm gebracht. Die Abspielgeschwindigkeit können Sie mit dem Joystick
regulieren. SPACE bricht die Animation
ab.
CURSORTASTEN Mit diesen Tasten verschieben Sie das
Objekt innerhalb der acht Sprites um
horizontal 2 oder vertikal um 1 Koordinatenwert. Die Zusatzfarben werden
hierbei nicht mitgescrollt.
CONTROL + F Die gesamte Fläche wird mit der
aktuellen Zeichenfarbe ausgefüllt.
L ( Linienmodus) Ein Druck auf den Feuerknopf bedeutet
nun nicht mehr, daß ein Punkt gesetzt
wird, sondern bewirkt das Setzen von
Linienpunkten, wie man es von jedem
Zeichenprogramm gewohnt ist.
CONTROL + S Alle 16 Bildblöcke werden nach Eingabe
des Filenamens abgespeichert.
CONTROL + L Alle 16 Bildblöcke werden mit dieser
Funktion wieder eingeladen.
M Ein Objekt wird an der Y-Achse ge- spiegelt.
SHIFT + M Ein Objekt wird an der X-Achse gespiegelt.
COMMODORE + M Diese Funktion kopiert bestimmte
Speicherbereiche in die ersten beiden
Quadranten. Links sehen Sie den
Speicherbereich des Singleund rechts
den des Multicoloursprites. Diese
Adresse läßt sich mit dem Joystick verändern.
<( Pfeil links) Die Bildschirmhintergrundfarbe wird um
einen Wert erhöht.
RUN/ STOP Durch Druck auf RUN/ STOP verlassen Sie
Octosprite. Mit SYS 24576 läßt es sich wieder starten, wobei außer den Farbinformationen keine Daten verloren
gehen.
Q ( Nur im Multicolourmodus) Hiermit definieren Sie aus dem Editorbuffer heraus einen Block. Dabei müssen
die beiden Eckpunkte ( oben links und
unten rechts) angegeben werden.
*( Nur im Multicolourmodus) Den soeben definierten Block können Sie
mit dieser Taste an die aktuelle Cursorposition setzen.
$( SHIFT +4) Das Inhaltsverzeichnis einer Diskette
wird auf dem Bildschirm ausgegeben.
So, damit sind jetzt alle Funktionen erklärt. ABER: Wie kommt man jetzt an
seine selbst kreierten Sprites ' ran?
Speichern Sie dazu die Bildblöcke mit
CONTROL + S ab. In diesem File finden
Sie dann sämtliche Sprites, die an den
nachfolgend erklärten Adressen liegen.
Das File ist 33 Blocks lang und belegt
den Speicherbereich von $2000 bis $40 a0 .
Der erste Bildblock liegt bei $2000, der
zweite bei $2200 .
Allgemein: Bildblock n =$2000+( n*200)(8 Sprites benötigen $200=512 Bytes an
Speicherplatz) .
Innerhalb eines Bildblockes, der hier
bei Adresse " x" liegen soll, befinden
sich nun folgende 8 Sprites:
x : SCS des linken oberen Quadranten x+64 : MCS des linken oberen Quadranten x+128 : SCS des rechten oberen Quadranten x+192 : MCS des rechten oberen Quadranten x+256 : SCS des linken unteren Quadranten x+320 : MCS des linken unteren Quadranten x+384 : SCS des rechten unteren Quadranten
x+448 : MCS des rechten unteren Quadranten Wenn Sie also ein MCS im linken oberen
Quadranten kreiert haben, der drei
Animationsstufen besitzt und sich über
die Bildblöcke 4,5 und 6 erstreckt, so
stehen diese ab den folgenden Werten im
Speicher:
x1 = $2000+4*$200+64 = $2840 x2 = $2000+5*$200+64 = $2a40 x3 = $2000+6*$200+64 = $2c40
Die Farbwerte werden im Speicherbereich
von $4000 bis $40 a0 abgelegt. Für die 8 Sprites eines Bildblockes " n" liegen bei
$4000+ n*10 die Farbcodes des VIC-Registers $ d025 bis $ d02 e.
( om)