domingo, 29 de setembro de 2013

Robocop 3 e efeito snow

Estive trabalhando na adaptação do Robocop 3 em disco Beta 48/128 para TK90X com TKMEM-128


Para minha surpresa, quando fui rodar no TK90X, apareceram os artefatos típicos do efeito snow. A causa é que o valor do registrador I, empregado no IM 2, ser 119 ($77) que é menor do que 128 e entra em conflito com a ULA. Na tela aparecem riscos horizontais que se sobrepõe aos gráficos.



A tabela de vetor de interrupção fica entre 30464 a 30720 (#7700 a #7800) e aponta para o endereço 30326 (#7676). Eu teria que achar algum espaço livre de RAM entre 32768 (I=128) a 48896 (I=191) para colocar essa tabela de forma a não interferir com a ULA. A região a partir de 49152, apesar de não ser problema para o efeito snow, não pode ser usado por interferir no chaveamento de bancos de RAM. Porém num exame rápido, não pude encontrar uma área livre na região apontada, o que dificulta uma tentativa de consertar o erro.

Apesar do bug, disponibilizo os arquivos Hobeta do programa adaptado neste link.

Nenhum comentário:

Postar um comentário

Seu comentário é bem vindo, mas peço que use este espaço adequadamente.