Autor Tema: Detectar pulsación de tecla  (Leído 4488 veces)

Carlos

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 652
    • Ver Perfil
Detectar pulsación de tecla
« en: Abril 26, 2011, 11:16:54 »
Alguien podría facilitar una rutina en ensamblador lo más simple posible para leer la pulsación de una tecla? no necesito ni saber que tecla se ha pulsado únicamente que se ha pulsado una tecla.

Laddh

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 233
    • Ver Perfil
Detectar pulsación de tecla
« Respuesta #1 en: Abril 26, 2011, 14:55:45 »
A bote pronto, que te parece esta?

BUCLE      LDA $DC01; LEE BUFFER
CMP #$EF ; BARRA ESPACIO?
BNE BUCLE
RTS

En este caso solo comprobaríamos la barra de espacio.

Carlos

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 652
    • Ver Perfil
Detectar pulsación de tecla
« Respuesta #2 en: Abril 26, 2011, 17:38:09 »
Al final lo hice usando la dirección $c6 que guarda el tamaño del buffer.

Silicebit

  • Commodorero
  • **
  • Mensajes: 35
    • Ver Perfil
Detectar pulsación de tecla
« Respuesta #3 en: Abril 27, 2011, 19:21:20 »
Otra forma de hacerlo.

[code]BCL01  JSR $FFE4
       BEQ BCL01
       RTS[/quote]
Commodoriano desde 1986.

lobogris

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 453
  • Programador
    • Ver Perfil
    • http://back2theretro.blogspot.com
Detectar pulsación de tecla
« Respuesta #4 en: Abril 29, 2011, 23:33:55 »
Cita de: "Laddh"
A bote pronto, que te parece esta?

BUCLE      LDA $DC01; LEE BUFFER
CMP #$EF ; BARRA ESPACIO?
BNE BUCLE
RTS

En este caso solo comprobaríamos la barra de espacio.

esa es la que uso yo mucho. además coincide que el joystick en el port 1 genera un espacio cuando pulsas disparo, como curiosidad.

Pero leyendo el buffer del teclado ha sido muy ingenioso por tu parte, Carlos :wink: