Interrupt 0x33 Listings |
Int 33,0x00: Check whether driver exists | ||
input | output | Comment |
ax=0x0000 | ax=0x0000 or 0xFFFF bx=number of buttons |
0x0000 installed 0xFFFF not installed |
Int 33,0x01: Show Mouse cursor | ||
input | output | Comment |
ax=0x0001 | none |
Int 33,0x02: Hide Mouse Cursor | ||
input |
output |
Comment |
ax=0x0002 |
none |
Int 33,0x03: Get Mouse Position and Button Status | ||
input |
output |
Comment |
ax=0x0003 |
cx=horizontal position bx=button status dx=vertical position |
horizontal: 0 to 640 vertical: 0 to 480 |
Special Notes |
¦ F-8 ¦ 7 ¦ 6 ¦ 5 ¦ 4 ¦ 3 ¦ 2 ¦ 1 ¦ 0 ¦ Button Status ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ +---- left button (1 = pressed) ¦ ¦ ¦ ¦ ¦ ¦ ¦ +----- right button (1 = pressed) +------------------- unused values returned in CX, DX are the same regardless of video mode |
Int 33,0x04: Set Cursor Position | ||
input |
output |
Comment |
ax=0x0004 cx=horizontal position dx=vertical position |
none |
Int 33,0x05: Get Button Press Information | ||
input |
output |
Comment |
ax=0x0005 |
ax=button status bx=count cx=horizontal dx=vertical |
count is a counter which count how many times the button pressed. |
Special Notes |
¦ F-8 ¦ 7 ¦ 6 ¦ 5 ¦ 4 ¦ 3 ¦ 2 ¦ 1 ¦ 0 ¦ Button Status ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ +---- left button (1 = pressed) ¦ ¦ ¦ ¦ ¦ ¦ ¦ +----- right button (1 = pressed) +------------------- unused values returned in CX, DX are the same regardless of video mode |
Int 33,0x06: Get Button Release Information | ||
input |
output |
Comment |
ax=0x0006 bx=0x0000 or 0x00001 |
ax=button status bx=count cx=horiz pos last release dx=vert pos at last release |
count is a counter which count how many times the button pressed. |
Int 33,0x07: Set mouse maximum and minimum horizontal position | ||
input |
output |
Comment |
ax=0x0007 cx=minimum horiz position dx=maximum horiz postion |
none |
Int 33,0x08: Set mouse maximum and minimum vertical position | ||
input |
output |
Comment |
ax=0x0008 cx=minimum vert position dx=maximum vert postion |
none |
0x0000 installed 0xFFFF not installed |
Int 33,0x09: Set your own mouse graphic cursor | ||
input |
output |
Comment |
ax=0x0009 bx=horizontal hotspot(-16 to 16) cx=vertival hotspot (-16 to 16) es=segment(pointer to screen & cursor mask) dx=offset(pointer to screen & cursor mask) |
none |
Special Notes |
The cursor is a combination of screen mask & cursor mask. see cursor |
Int 33,0x0A: Set mouse text cursor | ||
input | output | Comment |
ax=0x000A bx=00 or 01 cx=start dx=end |
start: start of screen mask or
hardware cursor scan line end: end of screen mask or hardware cursor scan line |
Int 33,0x0B: Read mouse motion counter | ||
input |
output |
Comment |
ax=0x000B |
cx=horizontal mickey count dx=vertical mickey count |
Int 33,0x0C: Set user defined Subroutine Routine and input mask | ||
input |
output |
Comment |
ax=0x000C ES:DX=far pointer to user interrupt CX=interrupt mask |
the user interrupt routine is called |
Int 33,0x0D: set light pen emulation on |
||
input |
output |
Comment |
ax=0x000D |
none |
Int 33,0x0E: Set light pen emulation off | ||
input |
output |
Comment |
ax=0x000E |
none |
Int 33,0x0F: Set mouse mickey pixel ratio | ||
input |
output |
Comment |
ax=0x000F cx=horizontal ratio dx=vertical ratio |
none |
Int 33,0x10: Set an area where the mouse is hidden whenever it is in the area | ||
input |
output |
Comment |
ax=0x0010 cx=x1 dx=y1 si=x2 di=y2 |
none |
Int 33,0x13: Set a value which mouse speed is doubled when is reaches threshold speed | ||
input |
output |
Comment |
ax=0x0013 dx=threshold speed (def 64) |
none |
Int 33,0x14: Swap user interrupts subroutine (see int 33,0x0C) |
||
input |
output |
Comment |
ax=0x0014 CX=interrupt mask ES:DX=far pointer to user interrupt |
none |
Int 33,0x15: Get mouse driver state and memory requirement | ||
input |
output |
Comment |
ax=0x0015 |
bx=buffer size to hold driver info |
Int 33,0x16: Save driver info | ||
input |
output |
Comment |
ax=0x0016 ES:DX=far pointer to buffer to save the driver info |
none |
Int 33,0x17: Restore driver info | ||
input |
output |
Comment |
ax=0x0016 ES:DX=far pointer to buffer to saved driver info |
none |
Int 33,0x18: Set user alternate interrupt mask | ||
input |
output |
Comment |
Int 33,0x19: Get user alternate interrupt mask | ||
input |
output |
Comment |
ax=0x0019 cx=user interrupt call mask |
BX:DX=user interrupt vector CX=user interrupt call mask |
Int 33,0x1A: Set mouse sensitivity | ||
input |
output |
Comment |
ax=0x001A bx=horizontal coordinates per pixel (<=100) cx=vertical coordinates per pixel (<=100) dx=double speed threshold |
none |
Int 33,0x1B: Get mouse sensitivity | ||
input |
output |
Comment |
ax=0x001B |
bx=horizontal coordinates per pixel (<=100) cx=vertical coordinates per pixel (<=100) dx=double speed threshold |
Int 33,0x1C: Get user alternate interrupt mask | ||
input |
output |
Comment |
ax=0x001C cx=user interrupt call mask |
bx:dx=user interrupt vector cx=user interrupt call mask |
Int 33,0x1D: Set mouse CRT page | ||
input |
output |
Comment |
ax=0x001D bx=CRT page number |
none |
Int 33,0x1E: Get mouse CRT page | ||
input |
output |
Comment |
ax=0x001E |
bx=CRT page number |
Int 33,0x1F: Disable Mouse Driver | ||
input |
output |
Comment |
ax=0x001F |
ax=0x001F or 0xFFFF es:bx=previous int 33 vector |
0x001F success 0xFFFF error |
Int 33,0x20: Enable mouse driver |
||
input |
output |
Comment |
ax=0x0020 |
none |
Int 33,0x21: Reset Mouse software | ||
input |
output |
Comment |
ax=0x0021 |
ax=0x0021 or 0xFFFF bx=0x02 |
0x0021 mouse not installed 0xFFFF mouse installed 0x02 mouse installed |
Int 33,0x24: Get driver version | ||
input |
output |
Comment |
ax=0x0024 |
bh=major version bl=minor version ch=mouse type cl=IRQ number |