Keyboard QAOP
Eletrônica

Keyboard QAOP


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:
  • 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). 
Keyboard QAOP é uma sub-rotina em assembly para ser incluído em um programa através da diretiva: 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.

Foi exatamente o que fiz no This is Tritone.

Para baixar a fonte da sub-rotina, clique neste link.



loading...

- Tv Panasonic Tx-14s1tc Chassis Z5
Defeito--Sem imagem e sem som. Apenas linhas de retorno. Seguindo a linha dos 33V, verifiquei que ao                                          ...

- Número Aleatório Por Xor-shift
Apresento a sub-rotina de geração de número pseudoaleatório que foi usada na minha parte do demo Mission Highly Improbable.  Anteriormente mostrei a sub-rotina de Phantom Club para a mesma finalidade, porém a qualidade da sequência gerada...

- Outra Rotina De Detecção De Ram 48/128k
Eu publiquei nesta postagem, uma rotina que faz a detecção no TK90X da configuração com ou sem a TKMEM-128 (128 ou 48K de RAM). Modifiquei-a e consegui fazer com que ficasse menor ainda (25 bytes).  Esta rotina testa se ocorre chaveamento entre...

- Ad Astra E Interface 2
Depois que o meu joystick passou a funcionar, comecei a testá-lo na entrada existente no TK90X. Quando tentei jogar Ad Astra, percebi que o controle não funcionava como deveria. No menu acima, as opções 5 e 6 corresponderiam às duas entradas disponíveis...

- Thundercats V. 2 Para Basic 128
Mal acabei de lançar uma adaptação do Thundercats para Beta e TKMEM-128 e estou com a versão 2. A versão anterior tinha um problema: não consegue carregar a partir do BASIC 128, portanto tinha que dar um 'USR 0' antes. Na versão 2 não...



Eletrônica








.