Magic Basic 64
Mit Hilfe dieser kleinen Basicerweiterung ist es Ihnen möglich, mit einfachen
Anweisungen in BASIC Effekte zu erzielen, die in dieser Form nur von
ASSEMBLER aus realisierbar wären.
Allen MAGIC BASIC-Anweisungen muß ein
"<" vorangestellt sein, damit das Betriebssystem 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äradresse 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 Startzeile die erste Zeilennummer des Programmes darstellt und Offset den Abstand 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)