Magic Disk 64

home to index to text: MD9102-UTILITIES-PEGASUS_BASIC.txt
             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.

Valid HTML 4.0 Transitional Valid CSS!