Commodore BASIC
Erscheinungsbild
Commodore BASIC ist ein Dialekt der Programmiersprache BASIC, die in Commodores 8-Bit-Heimcomputern - beginnend 1977 mit dem PET bis zum C128 im Jahre 1985 - eingesetzt wurde. Das Basic passierte auf 6502 Microsoft BASIC, das von Microsoft für eine Einmalzahlung lizenziert wurde.
Ein besonderer Vorteil des im ROM eingebauten Basic-Interpreter war der Fullscreen-Editor, der ein komfortables Bearbeiten von Programmen oder sofortiges Ausführen von Befehlen ohne umständliche Edit-Kommandos ermöglichte.
Versionen (chronologisch, mit den jeweils neuen Features)
- V1.0: PET 2001 mit Mickey-Mouse-Tastatur
- Bug: Arrays waren auf 256 Elemente limitiert
- Bug: Die PEEK-Funktion funktioniert nicht bei Adressen oberhalb von $C000
- V2.0: PET 2001 mit Schreibmaschinentastatur und ROM-Upgrade, VC 20, C64
- die meisten Bugs aus V1.0 beseitigt
- Osterei im PET :
WAIT 6502,x
eingeben (für x beliebige Zahl einsetzen) und warten, was passiert...
- V4.0: PET 4000, 8000-Serie (und späte PET 2001), CBM, CBM-II
- Disketten-Befehle:
DLOAD,DSAVE,COPY,SCRATCH,
etc (15 im ganzen) - Systemvariablen für Disketten-Fehlerkanal:
DS,DS$
(DS enthält die Fehlernummer, DS$ die Fehlermeldung im Klartext)
- Disketten-Befehle:
- V3.5: Commodore 264-Serie (C16, C116, Plus/4)
- Sound- und Grafikbefehle
- Joystick-Abfrage:
JOY
- Hexadezimal-Umwandlung:
DEC(),HEX$()
- Flexibleres Daten-Einlesen:
RESTORE [linenumber]
- String-Suchfunktion:
INSTR
- formatiertes Ausdrucken:
PRINT USING,PUDEF
- Alternative Befehlsausführung:
ELSE
- Zusätzliche Schleifenbefehle:
DO,LOOP,WHILE,UNTIL,EXIT
- Funktionstastenzuweisung:
KEY
- Zusätzliche Editor-Befehle:
AUTO,DELETE,RENUMBER
- Dynamische Fehlerbehandlung:
TRAP,RESUME,ERR$()
- Debugging:
TRON,TROFF
- V7.0: C128
- mehr Sound- und Grafikbefehle, sowie zur Sprite-Steuerung
- Paddle- und Lightpen-Abfrage:
POT,PEN
- Funktion für Exclusives Oder:
XOR
- Ermittlung einer Variablenadresse:
POINTER
- Textfenster:
WINDOW
- Pausenbefehl:
SLEEP
- Verwendung einer Speichererweiterung (C64-REU):
BANK,STASH,FETCH,SWAP
- Zusätzliche Disketten-Befehle:
BOOT,BLOAD,BSAVE,DVERIFY,DCLEAR
- Systembefehle:
RREG
(ermittelt den Inhalt der CPU-Register nach einemSYS
) - definierte, aber nicht implementierte Befehle:
OFF,QUIT