Hallo BASIC-Freunde,
ich habe in vergangenen Monaten immer mal wieder an dem hier gebastelt und ich dachte, vielleicht interessiert es den ein oder anderen: https://github.com/EgonOlsen71/basicv2
Was ist das?
Das ist ein Java-Programm, mit dem sich BASIC V2- (und ANSI BASIC-)Programme (quasi-)kompilieren und ausführen lassen. Es hat mit dem Orginal-Interpreter nichts zu tun und erzeugt auch nichts, was auf dem C64 ausführbar wäre. Der Ergebnis ist nur innerhalb einer Java-Anwendung zu benutzen.
Es enthält ferner einen einfachen symbolischen Assembler und eine 6502-Emulation, um die assemblierten Programme ausführen zu können. BASIC und Assembler können auch gemischt werden.
Was ist es nicht?
Es ist KEIN Emulator. Es bildet nichts (bzw. fast nichts) von der echten Hardware des C64 ab. Man kann damit keine Spiele laufen lassen, die Bildschirmausgaben in der Java-Konsole sind nicht schön, I/O ist nur rudimentär implementiert usw.
Wozu soll das nutze sein?
Ganz ehrlich? Keine Ahnung! Ich habe es als eine Art Fingerübung gesehen und es hat Spaß gemacht, sich mal wieder mit dem ollen BASIC V2 und 6502-Assembler zu beschäftigen. Man könnte damit Java-Programme mit BASIC V2 scripten. Oder sogar mit 6502-Assembler, wenn man das lieber mag. Sinnvoll ist das vermutlich eher nicht.
Es ist auch ein "template"-Package dabei, welches aufsetzend auf dieser Lösung erlaubt, (HTML)-Templates in BASIC V2 bzw. 6502-Assembler zu erstellen. Das würde ich immerhin noch lieber machen, als PHP...
Wie schnell ist das?
Eigentlich ziemlich schnell. Auf meinem 4Ghz Core i7 braucht ein Apfelmännchen in BASIC ~ 500ms.