INT 33,C - Set Mouse User Defined Subroutine and Input Mask
AX = 0C
ES:DX = far pointer to user interrupt
CX = user interrupt mask:
|F-5|4|3|2|1|0| user interrupt mask in CX
| | | | | `--- cursor position changed
| | | | `---- left button pressed
| | | `----- left button released
| | `------ right button pressed
| `------- right button released
`--------- unused
returns nothing
- routine at ES:DX is called if an event occurs and the
corresponding bit specified in user mask is set
- routine at ES:DX receives parameters in the following
registers:
AX = condition mask causing call
CX = horizontal cursor position
DX = vertical cursor position
DI = horizontal counts
SI = vertical counts
DS = mouse driver data segment
BX = button state:
|F-2|1|0|
| | `--- left button (1 = pressed)
| `---- right button (1 = pressed)
`------ unused
- initial call mask and user routine should be restore on exit
from user program
- user program may need to set DS to it's own segment
- see INT 33,14