BASIC 7.0
Das BASIC der Version 7.0 ist im ROM des C128/D/DCR verfügbar und dient gleichzeitig als kommandozeilenbasierte Benutzeroberfläche. Es baut auf das CBM-BASIC 3.5 auf, das im C16/116 und Plus/4 eingesetzt wird, ist allerdings nicht vollständig abwärtskompatibel. Neben der Fehlerbehebung wurden weitere Befehle und Verbesserungen eingebaut, insbesondere bei der Grafik-, Sound- und Floppyprogrammierung, sowie bei der Erstellung (Programmierlogik und Schleifen) und Fehlersuche in BASIC-Programmen.
Auch für die Commodore-264-Serie-Linie gab es von der Firma Octasoft eine Portierung: Basic 7.0 für den Plus/4.
Inkompatibilitäten zu BASIC 2.0/3.5[Bearbeiten | Quelltext bearbeiten]
Folgende Befehle und Funktionen können in der bisherigen Verwendung unter BASIC 2.0 oder BASIC 3.5 bei BASIC 7.0 zu einem Fehler führen:
- Der COLOR-Befehl des C128 ignoriert (hardwarebedingt) die optionale Helligkeitsangabe.
- Die FRE-Funktion im C128 unterscheidet zwischen Programm- und Variablenspeicher.
- Die Befehlsabkürzung von MONITOR ist nun moN, da mO dem Befehl MOVSPR zugeordnet ist.
- Der maximale Rückgabewert der RGR()-Funktion ist 9 (vorher 4). Außerdem muss das Argument numerisch sein, sonst wird ein ?TYPE MISMATCH ERROR ausgegeben.
- Die RLUM-Funktion existiert nicht, da der C128 hardwarebedingt nicht über die entsprechenden Farbmöglichkeiten verfügt.
- Die maximale Lautstärke via Kommando VOL gesetzt ist 15 (sonst 8).
- Die Darstellung der Ausgabe des CHAR-Befehls unterscheidet sich bei gleichen Parametern.
- Der SOUND-Befehl erzeugt bei gleichen Frequenzwerten komplett unterschiedliche Töne, zudem ist der maximal erlaubte Wert für die Tondauer 32767 und nicht 65535. Außerdem besitzt der Befehl in BASIC 7.0 zusätzliche Parameter für Wellenform und periodische Frequenzänderung.
Erweiterungen gleichnamiger Befehle zu BASIC 2.0/3.5[Bearbeiten | Quelltext bearbeiten]
Diese Befehle und Funktionen sind abwärtskompatibel, weisen allerdings eine erweiterte Syntax und ein entsprechend zusätzliches Verhalten auf:
- Das GRAPHIC-Kommando hat einen optionalen 3. Parameter, der die Aufteilung des Grafik- und Textbereichs ermöglicht (gegenüber BASIC 3.5).
- MID$() ...
- ist nicht nur Funktion, sondern kann auch Ziel einer Zuweisung sein (gegenüber BASIC 2.0).
- dritter Parameter (Längenangabe) wird berücksichtigt (gegenüber BASIC 3.5).
- Der RESTORE-Befehl ermöglicht die Angabe einer Zeilennummer (gegenüber BASIC 2.0).
- Bei RUN sind statt der Zeilennummer auch Dateiangaben möglich (gegenüber BASIC 3.5 und früher).
- Bei SYS erlauben optionale Parameter die direkte Übergabe von Registerwerten (gegenüber BASIC 3.5 und früher).
Änderung der Abkürzungen[Bearbeiten | Quelltext bearbeiten]
BASIC 2.0 unter BASIC 7.0[Bearbeiten | Quelltext bearbeiten]
Die Abkürzungen der BASIC-Schlüsselwörter der Version BASIC 2.0 unter BASIC 7.0 ändern sich wie folgt:
PEEK
wird abgekürzt mit peE - Tastenkombination: P E SHIFT +EPOKE
wird abgekürzt mit poK - Tastenkombination: P O SHIFT +KREAD
wird abgekürzt mit reA - Tastenkombination: R E SHIFT +ASTOP
wird abgekürzt mit stO - Tastenkombination: S T SHIFT +O- Es gibt unter BASIC 7.0 keine Abkürzungen für die BASIC-Befehle
CONT
,END
,SPC
,SYS
BASIC 3.5 unter BASIC 7.0[Bearbeiten | Quelltext bearbeiten]
Es gibt viele abweichende Änderungen der Abkürzungen der BASIC 3.5-Schlüsselwörter zum BASIC 7.0!
ABS | AND | ASC | ATN | CHR$ | CLOSE | CLR | CMD | CONT | COS | DATA | DEF | DIM | END | EXP | FN | FOR | FRE | GET | GET# | GOSUB | GOTO | IF | INPUT | INPUT# | INT | LEFT$ | LEN | LET | LIST | LOAD | LOG | MID$ | NEW | NEXT | NOT | ON | OPEN | OR | PEEK | POKE | POS | PRINT | PRINT# | READ | REM | RESTORE | RETURN | RIGHT$ | RND | RUN | SAVE | SGN | SIN | SPC | SQR | STATUS/ST | STEP | STOP | STR$ | SYS | TAB | TAN | THEN | TIME/TI | TIME$/TI$ | TO | USR | VAL | VERIFY | WAIT
AUTO | BACKUP | BOX | CHAR | CIRCLE | COLLECT | COLOR | COPY | DEC | DELETE | DIRECTORY | DLOAD | DO | DRAW | DS | DS$ | DSAVE | EL | ELSE | ER | ERR$ | EXIT | GETKEY | GRAPHIC | GSHAPE | HEADER | HELP | HEX$ | INSTR | JOY | KEY | LOCATE | LOOP | MONITOR | PAINT | PRINT USING | PUDEF | RCLR | RDOT | RENAME | RENUMBER | RESUME | RGR | RLUM | SCALE | SCNCLR | SCRATCH | SOUND | SSHAPE | TRAP | TROFF | TRON | UNTIL | VOL | WHILE
APPEND | BANK | BEGIN | BEND | BLOAD | BOOT | BSAVE | BUMP | CATALOG | COLLISION | COLOR | CONCAT | DCLEAR | DCLOSE | DOPEN | DVERIFY | ENVELOPE | FAST | FETCH | FILTER | GO64 | MOVSPR | (OFF) | PEN | PLAY | POINTER | POT | (QUIT) | RECORD | RREG | RSPCOLOR | RSPPOS | RSPRITE | RWINDOW | SLEEP | SLOW | SOUND | SPRCOLOR | SPRDEF | SPRITE | SPRSAV | STASH | SWAP | TEMPO | WIDTH | WINDOW | XOR