Herunterladen Inhalt Inhalt Diese Seite drucken
Inhaltsverzeichnis

Werbung

Werbung

Inhaltsverzeichnis
loading

Inhaltszusammenfassung für Mega BASIC65

  • Seite 3 MEGA65 BASIC 65-REFERENZHANDBUCH Herausgeber: MEGA Museum of Electronic Games & Art e.V., Deutschland.
  • Seite 4 Haftung übernommen und im Zweifelsfall auf das dem MEGA65 beiliegende englische Original-Handbuch verwiesen. ©2019 – 2021 Paul Gardner-Stephen, das MEGA Museum of Electronic Games & Art e.V. und Mitwirkende. Übersetzung: Günther Reiter (Snoopy) Vielen Dank an die Mitglieder des Forum64 für die tatkräftige Unterstützung!
  • Seite 5: Inhaltsverzeichnis

    Inhaltsverzeichnis 1 Einleitung xiii Willkommen beim MEGA65! ......2 BASIC 65-Befehlsreferenz Befehle, Funktionen und Operatoren ..... . BASIC 65-Konstanten .
  • Seite 6 APPEND ........14 ASC ........15 ATN .
  • Seite 7 CONT ........51 COPY ........52 COS .
  • Seite 8 ELLIPSE ........84 ELSE ........86 END .
  • Seite 9 GRAPHIC ........116 HEADER ........117 HELP .
  • Seite 10 MOD ........150 MONITOR ........151 MOUNT .
  • Seite 11 PRINT USING ....... . 188 RCOLOR ........190 RCURSOR .
  • Seite 12 SCRATCH ........221 SCREEN ........223 SET .
  • Seite 13 TYPE ........254 UNTIL ........255 USING .
  • Seite 15: Einleitung

    KAPITEL Einleitung • Willkommen beim MEGA65!
  • Seite 17: Willkommen Beim Mega65

    WILLKOMMEN BEIM MEGA65! Herzlichen Glückwunsch zu Ihrem Kauf eines der lang ersehntesten Computer in der Geschichte der Informatik. Der MEGA65 ist ein von der Community entwickelter Rech- ner, der auf dem Commodore® 65 basiert. Dieser wurde 1989 entwickelt und sollte 1991 auf den Markt kommen.
  • Seite 18 in dem Maße wachsen, in dem klar wird, welche Programme durch die Leistung und die Funktionen dieses modernen Commodore-Computers erschaffen werden können. Gemeinsam werden wir eine neue ”Homebrew”-Community aufbauen, um Software und Projekte zu entwickeln, von denen wir nicht dachten, dass sie auf dem MEGA65 möglich sind.
  • Seite 19: Basic 65-Befehlsreferenz

    KAPITEL BASIC 65-Befehlsreferenz • Befehle, Funktionen und Operatoren • BASIC 65-Konstanten • BASIC 65-Variablen • BASIC 65-Arrays • BASIC 65-Operatoren • BASIC 65-Befehlsreferenz...
  • Seite 21: Befehle, Funktionen Und Operatoren

    BEFEHLE, FUNKTIONEN UND OPERATOREN Dieses Referenzhandbuch beschreibt alle Befehle, Funktionen und andere aufrufbaren Elemente von BASIC 65, einer erweiterten Version von BASIC 10. Einige von ihnen kön- nen ein oder mehrere Argumente annehmen, d.h. Eingaben die Sie als Teil des Befehls oder Funktionsaufrufs bereitstellen.
  • Seite 22 Es ist allgemein üblich, dass Befehle, Funktionen und Operatoren einen oder mehre- "HALLO" re ”Ausdrücke” verwenden. Ein Ausdruck ist nur ein schicker Name für etwas, das einen Wert hat. Dabei kann es sich um einen String (Zeichenkette) ( ), eine LEN("HALLO") * (3 XOR 7) Zahl (23.7) oder eine Berechnung, die eine oder mehrere Funktionen oder Operatoren ) beinhaltet, handeln.
  • Seite 23: Basic 65-Konstanten

    BASIC 65-KONSTANTEN Beispiel Beispiel Dezimale ganze Zahl (integer) 32000 Dezimale Festkommazahl (fixed point) 3.14 -7654.321 Dezimale Fließkommazahl (floating point) 1.5E03 7.7E-02 Hexadezimale Zahl (hex) $D020 String (string) "X" "TEXT" BASIC 65-VARIABLEN Jede skalare Variable verbraucht 8 Byte Speicherplatz im Speicher. Der reservierte Bereich in Bank 0 von $F700-$FEFF kann 256 Variablen speichern.
  • Seite 24 dem String-Bereich, der in Bank 1 an der Adresse $F6FF beginnt und sich im Speicher nach unten absteigend erweitert. Jeder der oben genannten einfachen Variablentypen kann auch als Array verwendet werden, indem er mit einer DIM-Anweisung deklariert wird. Die Arrays werden bei der Deklaration für alle Elemente mit Null initialisiert. Wenn ein nicht deklariertes Array-Element verwendet wird, wird eine automatische implizite Deklaration durchgeführt, die die obere Grenze für jede Dimension auf 10 setzt.
  • Seite 25: Basic 65-Operatoren

    BASIC 65-OPERATOREN BASIC 65 bietet eine Reihe von Operatoren, die für die meisten BASIC- Programmiersprachen typisch sind. Die Verwendung und der Vorrang entsprechen den Standards. A = B = Das Symbol = wird sowohl als Zuweisungsoperator als auch als relationaler Operator zur Prüfung der Gleichheit verwendet.
  • Seite 26: Zuweisungsoperator

    Zuweisungsoperator Symbol Beschreibung Operandentyp Beispiel Zuweisung alle A = 42, A$ ="HALLO", A = B < 42 Unäre mathematische Operatoren Name Symbol Beschreibung Operandentyp Beispiel Plus positives Vorzeichen numerisch A = +42 Minus - negatives Vorzeichen numerisch B = -42 Binäre mathematische Operatoren Name Symbol Beschreibung...
  • Seite 27: Boolesche Operatoren

    Boolesche Operatoren Schlüsselwort Beschreibung Operandentyp Beispiel boolesch A = B AND $FF Oder boolesch A = B OR $80 Exklusives Oder boolesch A = B XOR 1 Negation boolesch A = NOT 22 String-Operator Name Symbol Beschreibung Operandentyp Beispiel Plus + Verkettung String A$ = B$ + ".PRG"...
  • Seite 28: Basic 65-Befehlsreferenz

    BASIC 65-BEFEHLSREFERENZ Symbol Bedeutung Sie können den Vorgang … so oft wiederholen, wie … Sie wollen, oder auch gar nicht. Alles, was zwischen den eckigen Klammern steht, ist optional und kann auch weggelassen werden. Sie müssen eine Option auswählen. Die Optionen <...
  • Seite 30: Abs

    Token: Format: ABS(x) Zweck: Die numerische Funktion ABS(x) liefert den absoluten Betrag des nume- rischen Arguments x. x ist ein numerisches Argument (ganzzahlig oder reeller Ausduck). Notiz: Das Ergebnis ist vom Typ real (reelle Zahl). Beispiel: Verwendung von ABS:...
  • Seite 31: And

    Token: Format: Operand AND Operand Zweck: AND führt eine bitweise logische UND-Verknüpfung von zwei 16-Bit- Werten durch. Ganzzahlige Operanden werden so verwendet, wie sie sind. Reelle Operanden werden in eine vorzeichenbehaftete 16-Bit- Ganzzahl umgewandelt (unter Verlust der Genauigkeit). Logische Ope- randen werden in 16-Bit-Ganzzahlen umgewandelt mit $FFFF, dezimal -1 für TRUE (wahr) und $0000, dezimal 0, für FALSE (falsch).
  • Seite 32: Append

    APPEND Token: $FE $0E Format: APPEND# Kanal, Dateiname [,D Laufwerk (drive)] [,U Gerät (unit)] Zweck: Öffnet eine vorhandene sequentielle Datei vom Typ SEQ oder USR zum Schreiben und positioniert den Schreibzeiger an das Ende der Datei. Kanal ist eine ganze Zahl, wobei: •...
  • Seite 33: Asc

    Token: Format: ASC(String) Zweck: Nimmt das erste Zeichen des String-Arguments und gibt dessen numeri- schen Codewert zurück. Der Name wurde anscheinend gewählt, um eine Eselsbrücke zu ASCII zu bilden, aber der zurückgegebene Wert ist in Wirk- lichkeit der sogenannte PETSCII-Code. Notiz: ASC liefert bei einem leeren String den Wert 0 zurück.
  • Seite 34: Atn

    Token: Format: ATN(numerischer Ausdruck) Zweck: Liefert den Arcustangens des Arguments. Das Ergebnis liegt im Bereich ( π/2 bis π/2) Notiz: Eine Multiplikation des Ergebnisses mit 180/π wandelt den Wert in die Einheit ”Grad” um. ATN ist die Umkehrfunktion zu TAN. Beispiel: Verwendung von ATN:...
  • Seite 35: Auto

    AUTO Token: Format: AUTO [Schrittweite] Zweck: Ermöglicht das schnellere Eintippen von BASIC-Programmen. Nach Über- RETURN gabe einer neuen Programmzeile an den BASIC-Editor mit der Taste, erzeugt die AUTO-Funktion eine neue BASIC-Zeilennummer für die Eingabe der nächsten Zeile. Die neue Nummer wird errechnet, indem die Schrittweite zur aktuellen Zeilennummer addiert wird.
  • Seite 36: Background

    BACKGROUND Token: $FE $3B Format: BACKGROUND Farbwert Zweck: BACKGROUND (dt. ”Hintergrund”) setzt die Hintergrundfarbe des Bild- schirms auf das Argument, das im Bereich von 0 bis 255 liegen muss. Alle Farben innerhalb dieses Bereichs können mit dem Befehl PALETTE angepasst werden. Beim Start hat der MEGA65 nur die ersten 32 Far- ben konfiguriert, die in der folgenden Tabelle beschrieben sind.
  • Seite 37 Farben: Index und RGB-Werte der Farbpalette Index Rot Grün Blau Farbe (engl.) Farbe (dt.) 0 black schwarz 1 15 15 white weiß 2 15 0 red 15 cyan türkis 4 15 15 purple violett 0 green grün 15 blue blau 7 15 0 yellow gelb...
  • Seite 38: Backup

    BACKUP Token: Format: BACKUP U Quelle TO U Ziel BACKUP D Quelle TO D Ziel [,U Gerät (unit)] Zweck: Die erste Form von BACKUP, mit der Angabe von Geräten (units) für Quelle und Ziel, kann nur für die Laufwerke verwendet werden, die an den internen FDC (Floppy Disk Controller) angeschlossen sind.
  • Seite 39: Bank

    BANK Token: $FE $02 Format: BANK Banknummer Zweck: Wählt die Speicherkonfiguration für BASIC-Befehle, die 16 Bit-Adressen verwenden. Diese sind LOAD, LOADIFF, PEEK, POKE, SAVE, SYS, und WAIT. Nähere Informationen dazu finden Sie in der Beschreibung des Systemspeichers. Notiz: Ein Wert > 127 wählt eine Speicherkonfiguration mit sichtbarem I/O- Bereich.
  • Seite 40: Begin

    BEGIN Token: $FE $18 Format: BEGIN ... BEND Zweck: BEGIN und BEND fungieren als ein Paar geschweifte Klammern um ei- ne zusammengesetzte Anweisung, die nach THEN oder ELSE ausgeführt wird. Dadurch wird die einzeilige Beschränkung der Standardanweisung IF ... THEN ... ELSE-Klausel umgangen. Notiz: Springen Sie nicht mit GOTO oder GOSUB in eine so zusammengesetzte Anweisung.
  • Seite 41: Bend

    BEND Token: $FE $19 Format: BEGIN ... BEND Zweck: BEGIN und BEND fungieren als ein Paar geschweifte Klammern um ei- ne zusammengesetzte Anweisung, die nach THEN oder ELSE ausgeführt wird. Dadurch wird die einzeilige Beschränkung der Standardanweisung IF ... THEN ... ELSE-Klausel umgangen. Notiz: Das folgende Beispiel zeigt eine Besonderheit in der Implementierung der zusammengesetzten Anweisung.
  • Seite 42: Bload

    BLOAD Token: $FE $11 Format: BLOAD Dateiname [,B Bank] [,P Adresse] [,R] [,D Laufwerk] [,U Gerät] Zweck: ”Binary LOAD” (dt. ”binäres Laden”) lädt eine Datei des Typs PRG in das RAM bei Adresse P. BLOAD hat zwei Modi: Der sogenannte ”flache” Speicheradressenmo- dus kann verwendet werden, um ein Programm an jede Adresse im 28 Bit (256 MB) Adressbereich, in dem RAM installiert ist, zu laden.
  • Seite 43 wendet wird, muss sie in Klammern gesetzt werden. Standardmäßig ist das Gerät auf 8 eingestellt. Notiz: BLOAD kann keine Bank-Grenzen überschreiten. Falls kein Parameter P angeben ist, verwendet BLOAD die Ladeadresse der Datei. Beispiel: Verwendung von BLOAD:...
  • Seite 44: Boot

    BOOT Token: $FE $1B Format: BOOT Dateiname [,B Bank] [,P Adresse] [,D Laufwerk] [,U Gerät] BOOT SYS BOOT Zweck: BOOT Dateiname lädt eine Datei vom Typ PRG in das RAM in Adresse P und Bank B und startet den Code an der Ladeadresse. BOOT SYS lädt den Bootsektor von Sektor 0, Spur 1 und Gerät 8 an die Adresse $0400 in Bank 0, und führt anschließend einen JSR $0400 durch (Jump To Subroutine / dt.
  • Seite 45: Border

    BORDER Token: $FE $3C Format: BORDER Farbe Zweck: Setzt die Rahmenfarbe des Bildschirms auf den angegebenen Farbwert, der im Bereich von 0 bis 255 liegen muss. Alle Farben innerhalb dieses Bereichs können mit dem PALETTE-Befehl angepasst werden. Beim Start hat der MEGA65 nur die ersten 32 Farben entsprechend der folgenden Abbildung konfiguriert.
  • Seite 46: Box

    Token: Format: BOX x0,y0, x2,y2 [, gefüllt] BOX x0,y0, x1,y1, x2,y2, x3,y3 [, gefüllt] Zweck: Die erste Form von BOX, mit zwei Koordinatenpaaren und einem optio- nalen Parameter gefüllt, zeichnet ein einfaches Rechteck, wobei ange- nommen wird, dass die Koordinatenpaare zwei diagonal gegenüberlie- gende Ecken deklarieren.
  • Seite 48: Bsave

    BSAVE Token: $FE $10 Format: BSAVE Dateiname, P Startadresse TO P Endadresse [,B Bank] [,D Lauf- werk] [,U Gerät] Zweck: ”Binary SAVE” (dt. ”binäres Speichern”) speichert einen Speicherbereich in eine Datei des Typs PRG. BSAVE hat zwei Modi: Der sogenannte ”flache” Speicheradressenmodus kann verwendet werden, um einen Speicherbereich im 28 Bit (256 MB) Adressbereich, in dem RAM installiert ist, abzuspeichern.
  • Seite 49 Laufwerk (drive) ist die Laufwerksnummer bei Diskettenstationen mit zwei Laufwerken. Die standardmäßige Laufwerksnummer ist 0 und kann bei Diskettenstationen mit nur einem Laufwerk, wie der 1541, 1571 oder 1581, weggelassen werden. Gerät (unit) ist die Gerätenummer auf dem IEC-Bus. Normalerweise im Bereich von 8 bis 11 für die Diskettenlaufwerke.
  • Seite 50: Bump

    BUMP Token: $CE $03 Format: BUMP(Typ) Zweck: Dient zur Erkennung von Sprite-Sprite (Typ=1)- oder Sprite-Daten (Typ=2)-Kollisionen. Der Rückgabewert ist eine 8-Bit-Maske mit einem Bit pro Sprite. Die Bitposition entspricht der Sprite-Nummer. Jedes gesetzte Bit im Rückgabewert zeigt an, dass das Sprite für seine Position seit dem letzten Aufruf von BUMP in eine Kollision verwickelt war.
  • Seite 51: Bverify

    BVERIFY Token: $FE $28 Format: BVERIFY Dateiname [,P Adresse] [,B Bank] [,D Laufwerk] [,U Gerät] Zweck: ”Binary VERIFY” (”binäres Überprüfen”) vergleicht einen Speicherbereich mit einer Datei des Typs PRG. Dateiname ist entweder ein String in Anführungszeichen, z.B. ”Daten” oder ein Stringausdruck in Klammern gesetzt, z.B. (FI$). Bank gibt die zu verwendende RAM-Bank an.
  • Seite 52: Catalog

    CATALOG Token: $FE $0C Format: CATALOG [Dateimuster] [,W] [,R] [,D Laufwerk] [,U Gerät] $ [Dateimuster] [,W] [,R] [,D Laufwerk] [,U Gerät] Zweck: Zeigt einen Dateikatalog/Verzeichnis der angegebenen Diskette bzw. des angebenen Diskettenimage. Der Parameter W (Wide, dt. ”breit”) listet das Verzeichnis drei Spalten breit auf dem Bildschirm auf und pausiert, wenn der Bildschirm mit einer Seite (63 Verzeichniseinträge) gefüllt ist.
  • Seite 53 Beispiel: Verwendung von CATALOG: Nachfolgend ein Beispiel, das zeigt, wie ein Verzeichnis mit dem Para- meter Wide (dt. ”breit”) aussieht:...
  • Seite 54: Change

    CHANGE Token: $FE $2C Format: CHANGE /Suchstring/ TO /Ersetzungsstring/ [, Zeilenbereich] CHANGE ”Suchstring” TO ”Ersetzungsstring” [, Zeilenbereich] Zweck: CHANGE führt ein Suchen und Ersetzen in dem BASIC-Programm, das sich derzeit im Speicher befindet, durch. Ein optionaler Zeilenbereich begrenzt die Suche auf diesen Bereich, ansonsten wird das gesamte BASIC-Programm durchsucht.
  • Seite 55: Char

    CHAR Token: Format: CHAR Spalte, Zeile, Höhe, Weite, Richtung, String [, Adresse des Zei- chensatzes] Zweck: Zeigt einen Text auf einem Grafikscreen. CHAR kann in allen Auflösungen verwendet werden. Spalte (in Einheiten von Zeichenpositionen) ist die Startposition der Aus- gabe in horizontaler Richtung. Da jede Spalteneinheit 8 Pixel breit ist, hat eine Bildschirmbreite von 320 einen Spaltenbereich von 0-39, während eine Bildschirmbreite von 640 einen Spaltenbereich von 0-79 hat.
  • Seite 56 String ist eine String-Konstante oder ein String-Ausdruck der ausgege- ben werden soll. Dieser String kann optional eines oder mehrere der fol- genden Steuerzeichen enthalten: CHR$(2) Ausdruck Tastenkombination Beschreibung CHR$(6) CTRL+B Leerzeichen CHR$(9) CTRL+F Reihenfolge umdrehen CHR$(15) CTRL+I Verknüpfe mittels AND CHR$(24) CTRL+O Verknüpfe mittels OR...
  • Seite 57 Beispiel: Verwendung von CHAR: Gibt den Text ”MEGA65” in der Mitte eines 640 x 400 Pixel großen Bild- schirms aus.
  • Seite 58: Chr

    CHR$ Token: Format: CHR$(numerischer Ausdruck) Zweck: Gibt einen String zurück, der ein Zeichen enthält, dessen PETSCII-Code gleich dem Argument ist. Notiz: Der Argumentbereich reicht von 0 bis 255, so dass diese Funktion auch zum Einfügen von Steuercodes in Strings verwendet werden kann. Sogar das NULL-Zeichen mit dem Code 0 ist erlaubt.
  • Seite 59: Circle

    CIRCLE Token: Format: CIRCLE x-Mittelpunkt, y-Mittelpunkt, Radius [, gefüllt] Zweck: Zeichnet einen Kreis mit dem Mittelpunkt (x,y) und dem Radius (Radius). Ein Sonderfall von ELLIPSE, bei dem für den horizontalen und vertikalen Radius derselbe Wert verwendet wird. x-Zentrum x-Koordinate des Mittelpunkts in Pixel y-Zentrum y-Koordinate des Mittelpunkts in Pixel Radius Radius des Kreises in Pixel gefüllt füllt den Kreis, falls ungleich Null.
  • Seite 61: Close

    CLOSE Token: Format: CLOSE Kanal Zweck: Schließt einen Eingangs- oder Ausgangskanal. Kanal Nummer, die bei einem früheren Aufruf von Befehlen wie APPEND, DOPEN oder OPEN vergeben worden ist. Notiz: Das Schließen von Dateien, die zuvor geöffnet wurden, bevor ein Pro- gramm beendet ist, ist sehr wichtig, insbesondere für Ausgabedateien.
  • Seite 62: Clr

    Token: Format: CLR Variable Zweck: Dient der Verwaltung von BASIC-Variablen, -Arrays und -Strings. Die Laufzeit-Stackpointer und die Tabelle der offenen Kanäle werden dabei zurückgesetzt. Nach der Ausführung eines CLR-Befehls sind alle Varia- blen und Arrays nicht deklariert. RUN führt jeweils CLR automatisch aus. CLR Variable löscht die angegebene Variable (setzt sie auf Null).
  • Seite 63: Cmd

    Token: Format: CMD Kanal [, String] Zweck: CMD (Change Main Device, dt. etwa ”ändere Standardgerät”) leitet die Standardausgabe vom Bildschirm in den angegebenen Kanal um. Damit können Sie Programmlistings und Dateiverzeichnisse auf andere Ausga- bekanäle auszugeben. Es ist auch möglich, diese Ausgabe in eine Datei oder ein Modem umzuleiten.
  • Seite 64: Collect

    COLLECT Token: Format: COLLECT [,D Laufwerk] [,U Gerät] Zweck: Stellt die BAM (Block Availability Map, dt. ”bla”) eines Datenträgers wie- der her und löscht dabei sogenannte ”Splat”-Dateien (Dateien, die ge- öffnet, aber nicht richtig geschlossen wurden) und markiert unbenutzte Blöcke als frei. Laufwerk (drive) ist die Laufwerksnummer bei Diskettenstationen mit zwei Laufwerken.
  • Seite 65: Collision

    COLLISION Token: $FE $17 Format: COLLISION Typ [, Zeilennummer] Zweck: Aktiviert oder deaktiviert einen benutzerprogrammierten Interrupt- Handler. Ein Aufruf ohne Zeilennummer schaltet den Handler aus, wäh- rend ein Aufruf mit Zeilennummer ihn aktiviert. Nach der Ausführung von COLLISION mit Zeilennummer, unterbricht eine Sprite-Kollision des im Aufruf angegebenen Typs das BASIC-Programm und führt einen GOSUB- Sprung zur Zeile Zeilennummer aus, ab der Anwendercode für die Be- handlung von Sprite-Kollisionen erwartet wird.
  • Seite 66 Info: COLLISION wurde in BASIC 10 nicht fertiggestellt. Eine funktionierende Implementierung wird in einem zukünftigen BASIC 65-Update verfügbar sein.
  • Seite 67: Color

    COLOR Token: Format: COLOR Farbe COLOR <ON | OFF> Zweck: Das erste Format funktioniert auf die gleiche Weise wie FOREGROUND, d.h.: es setzt die Vordergrundfarbe (Textfarbe) des Bildschirms auf das Argument Farbe, das im Bereich von 0 bis 31 liegen muss. Siehe dazu die Tabelle unter BACKGROUND auf Seite 19 für die Farbwerte und ihre entsprechenden Farben.
  • Seite 68: Concat

    CONCAT Token: $FE $13 Format: CONCAT Anhangsdatei [,D Laufwerk] TO Zieldatei [,D Laufwerk] [,U Ge- rät] Zweck: CONCAT (concatenation) (dt. ”Verkettung”) fügt den Inhalt von An- hangsdatei an Zieldatei an. Danach enthält Zieldatei den Inhalt der beiden Dateien, während Anhangsdatei unverändert bleibt. Anhangsdatei ist entweder ein String in Anführungszeichen (zum Bei- spiel: ”Daten”) oder ein String-Ausdruck in Klammern (zum Beispiel: (FI$)).
  • Seite 69: Cont

    CONT Token: Format: CONT Zweck: Wiederaufnahme der Programmausführung nach einer Unterbrechung oder einem Stopp, der durch eine END- oder STOP-Anweisung oder durch Drücken der -Taste ausgelöst worden ist. Dies ist ein nützli- STOP ches Werkzeug zur Fehlersuche. Das BASIC-Programm kann angehalten werden und die Variablen können untersucht und sogar geändert wer- den.
  • Seite 70: Copy

    COPY Token: Format: COPY Quelle [,D Laufwerk] [,U Gerät] TO [Ziel] [,D Laufwerk] [,U Gerät] Zweck: Kopiert den Inhalt von Quelle nach Ziel. Wird verwendet, um entweder einzelne Dateien oder, unter Verwendung von Platzhalterzeichen, meh- rere Dateien zu kopieren. Quelle ist entweder ein String in Anführungszeichen (zum Beispiel: ”Da- ten”) oder ein String-Ausdruck in Klammern (zum Beispiel: (FI$)).
  • Seite 71 COPY kann keine DEL-Dateien kopieren, die üblicherweise als Titel oder Trennzeichen in Diskettenverzeichnissen verwendet werden. Diese ent- sprechen nicht den Commodore DOS-Regeln und können nicht von den OPEN-Standardroutinen angesprochen werden. REL-Dateien können nicht von Gerät zu Gerät kopiert werden. Beispiel: Verwendung von COPY:...
  • Seite 72: Cos

    Token: Format: COS(numerischer Ausdruck) Zweck: Gibt den Kosinus des Arguments zurück. Das Argument wird im Bogenmaß angegeben. Das Ergebnis liegt im Bereich (-1.0 bis +1.0) Notiz: Ein Argument in Grad kann ins benötigte Bogenmaß umgerechnet wer- den, indem es mit π/180 multipliziert wird. Beispiel: Verwendung von COS:...
  • Seite 73: Cursor

    CURSOR Format: CURSOR <ON | OFF> [{, Spalte, Zeile, Stil}] CURSOR {Spalte, Zeile, Stil} Zweck: Bewegt den Textcursor an die angegebene Position auf dem aktuellen Textbildschirm. ON (”an”) oder OFF (”aus”) zeigt den Cursor oder blendet ihn aus. Spalte und Zeile geben die neue Position an. Stil definiert einen feststehenden (1) oder blinkenden (0) Cursor.
  • Seite 74: Cut

    Token: Format: CUT x, y, Breite, Höhe Zweck: CUT (dt. ”schneide aus”) wird auf Grafikbildschirmen verwendet und ko- piert den Inhalt des angegebenen Rechtecks mit der oberen linken Posi- tion x, y sowie der Breite und Höhe in einen Puffer und füllt den Bereich anschließend mit der Farbe des aktuell ausgewählten Stifts.
  • Seite 75: Data

    DATA Token: Format: DATA [Konstante [, Konstante ...]] Zweck: Dient zur Definition von Konstanten, die in einem Programm von READ- Anweisungen gelesen werden können. Zahlen und Strings sind erlaubt, Ausdrücke jedoch nicht. Elemente werden durch Kommas getrennt. Strings, die Kommas, Doppelpunkte oder Leerzeichen enthalten, müssen in Anführungszeichen gesetzt werden.
  • Seite 76: Dclear

    DCLEAR Token: $FE $15 Format: DCLEAR [,D Laufwerk] [,U Gerät] Zweck: Sendet einen Initialisierungsbefehl an das angegebene Gerät und das angegebene Laufwerk. Laufwerk (drive) ist die Laufwerksnummer bei Diskettenstationen mit zwei Laufwerken. Die standardmäßige Laufwerksnummer ist 0 und kann bei Diskettenstationen mit nur einem Laufwerk, wie der 1541, 1571 oder 1581, weggelassen werden.
  • Seite 77: Dclose

    DCLOSE Token: $FE $0F Format: DCLOSE [U Gerät] DCLOSE # Kanal Zweck: Schließt eine einzelne Datei oder alle Dateien für das angegebene Ge- rät. Kanal Nummer, die bei einem früheren Aufruf von Befehlen wie APPEND, DOPEN oder OPEN vergeben worden ist. Gerät (unit) ist die Gerätenummer auf dem IEC-Bus.
  • Seite 78: Dec

    Token: Format: DEC(String-Ausdruck) Zweck: Gibt den Dezimalwert des Arguments zurück, das als Hexadezimal-String geschrieben wird. Der Argumentbereich ist ”0000” bis ”FFFF” (0 bis 65535 in Dezimalzah- len). Das Argument muss 1-4 Hexadezimalziffern haben. 0123456789ABCDEF Notiz: Erlaubte Ziffern im Großbuchstaben-/Grafikmodus sind: 0123456789abcdef und im Klein-/Großbuchstabenmodus: Beispiel:...
  • Seite 79: Def Fn

    DEF FN Token: Format: DEF FN Name(reelle Variable) = [Ausdruck] Zweck: Definiert eine Benutzerfunktion mit einer einzelnen Anweisung und einem Argument vom Typ ”Real” (reelle Zahl), die einen reellen Wert zurückgibt. Die Definition muss ausgeführt werden, bevor die Funktion in Ausdrü- cken verwendet werden kann.
  • Seite 80: Delete

    DELETE Token: Format: DELETE [Zeilenbereich] DELETE Dateiname [,D Laufwerk] [,U Gerät] [,R] Zweck: Dient entweder zum Löschen eines Bereichs von Zeilen aus dem BASIC- Programm oder zum Löschen einer Datei von Diskette. Zeilenbereich besteht aus der ersten und letzten zu löschenden Zeile oder einer einzelnen Zeilennummer.
  • Seite 81 Beispiel: Verwendung von DELETE:...
  • Seite 82: Dim

    Token: Format: DIM Name(Grenzwert) [, Name(Grenzwert) ...] Zweck: Deklariert die Form, Grenzen und den Typ eines BASIC-Arrays. Als De- klarationsanweisung muss sie nur einmal und vor jeder Verwendung des deklarierten Arrays ausgeführt werden. Ein Array kann eine oder mehre- re Dimensionen haben. Eindimensionale Arrays werden oft als Vektoren bezeichnet, während zwei oder mehr Dimensionen eine Matrix definie- ren.
  • Seite 83: Dir

    Token: $EE (DIR) $FE $29 (ECTORY) Format: DIR [Dateinamenmuster] [,W] [,R] [,D Laufwerk] [,U Gerät] DIRECTORY [Dateinamenmuster] [,W] [,R] [,D Laufwerk] [,U Gerät] $ [Dateinamenmuster] [,W] [,R] [,D Laufwerk] [,U Gerät] Zweck: Zeigt einen Dateikatalog/Verzeichnis der angegebenen Diskette bzw. des angebenen Diskettenimage. Der Parameter W (Wide, dt.
  • Seite 84 Nachfolgend ein Beispiel, das zeigt, wie ein Verzeichnis mit dem Para- meter Wide (dt. ”breit”) aussieht:...
  • Seite 85: Disk

    DISK Token: $FE $40 Format: DISK Befehl [,U Gerät] Befehl [,U Gerät] Zweck: Sendet einen Befehlsstring an das angegebene Diskettengerät. Gerät (unit) ist die Gerätenummer auf dem IEC-Bus. Normalerweise im Bereich von 8 bis 11 für die Diskettenlaufwerke. Wenn eine Variable ver- wendet wird, muss sie in Klammern gesetzt werden.
  • Seite 86: Dload

    DLOAD Token: Format: DLOAD Dateiname [,D Laufwerk] [,U Gerät] Zweck: ”Disk LOAD” (dt. ”von Diskette laden”) lädt eine Datei vom Typ PRG in den für BASIC-Programme reservierten Speicher. Dateiname ist entweder ein String in Anführungszeichen, z.B. ”Daten” oder ein Stringausdruck in Klammern gesetzt, z.B. (FI$). Laufwerk (drive) ist die Laufwerksnummer bei Diskettenstationen mit zwei Laufwerken.
  • Seite 87: Dma

    Token: $FE $1F Format: DMA Befehl [, Länge, Quelladresse, Quellbank, Zieladresse, Zielbank [, Unterbefehl]] Zweck: DMA ”Direct Memory Access” (dt. ”direkter Speicherzugriff”). Die Ver- wendung von DMA ist nicht mehr üblich und wurde durch EDMA abge- löst. Befehl 0: Kopieren, 1: Mischen, 2: Austauschen, 3: Füllen Länge Anzahl der Bytes Quelladresse 16 Bit-Adresse des Lesebereichs oder des Füll-Bytes.
  • Seite 88: Dmode

    DMODE Token: $FE $35 Format: DMODE Blockieren, Ergänzen, Schablone, Stil, Dicke Zweck: ”Display MODE” (dt. ”Anzeigemodus”) setzt mehrere Parameter des Gra- fikkontexts, der von Zeichenbefehlen verwendet wird. Mode Values Blockieren 0 - 1 Ergänzen (XOR) 0 - 1 Schablone 0 - 1 Stil 0 - 3 Dicke...
  • Seite 89 Token: Format: DO ... LOOP DO [<UNTIL | WHILE> logischer Ausdruck] . . . Befehle [EXIT] LOOP [<UNTIL | WHILE> logischer Ausdruck] Zweck: DO und LOOP definieren den Start einer BASIC-Schleife. Die Verwen- dung von DO und LOOP ohne jegliche Modifikatoren erzeugt eine End- losschleife, die nur durch die Anweisung EXIT verlassen werden kann.
  • Seite 90: Dopen

    DOPEN Token: $FE $0D Format: DOPEN# Kanal, Dateiname [,L [Recordlänge]] [,W] [,D Laufwerk] [,U Ge- rät] Zweck: Öffnet eine Datei zum Lesen oder Schreiben. Kanal Kanalnummer, wobei bei: • 1 <= Kanal <= 127 der Zeilenabschluss CR ist. • 128 <= Kanal <= 255 der Zeilenabschluss CR LF ist. L zeigt an, dass die Datei eine relative Datei ist, die sowohl für den Lese- /Schreibzugriff als auch für den wahlfreien Zugriff geöffnet ist.
  • Seite 91 Beispiel: Verwendung von DOPEN:...
  • Seite 92: Dpat

    DPAT Token: $FE $36 Format: DPAT Typ [, Anzahl, Muster ...] Zweck: ”Drawing PATtern” (dt. ”Zeichenmuster”) setzt das Muster des Grafikkon- textes für Zeichenbefehle. Es gibt vier vordefinierte Mustertypen, die durch Angabe der Typennum- mer (1, 2, 3 oder 4) als einzelnen Parameter ausgewählt werden können. Ein Wert von Null für die Typnummer bedeutet ein benutzerdefiniertes Muster.
  • Seite 93 Format: Zweck: enthält Status letzten Laufwerksoperation. handelt sich eine flüchtige Systemvariable. Jede Ver- wendung löst das Lesen des Status auf dem aktuell ver- wendeten Gerät aus. String-Variablen DSgekoppelt, diezurgleichenZeitaktualisiertwird.DasLesendesStatusvonein Notiz: DS ist eine reservierte Systemvariable. Beispiel: Verwendung von DS:...
  • Seite 94 Format: Zweck: DS$ enthält den Status der letzten Diskettenoperation in folgendem Textformat: Code, Nachricht, Spur, Sektor. DS$ ist an die numerische Variable DS gekoppelt. DS$ wird aktualisiert, wenn DS verwendet wird. DS$ ist auf 00,OK,00,00 gesetzt, falls kein Fehler vorliegt, ansonsten ist er auf eine DOS-Fehlermeldung gesetzt (entsprechend den in den Hand- büchern der jeweiligen Laufwerke erläuterten Fehlermeldungen).
  • Seite 95: Dsave

    DSAVE Token: Format: DSAVE Dateiname [,D Laufwerk] [,U Gerät] Zweck: ”Disk SAVE” (dt. ”Speichern auf Diskette”) speichert das BASIC- Programm, das sich aktuell im Speicher befindet, in eine Datei des Typs PRG. Dateiname ist entweder ein String in Anführungszeichen, z.B. ”Daten” oder ein Stringausdruck in Klammern gesetzt, z.B.
  • Seite 96 Format: Zweck: DT$ enthält das aktuelle Datum und wird vor jeder Verwendung von der DD-MON-YYYY 04-APR-2021 RTC (Real-Time Clock, dt. ”Echtzeituhr”) aktualisiert. DT$ ist wie folgt formatiert: , zum Beispiel: für den 4. April 2021. Notiz: DT$ ist eine reservierte Systemvariable. Beispiel: Verwendung von DT$:...
  • Seite 97: Dverify

    DVERIFY Token: $FE $14 Format: DVERIFY Dateiname [,D Laufwerk] [,U Gerät] Zweck: ”Disk VERIFY” (dt. etwa ”Überprüfung mit Diskette”) vergleicht das akuelle BASIC-Programm im Speicher mit einer Datei des Typs PRG auf Diskette. Dateiname ist entweder ein String in Anführungszeichen, z.B. ”Daten” oder ein Stringausdruck in Klammern gesetzt, z.B.
  • Seite 98: Edit

    EDIT Format: EDIT <ON | OFF> Zweck: EDIT schaltet den eingebauten Editor entweder mit EDIT ON in den Text- modus oder mit EDIT OFF in den BASIC-Programmeditor. Nach dem Einschalten oder einem Reset (Zurücksetzen) wird der Editor als BASIC-Programmeditor initialisiert. Nachdem der Editor mit EDIT ON in den Textmodus versetzt wurde, sind die Unterschiede zum Programmmodus folgende: Der Editor führt keine Tokenisierung/Parsing durch.
  • Seite 99 Beispiel: Verwendung von EDIT:...
  • Seite 100: Edma

    EDMA Token: $FE $21 Format: EDMA Befehl, Länge, Quelle, Ziel [, Unterbefehl, Modifikator] Zweck: EDMA (”Extended Direct Memory Access”, dt. ”Erweiterter direkter Spei- cherzugriff”) ist die schnellste Methode, Speicherbereiche mit Hilfe des DMA-Controllers zu manipulieren. Befehl 0: Kopieren, 1: Mischen, 2: Austauschen, 3: Füllen. Länge Anzahl der Bytes (Maximum = 65535).
  • Seite 101 Format: Zweck: EL hat den Wert der Zeile, in der der letzte BASIC-Fehler aufgetreten ist oder den Wert -1, wenn es bisher keinen Fehler gab. Notiz: EL ist eine reservierte Systemvariable. Diese Variable wird normalerweise in einer TRAP-Routine verwendet, wo die Fehlerzeile von EL übernommen wird.
  • Seite 102: Ellipse

    ELLIPSE Token: $FE $30 Format: ELLIPSE x-Mittelpunkt, y-Mittelpunkt, x-Radius, y-Radius [, gefüllt] Zweck: Zeichnet eine Ellipse mit dem Mittelpunkt (x,y) und dem x- und y-Radius. x-Zentrum x-Koordinate des Mittelpunkts in Pixel y-Zentrum y-Koordinate des Mittelpunkts in Pixel x-Radius x-Radius der Ellipse in Pixel y-Radius x-Radius der Ellipse in Pixel gefüllt füllt die Ellipse, falls ungleich Null.
  • Seite 104: Else

    ELSE Token: Format: IF Ausdruck THEN wahr-Klausel [ELSE falsch-Klausel] Zweck: ELSE ist ein optionaler Teil einer IF-Anweisung. Ausdruck ist ein logischer oder numerischer Ausdruck. Ein numerischer Ausdruck wird als FALSE (falsch) ausgewertet, wenn der Wert Null ist und TRUE (wahr) für jeden Wert ungleich Null. wahr-Klausel eine oder mehrere Anweisungen, die direkt nach THEN in derselben Zeile beginnen.
  • Seite 105 Verwendung von ELSE mit BEGIN und BEND:...
  • Seite 106: End

    Token: Format: READY. Zweck: Beendet die Ausführung des BASIC-Programms. Die Eingabeaufforde- rung erscheint, der Computer geht in den Direktmodus und war- tet auf Tastatureingaben. Notiz: Mit END werden weder Kanäle gelöscht noch Dateien geschlossen. Auch die Variablendefinitionen sind nach END noch gültig. Das Programm kann mit der Anweisung CONT fortgesetzt werden.
  • Seite 107: Envelope

    ENVELOPE Token: $FE $0A Format: ENVELOPE Nummer [{, Anschlag, Abschwell, Halt, Auskling, Wellenform, Impulsbreite}] Zweck: ENVELOPE (dt. ”Hüllekurve”) wird verwendet, um die Parameter für die Synthese eines Musikinstruments zu definieren. Nummer Nummer der Hüllkurve (0-9). Anschlag Anschlagsphase (0-15). Abschwell Abschwellphase (0-15). Halt Haltephase (0-15).
  • Seite 108 Format: Zweck: ER hat den Wert des letzten aufgetretenen BASIC-Fehlers oder -1, falls kein Fehler aufgetreten ist. Notiz: ER ist eine reservierte Systemvariable. Diese Variable wird normalerweise in einer TRAP-Routine verwendet, wo- bei die Fehlernummer aus ER übernommen wird. Beispiel: Verwendung von ER:...
  • Seite 109: Erase

    ERASE Token: $FE $2A Format: ERASE Dateiname [,D Laufwerk] [,U Gerät] [,R] Zweck: ERASE (dt. ”lösche”) wird verwendet, um eine Datei auf einer Diskette zu löschen. Dateiname ist entweder ein String in Anführungszeichen, z.B. ”Daten” oder ein Stringausdruck in Klammern gesetzt, z.B. (FI$). Laufwerk (drive) ist die Laufwerksnummer bei Diskettenstationen mit zwei Laufwerken.
  • Seite 110 Beispiel: Verwendung von ERASE:...
  • Seite 111: Err

    ERR$ Token: Format: ERR$(Nummer) Zweck: Wird verwendet, um eine Fehlernummer in einen Fehlerstring umzuwan- deln. Nummer ist eine BASIC-Fehlernummer (1-41). Diese Funktion wird normalerweise in einer TRAP-Routine verwendet, wo- bei die Fehlernummer aus der reservierten Variable ER entnommen wird. ILLEGAL QUANTITY Notiz: Argumente außerhalb des Bereichs (1-41) führen zu einer Fehlermeldung (dt.
  • Seite 112: Exit

    EXIT Token: Format: EXIT Zweck: Beendet die aktuelle DO .. LOOP-Schleife und setzt die Ausführung mit der ersten Anweisung nach LOOP fort. Notiz: In verschachtelten Schleifen verlässt EXIT nur die aktuelle Schleife und setzt die Ausführung in einer äußeren Schleife fort (falls eine solche vor- handen ist).
  • Seite 113: Exp

    Token: Format: EXP(numerischer Ausdruck) Zweck: Die EXP-Funktion (”exponential function”, dt. ”Exponentialfunktion”) er- rechnet den Wert der Eulerschen Zahl (2.71828183) potenziert mit dem Ein Argument größer als 88 erzeugt einen Überlauffehler: OVERFLOW ERROR. Wert des Argumentes. Notiz: Beispiel: Verwendung von EXP:...
  • Seite 114: Fast

    FAST Token: $FE $25 Format: FAST [Geschwindigkeit] Zweck: Setzt die CPU-Geschwindkeit auf 1 MHz, 3.5 MHz oder 40 MHz. Geschwindigkeit ist die CPU-Geschwindigkeit, wobei: • 1 die CPU-Geschwindigkeit auf 1 MHz setzt. • 3 die CPU-Geschwindigkeit auf 3,5 MHz setzt. •...
  • Seite 115: Fgosub

    FGOSUB Token: $FE $48 Format: FGOSUB numerischer Ausdruck Zweck: Wertet den angegebenen numerischen Ausdruck aus und ruft dann das Unterprogramm mit der daraus resultierenden Zeilennummer auf. Notiz: Falls im Programm FGOSUB-Befehle vorkommen, kann die Verwendung von RENUMBER dazu führen, dass das Programm unter Umständen nicht mehr korrekt funktioniert.
  • Seite 116: Fgoto

    FGOTO Token: $FE $47 Format: FGOTO numerischer Ausdruck Zweck: Wertet den angegebenen numerischen Ausdruck aus und springt dann zu der daraus resultierenden Zeilennummer. Notiz: Falls im Programm FGOTO-Befehle vorkommen, kann die Verwendung von RENUMBER dazu führen, dass das Programm unter Umständen nicht mehr korrekt funktioniert.
  • Seite 117: Filter

    FILTER Token: $FE $03 Format: FILTER SID-Nr. [{, Frequenz, Tiefpass, Bandpass, Hochpass, Resonanz}] Zweck: Legt die Parameter für einen SID-Klangfilter fest. SID-Nr. 1: rechter SID, 2: linker SID Frequenz Filtergrenzfrequenz (0 - 2047) Tiefpass Tiefpassfilter (0: aus, 1: an) Bandpass Bandpassfilter (0: aus, 1: an) Hochpass Hochpassfilter (0: aus, 1: an) Resonanz Resonanz (0 - 15) Notiz:...
  • Seite 118: Find

    FIND Token: $FE $2B Format: FIND /String/ [, Zeilenbereich] FIND ”String” [, Zeilenbereich] Zweck: FIND ist ein Editor-Befehl, der nur im Direktmodus verwendet werden kann. Er durchsucht einen bestimmten Zeilenbereich (falls angegeben), ansonsten wird das gesamte BASIC-Programm durchsucht. Bei jedem Vorkommen des ”Suchstrings” wird die Zeile aufgelistet, wobei der String hervorgehoben ist.
  • Seite 119 Beispiel: Verwendung von FIND:...
  • Seite 120 Token: Format: FN Name(numerischer Ausdruck) Zweck: FN-Funktionen sind benutzerdefinierte Funktionen, die einen numeri- schen Ausdruck als Argument akzeptieren und einen reellen Wert zurück- geben. Vor einer ersten Verwendung muss die Funktion mit DEF FN defi- niert werden. Beispiel: Verwendung von FN:...
  • Seite 121: Font

    FONT Token: $FE $46 Format: FONT <A | B | C> Zweck: FONT wird verwendet, um zwischen den Schriftarten zu wechseln und den Codepages ”PETSCII” und ”erweitertes PETSCII”. Das ”erweiterte PETSCII” enthält alle ASCII-Symbole, die die in der PETSCII-Codepage fehlen, wobei die Reihenfolge immer noch PETSCII ist. Die ASCII-Symbole werden durch Drücken der Tasten in der nachstehenden Tabelle einge- geben, einige davon erfordern auch das Gedrückthalten der Taste Die Codes für Großbuchstaben und Kleinbuchstaben sind im Vergleich zu...
  • Seite 122: For

    Token: Format: FOR Index = Start TO Ende [STEP Schrittweite] ... NEXT [Index] Zweck: FOR-Anweisungen beginnen eine BASIC-Schleife mit einer Indexvaria- blen. Index wird bei jeder Iteration um einen konstanten Wert erhöht oder ver- mindert. Der Standardwert ist, die Variable jeweils um 1 zu erhöhen. Die Indexvariable muss eine reelle Variable sein.
  • Seite 123: Foreground

    FOREGROUND Token: $FE $39 Format: FOREGROUND Farbe Zweck: Setzt die Vordergrundfarbe (Textfarbe) des Bildschirms auf das Argu- ment, das im Bereich von 0 bis 31 liegen muss. Für die Farbwerte und ihre entsprechenden Farben siehe die Tabelle un- ter BACKGROUND auf Seite 19. Notiz: Die Vordergrundfarbe kann ebenfalls mit COLOR verändert werden.
  • Seite 124: Fre

    Token: Format: FRE(Bank) Zweck: Gibt die Anzahl der freien Bytes für Bank 0 oder 1 zurück oder, wenn das Argument negativ ist, die ROM-Version. FRE(0) liefert die Anzahl der freien Bytes in Bank 0, die für den BASIC- Programmcode verwendet wird. FRE(1) liefert die Anzahl der freien Bytes in Bank 1, der Bank für BASIC- Variablen, Arrays und Strings.
  • Seite 125: Fread

    FREAD Token: $FE $1C Format: FREAD# Kanal, Zeiger, Größe Zweck: Liest Größe Bytes von Kanal Kanal ab der 32 Bit-Adresse Zeiger in den Speicher. Kanal Nummer, die bei einem früheren Aufruf von Befehlen wie DOPEN oder OPEN verwendet worden ist. Es muss darauf geachtet werden, dass kein Speicher überschrieben wird, der vom System oder dem Interpreter verwendet wird.
  • Seite 126: Fwrite

    FWRITE Token: $FE $1E Format: FWRITE# Kanal, Zeiger, Größe Zweck: Schreibt Größe Bytes ab der 32 Bit-Adresse Zeiger aus dem Speicher in Kanal Kanal . Kanal Nummer, die bei einem früheren Aufruf von Befehlen wie APPEND, DOPEN oder OPEN verwendet worden ist. Es wird empfohlen, die Anweisung POINTER für das Zeigerargument zu verwenden und den Größenparameter durch Multiplikation der Anzahl der Elemente mit der Elementgröße zu berechnen.
  • Seite 127: Gcopy

    GCOPY Token: $FE $32 Format: GCOPY x, y, Breite, Höhe Zweck: GCOPY (dt. ”grafisches Kopieren”) wird auf Grafikbildschirmen verwen- det und kopiert den Inhalt des angegebenen Rechtecks mit der oberen linken Position x, y sowie der Breite und Höhe in einen Puffer. Der Ausschnitt kann mit dem Befehl PASTE an beliebiger Stelle eingefügt werden.
  • Seite 128: Get

    Token: Format: GET Variable Zweck: Holt das nächste Zeichen (oder den Byte-Wert des nächsten Zeichens) aus der Warteschlange der Tastatur. Wenn die Variable vom Typ String ist und die Warteschlange leer ist, wird ihr ein leerer String zugewiesen. Andernfalls wird ein String mit der Länge 1 erstellt und dieser der String-Variablen zugewiesen.
  • Seite 129: Get

    GET# Token: $A1 ’#’ Format: GET# Kanal, Variable [, Variable …] Zweck: Liest ein einzelnes Byte aus dem angegebenen Kanal und weist String- Variablen Strings der Länge 1 bzw. numerischen Variablen einen 8-Bit Binärwert (0-255) zu Dies ist nützlich, um Zeichen (oder Bytes) Byte für Byte aus einem Einga- bestrom zu lesen.
  • Seite 130: Getkey

    GETKEY Token: $A1 $F9 (GET-Token und KEY-Token) Format: GETKEY Variable Zweck: Holt das nächste Zeichen (oder den Byte-Wert des nächsten Zeichens) aus der Tastatur-Warteschlange. Wenn die Warteschlange leer ist, wartet das Programm, bis eine Taste gedrückt wurde. Nachdem eine Taste ge- drückt wurde, wird die Variable entsprechend gesetzt und die Programm- ausführung fortgesetzt.
  • Seite 131: Go64

    GO64 Token: $CB $36 $34 (GO-Token und 64) Format: GO64 ARE YOU SURE? Zweck: Mit GO64 wechselt der MEGA65 in den C64-Modus. Im Direktmodus wird hierbei ein Sicherheitshinweis (dt. ”Sind Sie si- cher?”) ausgegeben, der zum Fortführen mit (für ”Yes”, dt. ”Ja”) be- stätigt werden muss.
  • Seite 132: Gosub

    GOSUB Token: Format: GOSUB Zeilennummer Zweck: GOSUB (”Goto Subroutine”, dt. ”Sprung ins Unterprogramm”) speichert den aktuellen BASIC-Programmzähler und die Zeilennummer auf dem Laufzeitstapel und setzt die Programmausführung an der angegebenen BASIC-Zeilennummer fort. Dies ermöglicht nach der Anweisung GOSUB die Wiederaufnahme der Programmausführung, sobald eine RETURN- Anweisung in dem aufgerufenen Unterprogramm ausgeführt wird.
  • Seite 133: Goto

    GOTO Token: $89 (GOTO) oder $CB $A4 (GO TO) Format: GOTO Zeilennummer GO TO Zeilennummer Zweck: Setzt die Programmausführung an der angegebenen BASIC-Zeilen- nummer fort. Notiz: Wenn die Zeilennummer des Ziels höher ist als die aktuelle Zeilennum- mer, beginnt die Suche in der aktuellen Zeile und geht von dort aus weiter zu höheren Zeilennummern.
  • Seite 134: Graphic

    GRAPHIC Token: Format: GRAPHIC CLR Zweck: Initialisiert das BASIC-Grafiksystem. Es löscht den Grafikspeicher und den Bildschirm und setzt alle Parameter des Grafikkontextes auf ihre Standardwerte. Nachdem das Grafiksystem initialsiert wurde, können Befehle wie LINE, PALETTE, PEN, SCNCLR und SCREEN verwendet werden, um die Para- meter des Grafiksystems erneut einzustellen.
  • Seite 135: Header

    HEADER Token: Format: HEADER Diskettenname [,I ID] [,D Laufwerk] [,U Gerät] Zweck: Wird verwendet um eine Diskette zu formatieren (oder zu löschen). "DATEN" Diskettenname ist entweder eine String in Anführungszeichen, zum (DN$) Beispiel oder ein String-Ausdruck in Klammern, zum Beispiel .
  • Seite 136 Beispiel: Verwendung von HEADER:...
  • Seite 137: Help

    HELP Token: Format: HELP Zweck: Wenn das BASIC-Programm aufgrund eines Fehlers anhält, kann HELP verwendet werden, um weitere Informationen zu erhalten. Die interpre- tierte Zeile wird aufgelistet, wobei die fehlerhafte Anweisung hervorge- hoben oder unterstrichen ist. Notiz: HELP zeigt BASIC-Fehler an. Bei Fehlern im Zusammenhang mit Disket- tenoperationen sollte stattdessen die Diskettenstatus-Variable DS oder der Diskettenstatus-String DS$ verwendet werden.
  • Seite 138: Hex

    HEX$ Token: Format: HEX$(numerischer Ausdruck) Zweck: Gibt eine vierstellige hexadezimale Darstellung des Arguments zurück. Das Argument muss im Bereich von 0-65535 liegen, was den Hex-Zahlen $0000-$FFFF entspricht. Notiz: Wenn reelle Zahlen als Argumente verwendet werden, wird der Nach- kommaanteil ignoriert. Mit anderen Worten: Reelle Zahlen werden nicht gerundet.
  • Seite 139: Highlight

    HIGHLIGHT Token: $FE $3D Format: HIGHLIGHT Farbe [, Modus] Zweck: Legt die für die Hervorhebung verwendeten Farben fest. Für Systemmel- dungen, REM-Anweisungen und BASIC 65-Schlüsselwörter können un- terschiedliche Farben eingestellt werden. Farbe ist eine der ersten 16 Farben in der aktuellen Palette. Siehe Seite 19 für die Farben in der Standardpalette.
  • Seite 140 Token: Format: IF Ausdruck THEN wahr-Klausel [ELSE falsch-Klausel] Zweck: IF startet eine Anweisung zur bedingten Ausführung. Ausdruck ist ein logischer oder numerischer Ausdruck. Ein numerischer Ausdruck wird als FALSE (”falsch”) ausgewertet, wenn der Wert Null ist und TRUE (”wahr”) für jeden Wert ungleich Null. wahr-Klausel ist eine oder mehrere Anweisungen, die direkt nach THEN in derselben Zeile beginnen.
  • Seite 141: Import

    IMPORT Token: Format: IMPORT Dateiname [,D Laufwerk] [,U Gerät] Zweck: IMPORT lädt den Inhalt einer Datei (des Typs SEQ), die PETSCII-kodierten Text enthält, als BASIC 65-Programm in den Speicher. Dateiname ist entweder ein String in Anführungszeichen, z.B. ”Daten” oder ein Stringausdruck in Klammern gesetzt, z.B. (FI$). Laufwerk (drive) ist die Laufwerksnummer bei Diskettenstationen mit zwei Laufwerken.
  • Seite 142: Input

    INPUT Token: Format: INPUT [Eingabeaufforderung <, | ;>] Variable [, Variable ...] Zweck: Gibt eine optionale Eingabeaufforderung und ein Fragezeichen auf dem Bildschirm aus, lässt den Cursor blinken und wartet auf Benutzereingaben über die Tastatur. Die Eingabeaufforderung ist ein optionaler String-Ausdruck, der als Eingabeaufforderung ausgegeben werden soll.
  • Seite 143 Beispiel: Verwendung von INPUT:...
  • Seite 144: Input

    INPUT# Token: Format: INPUT# Kanal, Variable [, Variable ...] Zweck: Liest einen Datensatz von einem Eingabegerät, zum Beispiel aus einer Datei von Diskette, und ordnet die Daten den Variablen in der Liste zu. Kanal Nummer, die bei einem früheren Aufruf von Befehlen wie DOPEN oder OPEN angegeben wurde.
  • Seite 145 Beispiel: Verwendung von INPUT#:...
  • Seite 146: Instr

    INSTR Token: Format: INSTR(Heuhaufen, Nadel [, Start]) Zweck: Sucht die Position des String-Ausdrucks Nadel im String-Ausdruck Heu- haufen und gibt den Index des ersten Vorkommens oder Null zurück, wenn es keine Übereinstimmung gibt. Eine erweiterte Version der Stringsuche mit Muster wird verwendet, wenn das erste Zeichen des Suchstrings ein Pfundzeichen ’£’...
  • Seite 147: Int

    Token: Format: INT(numerischer Ausdruck) Zweck: Gibt den ganzzahligen Teil des Arguments zurück. Diese Funktion ist nicht auf den typischen 16 Bit-Ganzzahlbereich (-32768 bis 32767) beschränkt, da sie reelle Arithmetik verwendet. Der zulässige Bereich wird daher durch die Größe der reellen Mantisse bestimmt, die 32 Bit breit ist (-2147483648 bis 2147483647).
  • Seite 148: Joy

    Token: Format: JOY(Port) Zweck: Gibt den Status des Joysticks für den ausgewählten Controller-Port (1 oder 2) zurück. Bit 7 enthält den Status der Feuertaste. Der Joystick kann in acht Richtungen bewegt werden, die im Uhrzeigersinn nummeriert sind, beginnend mit der obersten Position. Links Mitte Rechts Oben Mitte...
  • Seite 149: Key

    Token: Format: KEY <ON | OFF> KEY <LOAD | SAVE> Dateiname KEY Nummer, String Zweck: Liest den Zustand der Funktionstasten aus. Die Funktionstasten können entweder ihren Tastencode senden, wenn sie gedrückt werden, oder ei- ne der Taste zugewiesene Zeichenfolge. Nach dem Einschalten oder Zu- rücksetzen ist diese Funktion aktiviert und die Tasten haben ihre Stan- dardbelegung.
  • Seite 150 Notiz: Die Summe der Längen aller zugewiesenen Strings darf 240 Zeichen nicht überschreiten. Sonderzeichen wie RETURN oder ANFÜHRUNGSZEI- CHEN werden über ihre Codes mit der Funktion CHR$ eingegeben. Wei- tere Informationen finden Sie unter CHR$ auf Seite 40. Beispiel: Verwendung von KEY:...
  • Seite 151: Left

    LEFT$ Token: Format: LEFT$(String, n) Zweck: Gibt einen String zurück, der die ersten n Zeichen des Arguments String enthält. Wenn die Länge von String gleich oder kleiner als n ist, ist die resultierende Zeichenkette identisch mit dem Argument String. String ist ein String-Ausdruck. n ist ein numerischer Ausdruck (0-255).
  • Seite 152: Len

    Token: Format: LEN(String) Zweck: Liefert die Länge von String zurück. String ist ein String-Ausdruck. Notiz: Es gibt kein abschließendes Zeichen, im Gegensatz zu anderen Program- miersprachen wie zum Beispiel bei C, die das NULL-Zeichen verwenden. Die Länge des Strings wird intern in einem zusätzlichen Byte des String- Deskriptors gespeichert.
  • Seite 153: Let

    Token: Format: [LET] Variable = Ausdruck Zweck: Weist der Variable Werte oder Ergebnisse von Ausdrücken zu. Notiz: Die Anweisung LET ist obsolet und wird nicht benötigt. Die Zuweisung von Variablen kann ohne LET erfolgen, wurde aber aus Gründen der Ab- wärtskompatibilität in BASIC 65 beibehalten.
  • Seite 154: Line

    LINE Token: Format: LINE x-Start, y-Start [, x-Nächstes1, y-Nächstes1 ...] Zweck: Zeichnet ein Pixel bei (x-Start, y-Start), wenn nur ein Koordinatenpaar angegeben ist. Wenn mehr als ein Koordinatenpaar definiert ist, wird auf dem aktuel- len Grafikbildschirm eine Linie von der Koordinate (x-Start, y-Start) zum nächsten Koordinatenpaar gezeichnet und davon jeweils (bis zum letzten Argument) weiter zum nächsten Koordinatenpaar.
  • Seite 155: Line Input

    LINE INPUT# Token: $E5 $84 Format: LINE INPUT# Kanal, Variable [, Variable ...] Zweck: Liest einen Datensatz pro Variable von einem Eingabegerät (z. B. einem Diskettenlaufwerk) und ordnet die gelesenen Daten den Variablen zu. Die Datensätze müssen mit einem RETURN-Zeichen abgeschlossen wer- den, das nicht Bestandteil der String-Variable wird.
  • Seite 156: List

    LIST Token: Format: LIST [P] [Zeilenbereich] LIST [P] Dateiname [,U Gerät] Zweck: Wird verwendet, um eine Reihe von Zeilen aus dem BASIC-Programm auf- zulisten. Zeilenbereich besteht aus der ersten und/oder letzten aufzulistenden Zeile oder einer einzelnen Zeilennummer. Wenn die erste Zahl wegge- lassen wird, wird die erste BASIC-Zeile angenommen.
  • Seite 157: Load

    LOAD Token: Format: LOAD Dateiname [, Gerät [, Adressübernahme]] / Dateiname [, Gerät [, Adressübernahme]] Zweck: LOAD lädt eine Datei vom Typ PRG in den Speicher in Bank 0, der auch für den BASIC-Programmcode verwendet wird. "PROG" Dateiname ist entweder ein String in Anführungszeichen, zum Beispiel oder ein String-Ausdruck.
  • Seite 158 Das Abkürzungssymbol / kann nur im Direktmodus verwendet werden. Der C64 verwendet standardmäßig Gerät 1 für die Datasette, die an dem Kassettenport angeschlossen ist. Der MEGA65 hingegen verwendet standardmäßig Gerät 8, das dem internen Diskettenlaufwerk zugewie- sen ist. Das bedeutet, dass Sie LOAD-Befehlen, die diese Einheit verwen- den, nicht den Zusatz hinzufügen müssen.
  • Seite 159: Loadiff

    LOADIFF Token: $FE $43 Format: LOADIFF Dateiname [,D Laufwerk] [,U Gerät] Zweck: LOADIFF lädt eine IFF-Datei in den Grafikspeicher. Das IFF (Interchan- ge File Format) wird von vielen verschiedenen Anwendungen und Be- triebssystemen unterstützt. LOADIFF geht davon aus, dass die Datei- en Bitplane-Grafiken enthalten, die in den Grafikspeicher des MEGA65 passen.
  • Seite 160: Log

    Token: Format: LOG(numerischer Ausdruck) Zweck: Berechnet den Wert des natürlichen Logarithmus des Arguments. Der na- türliche Logarithmus (auf Taschenrechner oft als LN bezeichnet) verwen- det die Eulersche Zahl (2.71828183) als Basis, nicht 10, die normaler- weise in LOG-Funktionen auf Taschenrechnern verwendet wird. Notiz: Die Log-Funktion zur Basis 10 kann berechnet werden indem man das Ergebnis durch log(10) dividiert.
  • Seite 161: Log10

    LOG10 Token: $CE $08 Format: LOG10(numerischer Ausdruck) Zweck: Berechnet den Wert des dezimalen Logarithmus des Arguments. Der de- zimale Logarithmus verwendet 10 als Basis. Beispiel: Verwendung von LOG10:...
  • Seite 162: Loop

    LOOP Token: Format: DO ... LOOP DO [<UNTIL | WHILE> logischer Ausdruck] . . . Ausdrücke [EXIT] LOOP [<UNTIL | WHILE> logischer Ausdruck] Zweck: DO und LOOP definieren den Beginn einer BASIC-Schleife. Die alleinige Verwendung von DO und LOOP ohne jegliche Modifikatoren erzeugt eine Endlosschleife, die nur durch die Anweisung EXIT verlassen werden kann.
  • Seite 163: Lpen

    LPEN Token: $CE $04 Format: LPEN(Koordinate) Zweck: Diese Funktion erfordert die Verwendung eines Röhrenmonitors (oder Röhrenfernsehers) und eines Lightpen (dt. ”Lichtstift”), der an Port 1 an- geschlossen sein muss. Ein Lightpen funktioniert nicht mit einem LCD- oder LED-Bildschirm. LPEN(0) gibt die x-Position des Lightpen zurück, der Bereich ist 60-320. LPEN(1) gibt die y-Position des Lightpen zurück, der Bereich liegt bei 50- 250.
  • Seite 164: Mem

    Token: $FE $23 Format: MEM Maske4, Maske5 Zweck: Maske4 und Maske5 sind Byte-Werte, die als Maske von 8 Bits inter- pretiert werden. Jedes auf 1 gesetzte Bit reserviert ein 8 KB-Segment des Speichers in Bank 4 (für das erste Argument) und in Bank 5 (für das zweite Argument).
  • Seite 165: Merge

    MERGE Token: Format: MERGE Dateiname [,D Laufwerk] [,U Gerät] Zweck: MERGE lädt eine BASIC-Programmdatei von der Festplatte und fügt sie an das Programm im Speicher an. Dateiname ist entweder ein String in Anführungszeichen, z.B. ”Daten” oder ein Stringausdruck in Klammern gesetzt, z.B. (FI$). Laufwerk (drive) ist die Laufwerksnummer bei Diskettenstationen mit zwei Laufwerken.
  • Seite 166 Beispiel: Verwendung von MERGE:...
  • Seite 167: Mid

    MID$ Token: Format: MID$(String, Start, Länge) MID$(String, Start, Länge) = String-Ausdruck Zweck: MID$ kann entweder als Funktion verwendet werden, die eine Zeichen- kette zurückgibt, oder als Anweisung zum Einfügen von Teilzeichenketten in eine bestehende Zeichenkette. String ist ein String-Ausdruck. Start Startindex (0-255). Länge Länge der Teilzeichenkette (0-255).
  • Seite 168: Mod

    Token: Format: MOD(Di vi dend, Divisor) Zweck: Die Funktion MOD gibt den Rest der Division zurück. Notiz: In anderen Programmiersprachen, wie zum Beispiel C, ist diese Funktion als Operator (%) implementiert. In BASIC 65 ist sie als Funktion imple- mentiert. Beispiel: Verwendung von MOD:...
  • Seite 169: Monitor

    MONITOR Token: Format: MONITOR Zweck: Ruft das Monitorprogramm für Maschinensprache auf, das hauptsächlich zur Fehlersuche verwendet wird. Notiz: Die Verwendung des MONITOR erfordert Kenntnisse der CSG4510- / 6502- / 6510-CPU, der verwendeten Assemblersprache und ihrer Ar- chitekturen. Zum Verlassen des Monitors drücken Sie X. Der Hilfetext kann entweder mit ? oder H angezeigt werden.
  • Seite 170: Mount

    MOUNT Token: $FE $49 Format: MOUNT Dateiname [,U Gerät] Zweck: Bindet ein Diskette-Image vom Typ D81 von der SD-Karte als Gerät 8 (Standard) oder Gerät 9 ein. Wenn kein Argument angegeben wird, weist MOUNT das eingebaute Diskettenlaufwerk des MEGA65 dem Gerät 8 zu. Dateiname ist entweder ein String in Anführungszeichen, z.B.
  • Seite 171: Mouse

    MOUSE Token: $FE $3E Format: MOUSE ON [{, Port, Sprite, Position}] MOUSE OFF Zweck: MOUSE ON aktiviert den Maustreiber und verknüpft die Maus am ange- gebenen Port mit dem Mauszeiger-Sprite. Port Mausport 1, 2 (Voreinstellung) oder 3 (beide). Sprite Sprite-Nummer für Mauszeiger (Voreinstellung 0). Position Anfangsposition der Maus (x,y).
  • Seite 172: Movspr

    MOVSPR Token: $FE $06 Format: MOVSPR Nummer, Position MOVSPR Nummer, Startposition TO Endposition, Geschwindigkeit Zweck: Bewegt ein Sprite auf dem Bildschirm. Jedes Argument von Position be- steht aus zwei 16 Bit-Werten, die entweder eine absolute Koordinate, eine relative Koordinate, einen Winkel oder eine Geschwindigkeit ange- ben.
  • Seite 173 y absolute y-Bildschirmkoordinate in Pixel. xrel relative x-Bildschirmkoordinate in Pixel. yrel relative y-Bildschirmkoordinate in Pixel. Winkel Kompassrichtung für die Sprite-Bewegung [Grad]. 0: oben, 90: rechts, 180: unten, 270: links, 45 oben rechts, usw. 127.0 Geschwindigkeit ist die Bewegungsgeschwindigkeit des Sprites, ange- geben als Fließkommazahl im Bereich .
  • Seite 174 Beispiel: Verwendung von MOVSPR:...
  • Seite 175: New

    Token: Format: NEW RESTORE Zweck: NEW ”löscht” das gegenwärtig im Speicher befindliche BASIC-Programm sowie alle Variablen. NEW setzt alle BASIC-Parameter auf ihre Standard- werte zurück. Da NEW Parameter und Zeiger zurücksetzt (aber den Adressbereich ei- nes BASIC-Programms, das sich im Speicher befand, nicht überschreibt), kann das Programm wiederhergestellt werden.
  • Seite 176: Next

    NEXT Token: Format: FOR Index = Start TO Ende [STEP Schrittweite] ... NEXT [Index] Zweck: NEXT markiert das Ende der BASIC-Schleife, die mit der angegebenen Indexvariablen verbunden ist. Wenn eine BASIC-Schleife mit FOR dekla- riert wird, muss sie mit NEXT beendet werden. Index kann bei jeder Iteration um einen konstanten Wert erhöht oder ver- ringert werden.
  • Seite 177: Not

    Token: Format: NOT Operand Zweck: NOT führt eine bitweise logische NICHT-Operation an einem 16 Bit-Wert durch. Ganzzahlige Operanden werden so verwendet, wie sie sind, während reelle Operanden in eine vorzeichenbehaftete 16 Bit-Ganzzahl umge- wandelt werden (mit Verlust der Genauigkeit). Logische Operanden werden in eine 16 Bit-Ganzzahl umgewandelt, wo- bei $FFFF (dezimal -1) für TRUE (wahr) und $0000 (dezimal 0) für FALSE (falsch) verwendet wird.
  • Seite 178: Off

    Token: $FE $24 Format: Schlüsselwort OFF Zweck: OFF ist ein sekundäres Schlüsselwort, das in Kombination mit primären Schlüsselwörtern wie COLOR, KEY und MOUSE verwendet wird. Notiz: OFF kann nicht eigenständig verwendet werden. Beispiel: Verwendung von OFF:...
  • Seite 179 Token: Format: ON Ausdruck GOSUB Zeilennummer [, Zeilennummer ...] ON Ausdruck GOTO Zeilennummer [, Zeilennummer ...] Schlüsselwort ON Zweck: ON ruft entweder eine berechnete GOSUB- oder GOTO-Anweisung auf. Je nach Ergebnis des Ausdrucks wird das Ziel für GOSUB und GOTO aus der Tabelle der Zeilenadressen am Ende der Anweisung ausgewählt.
  • Seite 180: Open

    OPEN Token: Format: OPEN Kanal, Primäradresse [, Sekundäradresse [, Dateiname]] Zweck: Öffnet einen Eingangs-/Ausgangskanal für ein Gerät. Kanal Kanalnummer, wobei bei: • 1 <= Kanal <= 127 der Zeilenabschluss CR ist. • 128 <= Kanal <= 255 der Zeilenabschluss CR LF ist. Primäradresse Gerätenummer.
  • Seite 181 Notiz: Verwendung von OPEN:...
  • Seite 182 Token: Format: Operand OR Operand Zweck: Führt eine bitweise logische ODER-Operation an zwei 16 Bit-Werten durch. Ganzzahlige Operanden werden so verwendet, wie sie sind. Reel- le Operanden werden in eine vorzeichenbehaftete 16 Bit-Ganzzahl um- gewandelt (mit Verlust der Genauigkeit). Logische Operanden werden unter Verwendung von $FFFF (dezimal -1) für TRUE (wahr) und $0000 (dezimal 0) für FALSE (falsch) in eine 16 Bit-Ganzzahl umgewandelt.
  • Seite 183: Paint

    PAINT Token: Format: PAINT x, y, Modus [, Farbe] Zweck: Füllt einen eingeschlossenen Grafikbereich aus. x, y ist ein Koordinatenpaar, das innerhalb des zu füllenden Bereichs lie- gen muss. Modus gibt den Füllmodus an: • 0 verwendet die Farbe zum Füllen des Bereichs. •...
  • Seite 184: Palette

    PALETTE Token: $FE $34 Format: PALETTE Bildschirmnummer, Farbe, Rot, Grün, Blau PALETTE COLOR Farbe, Rot, Grün, Blau PALETTE RESTORE Zweck: PALETTE kann verwendet werden, um einen Eintrag der Systemfarbpa- lette oder die Palette eines Bildschirms zu ändern. PALETTE RESTORE setzt die Systempalette auf die Standardwerte zu- rück.
  • Seite 185 Beispiel: Verwendung von PALETTE:...
  • Seite 186: Paste

    PASTE Token: Format: PASTE x, y, 0, 0 Zweck: PASTE (dt. ”einfügen”) wird auf Grafikbildschirmen verwendet und fügt den Inhalt des Cut/Copy/Paste-Puffers auf dem Bildschirm an der Posi- tion x, y (Koordinaten für die linke obere Ecke) ein. SYNTAX ERROR Notiz: Die beiden als Argumente dürfen nicht weggelassen werden, weil dies...
  • Seite 187: Peek

    PEEK Token: Format: PEEK(Adresse) Zweck: Gibt einen vorzeichenlosen 8 Bit-Wert (Byte) zurück, der von Adresse gelesen wurde. Wenn die Adresse im Bereich von $0000 bis $FFFF (0-65535) liegt, wird die Speicherbank, die durch BANK festgelegt ist, verwendet. Adressen, die größer oder gleich $10000 (dezimal 65536) sind, wer- den als flache Speicheradressen verwendet, wobei die Einstellung BANK ignoriert wird.
  • Seite 188: Peekw

    PEEKW Token: $C2 ’W’ Format: PEEKW(Adresse) Zweck: Gibt einen vorzeichenlosen 16 Bit-Wert (Wort) zurück, der von Adres- se (low byte, dt. ”niederwertiges Byte”) und Adresse+1 (high byte, , dt. ”höherwertiges Byte”) gelesen wurde. Liegt die Adresse im Bereich von $0000 bis $FFFF (0-65535), wird die mit BANK eingestellte Speicherbank verwendet.
  • Seite 189: Pen

    Token: $FE $33 Format: PEN Farbe Zweck: PEN (dt. ”Stift”) legt die Farbe des Grafikstifts fest. Farbe Palettenindex. Notiz: Die mit PEN ausgewählte Farbe wird von allen nachfolgenden Grafik- und Zeichenbefehlen verwendet. Es ist auch möglich, PEN mit zwei Argumenten aufzurufen. Das erste Ar- gument steht für den zu verwendenen Zeichenmodus und darf 0,1 oder 2 sein.
  • Seite 190 Beispiel: Verwendung von PEN:...
  • Seite 191: Pixel

    PIXEL Token: $CE $0C Format: PIXEL(x, y) Zweck: Gibt die Farbe eines Pixels an der angegebenen Position zurück. x absolute Bildschirmkoordinate. y absolute Bildschirmkoordinate. Beispiel: Verwendung von PIXEL:...
  • Seite 193: Play

    PLAY Token: $FE $04 Format: PLAY [{String1, String2, String3, String4, String5, String6}] Zweck: PLAY ohne Argumente führt dazu, dass alle Stimmen stumm geschaltet werden und alle BASIC-Variablen des Musiksystems zurückgesetzt wer- den (zum Beispiel TEMPO). Auf PLAY können bis zu sechs durch Komma getrennte String-Argumente folgen, wobei jedes Argument die Abfolge von Noten und Direktiven an- gibt, die auf einer bestimmten Stimme auf den beiden verfügbaren SID- Chips gespielt werden sollen, was eine bis zu sechskanalige Polyphonie...
  • Seite 194 Die Modulations-Direktive moduliert die Note um die von Ihnen angege- bene Stärke (1-9). Mit dem Argument 0 wird die Modulation deaktiviert. Die Portamento-Direktive gleitet sanft zwischen aufeinanderfolgenden Noten mit der von Ihnen angegebenen Geschwindigkeit (1-9). Mit dem Argument 0 wird das Portamento deaktiviert. Bei aktiviertem Portamento entfällt die Ausklingphase der Hüllkurve.
  • Seite 195 Notiz: Die Anweisung PLAY verwendet eine Interrupt-gesteuerte Routine, die mit dem Abarbeiten des Strings und dem Abspielen der Melodie beginnt. Die Programmausführung wird mit der nächsten Anweisung fortgesetzt und blockiert das Programm nicht. Beispiel: Verwendung von PLAY:...
  • Seite 196: Pointer

    POINTER Token: $CE $0A Format: POINTER(Variable) Zweck: Gibt die aktuelle Adresse einer Variablen oder eines Array-Elements als 32 Bit-Zeiger zurück. Bei String-Variablen ist es die Adresse des String- Deskriptors, nicht die des Strings selbst. Der String-Deskriptor besteht aus drei Bytes (Länge, niedrige String-Adresse und hohe String-Adresse). Notiz: Die Adresswerte von Arrays und ihren Elementen sind während der Aus- führung des Programms konstant.
  • Seite 197: Poke

    POKE Token: Format: POKE Adresse, Byte [, Byte ...] Zweck: Schreibt ein oder mehrere Bytes in den Speicher oder in die speicherein- gebunden Ein-/Ausgabe, beginnend bei Adresse. Wenn die Adresse im Bereich von $0000 bis $FFFF (0-65535) liegt, wird die Speicherbank, die durch BANK festgelegt ist, verwendet. Adressen, die größer oder gleich $10000 (dezimal 65536) sind, wer- den als flache Speicheradressen verwendet, wobei die Einstellung BANK ignoriert wird.
  • Seite 198: Pokew

    POKEW Token: $97 ’W’ Format: POKEW Adresse, Wort [, Wort ...] Zweck: Schreibt ein oder mehrere Wörter (zwei Bytes) in den Speicher oder in die speichereingebunden Ein-/Ausgabe, beginnend bei Adresse. Wenn die Adresse im Bereich von $0000 bis $FFFF (0-65535) liegt, wird die Speicherbank, die durch BANK festgelegt ist, verwendet.
  • Seite 199: Polygon

    POLYGON Token: $FE $2F Format: POLYGON x, y, x-Radius, y-Radius, Polygonseiten [{, Zeichenseiten, Schneiden, Winkel, gefüllt}] Zweck: Zeichnet ein regelmäßiges n-seitiges Polygon. Das Polygon wird unter Verwendung des aktuellen Zeichenkontextes, der mit SCREEN, PALETTE und PEN gesetzt worden ist, gezeichnet. x,y Mittelpunktskoordinaten.
  • Seite 200: Pos

    Token: Format: POS(Dummy) Zweck: Gibt die Cursorspalte relativ zum aktuell verwendeten Fenster zurück. Dummy ein numerischer Wert, der ignoriert wird. Notiz: POS gibt die Spaltenposition für den Bildschirmcursor an. Sie funktioniert nicht bei umgeleiteter Ausgabe. Beispiel: Verwendung von POS:...
  • Seite 201: Pot

    Token: $CE $02 Format: POT(Paddle) Zweck: Gibt die Position eines Paddels zurück. Paddle Paddlenummer (1-4). Das niederwertige Byte des Rückgabewerts ist der Paddle-Wert, wobei 0 die Grenze im Uhrzeigersinn und 255 die Grenze gegen den Uhrzei- gersinn darstellt. Ein Wert größer als 255 zeigt an, dass auch die Feuertaste gedrückt wird. Notiz: Analoge Paddles sind verrauscht und ungenau.
  • Seite 202: Print

    PRINT Token: Format: PRINT Argumentliste Zweck: Wertet die Argumentliste aus und gibt die Werte formatiert im aktuel- len Bildschirmfenster aus. Je nach Argumenttyp wird die Standardfor- matierung verwendet. Für benutzergesteuerte Formatierung siehe PRINT USING. Die folgenden Argumenttypen werden ausgewertet: • numerisch Der Ausdruck beginnt mit einem Leerzeichen für positive und Nullwerte bzw.
  • Seite 203 Beispiel: Verwendung von PRINT:...
  • Seite 204: Print

    PRINT# Token: Format: PRINT# Kanal, Argumentliste Zweck: Wertet die Argumentliste aus und gibt die formatierten Werte auf dem Gerät aus, das Kanal zugewiesen ist. Es wird die Standardformatierung verwendet, abhängig vom Argumenttyp. Für benutzergesteuerte Forma- tierung siehe PRINT# USING. Kanalnummer Kanalnummer, die bei einem früheren Aufruf von Befehlen wie APPEND, DOPEN oder OPEN verwendet wurde.
  • Seite 205 Beispiel: Verwendung von PRINT# zum Schreiben einer Datei auf Gerät 8: DIR "TABELLE" Sie können überprüfen, ob die Datei ’TABELLE’ geschrieben wurde, in- TYPE "TABELLE" dem Sie eingeben und sich dann den Inhalt der Datei anzeigen lassen, indem Sie eingeben.
  • Seite 206: Print Using

    PRINT USING Token: $98 $FB or $99 $FB Format: PRINT[# Kanal,] USING Format; Argument Zweck: Gibt unter Berücksichtigung von Format das Argument aus. Das Argument kann entweder ein String oder ein numerischer Wert sein. Das Format der Ausgabe richtet sich nach dem String Format. Kanal ist die Kanalnummer, die bei einem vorherigen Aufruf von Befehlen wie APPEND, DOPEN oder OPEN verwendet worden ist.
  • Seite 207 Beispiel: Verwendung von PRINT USING:...
  • Seite 208: Rcolor

    RCOLOR Token: Format: RCOLOR(Farbquelle) Zweck: Gibt den aktuellen Farbindex für die ausgewählte Farbquelle zurück. BACKGROUND Farbquellen sind: FOREGROUND • 0 Hintergrundfarbe ( ) (VIC $D021). HIGHLIGHT • 1 Textfarbe ( ) ($F1). BORDER • 2 Hervorhebungsfarbe ( ) ($2D8). • 3 Rahmenfarbe ( ) (VIC $D020).
  • Seite 209: Rcursor

    RCURSOR Token: $FE $42 Format: RCURSOR {Spaltenvariable, Zeilenvariable} Zweck: Liest die aktuelle Spalte und Zeile des Cursors in die Spaltenvariable und Zeilenvariable. Notiz: Die Zeilen- und Spaltenwerte beginnen bei Null, wobei die Spalte ganz links den Wert Null und die oberste Zeile den Wert Null hat. Beispiel: Verwendung von RCURSOR:...
  • Seite 210: Read

    READ Token: Format: READ Variable [, Variable ...] Zweck: Liest Werte aus der Programmquelle in Variablen. Variable Liste von beliebigen gültigen Variablen. Alle Arten von Konstanten (Integer, Real und Strings) können gelesen wer- den, allerdings keine Ausdrücke. Elemente werden durch Kommas ge- trennt.
  • Seite 211 Beispiel: Verwendung von READ:...
  • Seite 212: Record

    RECORD Token: $FE $12 Format: RECORD# Kanal, Datensatz [, Byte] Zweck: RECORD (dt. ”Datensatz”) positioniert den Lese-/Schreibzeiger einer re- lativen Datei. Kanal ist eine Kanalnummer, die bei einem früheren Aufruf von Befehlen wie DOPEN oder OPEN verwendet wurde. Datensatz ist der Zieldatensatz im Bereich 1 - 65535. Byte Byte-Position im Datensatz.
  • Seite 213 Beispiel: Verwendung von RECORD:...
  • Seite 214: Rem

    Token: Format: Zweck: Markiert alle Zeichen nach REM in der gleichen Zeile als Kommentar, ohne Einfluss auf den Programmablauf. Notiz: Zeichen nach REM werden von BASIC 65 nicht ausgeführt. Beispiel: Verwendung von REM:...
  • Seite 215: Rename

    RENAME Token: Format: RENAME Alt TO Neu [,D Laufwerk] [,U Gerät] "DATEN" Zweck: Benennt eine Diskettendatei um. (FI$) Alt ist entweder ein String in Anführungszeichen, zum Beispiel "BACK- oder ein String-Ausdruck in Klammern, zum Beispiel UP" (FS$) Neu ist entweder ein String in Anführungszeichen, zum Beispiel oder ein String-Ausdruck in Klammern, zum Beispiel Laufwerk (drive) ist die Laufwerksnummer bei Diskettenstationen mit zwei Laufwerken.
  • Seite 216: Renumber

    RENUMBER Token: Format: RENUMBER [{Neu, Schrittweite, Bereich}] Zweck: RENUMBER wird verwendet, um alle Zeilen oder einen Bereich von Zeilen eines BASIC-Programms neu zu nummerieren. Neu ist die neue Anfangszeile des neu zu nummerierenden Zeilenbe- reichs. Der Standardwert ist 10. Schrittweite ist die zu verwendende Schrittweite bei der Neunummerie- rung.
  • Seite 217 Beispiel: Verwendung von RENUMBER:...
  • Seite 218: Restore

    RESTORE Token: Format: RESTORE [Zeilennumer] Zweck: Setzen oder Zurücksetzen des internen Zeigers für READ von DATA- Anweisungen. Zeilennummer ist die neue Position für den Zeiger. Der Standardwert ist die erste Programmzeile. Notiz: Das neue Zeigerziel Zeilennummer muss keine DATA-Anweisungen ent- halten.
  • Seite 219: Resume

    RESUME Token: Format: RESUME [Zeilennummer | NEXT] Zweck: Wird in einer TRAP-Routine verwendet, um die normale Programmaus- führung nach der Behandlung eines Fehlers wieder aufzunehmen. Mit RESUME ohne Parameter wird versucht, die Anweisung, die den Feh- ler verursacht hat, erneut auszuführen. Die Routine TRAP sollte das Pro- blem, bei dem der Fehler aufgetreten ist, untersucht und korrigiert haben.
  • Seite 220: Return

    RETURN Token: Format: RETURN Zweck: Springt im Programmablauf von einem Unterprogramm, das mit GOSUB oder einem mit COLLISION deklarierten Ereignishandler aufgerufen wur- de, zurück an die Aufrufstelle. Die Ausführung wird mit der Anweisung fortgesetzt, die auf den Aufruf von GOSUB folgt. Im Falle des Handlers COLLISION wird die Ausführung an der Stelle fort- gesetzt, an der sie zum Aufruf des Handlers verlassen wurde.
  • Seite 221: Rgraphic

    RGRAPHIC Token: Format: RGRAPHIC(Bildschirm, Parameter) Zweck: Rückgabe des grafischen Bildschirmstatus und der grafischen Parameter. Parameter Beschreibung 0 Geöffnet (1), Geschlossen (0) oder Ungültig (>1) 1 Breite (0=320, 1=640) 2 Höhe (0=200, 1=400) 3 Tiefe (1-8 Bitplanes) 4 Verwendete Bitplanes (Bitmaske) 5 Verwendete Bank 4-Blöcke (Bitmaske) 6 Verwendete Bank 5-Blöcke (Bitmaske) 7 Drawscreen-Nr.
  • Seite 222: Right

    RIGHT$ Token: Format: RIGHT$(String, Länge) Zweck: Gibt einen String zurück, der die letzten Länge Zeichen von String ent- hält. Wenn die Länge von String gleich oder kleiner als Länge ist, ist der Ergebnisstring identisch mit dem Argument String. String ist ein String-Ausdruck. Länge ist ein numerischer Ausdruck (0-255).
  • Seite 223: Rmouse

    RMOUSE Token: $FE $3F Format: RMOUSE x-Variable, y-Variable, Maustasten-Variable Zweck: Liest die Mausposition und den Status der Maustasten. x-Variable ist eine numerische Variable, in der die x-Position gespeichert wird. y-Variable ist eine numerische Variable, in der die y-Position gespeichert wird. Mausknopf-Variable ist eine numerische Variable, die den Status der Maustasten erhält.
  • Seite 224 Beispiel: Verwendung von RMOUSE:...
  • Seite 225: Rnd

    Token: Format: RND(Typ) Zweck: Gibt eine Pseudo-Zufallszahl zurück. Dies wird als ”Pseudo”-Zufallszahl bezeichnet, da die Zahlen nicht wirk- lich zufällig sind. Sie werden von einer anderen Zahl abgeleitet, die als ”seed” (dt. ”Saat”) bezeichnet wird und reproduzierbare Sequenzen er- zeugt. Typ legt fest, welcher ”seed”verwendet wird: •...
  • Seite 226: Rpalette

    RPALETTE Token: $CE $0D Format: RPALETTE(Bildschirm, Index, RGB) Zweck: Gibt den Rot-, Grün- oder Blauwert eines Palettenfarbindexes zurück. Bildschirm Bildschirmnummer (0-3) Index Palettenfarbindex RGB (0: Rot, 1: Grün, 2: Blau) Beispiel: Verwendung von RPALETTE:...
  • Seite 227: Rpen

    RPEN Token: Format: RPEN(Stift) Zweck: Gibt den Farbindex von Stift Stift zurück. Stift Stiftnummer (0-2), wobei: • 0 Zeichenstift • 1 Löschstift • 2 Konturenstift Beispiel: Verwendung von RPEN:...
  • Seite 228: Rplay

    RPLAY Token: $FE $0F Format: RPLAY(Stimme) Zweck: RPLAY gibt einen Wert (0 oder 1) zurück, um anzuzeigen, ob eine Melodie auf dem angegebenen Stimmkanal gespielt wird (1) oder nicht (0). Stimme ist der zu überprüfende Stimmkanal (1-6). Beispiel: Verwendung von RPLAY:...
  • Seite 229: Rreg

    RREG Token: $FE $09 Format: RREG [{a-Register, x-Register, y-Register, z-Register, s-Register}] Zweck: Liest die Werte, die nach einem SYS-Aufruf in den CPU-Registern stehen, in die angegebenen Variablen. a-Register erhält den Wert des Akkumulators. x-Register erhält den Wert des X-Registers. y-Register erhält den Wert des Y-Registers. z-Register erhält den Wert des Z-Registers.
  • Seite 230: Rspcolor

    RSPCOLOR Token: $CE $07 Format: RSPCOLOR(Index) Zweck: Gibt Farben eines mehrfarbigen Sprites zurück. Index Farbindex des mehrfarbigen Sprites: • 1 liefert Farbe Nummer 1. • 2 liefert Farbe Nummer 2. Notiz: Weitere Informationen finden Sie unter SPRITE und SPRCOLOR. Beispiel: Verwendung von RSPCOLOR:...
  • Seite 231: Rspeed

    RSPEED Token: $CE $0E Format: RSPEED(Dummy) Zweck: Gibt die aktuelle CPU-Geschwindigkeit in MHz zurück. POKE 0,65 Dummy ist ein numerisches Wert, der ignoriert wird. Notiz: RSPEED gibt nicht den korrekten Wert zurück, wenn zuvor verwendet wurde, um die höchste Geschwindigkeit (40 MHz) zu aktivie- ren.
  • Seite 232: Rsppos

    RSPPOS Token: $CE $05 Format: RSPPOS(Sprite, Parameter) Zweck: Gibt die Position und Geschwindigkeit eines Sprites zurück. Sprite ist die Nummer des Sprites (0-7). Parameter ist der Sprite-Parameter zum Abrufen: • 0 X-Koordinate der aktuellen Position • 1 Y-Koordinate der aktuellen Position •...
  • Seite 233: Rsprite

    RSPRITE Token: $CE $06 Format: RSPRITE(Sprite, Parameter) Zweck: Gibt den angegebenen Parameter eines Sprites zurück. Sprite ist die Nummer des Sprites (0-7). Parameter ist der Sprite-Parameter zum Abrufen folgender Werte: • 0 Sprite ist an (1) oder aus (0). • 1 Vordergrundfarbe (0-15) •...
  • Seite 234: Run

    Token: Format: RUN [Zeilennummer] RUN Dateiname [,D Laufwerk] [,U Gerät] Zweck: Startet die Ausführung eines BASIC-Programms. Wenn ein Dateiname angegeben wird, wird die Programmdatei in den Speicher geladen und ausgeführt, andernfalls wird das Programm, das sich gerade im Speicher befindet, gestartet. Zeilennummer ist eine existierende Zeilennummer des aktuell im Spei- cher befindlichen Programms, von der die Ausführung gestartet werden soll.
  • Seite 235: Rwindow

    RWINDOW Token: $CE $09 Format: RWINDOW(Parameter) Zweck: Gibt Informationen über das aktuelle Textfenster zurück. Parameter ist der Bildschirm-Parameter zum Abrufen folgender Werte: • 0 Breite des aktuellen Textfensters • 1 Höhe des aktuellen Textfensters. • 2 Anzahl der Spalten auf dem Bildschirm (40 oder 80). Notiz: Ältere Versionen von RWINDOW im BASIC 10 berichteten hiervon ab- weichend über die letztmögliche Spaltenposition (= Breite - 1) und die...
  • Seite 236: Save

    SAVE Token: Format: SAVE Dateiname [, Gerät] ← Dateiname [, Gerät] Zweck: Speichert ein BASIC-Programm in eine Datei des Typs PRG. Dateiname ist entweder ein String in Anführungszeichen, z.B. ”Daten” oder ein Stringausdruck in Klammern gesetzt, z.B. (FI$). Die maximale Länge des Dateinamens beträgt 16 Zeichen, wobei das optionale Zeichen zum Speichern und Ersetzen und die Laufwerksde- finition in dem Dateinamen nicht mitgezählt werden.
  • Seite 237: Saveiff

    SAVEIFF Token: $FE $44 Format: SAVEIFF Dateiname [,D Laufwerk] [,U Gerät] Zweck: Speichert ein Bild aus dem Speicher in eine Diskettendatei im IFF-Format. Das IFF (”Interchange File Format”, dt. etwa ”Austausch-Dateiformat”) wird von vielen verschiedenen Anwendungen und Betriebssystemen un- terstützt. SAVEIFF speichert das Bild, die Palette und die Auflösungspa- rameter.
  • Seite 238: Scnclr

    SCNCLR Token: Format: SCNCLR [Farbe] Zweck: Löscht ein Textfenster oder einen Bildschirm. SCNCLR ohne Argumente löscht das aktuelle Textfenster. Das Standard- fenster nimmt den gesamten Bildschirm ein. SCNCLR Farbe löscht den Grafikbildschirm, indem er ihn mit der ange- gebenen Farbe füllt. Beispiel: Verwendung von SCNCLR:...
  • Seite 239: Scratch

    SCRATCH Token: Format: SCRATCH Dateiname [,D Laufwerk] [,U Gerät] [,R] Zweck: SCRATCH (dt. ”kratzen”) wird verwendet, um eine Datei auf der Diskette zu löschen. Dateiname ist entweder ein String in Anführungszeichen, z.B. ”Daten” oder ein Stringausdruck in Klammern gesetzt, z.B. (FI$). Laufwerk (drive) ist die Laufwerksnummer bei Diskettenstationen mit zwei Laufwerken.
  • Seite 240 Beispiel: Verwendung von SCRATCH:...
  • Seite 241: Screen

    SCREEN Token: $FE $2E Format: SCREEN [Nummer,] Breite, Höhe, Farbtiefe SCREEN CLR Farbe SCREEN DEF Nummer, Breiten-Flag, Höhen-Flag, Farbtiefe SCREEN SET Drawscreen, Viewscreen SCREEN OPEN [Nummer] SCREEN CLOSE [Nummer] Zweck: Bei der Vorbereitung des Bildschirms für das Zeichnen von Grafiken gibt es folgende zwei Varianten: Eine vereinfachte Variante und eine detail- lierte Variante.
  • Seite 242 Wenn Sie mit Ihrem Grafikbildschirm fertig sind, rufen Sie SCREEN CLOSE [Nummer] auf, um zum Textbildschirm zurückzukehren. Detaillierte Variante: Die andere Variante von SCREEN führt spezielle Aktionen aus, die für fortgeschrittene Grafikprogramme verwendet werden, die mehrere Bild- schirme öffnen oder ”double buffering” (dt. ”doppelte Pufferung”) erfor- dern.
  • Seite 243 nes Bildschirms automatisch der Befehl PALETTE RESTORE durchgeführt wird. Beispiel: Verwendung von SCREEN:...
  • Seite 244: Set

    Token: $FE $2D Format: SET DEF Gerät SET DISK Alt TO Neu SET VERIFY <ON | OFF> Zweck: SET DEF definiert die Standardeinheit für den Diskettenzugriff neu. Nach dem Einschalten des MEGA65 ist dieser Wert auf 8 gesetzt. Befehle, die nicht ausdrücklich eine Einheit angeben, verwenden diese Standardein- heit.
  • Seite 245: Sgn

    Token: Format: SGN(numerischer Ausdruck) Zweck: Ermittelt das Vorzeichen des numerischen Ausdrucks und gibt es als Zahl zurück: • -1 der Ausdruck ist negativ (< 0) • -0 der Ausdruck ist Null (= 0) • 1 der Ausdruck ist positiv (> 0) Beispiel: Verwendung von SGN:...
  • Seite 246: Sin

    Token: Format: SIN(numerischer Ausdruck) Zweck: Gibt den Sinus des numerischen Ausdrucks zurück. Das Argument wird im Bogenmaß erwartet. Das Ergebnis liegt im Bereich (-1.0 bis +1.0) Notiz: Ein Argument in Grad kann ins benötigte Bogenmaß umgerechnet wer- den, indem es mit π/180 multipliziert wird. Beispiel: Verwendung von SIN:...
  • Seite 247: Sleep

    SLEEP Token: $FE $0B Format: SLEEP Sekunden Zweck: SLEEP (dt. ”schlafe”) hält die Ausführung des Programms für die angege- bene Dauer (in Sekunden) an. Das Argument ist eine positive Fließkom- mazahl. Die Genauigkeit beträgt 1 Mikrosekunde. Notiz: Durch Drücken der -Taste wird der Ruhezustand unterbrochen.
  • Seite 248: Sound

    SOUND Token: Format: SOUND Stimme, Frequenz, Dauer [{, Richtung, Minimum, Sweep, Wellen- form , Impulsweite}] Zweck: Spielt einen Soundeffekt ab. Stimme Stimmennummer (1-6). Frequenz Frequenz (0-65535). Dauer ein Wert für die Dauer des Effekts (0-32767). Die tatsächliche Dauer hängt von der Bild-Darstellungsnorm ab. Bei PAL (wie in Deutsch- land üblich) entspricht ein Wert von 50 einer Sekunde, bei NTSC ent- spricht ein Wert von 60 einer Sekunde.
  • Seite 249: Spc

    Token: Format: SPC(Anzahl) Zweck: Überspringt Anzahl Spalten bei der Ausgabe. → Dies entspricht einem Anzahl-maligem Drücken der -Taste. Notiz: Der Name dieser Funktion ist von SPACES (dt. ”Leerzeichen”) abgeleitet, was irreführend ist. Die Funktion gibt Cursorbewegungen nach rechts aus, keine Leerzeichen. Die damit übersprungenen Zeichen werden nicht geändert.
  • Seite 250: Speed

    SPEED Token: $CE $0E Format: SPEED [Geschwindigkeit] Zweck: Setzt die CPU-Geschwindkeit auf 1 MHz, 3.5 MHz oder 40 MHz. Geschwindigkeit ist die CPU-Geschwindigkeit, wobei: • 1 die CPU-Geschwindigkeit auf 1 MHz setzt. • 3 die CPU-Geschwindigkeit auf 3,5 MHz setzt. •...
  • Seite 251: Sprcolor

    SPRCOLOR Token: $FE $08 Format: SPRCOLOR [{Farbe1, Farbe2}] Zweck: Legt die Farben der mehrfarbigen Sprites fest. Der SPRITE-Befehl, der die Attribute eines Sprites setzt, setzt nur die Vordergrundfarbe. Für die Einstellung der zusätzlichen zwei Farben von mehrfarbigen Sprites verwenden Sie stattdessen SPRCOLOR. Notiz: Die mit SPRCOLOR angegebenen Farben wirken sich auf alle Sprites aus.
  • Seite 252: Sprite

    SPRITE Token: $FE $07 Format: SPRITE CLR SPRITE LOAD Dateiname [,D Laufwerk] [,U Gerät] SPRITE SAVE Dateiname [,D Laufwerk] [,U Gerät] SPRITE Nummer [{, Schalter, Farbe, Priorität, x-Expansion, y-Expansion, Modus}] Zweck: SPRITE CLR löscht alle Sprite-Daten und setzt alle Zeiger und Attribute auf ihre Standardwerte.
  • Seite 253 Beispiel: Verwendung von SPRITE:...
  • Seite 254: Sprsav

    SPRSAV Token: $FE $16 Format: SPRSAV Quelle, Ziel Zweck: Kopiert Spritedaten. Quelle ist eine Spritenummer oder String-Variable. Ziel ist eine Spritenummer oder String-Variable. Notiz: Quelle und Ziel können entweder eine Spritenummer oder eine String- Variable sein, jedoch können nicht beide gleichzeitig eine String-Variable sein.
  • Seite 255: Sqr

    Token: Format: SQR(numerischer Ausdruck) Zweck: Gibt die Quadratwurzel des numerischen Ausdrucks zurück. Notiz: Das Argument darf nicht negativ sein. Beispiel: Verwendung von SQR:...
  • Seite 256 Format: Zweck: ST enthält den Status der letzten Ein-/Ausgabe-Operation. Falls ST gleich Null ist, lag kein Fehler vor, andernfalls wird ST auf einen geräteabhängigen Fehlercode gesetzt. Notiz: ST ist eine reservierte Systemvariable. Beispiel: Verwendung von ST:...
  • Seite 257 STEP Token: Format: FOR Index = Start TO Ende [STEP Schrittweite] ... NEXT [Index] Zweck: STEP ist ein optionaler Teil einer FOR-Schleife. Index kann bei jeder Iteration um einen konstanten Wert erhöht oder ver- ringert werden. Der Standardwert ist, die Variable jeweils um 1 zu erhö- hen.
  • Seite 258: Stop

    STOP Token: Format: STOP Zweck: Stoppt die Ausführung des BASIC-Programms. Es wird eine Meldung mit READY. der Zeilennummer angezeigt, in der das Programm angehalten wurde. Die Eingabeaufforderung erscheint und der Computer geht in den Direktmodus über und wartet auf Tastatureingaben. Notiz: Alle Variablendefinitionen sind nach STOP noch gültig.
  • Seite 259: Str

    STR$ Token: Format: STR$(numerischer Ausdruck) Zweck: Gibt einen String zurück, der den formatierten Wert des Arguments ent- hält, so als ob er mit PRINT in den String ausgegeben worden wäre. Notiz: Mit STR$ ist es zum Beispiel möglich, eine Zahl in einen String umzuwan- deln.
  • Seite 260: Sys

    Token: Format: SYS Adresse [{, a-Register, x-Register, y-Register, z-Register, s- Register}] Zweck: SYS ruft ein Maschinensprache-Unterprogramm auf. Dabei kann es sich um eine Systemroutine oder um ein anderes Programm handeln, das zu- vor in den Arbeitsspeicher geladen oder mittels POKE erstellt worden ist. Die CPU-Register werden mit den Argumenten geladen (falls sie ange- geben sind), dann wird ein Unterprogrammaufruf (JSR Adresse) durch- geführt.
  • Seite 261 RAM besteht, in dem keine Ein-/Ausgabe- oder Kernal-Systemroutinen eingeblendet sind. Die korrekte Verwendung von SYS (d.h. ohne das BASIC-RAM zu beein- flussen und Zugriff auf Kernal- und Ein-/Ausgabe-Routinen zu haben) er- fordert einige technische Kenntnisse, die den Rahmen dieses Referenz- handbuchs sprengen würden.
  • Seite 262: Tab

    Token: Format: TAB(Spalte) Zweck: Positioniert den Cursor an der Spaltennummer Spalte. Dies geschieht nur, wenn die Zielspalte rechts von der aktuellen Cursor- Spalte liegt, andernfalls wird der Cursor nicht bewegt. Die Spaltenzäh- lung beginnt am linken Rand mit der Spalte 0. Notiz: Diese Funktion ist nicht zu verwechseln mit der -Taste, die den Cur-...
  • Seite 263: Tan

    Token: Format: TAN(numerischer Ausdruck) Zweck: Gibt den Tangens des Arguments zurück. Das Argument wird in der Einheit Bogenmaß erwartet. Das Ergebnis liegt im Bereich (-1.0 bis +1.0) Notiz: Ein Argument in Grad-Einheiten kann durch Multiplikation mit π/180 in Bogenmaß umgewandelt werden. Beispiel: Verwendung von TAN:...
  • Seite 264: Tempo

    TEMPO Token: $FE $05 Format: TEMPO Geschwindigkeit Zweck: Legt die Wiedergabegeschwindigkeit für PLAY fest. Geschwindigkeit ist ein Wert im Bereich 1-255. Die Dauer (in Sekunden) einer ganzen Note wird mit Dauer = 24/Geschwindigkeit berechnet. Beispiel: Verwendung von TEMPO:...
  • Seite 265: Then

    THEN Token: Format: IF Ausdruck THEN wahr-Klausel [ELSE falsch-Klausel] Zweck: THEN ist Teil einer IF-Anweisung. Ausdruck ist ein logischer oder numerischer Ausdruck. Ein numerischer Ausdruck wird als FALSE (”falsch”) ausgewertet, wenn der Wert Null ist und TRUE (”wahr”) für jeden Wert ungleich Null. wahr-Klausel ist eine oder mehrere Anweisungen, die direkt nach THEN in derselben Zeile beginnen.
  • Seite 266 Format: Zweck: TI ist ein hochpräziser Timer mit einer Auflösung von 1 Mikrosekunde. Er wird mit CLR TI gestartet oder zurückgesetzt und kann wie jede andere Variable in Ausdrücken angesprochen werden. Notiz: TI ist eine reservierte Systemvariable. Der Wert in TI ist die Anzahl der Se- kunden (mit 6 Dezimalstellen) seit der letzten Löschung oder dem letzten Start.
  • Seite 267 Format: Zweck: TI$ speichert die Zeitinformationen der RTC (Real-Time Clock, dt. ”Echtzeituhr”) in Textform, wobei folgendes Format verwendet wird: ”hh:mm:ss”. Die Systemvariable wird bei jeder Verwendung aktualisiert. TI$ ist eine schreibgeschützte Variable, die die Register der RTC ausliest und die Werte in ein String formatiert. Notiz: TI$ ist eine reservierte Systemvariable.
  • Seite 268 Token: Format: Schlüsselwort TO Zweck: TO ist ein sekundäres Schlüsselwort, das in Kombination mit primären Schlüsselwörtern wie BACKUP, BSAVE, CHANGE, CONCAT, COPY, FOR, GO, RENAME und SET DISK verwendet wird. Notiz: TO kann nicht allein verwendet werden. Beispiel: Verwendung von TO:...
  • Seite 269: Trap

    TRAP Token: Format: TRAP [Zeilennummer] Zweck: TRAP einer gültigen Zeilennummer aktiviert BASIC- Fehlerbehandlungsroutine ab Zeilennummer. Wenn ein Programm einen Fehlerbehandlungsroutine aktiviert hat, ändert sich das Laufzeit- verhalten. Normalerweise wird BASIC das Programm beenden und eine Fehlermeldung anzeigen. Wenn jedoch eine BASIC-Fehlerbehandlungsroutine aktiviert wurde, speichert BASIC stattdessen den Ausführungszeiger und die Zeilennum- mer, legt die Fehlernummer in der Systemvariablen ER ab und springt zu der bei TRAP angegebenen Zeilennummer.
  • Seite 270: Troff

    TROFF Token: Format: TROFF Zweck: Deaktiviert den Trace-Modus (wird durch TRON aktiviert). Beispiel: Verwendung von TROFF:...
  • Seite 271: Tron

    TRON Token: Format: TRON Zweck: Aktiviert den Trace-Modus (wird durch TROFF deaktiviert). Wenn Sie das BASIC 65-Programm ausführen, werden die jeweiligen Zei- lennummern in Klammern angezeigt, bevor eine Aktion für diese Zeile er- folgt. Beispiel: Verwendung von TRON:...
  • Seite 272: Type

    TYPE Token: $FE $27 Format: TYPE Dateiname [,D Laufwerk] [,U Gerät] Zweck: Gibt den Inhalt einer Datei aus, die PETSCII-kodierten Text enthält. Dateiname ist entweder ein String in Anführungszeichen, z.B. ”Daten” oder ein Stringausdruck in Klammern gesetzt, z.B. (FI$). Laufwerk (drive) ist die Laufwerksnummer bei Diskettenstationen mit zwei Laufwerken.
  • Seite 273: Until

    UNTIL Token: Format: DO ... LOOP DO [<UNTIL | WHILE> logischer Ausdruck] . . . Befehle [EXIT] LOOP [<UNTIL | WHILE> logischer Ausdruck] Zweck: DO und LOOP definieren den Start einer BASIC-Schleife. Die Verwen- dung von DO und LOOP ohne jegliche Modifikatoren wird eine Endlos- schleife erzeugt, die nur durch die Anweisung EXIT verlassen werden kann.
  • Seite 274: Using

    USING Token: Format: PRINT[# Kanal,] USING Format; Argument Zweck: Gibt unter Berücksichtigung von Format das Argument aus. Das Argument kann entweder ein String oder ein numerischer Wert sein. Das Format der Ausgabe richtet sich nach dem String Format. Kanal ist die Kanalnummer, die bei einem vorherigen Aufruf von Befehlen wie APPEND, DOPEN oder OPEN verwendet worden ist.
  • Seite 275 Beispiel: Verwendung von USING:...
  • Seite 276: Usr

    Token: Format: USR(numerischer Ausdruck) Zweck: Ruft eine Assembler-Routine auf, deren Speicheradresse bei $02F8 - $02F9 gespeichert ist. Das Ergebnis des numerischen Ausdrucks wird in den Fließkomma-Akkumulator 1 geschrieben. Nach der Ausführung der Assembler-Routine gibt BASIC den Inhalt des Fließkomma-Akkumulators 1 zurück. Notiz: Die Bänke 0-127 ermöglichen den Zugriff auf RAM- oder ROM-Bänke.
  • Seite 277: Val

    Token: Format: VAL(String-Ausdruck) Zweck: Konvertiert einen String in einen Fließkommawert. Diese Funktion verhält sich genauso wie das Lesen aus einem String. Notiz: Ein String, der eine ungültige Zahl enthält, führt nicht zu einem Fehler, sondern liefert stattdessen 0 als Ergebnis. Beispiel: Verwendung von VAL:...
  • Seite 278: Verify

    VERIFY Token: Format: VERIFY Dateiname [, Gerät [, Binärflag]] Zweck: VERIFY ohne Binärflag vergleicht ein BASIC-Programm im Speicher mit einer Datei auf Diskette des Typs PRG. Es macht das Gleiche wie DVERI- FY, allerdings unterscheidet sich die Syntax. VERIFY mit Binärflag vergleicht einen Speicherbereich mit einer Datei auf Diskette des Typs PRG.
  • Seite 279: Viewport

    VIEWPORT Token: $FE $31 Format: VIEWPORT CLR VIEWPORT DEF x, y, Breite, Höhe Zweck: VIEWPORT DEF definiert einen sogenannten Clipping-Bereich (dt. etwa ”Ausschnittsbereich”) mit dem Ursprung (obere linke Position) auf x, y und der Breite und Höhe. Alle folgenden Grafikbefehle sind auf den Bereich VIEWPORT beschränkt.
  • Seite 280: Vol

    Token: Format: VOL Lautstärke Zweck: Stellt die Lautstärke für die Tonausgabe mit SOUND oder PLAY ein. Lautstärke 0 (aus) bis 15 (maximale Laustärke) Notiz: Diese Lautstärkeeinstellung wirkt sich auf alle Stimmen aus. Beispiel: Verwendung von VOL:...
  • Seite 281: Wait

    WAIT Token: Format: WAIT Adresse, AND-Maske [, XOR-Maske] Zweck: Hält das BASIC-Programm an, bis ein angefordertes Bitmuster von der angegebenen Adresse gelesen wird. Adresse ist die Adresse in der aktuellen Speicherbank, die gelesen wird. AND-Maske ist die anzuwendende AND-Maske. XOR-Maske ist die anzuwendende XOR-Maske. WAIT liest den Byte-Wert von Adresse und wendet die Masken an: Ergebnis = PEEK(Adresse) AND AND-Maske XOR XOR-Maske.
  • Seite 282: While

    WHILE Token: Format: DO ... LOOP DO [<UNTIL | WHILE> logischer Ausdruck] . . . Befehle [EXIT] LOOP [<UNTIL | WHILE> logischer Ausdruck] Zweck: DO und LOOP definieren den Start einer BASIC-Schleife. Die Verwen- dung von DO und LOOP ohne jegliche Modifikatoren wird eine Endlos- schleife erzeugt, die nur durch die Anweisung EXIT verlassen werden kann.
  • Seite 283: Window

    WINDOW Token: $FE $1A Format: WINDOW Links, Oben, Rechts, Unten [, Lösche] Zweck: Legt das Textbildschirmfenster fest. Links linke Spalte Oben obere Zeile Rechts rechte Spalte Unten untere Zeile Lösche Flag zum Textbildschirm löschen Notiz: Die Zeilenwerte reichen von 0 bis 24. Die Spaltenwerte reichen von 0 bis entweder 39 oder 79.
  • Seite 284: Xor

    Token: Format: Operand XOR Operand Zweck: Der boolesche Operator XOR führt eine bitweise logische Exklusiv- ODER-Verknüpfung an zwei 16-Bit-Werten durch. Integer-Operanden werden so verwendet, wie sie sind. Reelle Operanden werden in eine vorzeichenbehaftete 16 Bit-Ganzzahl umgewandelt (mit Verlust der Ge- nauigkeit).
  • Seite 285: Schlüsselwörter Und Token - Teil 1

    Schlüsselwörter und Token - Teil 1 AC COLOR E7 FAST FE25 AA CONCAT FE13 FGOSUB FE48 AB CONT 9A FGOTO FE47 AD COPY F4 FILTER FE03 < B3 COS BE FIND FE2B B2 CURSOR FE41 FN > B1 CUT E4 FONT FE46 B6 DATA 83 FOR...
  • Seite 286: Schlüsselwörter Und Token - Teil 2

    Schlüsselwörter und Token - Teil 2 LIST 9B PRINT# 98 SLEEP FE0B LOAD SOUND LOADIFF FE43 RCOLOR CD SPC( BC RCURSOR FE42 SPEED FE26 LOG10 CE08 READ 87 SPRCOLOR FE08 LOOP EC RECORD FE12 SPRDEF FE1D LPEN CE04 REM 8F SPRITE FE07 FE23 RENAME F5 SPRSAV...
  • Seite 287: Token Und Schlüsselwörter - Teil 1

    Token und Schlüsselwörter - Teil 1 80 END A3 TAB( C6 ASC 81 FOR A4 TO C7 CHR$ 82 NEXT A5 FN C8 LEFT$ 83 DATA A6 SPC( C9 RIGHT$ 84 INPUT# A7 THEN CA MID$ 85 INPUT A8 NOT CB GO 86 DIM A9 STEP...
  • Seite 288: Token Und Schlüsselwörter - Teil 2

    Token und Schlüsselwörter - Teil 2 EA HELP FE02 BANK FE26 SPEED EB DO FE03 FILTER FE27 TYPE EC LOOP FE04 PLAY FE28 BVERIFY ED EXIT FE05 TEMPO FE29 ECTORY EE DIR FE06 MOVSPR FE2A ERASE EF DSAVE FE07 SPRITE FE2B FIND F0 DLOAD FE08 SPRCOLOR...
  • Seite 289: Spezielle Tastaturbefehle Und -Sequenzen

    KAPITEL Spezielle Tastaturbefehle und -Sequenzen • PETSCII-Codes und CHR$ • Kontrollcodes • SHIFT-Codes • Escape-Sequenzen...
  • Seite 291: Petscii-Codes Und Chr

    PETSCII-CODES UND CHR$ In BASIC kann PRINT CHR$(X) verwendet werden, um ein Zeichen aus einem PETSCII-Code Tabelle verwenden, PRINT CHR$(65), dann werden Sie den Buchstaben A drucken. Weitere auszugeben. Unten finden Sie die vollständige Tabelle der PETSCII-Codes, die Sie nach Index ausgeben können. Zum Beispiel, wenn Sie Index 65 aus der untenstehenden Mit dem ASC-Befehl können Sie auch den umgekehrten Weg gehen.
  • Seite 292 106 J 163 t 76 L 135 F5 77 M 107 K 136 F7 164 [ 78 N 108 L 137 F2 165 g 79 O 109 M 138 F4 166 = 80 P 110 N 139 F6 167 m 81 Q 111 O 140 F8...
  • Seite 293: Kontrollcodes

    HINWEIS: Die Codes von 192 bis 223 entsprechen den Werten 96 bis 127. Die Codes von 224 bis 254 entsprechen 160 bis 190 und Code 255 ist gleich 126. KONTROLLCODES Tastatursteuerung Funktion Farben Wählen Sie aus der ersten Farbpalette. Weitere Informationen CTRL zu den verfügbaren Farben finden Sie unter dem BASIC-Befehl...
  • Seite 294 Tastatursteuerung Funktion Cursorbewegung Bewegt den Cursor jeweils um eine CTRL Zeile nach unten. Entspricht der ↓ Taste Bewegt den Cursor um eine Position nach unten. Wenn Sie sich in einer langen BASIC-Codezeile befinden, CTRL die sich auf zwei Zeilen ausgedehnt hat, bewegt sich der Cursor zwei Zeilen nach unten, um in die nächste Zeile zu gelangen.
  • Seite 295 Tastatursteuerung Funktion Bildlauf (Scrollen) BASIC-Listing um eine Zeile nach CTRL unten scrollen. Entspricht der Taste BASIC-Listing um eine Zeile nach CTRL oben scrollen. Entspricht der Taste Unterbindet das Scrollen. Entspricht CTRL der Taste SCROLL Formatierung Aktiviert den Unterstreichungsmodus für Text. Sie können den Unterstreichungsmodus CTRL deaktivieren, indem Sie die...
  • Seite 296: Funktion

    Tastatursteuerung Funktion Sonstiges CTRL Erzeugt einen Glockenton. Entspricht dem Drücken der CTRL -Taste. Ruft den Matrix-Modus-Debugger CTRL auf. SHIFT-CODES Tastatursteuerung Funktion Fügt ein Zeichen an der aktuellen Cursorposition ein und verschiebt SHIFT INST alle Zeichen um eine Position nach rechts. Löscht den gesamten Bildschirm und SHIFT HOME...
  • Seite 297: Escape-Sequenzen

    ESCAPE-SEQUENZEN Um eine Escape-Sequenz auszuführen, drücken Sie die Taste , lassen sie wieder los und drücken anschließend eine der folgenden Tasten: Taste Aktion Editor-Verhalten Löscht den Bildschirm und schaltet zwischen dem 40- und 80-Spalten-Modus um. Löscht einen Bereich des Bildschirms, beginnend mit der aktuellen Cursorposition bis zum Ende des Bildschirms.
  • Seite 298 Taste Aktion Einfügen und Löschen Fügt an der aktuellen Cursorposition eine Leerzeile ein und verschiebt alle nachfolgenden Zeilen um eine Position nach unten. Löscht die aktuelle Zeile und verschiebt die Zeilen unterhalb des Cursors um eine Position nach oben. Löscht alle Zeichen ab der Cursorposition bis zum Anfang der aktuellen Zeile.
  • Seite 299 Taste Aktion Fenstersteuerung Legt die linke obere Ecke des Fensterbereichs fest. Alle getippten Zeichen und Bildschirmaktivitäten werden auf diesen Bereich beschränkt. Siehe auch Der Fenstermodus kann durch zweimaliges Drücken von HOME deaktiviert werden. Legt die untere rechte Ecke des Fensterbereichs fest. Alle getippten Zeichen und Bildschirmaktivitäten werden auf diesen Bereich beschränkt.
  • Seite 300 Taste Aktion Glocke CTRL Aktiviert die Glocke, die mit ausgelöst werden kann. Deaktiviert die Glocke, so dass das CTRL Drücken von keine Wirkung hat. Farben Schaltet den VIC-IV auf den Farbbereich 16-31 um. Auf diese CTRL Farben kann mit und den Tasten oder der Taste und den Tasten...
  • Seite 301: Index

    Index...
  • Seite 303 BASIC 65-Befehle DPAT, 74 APPEND, 14 DSAVE, 77 AUTO, 17 DVERIFY, 79 BACKGROUND, 18 EDMA, 82 BACKUP, 20 ELLIPSE, 84 BANK, 21 ELSE, 86 BEGIN, 22 END, 88 BEND, 23 ENVELOPE, 89 BLOAD, 24 ERASE, 91 BOOT, 26 EXIT, 94 BORDER, 27 FAST, 96 BOX, 28...
  • Seite 304 MEM, 146 SPRITE, 234 MERGE, 147 SPRSAV, 236 MONITOR, 151 STEP, 239 MOUNT, 152 STOP, 240 MOUSE, 153 SYS, 242 MOVSPR, 154 TEMPO, 246 NEW, 157 THEN, 247 NEXT, 158 TO, 250 OFF, 160 TRAP, 251 ON, 161 TROFF, 252 OPEN, 162 TRON, 253 PAINT, 165...
  • Seite 305 MOD, 150 TAB, 244 TAN, 245 PEEK, 169 USR, 258 PEEKW, 170 VAL, 259 PIXEL, 173 BASIC 65-Operatoren POINTER, 178 AND, 13 POKE, 179 NOT, 159 POKEW, 180 OR, 164 POS, 182 XOR, 266 POT, 183 BASIC 65-Systembefehle RCOLOR, 190 EDIT, 80 RGRAPHIC, 203 BASIC 65-Systemvariablen...
  • Seite 307 MEGA65-TEAM Dr. Paul Gardner-Stephen Detlef Hastik (highlander) (deft) Gründer Mitbegründer Software und virtuelle Hardware Vorsitzender Pressesprecher und leitender Wissenschaftler Marketing und Vertrieb Martin Streit Anton Schneider-Michallek (seriously) (adtbm) Video- und Fotoproduktion Verwaltung des Hardware-Pools Steuer und Organisation Soft-, Hard- und V-Hardware-Tester Soziale Medien Forum-Administrator Falk Rehwagen...

Inhaltsverzeichnis