Estou de queixo caído. Sério.
Eu fiz um protótipo em Pascal do mesmo jogo que descrevi estar tendo problemas para fazer em ASM. O Scroll só ficou em uma velocidade decente quando eu avançava 6 pontos a cada frame, o que não deixava o scroll muito suave.
Pois bem, terminei a pouco o mesmo protótipo em ASM. Não só o scroll ficou rápido demais, como ao contrário do protótipo em Pascal onde eu desenhava apenas o jogador e três inimigos, na versão em ASM eu desenhei o jogador e 8 inimigos, sem perda de velocidade. Tive inclusive que colocar um HALT no loop principal para lerdar tudo e eu poder enxergar o mapa se movendo!
Pelo visto eu vou ter que re-visitar alguns conceitos, e vou tentar re-fazer alguns outros protótipos em ASM para ver o resultado… fico imaginando como deve ficar um jogo para turbo-R, usando os comandos dele e ainda por cima a velocidade do turbo…
Atualização: ARG! Estava bom demais para ser verdade… tudo não passou de um BUG do BrMSX, que não estava levando em conta os timings do VDP… em qualquer outro emulador que leve em conta esses tempos de escrita do VDP, o jogo trava, pois está escrevendo mais rápido que o VDP consegue processar…
…resultado: tive que mandar esperar o VDP terminar o processamento, a velocidade do jogo DESABOU. Quase desisti de desenvolver o jogo, mas parece que em modo turbo, a coisa vai… fazer o quê né? Melhor com turbo, do que nada