Commodore BASIC
Erscheinungsbild
Commodore BASIC ist ein Dialekt der Programmiersprache BASIC, die in Commodores 8-Bit-Heimcomputern - beginnend 1977 mit dem PET 2001 bis zum C128 im Jahre 1985 - eingesetzt wurde. Später kam noch eine für den C65 gedachte Version hinzu, die aber nicht mehr fertiggestellt wurde. Das Basic basierte 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,xeingeben (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
- Umfasste die Erweiterungen sowohl der Version 4.0 als auch der 3.5.
- 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 (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
- V10: C65
- nicht fertiggestellt, viele Bugs
- ähnlich der Version 7.0
- Verwendung der Genlock-Funktion:
GENLOCK - Mausbefehle:
MOUSE, RMOUSE - Anzeige einer SEQ-Datei auf dem Bildschirm:
TYPE - Suchen/Ersetzen im Quelltext:
FIND/CHANGE - Speicherverwaltung: erweiterte
FRE-Funktion zur Bestimmung des freien Speichers - Farbdefinition:
PALETTE - Befehl für DMA-Operationen:
DMA - definierte, aber nicht implementierte Befehle:
PAINT, PASTE, CUT, LOCATE, SCALE, WIDTH, QUIT, OFF, SET, VIEWPORT