Pregunta: | 3963 - CAPTURAR PUNTEROS DE UN JOSTICK |
Autor: | Cristian albert Gonzalez h |
Hola y gracias.. deseo capturar los punteros de un jostick en ASM , cualquier informacion es valida, ya sea para dos o windows.. de ante mano muchas gracias |
Respuesta: | Juan José Hernámdez López |
utiliza un DirectX ya te ase todo el trabajo solo con declarar una función.
Los DirectX son algo similar a los dll asea k los puedes utilizar en cualquier lenguaje bajalo de la pagina de microsoft en la sección de down loas hay demaciados. |
Respuesta: | Antonio José Villena Godoy |
Bueno, para esto tienes dos opciones: 1. Opción fácil y lenta: Puedes utilizar las funciones de la bios habilitadas al respecto. ----> INT 15h A)LEER POSICION DEL PUNTERO ENTRADA: AH=84h DX=0001 SALIDA: AX=VALOR DEL EJE Y ; BX=VALOR DEL EJE X B)LEER ESTADO DE LOS BOTONES ENTRADA: AH=84h DX=0000 SALIDA: EN AL: BIT 4=BOTON 1 ; BIT 5=BOTON 2 2. Esta opción es más rápida pero debes saber utilizar el puerto de juegos, y tu rutina debe de ser medianamente aceptable en velocidad. El puerto de juegos tiene la dirección 201h Lee un byte de dicho puerto. Los bits 4 y 5 obtienen directamente el estado de los botones. Los bits 0 y 1 son para leer los ejes Y e X respectivamente. Debes hacer lo siguiente: A) Manda cualquier cosa al dicho puerto. Con esto conseguirás cargar los condensadores internos del joystic B) Coje un contador y lo pones a 0 C) Cada cierto intervalo de tiempo lee del puerto el bit/los bits de los ejes D) Si el bit esta a 1 incrementa el contador E) Cuando esté a cero dicho bit, el contador tendrá la posición del eje leído Puedes utilizar dos contadores y leer los dos ejes de una pasada para acelerar el proceso Si no lo tienes muy claro puedes pedirme código de ejemplo para que lo veas |