如何在 Linux 命令行中强制以全主机 CPU 速度运行旧版 GWBasic 脚本

如何在 Linux 命令行中强制以全主机 CPU 速度运行旧版 GWBasic 脚本

我有一个非常晦涩难懂的旧 Basic 脚本集合(脚本太多,都太长,并且有太多的 goto,不值得翻译,而且我个人对 qwbasic 一无所知),我需要在 Linux 服务器中运行它们,以便使用 php exec() 命令从 apache 实例中调用它。

这是代码的摘录:

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 OLDSCRIPT.BAS -n -k='AAAA\rBBBB\r' > /dev/null

-n 在 Linux 命令行中使用它,而不是在窗口中

-k 插入输入 2 个参数所需的按键(示例中为 AAAA 和 BBBB)

这种方法的问题在于它模拟的计算机 CPU 速度较低,并且脚本是复杂的矩阵运算,需要花费大量时间。

使用 OpenBox

我使其工作的第二种方法是使用 Openbox(然后是 GWBASIC.EXE),它允许我将脚本超频到可接受的速度,但这似乎不适合我,因为它必须使用显示器,因此在服务器中会说:

Openbox-Message:无法从 DISPLAY 环境变量打开显示。

我不知道如何强制 Linux 命令在我的服务器上全速运行,而忽略睡眠/时间同步内部指令,但在我看来这是可行的方法。

也许我应该用 bascom 编译它们?这似乎令人望而生畏。我只想“在 turbo 模式下”解释它

相关内容