Ensamblador - Necesito Ayuda de un Experto en ASM

 
Vista:

Necesito Ayuda de un Experto en ASM

Publicado por Sebastian (1 intervención) el 10/09/2000 00:00:00
hola amigo soy seba de santiago de chile.

sabes necesito ayuda referente a joystick.

necesito crear un programa en asm que pueda capturar las coordenadas de movimiento de un joystick. Osea que yo muesva el joystick y me aparesca en pantalla a posicion x,y.

necesito sabes las int o alguna ayuda donde puedo obtener esto.


chaoo esperando ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Necesito Ayuda de un Experto en ASM

Publicado por Pedro Pablo (21 intervenciones) el 11/09/2000 00:00:00
En MS-DOS supongo... Se usa la Int 15h, función 84h (en AH), subfunciones 0 y 1 (en DX)

MOV AH,84h ; Número de función
MOV DX,01h ; Número de subfunción (obtener posición de los Joystick)
INT 15h

El resultado se deposita en AX y BX para las coordenadas (X,Y) del primer joystick, y en
CX,DX para las del segundo joystick. Si, por ejemplo, CX,DX son 0, no hay segundo
Joystick conectado.
En teoría si la función no está soportada por la BIOS se devuelve el carry alto.

MOV AH,84h
XOR DX,DX ; Número de subfunción (obtener estado de los botontes)
INT 15h

Si la función está permitida, carry bajo, y en AL:
Bit 4: pulsado botón 1 / Joystick 1
Bit 5: pulsado botón 2 / Joystick 1
Bit 6: pulsado botón 1 / Joystick 2
Bit 7: pulsado botón 2 / Joystick 2

(el bit 7 es el más significativo)

Todo esto va por poolling: tienes que llamar periódicamente en tu programa a estas funciones
para saber lo que ocurre en los Joystick. Por ejemplo, si el usuario pulsa y suelta rápidamente
uno de los botones, antes de que tu programa lo consulte, éste no será consciente de lo que
ha ocurrido. O sea, que compruebalo más de una vez por segundo ;-)

Espero que te sirva. Si no, pregunta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar