PEGASUS BASIC
Bei PEGASUS BASIC handelt es sich um
eine waschechte Basic-Erweiterung, die
jedem Programmierer das Herz höher
schlagen läßt.
Nach dem Start erscheint nach kurzer
Zeit das Einschaltbild, das sich mit
27647 Bytes freiem Speicher meldet.
Dieser scheint auf dem ersten Blick
etwas klein zu sein, jedoch stehen nun
alle PBASIC-Funktionen ohne weiteren
Speicherverlust zur Verfügung.
DER BILDSCHIRMEDITOR
Der Bildschirmeditor wurde um einige
hilfreiche Funktionen erweitert. Die
Taste "<"( Pfeil links) entspricht nun
der ESCAPE-Taste bei anderen Computern
( vorrangig PCs) . Allerdings erreichen
Sie das Zeichen "<" nur noch über SHIFT+"<" . Nach Drücken von ESC
erscheint ein inverses Fragezeichen auf
dem Bildschirm. Die folgenden Tasten
rufen jetzt die neuen Editorfunktionen
auf:
" g" schaltet Piepser bei Fehlermeld. an.
" h" schaltet Piepser wieder aus.
" j" springt an den Anfang der Zeile.
" k" springt an das Zeilenende.
" p" löscht alle Zeichen vor dem Cursor.
" q" löscht alle Zeichen nach dem Cursor.
F1 schaltet auf Textmodus.
F3 schaltet Grafik an.
ESC oder " o" löscht Quoteund RVS-Modus Die Taste CTRL+" I" entspricht einer
Tabulatortaste. Sie läßt den Cursor auf
die nächste Tabulatorposition springen.
Hat man einen RESET-Taste in seinen c64 eingebaut, so wird durch RUN/ STOP-Reset
ein Bildschirmreset ausgeführt. CTRL+ Reset löscht PBASIC und bringt Sie in das normale Basic 2 .0 zurück.
VERBESSERTE ZAHLENEINGABE
PBASIC ermöglicht die Eingabe von Binärund Hexadezimalzahlen. Sie werden wie
allgemein üblich, durch die Zeichen "%" bzw."$" eingeleitet. So gibt die
Befehlsfolge " PRINT $ c000,%1011" die
Zahlen 49152 und 11 aus.
NEUE BEFEHLE UND FUNKTIONEN
PBasic besitzt eine integrierte
Schnittstelle zur Erweiterung mit neuen
Befehlen und Funktionen. Diese Schnittstelle wird durch das Zeichen "&" angesprochen. Wird "&" als Befehl
benutzt, so erfolgt ein Sprung über den
Vektor $0334/$0335, bei Funktionen über
$0336/$0337 . Diese Vektoren zeigen
normalerweise auf die Fehlermeldung
" SYNTAX ERROR" . Ein Beispiel für neue
Befehle ist das Programm " WINDOW. O", das später noch ausführlich beschrieben
wird.
KURZEINGABEN VON BEFEHLEN
Auch alle neuen Befehlen lassen sich wie
gewohnt bei der Eingabe abkürzen. So
entspricht " fr" dem Befehl " FREQUENCY" .
Als Besonderheit läßt sich INPUT als " !" angeben. PRINT# und INPUT# können nun
als " ?#" und " !#" eingegeben werden.
HINWEISE UND ERGÄNZUNGEN - Das Piepsen des Weckers hört nicht von alleine auf. Um es loszuwerden, gibt es drei Möglichkeiten: a) Computer ausschalten, b) ALARM OFF eingeben oder c) RESTORE drücken.
- Der Bildschirm wird 5 Minuten nach dem
letzten Tastendruck zur Schonung abgeschaltet. Also keine Panik! Ihr Rechner hat sich nicht selbstzerstört.
- Alle Grafikbefehle außer GCLS und
INVERT funktionieren auch im Textmodus
( mit einer Auflösung von 80*50 Punkten) . Die Punktfarbe ist identisch
mit der aktuellen Schriftfarbe.
- Der Befehl HARDCOPY funktioniert nur
bei Druckern mit 7- Nadel-Grafik ( MPS
801, SEIKOSHA SP-180 VC o. ä.) .
- Ist als Parameter ein Winkel gefordert, so bestimmen die Befehle
RADIAN und DEGREE die Angabe.
- Bei dem Befehl IF. THEN. ELSE ist der
" :" vor dem ELSE unbedingt notwendig.
- MULTI ON/ OFF bezieht sich auf den
Textund Grafikmodus.
DIE NEUEN BEFEHLE
Die Parameter:
bereich: (0-63999 oder Label) bis (0-63999 oder Label) str$ : beliebiger String stimme : Integerzahl im Bereich 1-3 modus : 0=setzen, 1=löschen, 2=invert. x : x-Koordinate (Text 0-79, Hires 0-319, Multi 0-159) y : y-Koordinate (Text 0-49, Hires 0-199, Multi 0-199) int : Integerzahl im Bereich 0-65535 zeile : 1-25 spalte : 1-40 farbe : 1-16
CLRSID
- löscht alle Register des SID, d. h.
schaltet ihn aus.
VOLUME vol
- legt die Lautstärke (0-15) fest.
WAVE stimme,wform(,tast)(,S/R/ON/OFF)
- legt die Wellenform für die angegebene Stimme fest. Wform kann hierbei vier
Werte annehmen:1= Dreieck,2= Sägezahn,3= Rechteck oder 4= Rauschen. Ist als
Wellenform eine Rechteckschwingung
ausgewählt worden, so kann das Tastenverhältnis ( in %) bestimmt werden.
Die Parameter S und R legen die
Effekte Synchronisation bzw. Ringmodulation fest. Stimme 3 kann durch die
Parameter ON bzw. OFF anoder ausgeschaltet werden. Die Kombination der
Parameter ist möglich. So legt
" WAVE 3,3,25, S OFF" als Wellenform
für Stimme 3 Rechteck mit einem
Tastenverhältnis von 25% fest.
Synchronisation ist angeschaltet, die
Stimme allerdings nicht hörbar ( OFF) .
ENVELOPE stimme, a, d, s, r
- legt die Wellenform ( jeweils 0-15) für
Stimme # stimme fest.
FILTER OFF
- schaltet den Filter aus.
FILTER frequenz, resonanz,h/b/t, 1/2/3/e
- legt die Grenzwerte ( in Hz) fest. Die
Resonanz wird durch den Wert # resonanz
(0-15) bestimmt. h/ b/ t stehen für die
einzelnen Filtertypen: Hoch-, Bandund Tiefpaß.1/2/3/ e sind die Tonquellen ( Stimme 1-3 oder externer Ausgang), die gefiltert werden sollen.
PLAY stimme, ON/ OFF
- schaltet Stimme # stimme (1-3) an/ aus.
PLAY stimme, str$(, dauer)
- spielt einen Ton ( für die Dauer von
# dauer/50 s) auf der angegebenen
Stimme. str$ setzt sich zusammen aus
der Tonhöhe ( c, c#, d, d#, e, f, f#, g, g#, a,
a#, h) und der Oktave (0-7) . Zwischen
Tonhöhe und Oktave kann ein "-" stehen.
So spielt ' PLAY 1," C-3",50' für eine
Sekunde ein C in Oktave 3 .
FREQUENCY stimme, frequenz
- setzt die Frequenz für Stimme # stimme auf # frequenz Hertz.
MEM
- gibt die aktuelle Basic-Speicherbele- gung aus.
DUMP
- zeigt alle benutzten Variablen ( keine
Arrays) und ihren Inhalt an. Benutzerdefinierte Funktionen ( DEF FN) werden
mit ihrer Definition gelistet.
AUTO
- veranlaßt eine automatische Zeilenvorgabe ab der letzten benutzten
Zeilennummer.
AUTO szeile(, abstand)
- automatische Zeilenvorgabe ab Zeile # szeile ( und Abstand # abstand) .
AUTO str$
- bewirkt zusätzlich die Ausgabe von
str$ direkt im Anschluß an die Zeilennummer ( z. B. bei vielen DATA-Zeilen) .
AUTO szeile(, abstand), str$
- Kombination aus den beiden Möglichkeiten.
DELETE bereich
- löscht den angegebenen Bereich aus dem
Basic-Programm.
FIND text/" text"
- sucht in einem Basic-Programm nach
text/" text" und gibt die entsprechenden Zeilen aus.
HELP (*)
- gibt alle PBasic-Befehle ( PBasic-Funk- tionen) aus.
HELP ON/ OFF
- schaltet den Hilfsmodus an/ aus. Ist er
aktiviert, so wird bei Fehlern im Programmablauf die fehlerhafte Zeile ausgegeben.
KEY
- gibt die Funktionstastenbelegung aus, F0 entspricht der Taste " RUN"( SHIFT+ STOP) und kann auch verwendet werden.
KEY ON/ OFF
- schaltet die Funktionstastenbelegung
und die erweiterten Tastaturfunktionen
an/ aus.
KEY nr, str$
- belegt Funktionstaste # nr (0-8) mit
dem Text str$( max.23 Zeichen) .
OLD
- restauriert ein durch NEW oder einen Reset gelöschtes Basic-Programm.
TIME ON/ OFF
- schaltet die Zeitanzeige an/ aus.
TIME str$(, ON/ OFF)
- legt die Uhrzeit ( str$ im Format:
" hhmmss") fest ( und schaltet die An- zeige an/ aus) .
ALARM ON/ OFF
- schaltet den Wecker an/ aus.
ALARM str$(, ON/ OFF)
- bestimmt die Weckzeit ( siehe TIME) .
TRACE ON/ OFF
- schaltet den TRACE-Modus an/ aus. Ist
er an, so wird nach Programmstart
immer die aktuelle Zeilennummer ausgegeben. Der Programmablauf kann durch
Druck auf die SHIFT-Taste verzögert
und CBM angehalten werden.
BEEP
- gibt einen Piepston aus.
BEEP ON/ OFF
- schaltet den Piepser bei Fehlermeldungen an/ aus.
RENUM ( azeile(, sweite(, bereich)))
- numeriert das Basic-Programm oder
Teile davon einschließlich aller
Sprünge ( GOTO, GOSUB) um. Azeile ist
die erste neue Zeilennummer und sweite
die Schrittweite der Zeilen zueinander. Werden keine Parameter angegeben, so wird das gesamte Programm, beginnend mit Zeile 100 und Schrittweite
10, umnumeriert.
PR# dev
- öffnet ein File zum Gerät # dev und
leitet die Ausgabe auf dieses Gerät
ein. Ist dev=0, so gehen alle Ausgaben
wieder auf den Bildschirm. BEISPIEL:
PR#4 : LIST: PR#0 gibt ein Listing auf den Drucker aus.
DEVICE
- gibt das aktuelle Gerät und Laufwerk aus.
DEVICE dev(, drive)
- bestimmt Gerät (8-15)( und Laufwerk (0 ;1)) für DOS-Befehle.
DOPEN file, fname$, S/U/P, R/W
- öfnnet ein File mit dem Namen fname$ unter der Nummer # file. Der Dateityp
wird durch die Parameter S( eq)/ U( sr)/ P( rg) gewählt. R/ W bestimmt, ob die
Datei gelesen ( R) oder geschrieben ( W) werden soll.
Ein Direktzugriffskanal wird geöffnet, wenn als Filename ein "#" angegeben
wird. Die Parameter S/ U/ P und R/ W
entfallen ( also DOPEN 2,"#") .
Um eine bestehende relative Datei zu
öffnen, wird nur der Filename ohne
Parameter angegeben ( DOPEN 8," datei") .
DOPEN file, fname$, länge
- legt eine relative Datei mit einer Datensatzlänge von # länge neu an.
DCLOSE
- schließt alle noch offenen Files.
DCLOSE file(, file)
- schließt das File # file.
RECORD# file, satznr(, pos)
- positioniert den Datensatzzeiger der
relativen Datei # file auf Datensatz
# satznr ( und innerhalb des Satzes auf
Byte # pos) .
DIR
- gibt das Inhaltsverzeichnis einer Diskette auf dem Bildschirm aus.
DISK ( str$)
-( sendet den Befehl str$ an das Laufwerk und) gibt Fehlerstatus aus.
DLOAD fname$
- lädt ein Basic-Programm.
DLOAD KEY
- lädt die Funktionstastenbelegung.
DLOAD CHARSET fname$
- lädt einen Zeichensatz mit Namen fname$ .
DSAVE fname$(, bereich)
- speichert das gesamte Programm ( oder Teile davon) .
DSAVE KEY
- speichert die Funktionstastenbelegung.
DSAVE CHARSET fname$
- speichert den aktuellen Zeichensatz unter dem Namen fname$ ab.
DRUN fname$
- lädt und startet ein Basic-Programm.
APPEND fname$
- lädt das Basic-Programm fname$ hinter
das im Speicher stehende Basic-Pro- gramm.
BLOAD fname$(, adr)
- lädt ein Maschinenspracheprogramm an seine Ursprungsadresse ( an Adresse # adr) .
BSAVE fname$, sadr, eadr
- speichert den Adressbereich von # sadr bis # eadr-1 .
BRUN fname$(, adr)
- lädt und startet ein Assemblerprogramm.
GLOAD fname$
- lädt ein Grafikbild.
GSAVE fname$
- speichert das laufende Grafikbild.
TEXT
- schaltet den Textmodus an.
HIRES
- schaltet hochauflösende Grafik an.
HIRES pfarbe, hfarbe
- schaltet Grafik an und setzt Punktund Hintergrundfarbe.
HIRES mcfarbe1, mcfarbe2, mcfarbe3
- schaltet Grafik an und setzt die MC-Farben 1-3 .
GCLS
- löscht den Grafikbildschirm.
INVERT
- invertiert den Grafikbildschirm.
COPY
- kopiert den Textin den Grafikbildschirm ( für Hardcopy) .
Bitte laden Sie nun den zweiten Teil der
Pegasus-Basic Anleitung.