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"