Commodore Basic V2
aus Wikipedia, der freien Enzyklopädie
Commodore BASIC V2 ist der auf dem C64 primär eingesetzte Basicdialekt. 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 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. Kurioserweise benötigt der Interpreter keinerlei Leer- oder sonstige Formatierungszeichen, was zu sehr schlecht lesbarem Code führt. 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 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.
[Bearbeiten] 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
[Bearbeiten] 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 | CD32♦
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 | A570 | A3070
Drucker: MPS-Serie | MPS 801 | CBM 8000-Serie | VC1520
Sonstige Hardware: Zorro-Bus | Commodore-Maus | Monochrom- und Farb-Monitore | A10
Chips: VIC | VIC II | TED | VDC | SID | PIA | VIA | TPI | CIA | ACIA | Agnus (Blitter, Copper) | Paula | HAM-Modus Chipsätze: OCS | ECS | AGA
Software: Commodore BASIC | Commodore Basic V2 | Kernal | CBM-ASCII (PETSCII) | GEOS | Commodore DOS | AmigaOS | Kickstart | AMIX