---------------------------------------- ANIMATED SINUS MOVEMENT
- Das geordnete Chaos -
----------------------------------------
Aus Demos schon vielen bekannt, für Rechenfaule und Nicht-Mathematiker ein
Rätsel: die Sinus-Bewegungen von Sprites, die scheinbar wahllos, aber dennoch
in einer gewissen Ordung auf dem Bildschirm herumhüpfen und Saltos schlagen.
Mit dem ' Animated Sinus Movement'( ASM) sind diese schwierigen und aufwendigen
Koordinatenberechnungen für den Laien
nun kein Problem mehr. Sie probieren die
einzelnen Parameter einfach am Bildschirm aus und speichern die beste Bewegungssequenz nur noch ab. Hiernach kann Sie bequem in jedes Programm übernommen
werden, wobei eine Abspielroutine gleich
mit eingebaut ist. Ein einfacher SYS-Aufruf genügt, um die Sinus-Sprites in
Ihr Programm ( auch BASIC) einzubinden.
Da die Animations-Routine im IRQ arbeitet bleibt der Rechner entlastet, so daß
Sie das eigene Programm parallel zum
Sinus laufen lassen können.
DAS HAUPTMENU
Im Hauptmenu sehen Sie in der Mitte des
Bildschirms fünf Menupunkte, durch die
ein blinkender Menubalken, mit Hilfe der
Cursortasten, gesteuert wird. Mit ' RE-TURN' wählen Sie den gewünschten Menupunkt an.
1) DER SINUS-EDITOR
Hier können Sie die Parameter der Sinus- funktion verändern. In der Mitte des
Bildschirms sehen Sie nun acht Spritebälle, die auf dem Bildschirm herumfliegen und dabei gleichzeitig größer
und kleiner werden. Am linken Rand des
Bildschirms sehen Sie die Liste der
veränderbaren Sinus-Parameter. Der blinkende Wert kann jeweils editiert werden.
Benutzen Sie die Tasten ' CRSR UP' und
' CRSR DOWN' um durch die Parameterliste
zu gehen und ' CRSR LEFT' und ' CRSR
RIGHT' um einen Wert zu verringern, bzw.
zu erhöhen. Mit der Taste ' I' werden
alle Werte auf 0 zurückgesetzt ( außer Xund Y-Add) . Mit ' RETURN' gelangen Sie
wieder zurück ins Hauptmenu.
Die einzelnen Werte haben nun folgende
Bedeutungen: Die Xund Y-Distance 1 gibt den Abstand innerhalb der Sprites
an. Das jeweils nächste Sprite ist um
die hier angegebenen Werte vom jeweils
letzten entfernt. Xund Y-Distance 2 gibt die Gesamtverschiebung der Sprites von der Grundposition ( Xund Y-Add) an.
Sie ist ebenfalls variabel, so daß die
komplette Animation sinusförmig hinund
her-, bzw. hochund runter schwingt.
Mit den Speed-Werten, ändern Sie die
Geschwindigkeit, mit der der jeweils
nächste Wert gesetzt wird. Xund Y-Add
sind die Grundverschiebungswerte von der
Ausgangsposition der Sprites aus. Um die
genaue Bedeutung der einzelnen Parameter
zu verstehen, empfehle ich Ihnen, die
Sinuswerte zunächst einmal mit ' I' zurückzusetzen und anschließend einen
einzelnen Wert zu verändern. Sie können
dann sehr schön mitansehen, welche Wirkung dies auf die Sprites hat.
2) DER SPRITE-ANIMATOR
Mit dem Sprite-Animator können Sie die
Bild-Animationssequenz für die Sprites
festlegen. Sie können maximal 16 verschiedene Spriteblöcke definieren, die zyklisch für ein Sprite durchgeschaltet
werden können. In der Mitte des Bildschirms sehen Sie hier ein Fenster, in
dem in hexadezimaler Schreibweise die
Folge der Spriteblocknummern angegeben
ist. Die Reihenfolge geht zeilenweise
von links nach rechts. Möchten Sie eigene Sprites verwenden, so müssen Sie diese vorher aus dem Disk-Menu heraus geladen haben. Bei der Angabe der Spriteblocknummern ist zu beachten, daß Sie
die Adresse Ihrer Sprites kennen müssen.
Haben Sie z. B. ein Sprite an Speicherstelle $2000( dez.8192) stehen, so müssen Sie wiefolgt den Spriteblock berechnen:
$2000 = dez. 8192 8192 / 64 = 128 dez. 128 = $80
Um die Animationsfolge zu editieren können Sie den Blinkcursor ( Wert blinkt) mit Hilfe der Cursortasten durch das Fenster bewegen und mit den Tasten '0' bis '9', sowie ' A' bis ' F' einen hexadezimalen Wert eintragen. Mit den Tasten
'+' und '-' können Sie die Spritenummer
des aktuellen Sprites erhöhen, bzw. erniedrigen. Mit ' F1' und ' F3' kann die
Verzögerung bis zum Einschalten des
nächsten Spriteblocks verlangsamt, bzw.
beschleunigt werden. Sie können die Animation für jedes der acht Sprites einzeln festlegen. Es wird demnach auch
immer nur das Sprite auf dem Bildschirm
dargestellt, das gerade editiert wird.
3) SPRITE-POINTER
Hier können Sie die Register des VIC
verändern, um die Grundeinstellungen der
Sprites zu manipulieren. Die hier eingestellten Werte werden später dann, beim
Starten der Animationsroutine, automatisch initialisiert. In der Mitte des
Bildschirms befinden sich die Sprites,
die sich nach dem eingestellten Sinus
bewegen. An ihnen erkennen Sie die Änderungen der VIC-Register direkt. Um die
Werte gezielt verändern zu können sollten Sie sich mit der Programmierung des
VIC ein wenig auskennen ( ich verweise da
auf einen Grafik-Kurs, den wir vor einiger Zeit in der MD veröffentlichten) .
Hier nun eine Liste der veränderbaren
Werte und deren VIC-Registeradressen
( wenn Sie sich mit dem VIC auskennen, dann können Sie sich so direkt auf die
Register beziehen) :
Beschreibung VIC-Register
Sprite an/aus 21 Y-Vergrößerung an/aus 23 Sprite/Hintergrund-Priorität 27 Muticolor an/aus 28 Y-Vergrößerung an/aus 29 Sprite Mulicolor-Farbe 1 37 Sprite Mulicolor-Farbe 2 38 Farbe von Sprite 0 39 Farbe von Sprite 1 40 Farbe von Sprite 2 41 Farbe von Sprite 3 42 Farbe von Sprite 4 43 Farbe von Sprite 5 44 Farbe von Sprite 6 45 Farbe von Sprite 7 46
Durch die Werte bewegen Sie sich mittels
' CRSR UP' und ' CRSR DOWN' . Mit ' CRSR
LEFT' und ' CRSR RIGHT' können Sie den
Cursor innerhalb eines Wertes hinund
herbewegen. Zugelassene Eingabetasten
sind '0' bis '9', sowie ' A' bis ' F' . Mit
' RETURN' kehren Sie ins Hauptmenu
zurück.
ACHTUNG: Der Wert, der die Sprites einund ausschaltet ( Reg.21) wird während
des Editierens noch nicht direkt übernommen. Wenn Sie die Änderung initialisieren wollen, so müssen Sie mit ' RE-TURN' ins Hauptmenu zurückkehren und
anschließend den Menupunkt " Sprite- Pointer" nochmals aufrufen!
4) DISK MENU
Hier können Sie wie im Hauptmenu einen
von fünf Menupunkten aufrufen:
PROGRAMM LADEN Möchten Sie eigene Sprites zum editieren
verwenden, so müssen Sie diese in den
ASM nachladen. Geben Sie hierzu unter
diesem Menupunkt den Filenamen Ihrer
Sprite-Datei an, und bestätigen Sie mit
' RETURN' . Wird das File auf der eingelegten Diskette gefunden, so erscheint
neben dem Filenamen die Startadresse des
Files in hexadezimaler Schreibweise. Sie
können diese Adresse mit ' RETURN' bestätigen, oder aber Ihren Wünschen entsprechend ändern. Beachten Sie bitte, daß
der ASM mit dem ersten 16 KB-Block des
VIC arbeitet, so daß nur Adressen von$0000 bis $4000( dez.0 bis 16384) sinnvoll sind. Sprites an höheren Adessen
können mit dem Spritepointer nicht mehr
adressiert werden.
Während das angegebene File geladen
wird, wird die Ladeadresse hinter der
Startadresse angezeigt.
SINUS SAVE Hiermit speichern Sie die momentanen
Sinus-, Animaitionsund VIC-Einstellungen inklusive der IRQ-Animationsroutine ab. Geben Sie hierzu
den Filenamen an und drücken Sie ' RE-TURN' . Nun können Sie das High-Byte der
Startadresse editieren. ASM gibt hier
den Wert $ C0( für $ C000= dez.49152) vor. In der Regel sollte diese Startadresse in Ordnung sein. Ist der
gewünschte Wert eingegeben, so drücken
Sie abermals ' RETURN' . Es wird nun der
Sinusplayer ab der angegebenen Adresse
gespeichert. Mit einem SYS-Aufruf an
diese Adresse können Sie das Playerpro- gramm starten. Wenn Sie Adresse $ C000 als Startadresse gewählt haben, geschieht dies mit " SYS 49152" . Sie sollten anschließend Ihre Sprites auf dem
Bildschirm herumhüpfen sehen.
Achten Sie bitte darauf, daß die eigentlichen Spritedaten NICHT mitgespeichert
werden. Sie müssen die Sprites von Ihrem
eigenen Programm an die richtige Adresse
laden.
DIRECTORY Zeigt das Inhaltsverzeichnis der eingelegten Diskette an. Mit ' SPACE' wird die
Ausgabe angehalten, bzw. fortgesetzt.
Mit ' RUN/ STOP' wird abgebrochen.
ZURÖCK ZUM HAUPTMENU Es wird zum Hauptmenu zurückgekehrt ( wer
hätte das gedacht) .
EXIT Wählen Sie diesen Punkt, so wird Ihnen noch eine letzte Chance gegeben ins
Hauptmenu zurückzukehren. Andernfalls
wird ein RESET durchgeführt und somit
das Programm beendet.
(ub)