-
Notifications
You must be signed in to change notification settings - Fork 13
/
mouse.inc
98 lines (73 loc) · 3.19 KB
/
mouse.inc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
;***************************************************************************
; *
; Copyright (C) 1983,1984 by Microsoft Inc. *
; *
;***************************************************************************
;***************************************************************************
; *
; Header file for Microsoft mouse device driver. Contains all machine *
; specific constant and data structure definitions. *
; *
;***************************************************************************
extrn __ROMBIOS :abs
wptr equ word ptr
bptr equ byte ptr
dptr equ dword ptr
MASK_PORT equ 21h
; Symbolic equates for contents of the MOUSEINFO data structure
NUMBER_BUTTONS equ 2
X_SPEED equ 2
Y_SPEED equ 2
; Definitions of the status word passed to the event_proc
; in the AX register. The registers passed to the event_proc
; are as follows:
;
; AX = status as defined below
; BX = delta X or normalized abs
; CX = delta Y or normalized abs
; DX = number of buttons
;
; If the SF_ABSOLUTE bit is clear in the status word, then the
; BX and CX are reporting relative motion from the last reported
; position. If this bit is set, then BX and CX contain normalized
; absolute coordinates between 0 and +65535, which will be mapped
; by the event_proc onto the display surface
SF_MOVEMENT equ 0001h ;Movement occured
SF_B1_DOWN equ 0002h ;Button 1 (SW1) changed to down
SF_B1_UP equ 0004h ;Button 1 (SW1) changed to up
SF_B2_DOWN equ 0008h ;Button 2 (SW3) changed to down
SF_B2_UP equ 0010h ;Button 2 (SW3) changed to up
SF_ABSOLUTE equ 8000h ;BX,CX are normalized absolute coords
; Definitions of the flag byte mouse_flags
MF_ENABLED equ 00000001b ;Mouse is enabled
MF_INT33H equ 00000010b ;Int 33h mouse found
; equ 00000100b ;
; equ 00001000b ;
; equ 00010000b ;
; equ 00100000b ;
MF_ON_SLAVEPIC equ 01000000b ;Mouse is on slave PIC
MF_MOUSE_EXISTS equ 10000000b ;Mouse was found at boot time
; Definitions of mouse types for mouse_type variable
MT_NO_MOUSE equ 0 ;Zero only if MF_MOUSE_EXISTS = 0
MT_BUS equ 1
MT_SERIAL equ 2
MT_INPORT equ 3
MT_PS2 equ 4
MT_HP equ 5
; Windows/386 mouse VxD device ID.
VMD_DEVICE_ID equ 0000Ch
; INT 33h (Mouse) Function Numbers
MOUSE_SYS_VEC equ 33h ;Software int to call MOUSE.SYS driver
CALL_ON_ANY_INT equ 1Fh ; Call us on any interrupt
CLEAR_COUNTERS equ 11 ; Clear dX and dY counters
BASH_INT_PROC equ 12 ; Overwrite the interrupt routine
SWAP_INT_PROC equ 20 ; Swap interrupt routine
INT33H_RESET equ 00 ; Reset mouse
INT33H_ENABLE equ 32 ; Enable mouse
INT33H_GETINFO equ 24h ; Get mouse information
; type of the mouse as reported by the INT 33H driver
INT33H_BUS equ 1 ; bus mouse
INT33H_SERIAL equ 2 ; bus mouse
INT33H_INPORT equ 3 ; bus mouse
INT33H_PS_2 equ 4 ; bus mouse
INT33H_HP equ 5 ; bus mouse