- Basic V2
-
Commodore BASIC V2 ist der auf dem C64 sowie dem VC20 primär eingesetzte BASIC-Dialekt. Beim C64 ist ein Basic V2-Interpreter fest im ROM enthalten und dient gleichzeitig als Benutzerschnittstelle. Diese Benutzerschnittstelle wird durch einen ebenfalls im ROM enthaltenen zeilenorientierten Editor bereitgestellt. Als Eingabe akzeptiert der Editor die Angabe einer Programmzeile mit vorangestellter Zeilennummer (die er kommentarlos übernimmt) oder die Angabe eines Befehls, der direkt ausgeführt wird (z. B. run, load, sys, print, ? etc.).
Basic V2 basiert auf MBASIC von Microsoft und wurde für den C64 angepasst.
Basic V2 arbeitet zeilennummernorientiert, d.h. jeder Zeile muss eine Nummer vorangestellt werden, die auch als Parameter für Sprunganweisungen dient. Einmal vergebene Zeilennummern können nicht mehr direkt verändert werden. Das Löschen einer Zeile erfolgt ohne Rückfrage durch Eingabe der entsprechenden Zeilennummer und Drücken der Return-Taste. Es gibt keinen Befehl zur automatischen Renummerierung der Zeilen, daher ist es üblich, Zeilennummern im Abstand von 10 (oder höher) zu vergeben. Sollen dann später Zeilen eingefügt werden, können hierzu die verbleiben Zahlen zwischen zwei Zeilennummern verwendet werden. Der Interpreter benötigt keinerlei Leer- oder sonstige Formatierungszeichen, was zu sehr schlecht lesbarem Code führen kann. Zur Verzweigung innerhalb eines Programms unterstützt Basic V2 lediglich die Sprunganweisungen goto, gosub und return. Weitergehende Sprachelemente zur strukturierten Programmierung fehlen. Ebenfalls nicht enthalten sind Befehle zur Erstellung von Sound, Grafiken und Sprites. Zum direkten Zugriff auf die Hardware werden die Befehle POKE und PEEK bereitgestellt. Variablen müssen vor ihrer Verwendung nicht deklariert werden, der Variablentyp wird mit der Endung definiert ("$" für Textvariablen, "%" für ganzzahlige Variablen).
Codebeispiel
10 input "Geben Sie bitte Ihren Namen ein"; a$ 20 print "Guten Tag "; a$ 30 input "Wieviele Sterne möchten Sie?"; s 40 for i = 1 to s 50 s$ = s$ + "*" 55 next i 60 print s$ 70 input "Möchten Sie noch mehr Sterne?"; q$ 80 if len(q$) = 0 goto 70 90 l$ = left$(q$, 1) 100 if (l$ = "J") or (l$ = "j") then goto 30 110 print "Auf Wiedersehen"; 120 for i = 1 to 200 130 print a$; " "; 140 next i 150 print
Weblinks
Siehe auch: C64, BASIC, Commodore BASIC
PET/CBM: KIM-1 | PET 2001 | CBM 3000 | CBM 4000 | CBM 8000 | MMF 9000 CBM II: CBM 500∗ | CBM 600 | CBM 700 | CBM 900∗
Heimcomputer: VC 10 | VC 20 | C64 (SX, GS♦) | 264-Reihe (C16, C116, Plus/4) | C128 | C65∗
Amiga (Übersicht): 1000 | Sidecar | 500 | 2000 | CDTV♦ | 600 | 3000/T/UX | 1200 | 4000 | CD³²♦
IBM-kompatibel: PC-1 | PC-10 bis PC-60 | x86LT | A 1060
Peripherie: Laufwerke: Datasette | VC15xx (VC1540/41, VC1551, VC1570/71, VC1581) | SFD100x (SFD1001, SFD1002) | CBM 2020 bis 8250 | Amiga-Diskette | A570 | A3070
Drucker: MPS-Serie | MPS 801 | CBM-8000-Serie | VC1520
Sonstige Hardware: Zorro-Bus | RAM Expansion Unit | Commodore-Maus | Monochrom- und Farb-Monitore | Lautsprecher A10 | Mehrfachbenutzersysteme (MBS)
Historische Hardware: Schreib- und Tischrechenmaschinen | LED-Uhren | Konsole Commodore 2000k| SchachcomputerChips: MOS Technology | VIC | VIC II | TED | VDC | SID | PIA | VIA | TPI | CIA | ACIA | Agnus (Blitter, Copper) | Paula | EHB-Modus | HAM-Modus Chipsätze: OCS | ECS | AGA
Software: Commodore BASIC | Commodore Basic V2 | Kernal | CBM-ASCII (PETSCII) | GEOS | Commodore DOS | AmigaOS | Kickstart | Workbench | ARexx | AmigaGuide | AMIX
∗: nur Prototyp ♦: Spielkonsole
Wikimedia Foundation.