Fonte: World of Spectrum |
Por exemplo, o programa BASIC para o Beta 48:
10 BORDER 0: PAPER 0 : INK 0: CLEAR 24575
20 RANDOMIZE USR 15363: REM : LOAD "tela" CODE 16384
30 RANDOMIZE USR 15363: REM : LOAD "codigo" CODE
40 RANDOMIZE USR 24575
Ficaria assim, para o Beta 128:
10 BORDER 0: PAPER 0 : INK 0: CLEAR 24575
20 RANDOMIZE USR 15619: REM : LOAD "tela" CODE 16384
30 RANDOMIZE USR 15619: REM : LOAD "codigo" CODE
40 RANDOMIZE USR 24575
Para funcionar em ambas versões do Beta, insere-se uma linha (15, neste exemplo) e invoca-se o DOS com a variável d:
10 BORDER 0: PAPER 0 : INK 0: CLEAR 24575
15 LET d=15363: IF PEEK d<>195 THEN LET d=15619
20 RANDOMIZE USR d: REM : LOAD "tela" CODE 16384
30 RANDOMIZE USR d: REM : LOAD "codigo" CODE
40 RANDOMIZE USR 24575
O programa acima assume que, se a interface for Beta 48, a região da ROM 15360-15615 será interceptada, o que permite um teste com PEEK.
Hmmmm... se sair a emulação de TR-DOS na divIDE, poderemos utilizar suas conversões? :)
ResponderExcluirAquelas que usam o BASIC somente funcionariam sim. Já as que usam o código de máquina, não necessariamente. Mas aos poucos estou convertendo os programas para funcionarem nas Beta 48 e 128.
Excluir