Esta sub-rotina é outro subproduto do This is Tritone, faz a leitura das famosas teclas Q, A, O e P empregadas em muitos jogos.
Nas versões preliminares do demo somente os joysticks eram lidos mas o nix/.site tinha sugerido colocar esta combinação de teclas para movimentar o cursor, mais o tiro na tecla de espaço. Fiz isso mesmo, mas as teclas são lidas mais amplamente:
A sub-rotina faz a leitura dos joysticks Kempston, Sinclair 1 (TK90X) e Sinclair 2. Caso haja algum comando válido do joystick o flag Z será abaixado e o resultado será retornado no registrador A, cujo conteúdo é:
- para cima, as teclas Q, W, E, R e T;
- para baixo, as teclas A, S, D, E e F;
- para esquerda, U, O, J e L;
- para direita, Y, I, P, H, K e Enter;
- para tiro, todas as teclas da fileira inferior (Caps-shift, Z, X, C, V, B, N, M, Symbol-shift e Space).
INCLUDE "Kbd_QAOP.asm"
. Pode ser chamada através do rótulo Kbd_QAOP
(por exemplo, CALL Kbd_QAOP
). Para sua utilização, não se deve esquecer de incluir no programa principal, o arquivo cabeçalho INCLUDE "Header_Keyboard.asm"
. A sub-rotina faz a leitura dos joysticks Kempston, Sinclair 1 (TK90X) e Sinclair 2. Caso haja algum comando válido do joystick o flag Z será abaixado e o resultado será retornado no registrador A, cujo conteúdo é:
- bit 0 = 1 se tiro acionado;
- bit 1 = 1 se para cima acionado;
- bit 2 = 1 se para baixo acionado;
- bit 3 = 1 se para direita acionado;
- bit 4 = 1 se para esquerda acionado;
- bits 5 a 7 = 0.
O valor tem exatamente o mesmo significado de Read Joystick, portanto ambas as rotinas podem ser usadas de forma combinada:
CALL ReadJoystick ; Faz leitura dos joysticks.
LD H,A ; Guarda resultado em H.
CALL Kbd_QAOP ; Faz leitura do teclado.
OR H ; Combina as duas leituras e guarda em A.
Nenhum comentário:
Postar um comentário
Seu comentário é bem vindo, mas peço que use este espaço adequadamente.