Anfang der 80er Jahre wurden fast alle Computer zusammen mit der Programmiersprache BASIC ausgeliefert. So auch der Commodore 64, damals eines der beliebtesten Modelle. Jetzt haben Michael Steil und James Abbatiello das dort verwendete Microsoft BASIC V2 in eine Skriptsprache für Linux verwandelt.
Wer den bereitgestellten Quellcode übersetzt, erhält einen Interpreter, der die alten BASIC-Befehle verdaut. Beispielsweise druckt
10 FOR I = 1 TO 5
20 PRINT “HALLO WELT!”
30 NEXT I
RUN
fünf mal die Zeichenkette “HALLO WELT!” auf die Konsole. Ein selbstgeschriebenes BASIC-Programm übergibt man dem Interpreter entweder in einer Textdatei oder man tippt ihn in einem interaktiven Modus ein, der sich lustigerweise mit dem originalen Einschaltprompt des Commodore 64 meldet:
tim@linux:~> ./cbmbasic
**** COMMODORE 64 BASIC V2 ****
64K RAM SYSTEM 38911 BASIC BYTES FREE
READY.
Darüber hinaus mag der Interpreter sogar Pipes, man kann ihn folglich mit Eingaben aus einer anderen Anwendungen füttern oder seine Ausgaben an ein weiteres Programm senden.
Der Interpreter selbst ist eine rekompilierte, also neu übersetzte Fassung des originalen Commodore 64 BASIC und keine Neuentwicklung. Zum Einsatz kam dabei ein Recompiler, der den ursprünglichen 8 Kilobyte großen Programmcode für 6502-Prozssoren auf die moderne Intel x86-Architektur konvertierte. Dieses Vorgehen hat den Vorteil, dass einerseits die BASIC-Programme mit der größtmöglichen Geschwindigkeit ablaufen und andererseits der Interpreter 100% kompatibel zum Original bleibt. Die Programmlistings aus der alten Fachliteratur vom Dachboden laufen damit ohne weitere Anpassung unter Linux – vorausgesetzt sie nutzen keine Eigenheiten der Originalhardware.
Damit die Textausgaben auch auf der Linux-Konsole landen, mussten die Entwickler einige Funktionen des Betriebssystems neu schreiben. Grafikausgabe ist folglich nicht möglich. Auf die genauen Details der Umsetzung geht Michael Steil ausführlich in seinem Blogeintrag ein.
Wer jetzt auf den Geschmack gekommen ist, findet unter http://www.geocities.com/white-flame/64/basref.html eine Befehlsreferenz des Commodore 64 BASIC und im C64 Wiki weitere Informationen auf Deutsch.






Danke, ich denke da noch an viel verbachte Zeit mit dem abtippen von Programmen etc. Ich werde mir den Spaß auf alle Fälle mal gönnen, denn einen Brotkasten habe ich leider nicht behalten, denn 1000er und 500er schon, Schade eigentlich, da ich mich immer noch gerne an meinen fast geholten Augeschaden erinnere, den ich mir durch den 64er und den Fernseher geholt habe…
Tippfehler im Artikel: “Microsoft BASIC V2”
Mit Sicherheit _nicht_ :)
Ja, ist nicht ganz korrekt formuliert: Es meldet sich offiziell mit Commodore BASIC V2 (siehe Meldung oben), stammt aber ursprünglich von Microsoft. Wer mehr wissen möchte: http://de.wikipedia.org/wiki/Commodore_BASIC