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 Quote- und 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är- und 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 Schnitt- stelle 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 abge- schaltet. 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-180VC o.ä.). - Ist als Parameter ein Winkel ge- fordert, 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 Text- und 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 Tasten- verhältnis (in %) bestimmt werden. Die Parameter S und R legen die Effekte Synchronisation bzw. Ringmo- dulation fest. Stimme 3 kann durch die Parameter ON bzw. OFF an- oder ausge- schaltet 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-, Band- und Tiefpaß. 1/2/3/e sind die Ton- quellen (Stimme 1-3 oder externer Aus- gang), 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/50s) 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. Benutzer- definierte Funktionen (DEF FN) werden mit ihrer Definition gelistet. AUTO - veranlaßt eine automatische Zeilen- vorgabe 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 Zeilen- nummer (z.B. bei vielen DATA-Zeilen). AUTO szeile(,abstand),str$ - Kombination aus den beiden Möglich- keiten. 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 entsprechen- den 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 Pro- grammablauf die fehlerhafte Zeile aus- gegeben. 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 aus- gegeben. 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 Fehlermel- dungen 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 zueinan- der. Werden keine Parameter angegeben, so wird das gesamte Programm, be- ginnend 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 Lauf- werk 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 Assemblerpro- gramm. 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 Punkt- und 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 Text- in den Grafikbild- schirm (für Hardcopy). Bitte laden Sie nun den zweiten Teil der Pegasus-Basic Anleitung.