Magic Basic 64 --------------
Mit Hilfe dieser kleinen Basicerweiter- ung ist es Ihnen möglich, mit einfachen Anweisungen in BASIC Effekte zu er- zielen, die in dieser Form nur von ASSEMBLER aus realisierbar wären. Allen MAGIC BASIC-Anweisungen muß ein "<" vorangestellt sein, damit das Be- triebssystem des C64 diese vom normalen BASIC 2.0 unterscheiden kann.
<DIR Zeigt den Inhalt der eingelegten Diskette auf dem Bildschirm an <DISK liest den Fehlerkanal der Floppy <DISK "Befehlsstring" sendet Floppykommandos (Rename, Scratch usw.) <MERGE "Name" |,Ger,Nr.|,Sek.Adr}} hängt ein Programm an ein im Speicher
befindliches an. Dabei dürfen die Zeilennummern des angehängten Programmes auch niediger sein, als die des ursprünglichen - allerdings sollte dies mit dem Befehl <REN (s.U.) wieder in Ordnung gebracht werden. Benutzer von Schnelladern sollten den Befehn zur Sicherheit mit der Sekundär- adresse 0 eingeben, da es sonst vorkommen kann, daß der Speeder das Programm an den Programmstart lädt. Also <MERGE "Name",8,0 <REN Startzeile,Offset Nummeriert die Zeilen neu, wobei Start- zeile die erste Zeilennummer des Pro- grammes darstellt und Offset den Ab- stand der Zeilennummer. <DEL Zeilennummer |-|-Zeilennummer}} Löscht Zeilen aus dem Programm. Parameter werden wie beim normalen LIST-Befehl eingegeben. <RESTORE Zeilennummer setzt den READ-Zeiger auf den Anfang einer Zeile.
<OLD holt ein durch NEW gelöschtes Programm wieder zurück <POS Zeile,Spalte setzt den Cursor auf die Position Zeile/Spalte auf den Bildschirm <LIN liefert die Cursorzeile <COL Hintergrund-,Rahmenfarbe setzt die Bildschirmfarben <KEY |OFF|ON}} schaltet Funktionstasten aus/an <HELP zeigt eine Kurzübersicht aller verfüg- baren Befehle an
Spritebefehle <SPRITEB Spritenr.,Blocknr. Blocknummer eines Sprites setzen <SPRITEON Spritenr.,(0/1) Sprite aus-/anschalten <SPRITEX Spritenr.,Position X-Koordinate eines Sprites setzen (MSB
wird berücksichtigt, d.h. der Wert kann 255 auch überschreiten <SPRITEY Spritenr.,Position Y-Koordinate eines Sprites <SPRITECOL Spritenr.,Farbe Spritefarbe setzen <SPRITEP Spritenr.,(0/1) Prioritätsbit löschen/setzten <SPRITE EXP X Spritenr.,(0/1) X-Expand aus-/einschalten <SPRITE EXP Y Spritenr.,(0/1) Y-Expand aus-/einschalten <SPRITE M ON Spritenr.,(0/1) Sprite-Multicolormodus aus-/einschlten <SPRITE M (0/1),Farbe Sprite-Multicolorfarben setzen <SX(Spritenr.) liefert X-Position des Sprites unter Berücksichtigung des MSB <SY(Spritenr.) liefert Y-Position des Sprites <SCOL(Spritenr.) 1, wenn das betreffende Sprite mit einem anderen kollidiert ist, sonst 0 <SBCOL(Spritenr.) wie <SCOL, nur für Kollision mit einem Zeichen <BEEP Tonhöhe,Dauer Erzeugt Piepton (mit voller Lautstärke) <VOL Lautstärke setzt Lautstärke für alle Stimmen <FRQ Stimme,Frequenz setzt Frequenz (0-65535) <TS Stimme,Tastverhältnis setzt Tastverhältnis (0-65535, sinnvoll nur bis 4096) <WV Stimme,Wellenform setzt Wellenform-Register (0-255) <AD Stimme, Attack,Decay setzt Werte für Anschlag (Attack) und Abschwellen (Decay), beides 0-15 <SR Stimme,Sustain,Release setzt Werte für Halten (Sustain) und Ausklingen (Release), beides 0-15 (wk)