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)