Ausführen eines älteren GWBasic-Skripts in der Linux-Befehlszeile mit erzwungener CPU-Geschwindigkeit der Hosts

465
Yiin00b

Ich habe eine wirklich obskure alte Sammlung von Basic-Skripten (zu viele Skripte, alle zu lang und mit zu vielen, um sie zu übersetzen, und ich persönlich kenne überhaupt nichts über qwbasic), die ich in einem Linux-Server ausführen muss um es von einer Apache-Instanz mit einem php exec () Befehl aufzurufen.

Dies ist ein Auszug aus dem Code:

228 IF CA$="Cl" THEN MATRIXA$(A)=CA$ 230 IF CA$="Cl" THEN VEO=VEO+1 232 IF CA$="Cl" THEN GOTO 242 234 IF CA$="nH" THEN MATRIXA$(A)=CA$ 236 IF CA$="nH" THEN VEO=VEO+1 238 IF CA$="nH" THEN GOTO 242 240 MATRIXA$(A)=YXD$ 242 RETURN 244 IF YXD$="" THEN GOTO 782 246 YXD=VAL(YXD$) 248 IF YXD>0 THEN GOSUB 260 250 IF YXD>0 THEN GOTO 106 252 GOSUB 282 254 IF YXD$="=" THEN GOTO 106 256 IF YXD$="#" 

Ich habe es geschafft, mit zwei verschiedenen Befehlen zu arbeiten, aber jeder mit einem Vorbehalt

Mit pcbasic

pcbasic OLDSCRIPT.BAS -n -k='AAAA\rBBBB\r' > /dev/null 

-n, um es von der Linux-Befehlszeile und nicht von einem Fenster aus zu verwenden

-k zum Einfügen der zur Eingabe von 2-Parametern erforderlichen Tastenanschläge (AAAA und BBBB im Beispiel)

Das Problem bei diesem Ansatz ist, dass er den Computer mit einer niedrigen CPU-Geschwindigkeit emuliert und die Skripts komplexe Matrixoperationen sind, die viel Zeit in Anspruch nehmen.

Mit OpenBox

Die zweite Möglichkeit, mit der ich es geschafft habe, ist Openbox (und dann GWBASIC.EXE), wodurch ich das Skript mit einer akzeptablen Geschwindigkeit übertakten konnte, aber es scheint mir nicht richtig zu sein, da es ein Display verwenden muss, also auf einem Server sagen:

Openbox-Message: Fehler beim Öffnen der Anzeige über die Umgebungsvariable DISPLAY.

Ich weiß nicht, wie ein Linux-Befehl mit voller Geschwindigkeit von meinem Server ausgeführt werden kann, wobei die internen Anweisungen für die Schlaf- / Zeitsynchronisierung ignoriert werden, aber es scheint mir der Weg zu gehen.

Vielleicht sollte ich sie mit bascom kompilieren? Es scheint entmutigend zu sein. Ich möchte es nur "im Turbo-Modus" interpretieren

1

0 Antworten auf die Frage