Как запустить устаревший скрипт GWBasic в командной строке linux с принудительной скоростью процессора

У меня есть очень неясная старая коллекция базовых сценариев (слишком много сценариев, все они слишком длинные и слишком много goto, чтобы их можно было перевести, и я лично ничего не знаю о qwbasic), которые мне нужно запустить на сервере linux вызвать его из экземпляра apache с помощью команды php exec().

Это выдержка из кода:

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$="#"

Мне удалось заставить его работать с двумя разными командами, но каждая с оговоркой

С pcbasic

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

-n использовать его из командной строки linux, а не из окна

-k для вставки нажатий клавиш, необходимых для ввода параметров 2 (AAAA и BBBB в примере)

Проблема этого подхода состоит в том, что он эмулирует компьютер с низкой скоростью процессора, а сценарии представляют собой сложные матричные операции, которые занимают много времени.

С OpenBox

Второй способ, которым я заставил его работать, - это использование Openbox (а затем GWBASIC.EXE), который позволил мне разогнать скрипт до приемлемой скорости, но мне кажется, что он не подходит, потому что он должен использовать Display, так что на сервере будет сказать:

Openbox-Message: не удалось открыть отображение из переменной окружения DISPLAY.

Я не знаю, как заставить команду linux запускаться на полной скорости моего сервера, игнорируя внутренние инструкции синхронизации сна / времени, но мне кажется, что это путь.

Может мне стоит скомпилировать их с bascom? Это кажется пугающим. Я просто хочу интерпретировать это "в турбо-режиме"

0 ответов

Другие вопросы по тегам