#1
28/01/2020 22:08
Vor knapp 20 Jahren habe ich eine Website mit einigen CPC-Programmen zusammengestellt: http://benchmarko.de/cpcemu/cpcsoft/index.html
Heutzutage könnte man zu den Screenshots gleich einen CPC-Emulator einbinden, der die Programme auch ausführt.
Die ersten Browser-basierten CPC-Emulatoren kamen mir recht Ressourcen-intensiv vor, bis ich https://floooh.github.io/tiny8bit entdeckte. Einfach toll, was mit WebAssembly möglich ist!
Soweit so gut.
Nur: Auch für ein einfaches BASIC-Programm muss man einen kompletten CPC-Emulator starten.
Geht das nicht auch anders? Und könnten die Programme dann nicht auch noch viel schneller laufen?
Ja, wenn man das CPC-BASIC irgendwie aus dem ROM "loslösen" kann, ja "entfesselt", und dann als JavaScript ausführt.
Genau das macht CPCBasic. Es compiliert CPC-BASIC-Programme nach JavaScript.
Man braucht dann keine ROMs und Z80-Emulation mehr, sondern kann auf viel höherer Ebene die BASIC-Befehle ausführen.
Dummerweise ist das deutlich aufwändiger, als ich zunächst dachte. Zumindest, wenn das BASIC möglichst kompatibel sein soll und die Programme mit möglichst wenig Anpassungen laufen sollen.
Aber mittlerweile läuft es schon ganz ordentlich:
https://benchmarko.github.io/CPCBasic/cpcbasic.html
In einem separaten Repository habe ich weitere Apps gesammelt:
https://github.com/benchmarko/CPCBasicApps
Hier ein schönes Beispiel, das nicht nur zeigt, wie flott CPCBasic ist, sondern aus ein paar Zeilen Code tolle Effekte zaubert:
https://benchmarko.github.io/CPCBasic/cpcbasic.html?database=apps&example=demo/100demo
(Ich mag das Programm, hoffe es ist ok, dass ich es in die Sammlung aufgenommen habe... 😉
Gerne nehme ich weitere Programme auf.
Oder auch Anregungen...
Heutzutage könnte man zu den Screenshots gleich einen CPC-Emulator einbinden, der die Programme auch ausführt.
Die ersten Browser-basierten CPC-Emulatoren kamen mir recht Ressourcen-intensiv vor, bis ich https://floooh.github.io/tiny8bit entdeckte. Einfach toll, was mit WebAssembly möglich ist!
Soweit so gut.
Nur: Auch für ein einfaches BASIC-Programm muss man einen kompletten CPC-Emulator starten.
Geht das nicht auch anders? Und könnten die Programme dann nicht auch noch viel schneller laufen?
Ja, wenn man das CPC-BASIC irgendwie aus dem ROM "loslösen" kann, ja "entfesselt", und dann als JavaScript ausführt.
Genau das macht CPCBasic. Es compiliert CPC-BASIC-Programme nach JavaScript.
Man braucht dann keine ROMs und Z80-Emulation mehr, sondern kann auf viel höherer Ebene die BASIC-Befehle ausführen.
Dummerweise ist das deutlich aufwändiger, als ich zunächst dachte. Zumindest, wenn das BASIC möglichst kompatibel sein soll und die Programme mit möglichst wenig Anpassungen laufen sollen.
Aber mittlerweile läuft es schon ganz ordentlich:
https://benchmarko.github.io/CPCBasic/cpcbasic.html
In einem separaten Repository habe ich weitere Apps gesammelt:
https://github.com/benchmarko/CPCBasicApps
Hier ein schönes Beispiel, das nicht nur zeigt, wie flott CPCBasic ist, sondern aus ein paar Zeilen Code tolle Effekte zaubert:
https://benchmarko.github.io/CPCBasic/cpcbasic.html?database=apps&example=demo/100demo
(Ich mag das Programm, hoffe es ist ok, dass ich es in die Sammlung aufgenommen habe... 😉
Gerne nehme ich weitere Programme auf.
Oder auch Anregungen...