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)