home *** CD-ROM | disk | FTP | other *** search
- (* ------------------------------------------------------ *)
- (* JOY_AT.PAS *)
- (* AT-Joystick-Abfrage und numerische Anzeige *)
- (* der Joystick-Ausschläge *)
- (* *)
- (* (c) 1991 by Andreas Bartels & toolbox *)
- (* ------------------------------------------------------ *)
- {$A-,B-,D-,E-,F+,I-,L-,N-,O-,R-,S-,V-}
-
- PROGRAM AT_JoystickTest;
-
- USES crt, dos;
-
- VAR
- X1, Y1,
- X2, Y2,
- T11, T12,
- T21, T22 : BYTE;
-
- PROCEDURE CursorOn;
- BEGIN
- INLINE($B4/$01/
- $B9/13/12/ { Cursoranf. 12.Z, Cursorende 13.Z }
- $CD/$10);
- END;
-
- PROCEDURE CursorOff;
- BEGIN
- INLINE($B4/$01/
- $B9/$FF/$FF/ { Cursoranfang und -ende auf }
- $CD/$10); { 255 setzen löscht den Cursor }
- END;
-
- PROCEDURE AT_JoySticks( VAR X1, Y1, X2, Y2, T11, T12, T21,
- T22 : BYTE );
- VAR
- Regs : REGISTERS;
- BEGIN (* JoyStickX *)
- (* Knüppelstellungen *)
- Regs.AH := $84;
- Regs.DX := $01;
- Intr( $15, Regs );
- X1 := Regs.AX;
- Y1 := Regs.BX;
- X2 := Regs.CX;
- Y2 := Regs.DX;
-
- (* Tasten gedrückt ? *)
- Regs.AH := $84;
- Regs.DX := $00;
- Intr( $15, Regs );
- T11 := 1 - Lo(Regs.AX SHL 3) SHR 7;(* Abfrage von Bit 7 *)
- T12 := 1 - Lo(Regs.AX SHL 2) SHR 7;
- T21 := 1 - Lo(Regs.AX SHL 1) SHR 7;
- T22 := 1 - Lo(Regs.AX ) SHR 7;(* Abfrage von Bit 4 *)
- END; (* AT_JoySticks *)
-
-
- BEGIN (* Hauptprogramm *)
- ClrScr;
- CursorOff;
- WriteLn;
- Writeln(' ┌────────────────────────────────┐');
- WriteLn(' │ JoyStick-Test für IBM-AT │');
- WriteLn(' │ ( über BIOS-Interrupt 15H ) │');
- WriteLn(' │ (c) A.Bartels & toolbox 1991 ) │');
- Writeln(' └────────────────────────────────┘');
- REPEAT
- AT_JoySticks( X1, Y1, X2, Y2, T11, T12, T21, T22 );
- GoToXY(4,8);
- Write( 'Joystick 1 : X-Wert : ', X1:3, ' Y-Wert : ',
- Y1:3, ' 1.Taste : ', T11:1,' 2.Taste : ', T12:1 );
- GoToXY(4,10);
- Write( 'Joystick 2 : X-Wert : ', X2:3, ' Y-Wert : ',
- Y2:3,' 1.Taste : ', T21:1, ' 2.Taste : ', T22:1 );
- UNTIL KeyPressed;
- CursorOn;
- END. (* Joy_AT *)
- (* ------- Ende JOY_AT.PAS ------------------------------ *)