Como executar um script GWBasic legado dentro da linha de comando do linux com velocidade de CPU completa do host forçado

1

Eu tenho uma coleção antiga e obscura de scripts básicos (muitos scripts, todos muito longos e com muitos goto para valer a pena traduzi-los e eu pessoalmente não sei nada sobre qwbasic) que eu preciso rodar dentro um servidor linux para chamá-lo de uma instância do apache com um comando php exec ().

Este é um trecho do código:

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

Consegui fazê-lo funcionar com dois comandos diferentes, mas cada um com uma advertência

Com pcbasic

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

-n para usá-lo a partir da linha de comando do linux e não de uma janela

-k para inserir as teclas necessárias para digitar 2 parâmetros (AAAA e BBBB no exemplo)

O problema com essa abordagem é que ele emula o computador com baixa velocidade de CPU e os scripts são operações de matriz complexa que levam muito tempo.

Com o OpenBox

A segunda maneira de fazer isso é usar o Openbox (e, em seguida, o GWBASIC.EXE), que permite fazer o overclock do script para uma velocidade aceitável, mas parece não ser o certo para mim, porque ele precisa usar um Display. um servidor diria:

Openbox-Message: Failed to open the display from the DISPLAY environment variable.

Eu não sei como forçar um comando linux a correr a toda velocidade do meu servidor, ignorando as instruções internas de sincronia sonora / hora, mas parece-me o caminho a seguir.

Talvez eu deva compilá-los com o bascom? Parece assustador. Eu só quero interpretá-lo "no modo turbo"

    
por Yiin00b 09.02.2016 / 23:49

0 respostas