sábado, 28 de novembro de 2015

Convertendo jogos para uso com Paddles (3)

Pesquisa das funções que fazem leitura do teclado / joysticks

O MSX só tem duas vias para comandos do usuário:  O Teclado e as Portas de Joystick. Sendo assim todos os jogos necessariamente têm que acessar estas vias. Para isso o jogo pode usar as rotinas da BIOS (recomendado) ou ler diretamente as portas de I/O. Para cada jogo precisamos descobrir o método ou os métodos utilizados.

Comecemos pelas rotinas da BIOS. Segundo o Livro Vermelho, temos:

ADDR. NAME   TO    FUNCTION
------------------------------------------------

00D5H GTSTCK 11EEH Get joystick status
00D8H GTTRIG 1253H Get trigger status

00DEH GTPDL  1273H Get paddle status
0141H SNSMAT 1452H Read row of keyboard matrix

A primeira rotina a ser procurada é a GTPDL (00DEH). Se o jogo a utiliza nosso trabalho está concluído. Mas infelizmente para o Penguin Wars ainda não foi dessa vez.


A próxima é a GTSTK (00d5h). Esta retornou em 4 endereços.

Em seguida leremos GTTRIG (00d8h). Também é chamada em 4 locais.

Por último SNSMAT (0141h). Novamente, a função é chamada 4 vezes
Estes endereços serão o ponto de partida para a pesquisa das funções que guardam a posição da personagem na tela. 

Nenhum comentário: