Home -
Gallery
Geology
Music
Software
Hiking
Links
Sport
What?
Projects Sources V4 Flightsim Joystick Workshop 1 2 3 4 5 6 7 8 Anl A B C D E F G H I J K L M N O |
Page 353 of 401
< > |
Anlage E zum Joystick-Papier
Radtke/Lampton1996, deutsch, Seite 168
Assembler-Funktion readstick
Assembler-Modul für DOS
Die Assembler-Routine demonstriert direktes Lesen des Status-Byte aus dem Port plus Extraktion eines Wertes aus dem Port-Bit durch Zeit-Messung mittels einer Befehls-Schleife.
Schlüsselpassage:
_readstick PROC ; Lies aktuelle Position des Joysticks auf der von BMASK ; angegebenen Achse ARG bmask:WORD push bp mov bp,sp cli ; Interrupts abschalten, ; stören das Timing mov ah,byte ptr bmask ; Hole die Bitmask nach ah mov al,0 mov dx,GAMEPORT ; Richte DX auf den Joystick-Port mov cx,0 ; Vorbereitung 65536 Durchläufe out dx,al ; Setze die Joysick-Bits auf 1 loop2: in al,dx ; Liest die Joysick-Bits test al,ah ; Ist das geforderte Bit noch 1? loopne loop2 ; In diesem Fall (und wenn ; Zählung des Maximums ; noch nicht stattfand, ; versuche es noch einmal. sti ; Zählung abgeschlossen, ; Interrupts wieder einschalten. mov ax,0 sub ax,cx ; CX von Null abziehen, ; um die Zahl zu erhalten pop bp ret
Das ist die genaueste Möglichkeit der Signal-Erfassung software-seitig.
.