Interrupt List Release 61 Last change 16jul00
Copyright (c) 1989-1999,2000 Ralf Brown
Index for interrupt INT 33

Table of Contents by Order
330000 - INT 33 - MS MOUSE - RESET DRIVER AND READ STATUS
330001 - INT 33 - MS MOUSE v1.0+ - SHOW MOUSE CURSOR
330002 - INT 33 - MS MOUSE v1.0+ - HIDE MOUSE CURSOR
330003 - INT 33 - MS MOUSE v1.0+ - RETURN POSITION AND BUTTON STATUS
330004 - INT 33 - MS MOUSE v1.0+ - POSITION MOUSE CURSOR
330005 - INT 33 - MS MOUSE v1.0+ - RETURN BUTTON PRESS DATA
330006 - INT 33 - MS MOUSE v1.0+ - RETURN BUTTON RELEASE DATA
330007 - INT 33 - MS MOUSE v1.0+ - DEFINE HORIZONTAL CURSOR RANGE
330008 - INT 33 - MS MOUSE v1.0+ - DEFINE VERTICAL CURSOR RANGE
330009 - INT 33 - MS MOUSE v3.0+ - DEFINE GRAPHICS CURSOR
33000A - INT 33 - MS MOUSE v3.0+ - DEFINE TEXT CURSOR
33000B - INT 33 - MS MOUSE v1.0+ - READ MOTION COUNTERS
33000C - INT 33 - MS MOUSE v1.0+ - DEFINE INTERRUPT SUBROUTINE PARAMETERS
33000D - INT 33 - MS MOUSE v1.0+ - LIGHT PEN EMULATION ON
33000E - INT 33 - MS MOUSE v1.0+ - LIGHT PEN EMULATION OFF
33000F - INT 33 - MS MOUSE v1.0+ - DEFINE MICKEY/PIXEL RATIO
330010 - INT 33 - MS MOUSE v1.0+ - DEFINE SCREEN REGION FOR UPDATING
330010 - INT 33 - Genius MOUSE - DEFINE SCREEN REGION FOR UPDATING
330011 - INT 33 - Genius Mouse 9.06 - GET NUMBER OF BUTTONS
330012 - INT 33 - MS MOUSE - SET LARGE GRAPHICS CURSOR BLOCK
330013 - INT 33 - MS MOUSE v5.0+ - DEFINE DOUBLE-SPEED THRESHOLD
330014 - INT 33 - MS MOUSE v3.0+ - EXCHANGE INTERRUPT SUBROUTINES
330015 - INT 33 - MS MOUSE v6.0+ - RETURN DRIVER STORAGE REQUIREMENTS
330016 - INT 33 - MS MOUSE v6.0+ - SAVE DRIVER STATE
330017 - INT 33 - MS MOUSE v6.0+ - RESTORE DRIVER STATE
330018 - INT 33 - MS MOUSE v6.0+ - SET ALTERNATE MOUSE USER HANDLER
330019 - INT 33 - MS MOUSE v6.0+ - RETURN USER ALTERNATE INTERRUPT VECTOR
33001A - INT 33 - MS MOUSE v6.0+ - SET MOUSE SENSITIVITY
33001B - INT 33 - MS MOUSE v6.0+ - RETURN MOUSE SENSITIVITY
33001C - INT 33 - MS MOUSE v6.0+ - SET INTERRUPT RATE
33001D - INT 33 - MS MOUSE v6.0+ - DEFINE DISPLAY PAGE NUMBER
33001E - INT 33 - MS MOUSE v6.0+ - RETURN DISPLAY PAGE NUMBER
33001F - INT 33 - MS MOUSE v6.0+ - DISABLE MOUSE DRIVER
330020 - INT 33 - MS MOUSE v6.0+ - ENABLE MOUSE DRIVER
330021 - INT 33 - MS MOUSE v6.0+ - SOFTWARE RESET
330022 - INT 33 - MS MOUSE v6.0+ - SET LANGUAGE FOR MESSAGES
330023 - INT 33 - MS MOUSE v6.0+ - GET LANGUAGE FOR MESSAGES
330024BX0000 - INT 33 - MS MOUSE v6.26+ - GET SOFTWARE VERSION, MOUSE TYPE, AND IRQ NUMBER
330025 - INT 33 - MS MOUSE v6.26+ - GET GENERAL DRIVER INFORMATION
330026 - INT 33 - MS MOUSE v6.26+ - GET MAXIMUM VIRTUAL COORDINATES
330026 - INT 33 - Genius Mouse 9.06 - ???
330027 - INT 33 - MS MOUSE v7.01+ - GET SCREEN/CURSOR MASKS AND MICKEY COUNTS
330028 - INT 33 - MS MOUSE v7.0+ - SET VIDEO MODE
330029 - INT 33 - MS MOUSE v7.0+ - ENUMERATE VIDEO MODES
33002A - INT 33 - MS MOUSE v7.02+ - GET CURSOR HOT SPOT
33002B - INT 33 - MS MOUSE v7.0+ - LOAD ACCELERATION PROFILES
33002C - INT 33 - MS MOUSE v7.0+ - GET ACCELERATION PROFILES
33002D - INT 33 - MS MOUSE v7.0+ - SELECT ACCELERATION PROFILE
33002E - INT 33 - MS MOUSE v8.10+ - SET ACCELERATION PROFILE NAMES
33002F - INT 33 - MS MOUSE v7.02+ - MOUSE HARDWARE RESET
330030 - INT 33 - MS MOUSE v7.04+ - GET/SET BallPoint INFORMATION
330031 - INT 33 - MS MOUSE v7.05+ - GET CURRENT MINIMUM/MAXIMUM VIRTUAL COORDINATES
330032 - INT 33 - MS MOUSE v7.05+ - GET ACTIVE ADVANCED FUNCTIONS
330033 - INT 33 - MS MOUSE v7.05+ - GET SWITCH SETTINGS AND ACCELERATION PROFILE DATA
330034 - INT 33 - MS MOUSE v8.0+ - GET INITIALIZATION FILE
330035 - INT 33 - MS MOUSE v8.10+ - LCD SCREEN LARGE POINTER SUPPORT
330042 - INT 33 - PCMOUSE - GET MSMOUSE STORAGE REQUIREMENTS
330043 - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - CONFIGURE MOUSE???
330044CXCDEF - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - TOGGLE IGNORE ACCELERATION CMDS
330045CXCDEF - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - TOGGLE RESOLUTION DOUBLING
330047 - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - SET BUTTON ASSIGNMENTS
330048BXCDEF - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - GET ???
33004B - INT 33 - LCS/Telegraphics MOUSE DRIVERS - INSTALLATION CHECK / GET VERSION
33004CBXCDEF - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - SET ??? FLAG
33004D - INT 33 - MS MOUSE - RETURN POINTER TO COPYRIGHT STRING
33004F - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - ENABLE MOUSE
330050 - INT 33 - PCMOUSE - SAVE MSMOUSE STATE
330052 - INT 33 - PCMOUSE - RESTORE MSMOUSE STATE
330053 - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - DISABLE MOUSE
330054CXCDEF - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - SELECT ULTRARES ACCELERATION LEVEL
330055 - INT 33 - Kraft Mouse - GET ???
330058 - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - ???
33005A - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - SET ULTRARES ACCELERATIONS
330061BXCDEF - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - ???
330067 - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - GET MOUSE BUTTONS???
33006A - INT 33 U - ATI Mouse - INSTALLATION CHECK
33006C - INT 33 U - TRUEDOX Mouse driver v4.01 - GET/SET HARDWARE PARAMETERS
33006CBXCDEF - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - CLEAR ??? FLAG
33006D - INT 33 - MS MOUSE - GET VERSION STRING
330070BXABCD - INT 33 - Mouse Systems MOUSE DRIVER - POPUP.COM - INSTALLATION CHECK
330072BXABCD - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - ???
330073BXCDEF - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - GET BUTTON ASSIGNMENTS
3300A0 - INT 33 U - TRUEDOX Mouse driver - SET HARDWARE PC MODE (3 button)
3300A1 - INT 33 U - TRUEDOX Mouse driver - SET HARDWARE MS MODE (2 button)
3300A6 - INT 33 U - TRUEDOX Mouse driver - SET RESOLUTION
3300B0 - INT 33 U - LCS/Telegraphics MOUSE DRIVERS - ???
3300D6 - INT 33 - Twiddler TWMOUSE - GET BUTTON/TILT STATE
3300F0 - INT 33 U - LCS/Telegraphics MOUSE DRIVERS - ???
3300F1 - INT 33 U - LCS/Telegraphics MOUSE DRIVERS - ???
3300F2 - INT 33 U - LCS/Telegraphics MOUSE DRIVERS - ???
3300F3 - INT 33 U - LCS/Telegraphics MOUSE DRIVERS - ???
330100CX4752 - INT 33 - GRTMOUSE v1.00+ - INSTALLATION CHECK
330101 - INT 33 - GRTMOUSE v1.00+ - SET MOUSE CURSOR SHAPE
330102 - INT 33 - GRTMOUSE v1.00+ - GET MOUSE CURSOR SHAPE
330103 - INT 33 - GRTMOUSE v1.00+ - SET ACTIVE CHARACTERS
330104 - INT 33 - GRTMOUSE v1.00+ - GET ACTIVE CHARACTERS
33012E - INT 33 - MS MOUSE v8.10+ - ???
33022E - INT 33 - MS MOUSE v8.10+ - ???
330666 - INT 33 U - TRUEDOX Mouse driver v4.01 - GET COPYRIGHT STRING
33136C - INT 33 - LOGITECH MOUSE v6.10+ - ???
33146C - INT 33 - LOGITECH MOUSE v6.10+ - GET/SET ???
33156C - INT 33 - LOGITECH MOUSE v6.10+ - GET SIGNATURE AND VERSION STRINGS
33166C - INT 33 - LOGITECH MOUSE v6.10+ - ???
33176C - INT 33 - LOGITECH MOUSE v6.10+ - ???
33186C - INT 33 - LOGITECH MOUSE v6.10+ - ???
33196C - INT 33 - LOGITECH MOUSE v6.10+ - ???
331A6C - INT 33 - LOGITECH MOUSE v6.10+ - GET ???
331B6C - INT 33 - LOGITECH MOUSE v6.10+ - SET ???
331C6C - INT 33 - LOGITECH MOUSE v6.10+ - ???
331D6C - INT 33 - LOGITECH MOUSE - GET COMPASS PARAMETER
331E6C - INT 33 - LOGITECH MOUSE - SET COMPASS PARAMETER
331F6C - INT 33 - LOGITECH MOUSE - GET BALLISTICS INFORMATION
33206C - INT 33 - LOGITECH MOUSE - SET LEFT OR RIGHT PARAMETER
33216C - INT 33 - LOGITECH MOUSE - GET LEFT OR RIGHT PARAMETER
33226C - INT 33 - LOGITECH MOUSE - REMOVE DRIVER FROM MEMORY
33236C - INT 33 - LOGITECH MOUSE - SET BALLISTICS INFORMATION
33246C - INT 33 - LOGITECH MOUSE - GET PARAMETERS AND RESET SERIAL MOUSE
33256CBX0000 - INT 33 - LOGITECH MOUSE - SET PARAMETERS - SET BAUD RATE (SERIAL MOUSE ONLY)
33256CBX0001 - INT 33 - LOGITECH MOUSE - SET PARAMETERS - SET EMULATION (SERIAL MOUSE ONLY)
33256CBX0002 - INT 33 - LOGITECH MOUSE - SET PARAMETERS - SET REPORT RATE (SERIAL MOUSE ONLY)
33256CBX0003 - INT 33 - LOGITECH MOUSE - SET PARAMETERS - SET MOUSE PORT (SERIAL MOUSE ONLY)
33256CBX0004 - INT 33 - LOGITECH MOUSE - SET PARAMETERS - SET MOUSE LOGICAL BUTTONS
33266C - INT 33 - LOGITECH MOUSE - GET VERSION???
33276C - INT 33 - LOGITECH MOUSE - ??? Tries MMSeries, Baud 2400
333000 - INT 33 - Smooth Mouse Driver, PrecisePoint - INSTALLATION CHECK
333001 - INT 33 - Smooth Mouse Driver, PrecisePoint - ENABLE SMOOTH MOUSE
333002 - INT 33 - Smooth Mouse Driver, PrecisePoint - DISABLE SMOOTH MOUSE
333003 - INT 33 - Smooth Mouse Driver, PrecisePoint - GET INFORMATION
333004 - INT 33 - Smooth Mouse Driver, PrecisePoint - RESERVED FUTURE EXPANSION
333005 - INT 33 - Smooth Mouse Driver, PrecisePoint - RESERVED FUTURE EXPANSION
334F00 - INT 33 - LOGITECH MOUSE v6.10+ - GET ???
334F01 - INT 33 - LOGITECH MOUSE v6.10+ - ???
336F00 - INT 33 - Hewlett Packard - HP MOUSE DRIVER INSTALLATION CHECK
338800 - INT 33 U - InfoTrack IMOUSE.COM - UNHOOK MOUSE IRQ
338800BXFFFF - INT 33 U - InfoTrack IMOUSE.COM - GET ACTIVE IRQ
33FFE6 - INT 33 - Switch-It v3.23 - GET ??? PROGRAM
33FFE7 - INT 33 - Switch-It v3.23 - GET ???
33FFE8 - INT 33 - Switch-It v3.23 - ???
33FFE9 - INT 33 - Switch-It v3.23 - SET ???
33FFEA - INT 33 - Switch-It v3.23 - SET ???
33FFEB - INT 33 - Switch-It v3.23 - SET ??? FLAG
33FFEC - INT 33 - Switch-It v3.23 - SET ???
33FFED - INT 33 - Switch-It v3.23 - GET ???
33FFEE - INT 33 - Switch-It v3.23 - GET ???
33FFEF - INT 33 - Switch-It v3.23 - GET ???
33FFF0 - INT 33 - Switch-It v3.23 - SET ???
33FFF1 - INT 33 - Switch-It v3.23 - GET CONFIGURATION FILE
33FFF2 - INT 33 - Switch-It v3.23 - SET ??? FLAG
33FFF3 - INT 33 - Switch-It v3.23 - GET ???
33FFF4 - INT 33 - Switch-It v3.23 - SET ???
33FFF5 - INT 33 - Switch-It v3.23 - GET ???
33FFF6 - INT 33 - Switch-It v3.23 - GET ???
33FFF7 - INT 33 - Switch-It v3.23 - GET ???
33FFF8 - INT 33 - Switch-It v3.23 - ???
33FFF9 - INT 33 - Switch-It v3.23 - NOP
33FFFA - INT 33 - Switch-It v3.23 - SET ???
33FFFB - INT 33 - Switch-It v3.23 - GET ???
33FFFC - INT 33 - Switch-It v3.23 - CLEAR ???
33FFFD - INT 33 - Switch-It v3.23 - GET MEMORY ADDRESSES???
33FFFE - INT 33 - Switch-It v3.23 - INSTALLATION CHECK
33FFFF - INT 33 - Switch-It v3.23 - ???


330000 - INT 33 - MS MOUSE - RESET DRIVER AND READ STATUS
INT 33 - MS MOUSE - RESET DRIVER AND READ STATUS
	AX = 0000h
Return: AX = status
	    0000h hardware/driver not installed
	    FFFFh hardware/driver installed
	BX = number of buttons
	    0000h other than two
	    0002h two buttons (many drivers)
	    0003h Mouse Systems/Logitech three-button mouse
	    FFFFh two buttons
Notes:	since INT 33 might be uninitialized on old machines, the caller
	  should first check that INT 33 is neither 0000h:0000h nor points at
	  an IRET instruction (BYTE CFh) before calling this API
	to use mouse on a Hercules-compatible monographics card in graphics
	  mode, you must first set 0040h:0049h to 6 for page 0 or 5 for page 1,
	  and then call this function.	Logitech drivers v5.01 and v6.00
	  reportedly do not correctly use Hercules graphics in dual-monitor
	  systems, while version 4.10 does.
	the Logitech mouse driver contains the signature string "LOGITECH"
	  three bytes past the interrupt handler; many of the Logitech mouse
	  utilities check for this signature.
	Logitech MouseWare v6.30 reportedly does not support CGA video modes
	  if no CGA is present when it is started and the video board is
	  later switched into CGA emulation
SeeAlso: AX=0011h,AX=0021h,AX=002Fh,INT 62/AX=007Ah,INT 74

Top
330001 - INT 33 - MS MOUSE v1.0+ - SHOW MOUSE CURSOR
INT 33 - MS MOUSE v1.0+ - SHOW MOUSE CURSOR
	AX = 0001h
SeeAlso: AX=0002h,INT 16/AX=FFFEh,INT 62/AX=007Bh,INT 6F/AH=06h"F_TRACK_ON"

Top
330002 - INT 33 - MS MOUSE v1.0+ - HIDE MOUSE CURSOR
INT 33 - MS MOUSE v1.0+ - HIDE MOUSE CURSOR
	AX = 0002h
Note:	multiple calls to hide the cursor will require multiple calls to
	  function 01h to unhide it.
SeeAlso: AX=0001h,AX=0010h,INT 16/AX=FFFFh,INT 62/AX=007Bh
SeeAlso: INT 6F/AH=08h"F_TRACK_OFF"

Top
330003 - INT 33 - MS MOUSE v1.0+ - RETURN POSITION AND BUTTON STATUS
INT 33 - MS MOUSE v1.0+ - RETURN POSITION AND BUTTON STATUS
	AX = 0003h
Return: BX = button status (see #03168)
	CX = column
	DX = row
Note:	in text modes, all coordinates are specified as multiples of the cell
	  size, typically 8x8 pixels
SeeAlso: AX=0004h,AX=000Bh,INT 2F/AX=D000h"ZWmous"

Bitfields for mouse button status:
Bit(s)	Description	(Table 03168)
 0	left button pressed if 1
 1	right button pressed if 1
 2	middle button pressed if 1 (Mouse Systems/Logitech/Genius)

Top
330004 - INT 33 - MS MOUSE v1.0+ - POSITION MOUSE CURSOR
INT 33 - MS MOUSE v1.0+ - POSITION MOUSE CURSOR
	AX = 0004h
	CX = column
	DX = row
Note:	the row and column are truncated to the next lower multiple of the cell
	  size (typically 8x8 in text modes); however, some versions of the
	  Microsoft documentation incorrectly state that the coordinates are
	  rounded
SeeAlso: AX=0003h,INT 62/AX=0081h,INT 6F/AH=10h"F_PUT_SPRITE"

Top
330005 - INT 33 - MS MOUSE v1.0+ - RETURN BUTTON PRESS DATA
INT 33 - MS MOUSE v1.0+ - RETURN BUTTON PRESS DATA
	AX = 0005h
	BX = button number (see #03169)
Return: AX = button states (see #03168)
	BX = number of times specified button has been pressed since last call
	CX = column at time specified button was last pressed
	DX = row at time specified button was last pressed
Note:	at least for the Genius mouse driver, the number of button presses
	  returned is limited to 7FFFh
SeeAlso: AX=0006h,INT 62/AX=007Ch

(Table 03169)
Values for mouse button number:
 0000h	left
 0001h	right
 0002h	middle (Mouse Systems/Logitech/Genius mouse)

Top
330006 - INT 33 - MS MOUSE v1.0+ - RETURN BUTTON RELEASE DATA
INT 33 - MS MOUSE v1.0+ - RETURN BUTTON RELEASE DATA
	AX = 0006h
	BX = button number (see #03169)
Return: AX = button states (see #03168)
	BX = number of times specified button has been released since last call
	CX = column at time specified button was last released
	DX = row at time specified button was last released
Note:	at least for the Genius mouse driver, the number of button releases
	  returned is limited to 7FFFh
SeeAlso: AX=0005h,INT 62/AX=007Ch

Top
330007 - INT 33 - MS MOUSE v1.0+ - DEFINE HORIZONTAL CURSOR RANGE
INT 33 - MS MOUSE v1.0+ - DEFINE HORIZONTAL CURSOR RANGE
	AX = 0007h
	CX = minimum column
	DX = maximum column
Note:	in text modes, the minimum and maximum columns are truncated to the
	  next lower multiple of the cell size, typically 8x8 pixels
SeeAlso: AX=0008h,AX=0010h,AX=0031h,INT 62/AX=0080h
SeeAlso: INT 6F/AH=0Ch"F_SET_LIMITS_X"

Top
330008 - INT 33 - MS MOUSE v1.0+ - DEFINE VERTICAL CURSOR RANGE
INT 33 - MS MOUSE v1.0+ - DEFINE VERTICAL CURSOR RANGE
	AX = 0008h
	CX = minimum row
	DX = maximum row
Note:	in text modes, the minimum and maximum rows are truncated to the
	  next lower multiple of the cell size, typically 8x8 pixels
SeeAlso: AX=0007h,AX=0010h,AX=0031h,INT 62/AX=0080h
SeeAlso: INT 6F/AH=0Eh"F_SET_LIMITS_Y"

Top
330009 - INT 33 - MS MOUSE v3.0+ - DEFINE GRAPHICS CURSOR
INT 33 - MS MOUSE v3.0+ - DEFINE GRAPHICS CURSOR
	AX = 0009h
	BX = column of cursor hot spot in bitmap (-16 to 16)
	CX = row of cursor hot spot (-16 to 16)
	ES:DX -> mask bitmap (see #03170)
Notes:	in graphics modes, the screen contents around the current mouse cursor
	  position are ANDed with the screen mask and then XORed with the
	  cursor mask
	the Microsoft mouse driver v7.04 and v8.20 uses only BL and CL, so the
	  hot spot row/column should be limited to -128..127
	Microsoft KnowledgeBase article Q19850 states that the high bit is
	  right-most, but that statement is contradicted by all other available
	  documentation
SeeAlso: AX=000Ah,AX=0012h,AX=002Ah,INT 62/AX=007Fh,INT 6F/AH=0Ah"F_DEF_MASKS"

Format of mouse mask bitmap:
Offset	Size	Description	(Table 03170)
 00h 16 WORDs	screen mask
 10h 16 WORDs	cursor mask
Note:	each word defines the sixteen pixels of a row, low bit rightmost

Top
33000A - INT 33 - MS MOUSE v3.0+ - DEFINE TEXT CURSOR
INT 33 - MS MOUSE v3.0+ - DEFINE TEXT CURSOR
	AX = 000Ah
	BX = hardware/software text cursor
	    0000h software
		CX = screen mask
		DX = cursor mask
	    0001h hardware
		CX = start scan line
		DX = end scan line
Note:	when the software cursor is selected, the character/attribute data at
	  the current screen position is ANDed with the screen mask and then
	  XORed with the cursor mask
SeeAlso: AX=0009h,INT 62/AX=007Eh

Top
33000B - INT 33 - MS MOUSE v1.0+ - READ MOTION COUNTERS
INT 33 - MS MOUSE v1.0+ - READ MOTION COUNTERS
	AX = 000Bh
Return: CX = number of mickeys mouse moved horizontally since last call
	DX = number of mickeys mouse moved vertically
Notes:	a mickey is the smallest increment the mouse can sense
	positive values indicate down/right
SeeAlso: AX=0003h,AX=001Bh,AX=0027h

Top
33000C - INT 33 - MS MOUSE v1.0+ - DEFINE INTERRUPT SUBROUTINE PARAMETERS
INT 33 - MS MOUSE v1.0+ - DEFINE INTERRUPT SUBROUTINE PARAMETERS
	AX = 000Ch
	CX = call mask (see #03171)
	ES:DX -> FAR routine (see #03172)
SeeAlso: AX=0018h

Bitfields for mouse call mask:
Bit(s)	Description	(Table 03171)
 0	call if mouse moves
 1	call if left button pressed
 2	call if left button released
 3	call if right button pressed
 4	call if right button released
 5	call if middle button pressed (Mouse Systems/Logitech/Genius mouse)
 6	call if middle button released (Mouse Systems/Logitech/Genius mouse)
 7-15	unused
Note:	some versions of the Microsoft documentation incorrectly state that CX
	  bit 0 means call if mouse cursor moves

(Table 03172)
Values interrupt routine is called with:
	AX = condition mask (same bit assignments as call mask)
	BX = button state
	CX = cursor column
	DX = cursor row
	SI = horizontal mickey count
	DI = vertical mickey count
Notes:	some versions of the Microsoft documentation erroneously swap the
	  meanings of SI and DI
	in text modes, the row and column will be reported as a multiple of
	  the character cell size, typically 8x8 pixels

Top
33000D - INT 33 - MS MOUSE v1.0+ - LIGHT PEN EMULATION ON
INT 33 - MS MOUSE v1.0+ - LIGHT PEN EMULATION ON
	AX = 000Dh
SeeAlso: AX=000Eh,INT 10/AH=04h

Top
33000E - INT 33 - MS MOUSE v1.0+ - LIGHT PEN EMULATION OFF
INT 33 - MS MOUSE v1.0+ - LIGHT PEN EMULATION OFF
	AX = 000Eh
SeeAlso: AX=000Dh

Top
33000F - INT 33 - MS MOUSE v1.0+ - DEFINE MICKEY/PIXEL RATIO
INT 33 - MS MOUSE v1.0+ - DEFINE MICKEY/PIXEL RATIO
	AX = 000Fh
	CX = number of mickeys per 8 pixels horizontally (default 8)
	DX = number of mickeys per 8 pixels vertically (default 16)
SeeAlso: AX=0013h,AX=001Ah,INT 62/AX=0082h

Top
330010 - INT 33 - MS MOUSE v1.0+ - DEFINE SCREEN REGION FOR UPDATING
INT 33 - MS MOUSE v1.0+ - DEFINE SCREEN REGION FOR UPDATING
	AX = 0010h
	CX,DX = X,Y coordinates of upper left corner
	SI,DI = X,Y coordinates of lower right corner
Note:	mouse cursor is hidden in the specified region, and needs to be
	  explicitly turned on again
SeeAlso: AX=0001h,AX=0002h,AX=0007h,AX=0010h"Genius MOUSE",AX=0031h

Top
330010 - INT 33 - Genius MOUSE - DEFINE SCREEN REGION FOR UPDATING
INT 33 - Genius MOUSE - DEFINE SCREEN REGION FOR UPDATING
	AX = 0010h
	ES:DX -> update region list (see #03173)
Notes:	mouse cursor is hidden in the specified region, and needs to be
	  explicitly turned on again
	this version of the call is described in an August 1988 version of the
	  Genius Mouse programmer's reference; it has been changed to conform
	  to the Microsoft version shown above by version 9.06 (and possibly
	  earlier versions)
SeeAlso: AX=0001h,AX=0002h,AX=0007h,AX=0010h"MS MOUSE"

Format of Genius Mouse update region list:
Offset	Size	Description	(Table 03173)
 00h	WORD	left-most column
 02h	WORD	top-most row
 04h	WORD	right-most column
 06h	WORD	bottom-most row

Top
330011 - INT 33 - Genius Mouse 9.06 - GET NUMBER OF BUTTONS
INT 33 - Genius Mouse 9.06 - GET NUMBER OF BUTTONS
	AX = 0011h
Return: AX = FFFFh
	BX = number of buttons
SeeAlso: AX=0000h

Top
330012 - INT 33 - MS MOUSE - SET LARGE GRAPHICS CURSOR BLOCK
INT 33 - MS MOUSE - SET LARGE GRAPHICS CURSOR BLOCK
	AX = 0012h
	BH = cursor width in words
	CH = rows in cursor
	BL = horizontal hot spot (-16 to 16)
	CL = vertical hot spot (-16 to 16)
	ES:DX -> bit map of screen and cursor maps
Return: AX = FFFFh if successful
SeeAlso: AX=0009h,AX=002Ah,AX=0035h

Top
330013 - INT 33 - MS MOUSE v5.0+ - DEFINE DOUBLE-SPEED THRESHOLD
INT 33 - MS MOUSE v5.0+ - DEFINE DOUBLE-SPEED THRESHOLD
	AX = 0013h
	DX = threshold speed in mickeys/second, 0000h = default of 64/second
Note:	if speed exceeds threshold, the cursor's on-screen motion is doubled
SeeAlso: AX=000Fh,AX=001Bh,AX=002Ch

Top
330014 - INT 33 - MS MOUSE v3.0+ - EXCHANGE INTERRUPT SUBROUTINES
INT 33 - MS MOUSE v3.0+ - EXCHANGE INTERRUPT SUBROUTINES
	AX = 0014h
	CX = call mask (see #03171)
	ES:DX -> FAR routine
Return: CX = call mask of previous interrupt routine
	ES:DX = FAR address of previous interrupt routine
SeeAlso: AX=000Ch,AX=0018h

Top
330015 - INT 33 - MS MOUSE v6.0+ - RETURN DRIVER STORAGE REQUIREMENTS
INT 33 - MS MOUSE v6.0+ - RETURN DRIVER STORAGE REQUIREMENTS
	AX = 0015h
Return: BX = size of buffer needed to store driver state
SeeAlso: AX=0016h,AX=0017h,AX=0042h

Top
330016 - INT 33 - MS MOUSE v6.0+ - SAVE DRIVER STATE
INT 33 - MS MOUSE v6.0+ - SAVE DRIVER STATE
	AX = 0016h
	BX = size of buffer (see AX=0015h)
	ES:DX -> buffer for driver state
Note:	although not documented (since the Microsoft driver does not use it),
	  many drivers appear to require BX on input
SeeAlso: AX=0015h,AX=0017h

Top
330017 - INT 33 - MS MOUSE v6.0+ - RESTORE DRIVER STATE
INT 33 - MS MOUSE v6.0+ - RESTORE DRIVER STATE
	AX = 0017h
	BX = size of buffer (see AX=0015h)
	ES:DX -> buffer containing saved state
Notes:	although not documented (since the Microsoft driver does not use it),
	  many drivers appear to require BX on input
	some mouse drivers range-check the values in the saved state based on
	  the current video mode; thus, the video mode should be restored
	  before the mouse driver's state is restored
SeeAlso: AX=0015h,AX=0016h

Top
330018 - INT 33 - MS MOUSE v6.0+ - SET ALTERNATE MOUSE USER HANDLER
INT 33 - MS MOUSE v6.0+ - SET ALTERNATE MOUSE USER HANDLER
	AX = 0018h
	CX = call mask (see #03174)
	ES:DX -> FAR routine to be invoked on mouse events (see #03175)
Return: AX = status
	    0018h if successful
	    FFFFh on error
Notes:	up to three handlers can be defined by separate calls to this function,
	  each with a different combination of shift states in the call mask;
	  calling this function again with a call mask of 0000h undefines the
	  specified handler (official documentation); specifying the same
	  call mask and an address of 0000h:0000h undefines the handler (real
	  life)
	some versions of the documentation erroneously reverse the order of
	  the bits in the call mask
SeeAlso: AX=000Ch,AX=0014h,AX=0019h

Bitfields for mouse call mask:
Bit(s)	Description	(Table 03174)
 0	call if mouse moves
 1	call if left button pressed
 2	call if left button released
 3	call if right button pressed
 4	call if right button released
 5	call if shift button pressed during event
 6	call if ctrl key pressed during event
 7	call if alt key pressed during event
Note:	at least one of 5-7 must be set

(Table 03175)
Values user handler is called with:
	AX = condition mask (same bit assignments as call mask)
	BX = button state
	CX = cursor column
	DX = cursor row
	SI = horizontal mickey count
	DI = vertical mickey count
Return: registers preserved
Note:	in text modes, the row and column will be reported as a multiple of
	  the cell size, typically 8x8 pixels

Top
330019 - INT 33 - MS MOUSE v6.0+ - RETURN USER ALTERNATE INTERRUPT VECTOR
INT 33 - MS MOUSE v6.0+ - RETURN USER ALTERNATE INTERRUPT VECTOR
	AX = 0019h
	CX = call mask (see #03174)
Return: BX:DX = user interrupt vector
	CX = call mask (0000h if not found)
Note:	attempts to find a user event handler (defined by function 18h)
	  whose call mask matches CX
SeeAlso: AX=0018h

Top
33001A - INT 33 - MS MOUSE v6.0+ - SET MOUSE SENSITIVITY
INT 33 - MS MOUSE v6.0+ - SET MOUSE SENSITIVITY
	AX = 001Ah
	BX = horizontal speed \
	CX = vertical speed   / (see AX=000Fh)
	DX = double speed threshold (see AX=0013h)
SeeAlso: AX=0013h,AX=001Bh,INT 62/AX=0082h

Top
33001B - INT 33 - MS MOUSE v6.0+ - RETURN MOUSE SENSITIVITY
INT 33 - MS MOUSE v6.0+ - RETURN MOUSE SENSITIVITY
	AX = 001Bh
Return: BX = horizontal speed
	CX = vertical speed
	DX = double speed threshold
SeeAlso: AX=000Bh,AX=001Ah

Top
33001C - INT 33 - MS MOUSE v6.0+ - SET INTERRUPT RATE
INT 33 - MS MOUSE v6.0+ - SET INTERRUPT RATE
	AX = 001Ch
	BX = rate (see #03176)
Notes:	only available on InPort mouse
	values greater than 4 may cause unpredictable driver behavior

(Table 03176)
Values for mouse interrupt rate:
 00h	no interrupts allowed
 01h	30 per second
 02h	50 per second
 03h	100 per second
 04h	200 per second

Top
33001D - INT 33 - MS MOUSE v6.0+ - DEFINE DISPLAY PAGE NUMBER
INT 33 - MS MOUSE v6.0+ - DEFINE DISPLAY PAGE NUMBER
	AX = 001Dh
	BX = display page number
Note:	the cursor will be displayed on the specified page
SeeAlso: AX=001Eh

Top
33001E - INT 33 - MS MOUSE v6.0+ - RETURN DISPLAY PAGE NUMBER
INT 33 - MS MOUSE v6.0+ - RETURN DISPLAY PAGE NUMBER
	AX = 001Eh
Return: BX = display page number
SeeAlso: AX=001Dh

Top
33001F - INT 33 - MS MOUSE v6.0+ - DISABLE MOUSE DRIVER
INT 33 - MS MOUSE v6.0+ - DISABLE MOUSE DRIVER
	AX = 001Fh
Return: AX = status
	    001Fh successful
		ES:BX = INT 33 vector before mouse driver was first installed
	    FFFFh unsuccessful
Notes:	restores vectors for INT 10 and INT 71 (8086) or INT 74 (286/386)
	if you restore INT 33 to ES:BX, driver will be completely disabled
	many drivers return AX=001Fh even though the driver has been disabled
SeeAlso: AX=0020h

Top
330020 - INT 33 - MS MOUSE v6.0+ - ENABLE MOUSE DRIVER
INT 33 - MS MOUSE v6.0+ - ENABLE MOUSE DRIVER
	AX = 0020h
Return: AX = status
	    0020h successful
	    FFFFh unsuccessful
Notes:	restores vectors for INT 10h and INT 71h (8086) or INT 74h (286/386)
	  which were removed by function 1Fh
	Microsoft's documentation states that no value is returned
SeeAlso: AX=001Fh

Top
330021 - INT 33 - MS MOUSE v6.0+ - SOFTWARE RESET
INT 33 - MS MOUSE v6.0+ - SOFTWARE RESET
	AX = 0021h
Return: AX = status
	    FFFFh if mouse driver installed
		BX = number of buttons (FFFFh = two buttons)
	    0021h if mouse driver not installed
Note:	this call is identical to funtion 00h, but does not reset the mouse
SeeAlso: AX=0000h

Top
330022 - INT 33 - MS MOUSE v6.0+ - SET LANGUAGE FOR MESSAGES
INT 33 - MS MOUSE v6.0+ - SET LANGUAGE FOR MESSAGES
	AX = 0022h
	BX = language (see #03177)
Note:	only available on international versions of the driver; US versions
	  ignore this call
SeeAlso: AX=0023h

(Table 03177)
Values for mouse driver language:
 00h	English
 01h	French
 02h	Dutch
 03h	German
 04h	Swedish
 05h	Finnish
 06h	Spanish
 07h	Portugese
 08h	Italian

Top
330023 - INT 33 - MS MOUSE v6.0+ - GET LANGUAGE FOR MESSAGES
INT 33 - MS MOUSE v6.0+ - GET LANGUAGE FOR MESSAGES
	AX = 0023h
Return: BX = language (see #03177)
Note:	the US version of the driver always returns zero
SeeAlso: AX=0022h

Top
330024BX0000 - INT 33 - MS MOUSE v6.26+ - GET SOFTWARE VERSION, MOUSE TYPE, AND IRQ NUMBER
INT 33 - MS MOUSE v6.26+ - GET SOFTWARE VERSION, MOUSE TYPE, AND IRQ NUMBER
	AX = 0024h
	BX = 0000h to check for function's existence
Return: AX = FFFFh on error
	otherwise,
	    BH = major version
	    BL = minor version
	    CH = type (1=bus, 2=serial, 3=InPort, 4=PS/2, 5=HP)
	    CL = interrupt (0=PS/2, 2=IRQ2, 3=IRQ3,...,7=IRQ7,...,0Fh=IRQ15)
Note:	although current Microsoft documentation states that this function was
	  introduced in v6.26, it appears to have been present as early as
	  v6.02 (for earlier versions, use INT 33/AX=006Dh)
SeeAlso: AX=004Dh,AX=006Dh

Top
330025 - INT 33 - MS MOUSE v6.26+ - GET GENERAL DRIVER INFORMATION
INT 33 - MS MOUSE v6.26+ - GET GENERAL DRIVER INFORMATION
	AX = 0025h
Return: AX = general information (see #03178)
	BX = cursor lock flag for OS/2 to prevent reentrancy problems
	CX = mouse code active flag (for OS/2)
	DX = mouse driver busy flag (for OS/2)

Bitfields for general mouse driver information:
Bit(s)	Description	(Table 03178)
 15	driver loaded as device driver rather than TSR
 14	driver is newer integrated type
 13,12	current cursor type
	00 software text cursor
	01 hardware text cursor (CRT Controller's cursor)
	1X graphics cursor
 11-8	interrupt rate (see #03176)
 7-0	count of currently-active Mouse Display Drivers (MDD), the newer
	  integrated driver type

Top
330026 - INT 33 - MS MOUSE v6.26+ - GET MAXIMUM VIRTUAL COORDINATES
INT 33 - MS MOUSE v6.26+ - GET MAXIMUM VIRTUAL COORDINATES
	AX = 0026h
Return: BX = mouse-disabled flag (0000h mouse enabled, nonzero disabled)
	CX = maximum virtual X (for current video mode)
	DX = maximum virtual Y
Note:	for driver versions before 7.05, this call returns the currently-set
	  maximum coordinates; v7.05+ returns the absolute maximum coordinates
SeeAlso: AX=0031h

Top
330026 - INT 33 - Genius Mouse 9.06 - ???
INT 33 - Genius Mouse 9.06 - ???
	AX = 0026h
Return: CX = 0204h if CX was 0105h on entry, else unchanged

Top
330027 - INT 33 - MS MOUSE v7.01+ - GET SCREEN/CURSOR MASKS AND MICKEY COUNTS
INT 33 - MS MOUSE v7.01+ - GET SCREEN/CURSOR MASKS AND MICKEY COUNTS
	AX = 0027h
Return: AX = screen-mask value (or hardware cursor scan-line start for v7.02+)
	BX = cursor-mask value (or hardware cursor scan-line stop for v7.02+)
	CX = horizontal mickeys moved since last call
	DX = vertical mickeys moved since last call
SeeAlso: AX=000Bh

Top
330028 - INT 33 - MS MOUSE v7.0+ - SET VIDEO MODE
INT 33 - MS MOUSE v7.0+ - SET VIDEO MODE
	AX = 0028h
	CX = new video mode (call is NOP if 0000h)
	DH = Y font size (00h = default)
	DL = X font size (00h = default)
Return: CL = status (00h = successful)
Notes:	DX is ignored unless the selected video mode supports font size control
	when CX=0000h, an internal flag that had been set by a previous call
	  is cleared; this is required before a mouse reset
SeeAlso: AX=0029h,INT 10/AH=00h

Top
330029 - INT 33 - MS MOUSE v7.0+ - ENUMERATE VIDEO MODES
INT 33 - MS MOUSE v7.0+ - ENUMERATE VIDEO MODES
	AX = 0029h
	CX = previous video mode
	    0000h get first supported video mode
	    other get next supported mode after mode CX
Return: CX = first/next video mode (0000h = no more video modes)
	DS:DX -> description of video mode or 0000h:0000h if none
Notes:	the enumerated video modes may be in any order and may repeat
	the description string (if available) is terminated by '$' followed by
	  a NUL byte
SeeAlso: AX=0028h

Top
33002A - INT 33 - MS MOUSE v7.02+ - GET CURSOR HOT SPOT
INT 33 - MS MOUSE v7.02+ - GET CURSOR HOT SPOT
	AX = 002Ah
Return: AX = internal counter controlling cursor visibility
	BX = cursor hot spot column
	CX = cursor hot spot row
	DX = mouse type (see #03179)
Note:	the hot spot location is relative to the upper left corner of the
	  cursor block and may range from -128 to +127 both horizontally and
	  vertically
SeeAlso: AX=0009h,AX=0012h,AX=0035h

(Table 03179)
Values for mouse type:
 00h	none
 01h	bus
 02h	serial
 03h	InPort
 04h	IBM
 05h	Hewlett-Packard

Top
33002B - INT 33 - MS MOUSE v7.0+ - LOAD ACCELERATION PROFILES
INT 33 - MS MOUSE v7.0+ - LOAD ACCELERATION PROFILES
	AX = 002Bh
	BX = active acceleration profile
	    0001h-0004h or FFFFh to restore default curves
	ES:SI -> buffer containing acceleration profile data (see #03180)
Return: AX = success flag
SeeAlso: AX=002Ch,AX=002Dh,AX=0033h

Format of acceleration profile data:
Offset	Size	Description	(Table 03180)
 00h	BYTE	length of acceleration profile 1
 01h	BYTE	length of acceleration profile 2
 02h	BYTE	length of acceleration profile 3
 03h	BYTE	length of acceleration profile 4
 04h 32 BYTEs	threshold speeds for acceleration profile 1
 24h 32 BYTEs	threshold speeds for acceleration profile 2
 44h 32 BYTEs	threshold speeds for acceleration profile 3
 64h 32 BYTEs	threshold speeds for acceleration profile 4
 84h 32 BYTEs	speedup factor for acceleration profile 1
		(10h = 1.0, 14h = 1.25, 20h = 2.0, etc)
 A4h 32 BYTEs	speedup factor for acceleration profile 2
		(10h = 1.0, 14h = 1.25, 20h = 2.0, etc)
 C4h 32 BYTEs	speedup factor for acceleration profile 3
		(10h = 1.0, 14h = 1.25, 20h = 2.0, etc)
 E4h 32 BYTEs	speedup factor for acceleration profile 4
		(10h = 1.0, 14h = 1.25, 20h = 2.0, etc)
104h 16 BYTEs	name of acceleration profile 1 (blank-padded)
114h 16 BYTEs	name of acceleration profile 2 (blank-padded)
124h 16 BYTEs	name of acceleration profile 3 (blank-padded)
134h 16 BYTEs	name of acceleration profile 4 (blank-padded)
Note:	unused bytes in the threshold speed fields are filled with 7Fh and
	  unused bytes in the speedup factor fields are filled with 10h

Top
33002C - INT 33 - MS MOUSE v7.0+ - GET ACCELERATION PROFILES
INT 33 - MS MOUSE v7.0+ - GET ACCELERATION PROFILES
	AX = 002Ch
Return: AX = status (0000h success)
	BX = currently-active acceleration profile
	ES:SI -> acceleration profile data (see #03180)
SeeAlso: AX=002Bh,AX=002Dh,AX=0033h

Top
33002D - INT 33 - MS MOUSE v7.0+ - SELECT ACCELERATION PROFILE
INT 33 - MS MOUSE v7.0+ - SELECT ACCELERATION PROFILE
	AX = 002Dh
	BX = acceleration level
	    0001h-0004h to set profile, or FFFFh to get current profile
Return: AX = status
	    0000h successful
		ES:SI -> 16-byte blank-padded name of acceleration profile
	    FFFEh invalid acceleration curve number
		ES:SI destroyed
	BX = active acceleration curve number
SeeAlso: AX=0013h,AX=002Bh,AX=002Ch,AX=002Eh

Top
33002E - INT 33 - MS MOUSE v8.10+ - SET ACCELERATION PROFILE NAMES
INT 33 - MS MOUSE v8.10+ - SET ACCELERATION PROFILE NAMES
	AX = 002Eh
	BL = flag (if nonzero, fill ES:SI buffer with default names on return)
	ES:SI -> 64-byte buffer containing profile names (16 bytes per name)
Return: AX = status (0000h success)
	    FFFEh error for ATI Mouse driver
	ES:SI buffer filled with default names if BL nonzero on entry
Notes:	not supported by Logitech driver v6.10
	supported by ATI Mouse driver v7.04
SeeAlso: AX=002Ch,AX=002Dh,AX=012Eh,AX=022Eh

Top
33002F - INT 33 - MS MOUSE v7.02+ - MOUSE HARDWARE RESET
INT 33 - MS MOUSE v7.02+ - MOUSE HARDWARE RESET
	AX = 002Fh
Return: AX = status
Note:	invoked by mouse driver v8.20 on being called with INT 2F/AX=530Bh
SeeAlso: INT 2F/AH=53h

Top
330030 - INT 33 - MS MOUSE v7.04+ - GET/SET BallPoint INFORMATION
INT 33 - MS MOUSE v7.04+ - GET/SET BallPoint INFORMATION
	AX = 0030h
	CX = command
	    0000h get status of BallPoint device
	    other set rotation angle and masks
		BX = rotation angle (-32768 to 32767 degrees)
		CH = primary button mask
		CL = secondary button mask
Return: AX = button status (FFFFh if no BallPoint) (see #03181)
	BX = rotation angle (0-360 degrees)
	CH = primary button mask
	CL = secondary button mask
Note:	not supported by the ATI Mouse driver which calls itself v7.04

Bitfields for BallPoint mouse button status:
Bit(s)	Description	(Table 03181)
 5	button 1
 4	button 2
 3	button 3
 2	button 4
 other	zero

Top
330031 - INT 33 - MS MOUSE v7.05+ - GET CURRENT MINIMUM/MAXIMUM VIRTUAL COORDINATES
INT 33 - MS MOUSE v7.05+ - GET CURRENT MINIMUM/MAXIMUM VIRTUAL COORDINATES
	AX = 0031h
Return: AX = virtual X minimum
	BX = virtual Y minimum
	CX = virtual X maximum
	DX = virtual Y maximum
Note:	the minimum and maximum values are those set by AX=0007h and AX=0008h;
	  the default is minimum = 0 and maximum = absolute maximum
	  (see AX=0026h)
SeeAlso: AX=0007h,AX=0008h,AX=0010h,AX=0026h

Top
330032 - INT 33 - MS MOUSE v7.05+ - GET ACTIVE ADVANCED FUNCTIONS
INT 33 - MS MOUSE v7.05+ - GET ACTIVE ADVANCED FUNCTIONS
	AX = 0032h
Return: AX = active function flags (FFFFh for v8.10)
	    bit 15: function 0025h supported
	    bit 14: function 0026h supported
	    ...
	    bit 0:  function 0034h supported
	BX = ??? (0000h) officially unused
	CX = ??? (E000h) officially unused
	DX = ??? (0000h) officially unused
Note:	the Italian version of MS MOUSE v8.20 reportedly indicates that
	  functions 0033h and 0034h are not supported even though they are

Top
330033 - INT 33 - MS MOUSE v7.05+ - GET SWITCH SETTINGS AND ACCELERATION PROFILE DATA
INT 33 - MS MOUSE v7.05+ - GET SWITCH SETTINGS AND ACCELERATION PROFILE DATA
	AX = 0033h
	CX = size of buffer
	    0000h get required buffer size
		Return: AX = 0000h
			CX = required size (0154h for Logitech v6.10, 0159h
				for MS v8.10-8.20)
	    other
		ES:DX -> buffer of CX bytes for mouse settings
		Return: AX = 0000h
			CX = number of bytes returned
			ES:DX buffer filled (see #03182)
SeeAlso: AX=002Bh

Format of mouse settings data buffer:
Offset	Size	Description	(Table 03182)
 00h	BYTE	mouse type
 01h	BYTE	current language
 02h	BYTE	horizontal sensitivity (00h-64h)
 03h	BYTE	vertical sensitivity (00h-64h)
 04h	BYTE	double-speed threshold (00h-64h)
 05h	BYTE	ballistic curve (01h-04h)
 06h	BYTE	interrupt rate (01h-04h)
 07h	BYTE	cursor override mask
 08h	BYTE	laptop adjustment
 09h	BYTE	memory type (00h-02h)
 0Ah	BYTE	SuperVGA support (00h,01h)
 0Bh	BYTE	rotation angle
 0Ch	BYTE	???
 0Dh	BYTE	primary button (01h-04h)
 0Eh	BYTE	secondary button (01h-04h)
 0Fh	BYTE	click lock enabled (00h,01h)
 10h 324 BYTEs	acceleration profile data (see #03180)
154h  5 BYTEs	??? (Microsoft driver, but not Logitech)

Top
330034 - INT 33 - MS MOUSE v8.0+ - GET INITIALIZATION FILE
INT 33 - MS MOUSE v8.0+ - GET INITIALIZATION FILE
	AX = 0034h
Return: AX = status (0000h successful)
	ES:DX -> ASCIZ initialization (.INI) file name

Top
330035 - INT 33 - MS MOUSE v8.10+ - LCD SCREEN LARGE POINTER SUPPORT
INT 33 - MS MOUSE v8.10+ - LCD SCREEN LARGE POINTER SUPPORT
	AX = 0035h
	BX = function
	    FFFFh get current settings
		Return: AX = 0000h
			BH = style (see #03183)
			BL = size (see #03184)
			CH = threshold (00h-64h)
			CL = active flag (00h disabled, 01h enabled)
			DX = delay
	    other
		BH = pointer style (see #03183)
		BL = size (see #03184)
		CH = threshold (00h-64h)
		CL = active flag (00h disable size change, 01h enable)
		DX = delay (0000h-0064h)
		Return: AX = 0000h
Note:	not supported by Logitech driver v6.10
SeeAlso: AX=0012h,AX=002Ah

(Table 03183)
Values for pointer style:
 00h	normal
 01h	reverse
 02h	transparent
SeeAlso: #03184

(Table 03184)
Values for pointer size:
 00h	small ("1")
 01h	medium ("1.5")
 02h	large ("2")
SeeAlso: #03183

Top
330042 - INT 33 - PCMOUSE - GET MSMOUSE STORAGE REQUIREMENTS
INT 33 - PCMOUSE - GET MSMOUSE STORAGE REQUIREMENTS
	AX = 0042h
Return: AX = status
	    0000h MSMOUSE not installed
	    0042h functions 42h, 50h, and 52h not supported
	    FFFFh successful
		BX = buffer size in bytes for functions 50h and 52h
Note:	this function is also supported by the Genius Mouse 9.06 driver
SeeAlso: AX=0015h,AX=0050h,AX=0052h

Top
330043 - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - CONFIGURE MOUSE???
INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - CONFIGURE MOUSE???
	AX = 0043h
	CX:BX -> configuration buffer (see #03185)
	DL = ???
Return: ???
Notes:	also calls routines for INT 33/AX=0053h and INT 33/AX=004Fh
	this function is also supported by the Genius Mouse 9.06 driver

Format of Mouse Systems configuration buffer:
Offset	Size	Description	(Table 03185)
 00h	WORD	I/O port address
 02h	BYTE	???
 03h	BYTE	interrupt number
 04h	BYTE	interrupt mask for interrupt controller
 05h  5 BYTEs	???

Top
330044CXCDEF - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - TOGGLE IGNORE ACCELERATION CMDS
INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - TOGGLE IGNORE ACCELERATION CMDS
	AX = 0044h
	CX = CDEFh
Return: AX = new state of "Ignore Application Acceleration Commands" flag
Note:	this function is also supported by the Genius Mouse 9.06 driver
SeeAlso: AX=0045h

Top
330045CXCDEF - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - TOGGLE RESOLUTION DOUBLING
INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - TOGGLE RESOLUTION DOUBLING
	AX = 0045h
	CX = CDEFh
Return: AX = new state of resolution doubling flag
Note:	this function is also supported by the Genius Mouse 9.06 driver
SeeAlso: AX=0044h

Top
330047 - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - SET BUTTON ASSIGNMENTS
INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - SET BUTTON ASSIGNMENTS
	AX = 0047h
	ES:BX -> button assignments (3 bytes, combinations of "L", "M", "R")
Return: ???
Note:	also supported by Genius Mouse 9.06 driver
SeeAlso: AX=0067h

Top
330048BXCDEF - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - GET ???
INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - GET ???
	AX = 0048h
	BX = CDEFh
Return: CX = ???
	BH = ???
	BL = ??? (if 50h, driver is using PS/2 pointing device BIOS interface)
Note:	also supported by Genius Mouse 9.06 driver

Top
33004B - INT 33 - LCS/Telegraphics MOUSE DRIVERS - INSTALLATION CHECK / GET VERSION
INT 33 - LCS/Telegraphics MOUSE DRIVERS - INSTALLATION CHECK / GET VERSION
	AX = 004Bh
Return: ES:DI -> ASCIZ signature/description string if installed (see #03186)

(Table 03186)
Values for LCS/Telegraphics mouse driver OEM signature/description string:
 "Primax Generic;Universal Mouse Driver;IMOUSE;v8.20i"
 "Synaptics;TouchPad Driver;SYNTOUCH;v2.26"
 "Z-NIX;BUS,AUX,Serial 3-byte and 5-byte Mouse Driver;ZMOUSE;v7.04d"
Note:	the string consists of OEM, driver description, driver name, and
	  version number

Top
33004CBXCDEF - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - SET ??? FLAG
INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - SET ??? FLAG
	AX = 004Ch
	BX = CDEFh
Note:	also supported by Genius Mouse 9.06
SeeAlso: AX=006Ch

Top
33004D - INT 33 - MS MOUSE - RETURN POINTER TO COPYRIGHT STRING
INT 33 - MS MOUSE - RETURN POINTER TO COPYRIGHT STRING
	AX = 004Dh
Return: ES:DI -> copyright message "*** This is Copyright 1983 Microsoft" or
		"Copyright 19XX...."
Notes:	also supported by Logitech, Kraft, Genius Mouse, and Mouse Systems
	  mouse drivers
	in the Genius Mouse 9.06 driver, the ASCIZ signature "KYE" immediately
	  follows the above copyright message (KYE Corp. manufactures the
	  driver)
SeeAlso: AX=0024h,AX=006Dh,AX=0666h

Top
33004F - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - ENABLE MOUSE
INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - ENABLE MOUSE
	AX = 004Fh
Return: nothing
Note:	also supported by Genius Mouse 9.06
SeeAlso: AX=0043h,AX=0053h

Top
330050 - INT 33 - PCMOUSE - SAVE MSMOUSE STATE
INT 33 - PCMOUSE - SAVE MSMOUSE STATE
	AX = 0050h
	BX = buffer size (ignored by some driver versions)
	ES:DX -> buffer
Return: AX = FFFFh if successful
Notes:	the buffer must be large enough to hold the entire state, or following
	  data will be overwritten by state data in versions which ignore BX;
	  use INT 33/AX=0042h to get the required size
	this function is also supported by the Genius Mouse 9.06 driver
SeeAlso: AX=0042h,AX=0052h

Top
330052 - INT 33 - PCMOUSE - RESTORE MSMOUSE STATE
INT 33 - PCMOUSE - RESTORE MSMOUSE STATE
	AX = 0052h
	BX = buffer size (ignored by some driver versions)
	ES:DX -> buffer
Return: AX = FFFFh if successful
Note:	also supported by Genius Mouse 9.06 driver
SeeAlso: AX=0050h

Top
330053 - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - DISABLE MOUSE
INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - DISABLE MOUSE
	AX = 0053h
Return: nothing
Note:	also supported by Genius Mouse 9.06
SeeAlso: AX=0043h,AX=004Fh

Top
330054CXCDEF - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - SELECT ULTRARES ACCELERATION LEVEL
INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - SELECT ULTRARES ACCELERATION LEVEL
	AX = 0054h
	CX = CDEFh
	BX = new acceleration level (0-9)
Return: ???
Note:	this function is also supported by the Genius Mouse 9.06 driver
SeeAlso: AX=005Ah

Top
330055 - INT 33 - Kraft Mouse - GET ???
INT 33 - Kraft Mouse - GET ???
	AX = 0055h
Return: CX = ???
	DX = ???
	ES = ???

Top
330058 - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - ???
INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - ???
	AX = 0058h
Return: AX = CS of driver
	CX:BX = original INT 33 vector
	DX = ???
Note:	this function is also supported by the Genius Mouse 9.06 driver

Top
33005A - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - SET ULTRARES ACCELERATIONS
INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - SET ULTRARES ACCELERATIONS
	AX = 005Ah
	CX = number of WORDs to copy (max 0014h, but not range-checked)
	DX:SI -> buffer containing thresholds??? (CX words)
	DX:BX -> buffer containing acceleration values???
		(9*14h words, only first CX of each 14h used)
	???
Return: CF clear
	???
Note:	this function is also supported by Genius Mouse 9.06
SeeAlso: AX=0054h

Top
330061BXCDEF - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - ???
INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - ???
	AX = 0061h
	BX = CDEFh
Return: CX = ???
Note:	also supported by Genius Mouse 9.06

Top
330067 - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - GET MOUSE BUTTONS???
INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - GET MOUSE BUTTONS???
	AX = 0067h
Return: BL = number of buttons???
Note:	also supported by Genius Mouse 9.06
SeeAlso: AX=0047h

Top
33006A - INT 33 U - ATI Mouse - INSTALLATION CHECK
INT 33 U - ATI Mouse - INSTALLATION CHECK
	AX = 006Ah
Return: AL = AAh
	AH = ???
	BH = ???
	BL = ???
	CL = ???
	CH = ???
Program: ATI's MOUSE.COM and MOUSE.SYS are drivers for the mouse port found on
	  some of ATI's video adapters
SeeAlso: AX=006Dh

Top
33006C - INT 33 U - TRUEDOX Mouse driver v4.01 - GET/SET HARDWARE PARAMETERS
INT 33 U - TRUEDOX Mouse driver v4.01 - GET/SET HARDWARE PARAMETERS
	AX = 006Ch
	BX = new IRQ (0003h or 0004h), or 0000h to get current values only
	CL = new IRQmask (sent to 8259)
	DX = new base I/O port
Return: BX = current IRQ
	DX = light pen state???
Note:	this is the mouse driver for the Dell Dimension series of computers, by
	  TRUEDOX Technology Corporation
SeeAlso: AX=00A1h,AX=0666h

Top
33006CBXCDEF - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - CLEAR ??? FLAG
INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - CLEAR ??? FLAG
	AX = 006Ch
	BX = CDEFh
Note:	also supported by Genius Mouse 9.06
SeeAlso: AX=004Ch

Top
33006D - INT 33 - MS MOUSE - GET VERSION STRING
INT 33 - MS MOUSE - GET VERSION STRING
	AX = 006Dh 'm'
Return: ES:DI -> Microsoft version number of resident driver (see #03187)
Notes:	also supported by Logitech, Mouse Systems, Kraft, and Genius mouse
	  drivers
	the Mouse Systems 7.01 and Genius Mouse 9.06 drivers report their
	  Microsoft version as 7.00 even though they do not support any of the
	  functions from 0025h through 002Dh supported by the MS 7.00 driver
	  (the Genius Mouse driver supports function 0026h, but it differs
	  from the Microsoft function)
	the TRUEDOX 4.01 driver reports its version as 6.26 through this call,
	  but as 6.24 through AX=0024h
	There seems to be no reliable method to distinguish MS MOUSE before
	  3.00 from mouse drivers of other vendors.
	Some releases of the MS MOUSE 6.00 erroneously return 6.01 instead of
	  their true version number.  In this case, a DI value of 01ABh can
	  be used to still detect a 6.00 driver.
	For returned versions 6.02+, INT 33/AX=0024h should be used to retrieve
	  more accurate version data. 
	True MS MOUSE drivers can also be identified by magic numbers in
	  their copyright message, stored in the driver's segment (ES).
	  These can be found by scanning the first 2 Kb of the mouse 
	  driver's segment for a string like: [new since 7.00+] 
	  "** This is Copyright 1983[-19xx] Microsoft ***" with the
	  magic number stored one byte after the signature string.
SeeAlso: AX=0024h,AX=004Dh,AX=006Ah,AX=266Ch

Format of Microsoft version number:
Offset	Size	Description	(Table 03187)
 00h	BYTE	major version
 01h	BYTE	minor version (BCD)

(Table 04087)
Values for Microsoft MOUSE copyright string magic numbers:
 5564h	version 3.00..6.00	(for reported versions up to 5.03, and 6.00)
 557Ch	version 6.01Z..6.24	(for reported versions 6.01..6.24)
 E806h	version 6.25		(for reported version 6.25)
 EB02h	version 6.26..7.04	(for reported version 6.26..7.04)
 0800h	Integrated driver 1.0+	(for reported version 9.x+)
Note:	Versions above 7.04 (except for integrated mouse drivers) have a magic
	  number representing their version number, e.g. 0507h for version 7.05

Top
330070BXABCD - INT 33 - Mouse Systems MOUSE DRIVER - POPUP.COM - INSTALLATION CHECK
INT 33 - Mouse Systems MOUSE DRIVER - POPUP.COM - INSTALLATION CHECK
	AX = 0070h
	BX = ABCDh
Return: AX = ABCDh if installed
	    BX:CX -> data structure (see #03188)
Notes:	this function is also supported by the Genius Mouse 9.06 driver
	the v7.01 POPUP.COM and menu drivers also check for the signature
	  CDh ABh BAh DCh at offset -2Ch from the interrupt handler
	if POPUP is not loaded, the returned data structure contains the proper
	  signature at offset 00h, but not at offset 08h

Format of Mouse Systems POPUP.COM data structure:
Offset	Size	Description	(Table 03188)
 00h	WORD	signature ABCDh
 02h	DWORD	pointer to info structure??? (see #03189)
 06h  2 BYTEs	???
 08h	WORD	signature ABCDh

Format of Mouse Systems POPUP.COM info structure:
Offset	Size	Description	(Table 03189)
 00h	WORD	driver version
 02h  8 BYTEs	???
 0Ah	WORD	segment of ???
	???

Top
330072BXABCD - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - ???
INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - ???
	AX = 0072h
	BX = ABCDh
Return: ???
Note:	this function is also supported by the Genius Mouse 9.06 driver

Top
330073BXCDEF - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - GET BUTTON ASSIGNMENTS
INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - GET BUTTON ASSIGNMENTS
	AX = 0073h
	BX = CDEFh
	ES:DX -> 3-byte buffer for button assignments
Return: CX = number of buttons???
	ES:DX buffer filled (default is "LMR")
Note:	also supported by Genius Mouse 9.06
SeeAlso: AX=0067h

Top
3300A0 - INT 33 U - TRUEDOX Mouse driver - SET HARDWARE PC MODE (3 button)
INT 33 U - TRUEDOX Mouse driver - SET HARDWARE PC MODE (3 button)
	AX = 00A0h
Return: nothing
Note:	this function is only available if the mouse mode is switchable
	  through the power pins
SeeAlso: AX=006Ch"TRUEDOX",AX=00A1h"TRUEDOX"

Top
3300A1 - INT 33 U - TRUEDOX Mouse driver - SET HARDWARE MS MODE (2 button)
INT 33 U - TRUEDOX Mouse driver - SET HARDWARE MS MODE (2 button)
	AX = 00A1h
Return: nothing
Notes:	this function is only available if the mouse mode is switchable
	  through the power pins
	this is the mouse driver for the Dell Dimension series of computers, by
	  TRUEDOX Technology Corporation
SeeAlso: AX=006Ch"TRUEDOX",AX=00A0h"TRUEDOX",AX=00A6h,AX=0666h

Top
3300A6 - INT 33 U - TRUEDOX Mouse driver - SET RESOLUTION
INT 33 U - TRUEDOX Mouse driver - SET RESOLUTION
	AX = 00A6h
	BX = new software resolution
	    0001h 50-200 dpi
	    0002h 200-400 dpi
	    0003h 400-800 dpi
Note:	this is the mouse driver for the Dell Dimension series of computers, by
	  TRUEDOX Technology Corporation
SeeAlso: AX=00A0h,AX=00A1h,AX=0666h

Top
3300B0 - INT 33 U - LCS/Telegraphics MOUSE DRIVERS - ???
INT 33 U - LCS/Telegraphics MOUSE DRIVERS - ???
	AX = 00B0h
	???
Return: ???

Top
3300D6 - INT 33 - Twiddler TWMOUSE - GET BUTTON/TILT STATE
INT 33 - Twiddler TWMOUSE - GET BUTTON/TILT STATE
	AX = 00D6h
Return: AX = current button bitmap
	BX = current X tilt (approximately -200..+200 = -90degrees..+90deg.)
	CX = current Y tilt
Program: the Twiddler is a chording keyboard/mouse combination by Handykey
	  Corporation

Top
3300F0 - INT 33 U - LCS/Telegraphics MOUSE DRIVERS - ???
INT 33 U - LCS/Telegraphics MOUSE DRIVERS - ???
	AX = 00F0h
	???
Return: ???

Top
3300F1 - INT 33 U - LCS/Telegraphics MOUSE DRIVERS - ???
INT 33 U - LCS/Telegraphics MOUSE DRIVERS - ???
	AX = 00F1h
	???
Return: ???

Top
3300F2 - INT 33 U - LCS/Telegraphics MOUSE DRIVERS - ???
INT 33 U - LCS/Telegraphics MOUSE DRIVERS - ???
	AX = 00F2h
	???
Return: ???

Top
3300F3 - INT 33 U - LCS/Telegraphics MOUSE DRIVERS - ???
INT 33 U - LCS/Telegraphics MOUSE DRIVERS - ???
	AX = 00F3h
	???
Return: ???

Top
330100CX4752 - INT 33 - GRTMOUSE v1.00+ - INSTALLATION CHECK
INT 33 - GRTMOUSE v1.00+ - INSTALLATION CHECK
	AX = 0100h
	CX = 4752h ('GR')
	DX = 544Dh ('TM')
Return: AX = 474Dh ('GM') if installed
	    CX = version number (CH = major, CL = minor)
Program: GRTMOUSE is a graphical-cursor driver for textmode by Tommer Leyvand
SeeAlso: AX=0101h,AX=0102h,AX=0103h,AX=0104h

Top
330101 - INT 33 - GRTMOUSE v1.00+ - SET MOUSE CURSOR SHAPE
INT 33 - GRTMOUSE v1.00+ - SET MOUSE CURSOR SHAPE
	AX = 0101h
	DS:SI -> 16-byte cursor pattern
Return: CF clear if successful
SeeAlso: AX=0100h,AX=0102h

Top
330102 - INT 33 - GRTMOUSE v1.00+ - GET MOUSE CURSOR SHAPE
INT 33 - GRTMOUSE v1.00+ - GET MOUSE CURSOR SHAPE
	AX = 0102h
	ES:DI -> 16-byte buffer for cursor pattern
SeeAlso: AX=0100h,AX=0101h

Top
330103 - INT 33 - GRTMOUSE v1.00+ - SET ACTIVE CHARACTERS
INT 33 - GRTMOUSE v1.00+ - SET ACTIVE CHARACTERS
	AX = 0103h
	CH,CL,DH,DL = ASCII codes to be remapped to display mouse pointer
Note:	the default active characters are D0h,D1h,D6h,D8h; the active
	 characters should be in the range C0h to DFh
SeeAlso: AX=0100h,AX=0104h

Top
330104 - INT 33 - GRTMOUSE v1.00+ - GET ACTIVE CHARACTERS
INT 33 - GRTMOUSE v1.00+ - GET ACTIVE CHARACTERS
	AX = 0104h
Return: CH,CL,DH,DL = ASCII codes for the active characters
SeeAlso: AX=0100h,AX=0103h

Top
33012E - INT 33 - MS MOUSE v8.10+ - ???
INT 33 - MS MOUSE v8.10+ - ???
	AX = 012Eh
	BL = ???
Return: AX = 0000h (MS)
	AX = FFFFh (ATI Mouse v7.04)
Note:	not supported by Logitech driver v6.10
SeeAlso: AX=002Eh,AX=022Eh

Top
33022E - INT 33 - MS MOUSE v8.10+ - ???
INT 33 - MS MOUSE v8.10+ - ???
	AX = 022Eh
	BL = ???
Return: AX = 0000h (MS)
	AX = FFFFh (ATI Mouse v7.04)
Note:	not supported by Logitech driver v6.10
SeeAlso: AX=002Eh,AX=012Eh

Top
330666 - INT 33 U - TRUEDOX Mouse driver v4.01 - GET COPYRIGHT STRING
INT 33 U - TRUEDOX Mouse driver v4.01 - GET COPYRIGHT STRING
	AX = 0666h
Return: DX:AX -> ASCII "Copyright 1987-1992 TRUEDOX Technology Corporation"
Note:	this is the mouse driver for the Dell Dimension series of computers,
	  by TRUEDOX Technology Corporation
SeeAlso: AX=004Dh,AX=00A6h,AX=0666h

Top
33136C - INT 33 - LOGITECH MOUSE v6.10+ - ???
INT 33 - LOGITECH MOUSE v6.10+ - ???
	AX = 136Ch
	BX = ???
Return: AX = ???
	BX = ???

Top
33146C - INT 33 - LOGITECH MOUSE v6.10+ - GET/SET ???
INT 33 - LOGITECH MOUSE v6.10+ - GET/SET ???
	AX = 146Ch
	BL = function
	    00h set ???
		BH = new value (zero/nonzero to clear/set)
	    else get ???
		Return: ???

Top
33156C - INT 33 - LOGITECH MOUSE v6.10+ - GET SIGNATURE AND VERSION STRINGS
INT 33 - LOGITECH MOUSE v6.10+ - GET SIGNATURE AND VERSION STRINGS
	AX = 156Ch
Return: ES:DI -> signature "LOGITECH MOUSE DRIVER"
	ES:SI -> version string, terminated with CRLF

Top
33166C - INT 33 - LOGITECH MOUSE v6.10+ - ???
INT 33 - LOGITECH MOUSE v6.10+ - ???
	AX = 166Ch
	BL = ???
	    00h ???
	    01h ???
	    other ???
		BH = new value of ???
		Return: AX = FFFFh

Top
33176C - INT 33 - LOGITECH MOUSE v6.10+ - ???
INT 33 - LOGITECH MOUSE v6.10+ - ???
	AX = 176Ch
	???
Return: ???

Top
33186C - INT 33 - LOGITECH MOUSE v6.10+ - ???
INT 33 - LOGITECH MOUSE v6.10+ - ???
	AX = 186Ch
	???
Return: ???

Top
33196C - INT 33 - LOGITECH MOUSE v6.10+ - ???
INT 33 - LOGITECH MOUSE v6.10+ - ???
	AX = 196Ch
	???
Return: ???

Top
331A6C - INT 33 - LOGITECH MOUSE v6.10+ - GET ???
INT 33 - LOGITECH MOUSE v6.10+ - GET ???
	AX = 1A6Ch
Return: AX = FFFFh
	BX = ???
	CX = ???
SeeAlso: AX=1B6Ch

Top
331B6C - INT 33 - LOGITECH MOUSE v6.10+ - SET ???
INT 33 - LOGITECH MOUSE v6.10+ - SET ???
	AX = 1B6Ch
	BX = new value for ??? (0000h-0003h)
Return: AX = FFFFh
SeeAlso: AX=1A6Ch

Top
331C6C - INT 33 - LOGITECH MOUSE v6.10+ - ???
INT 33 - LOGITECH MOUSE v6.10+ - ???
	AX = 1C6Ch
	BX = ???
	    <42h ???
	    =42h ???
	    >42h ???
		ES:DI -> ???
		Return: AX = ???

Top
331D6C - INT 33 - LOGITECH MOUSE - GET COMPASS PARAMETER
INT 33 - LOGITECH MOUSE - GET COMPASS PARAMETER
	AX = 1D6Ch
Return: BX = direction (0=north, 1=south, 2=east, 3=west)
SeeAlso: AX=1E6Ch

Top
331E6C - INT 33 - LOGITECH MOUSE - SET COMPASS PARAMETER
INT 33 - LOGITECH MOUSE - SET COMPASS PARAMETER
	AX = 1E6Ch
	BX = direction (0=north, 1=south, 2=east, 3=west)
SeeAlso: AX=1D6Ch

Top
331F6C - INT 33 - LOGITECH MOUSE - GET BALLISTICS INFORMATION
INT 33 - LOGITECH MOUSE - GET BALLISTICS INFORMATION
	AX = 1F6Ch
Return: BX = 0=off, 1=on
	CX = 1=low, 2=high
SeeAlso: AX=002Ch,AX=236Ch

Top
33206C - INT 33 - LOGITECH MOUSE - SET LEFT OR RIGHT PARAMETER
INT 33 - LOGITECH MOUSE - SET LEFT OR RIGHT PARAMETER
	AX = 206Ch
	BX = parameter (00h = right, FFh = left)
SeeAlso: AX=216Ch

Top
33216C - INT 33 - LOGITECH MOUSE - GET LEFT OR RIGHT PARAMETER
INT 33 - LOGITECH MOUSE - GET LEFT OR RIGHT PARAMETER
	AX = 216Ch
Return: BX = parameter (00h = right, FFh = left)
SeeAlso: AX=206Ch

Top
33226C - INT 33 - LOGITECH MOUSE - REMOVE DRIVER FROM MEMORY
INT 33 - LOGITECH MOUSE - REMOVE DRIVER FROM MEMORY
	AX = 226Ch
Note:	this only frees memory; does not restore hooked interrupts

Top
33236C - INT 33 - LOGITECH MOUSE - SET BALLISTICS INFORMATION
INT 33 - LOGITECH MOUSE - SET BALLISTICS INFORMATION
	AX = 236Ch
	BX = 0=off, 1=on
	CX = 1=low, 2=high
SeeAlso: AX=002Ch,AX=1F6Ch

Top
33246C - INT 33 - LOGITECH MOUSE - GET PARAMETERS AND RESET SERIAL MOUSE
INT 33 - LOGITECH MOUSE - GET PARAMETERS AND RESET SERIAL MOUSE
	AX = 246Ch
	ES:DX -> parameter table buffer (see #03190)
Return: AX = FFFFh if driver installed for serial mouse
SeeAlso: AX=0000h,AX=256Ch/BX=0000h,AX=256Ch/BX=0001h,AX=256Ch/BX=0003h

Format of Logitech Mouse parameter table:
Offset	Size	Description	(Table 03190)
 00h	WORD	baud rate divided by 100  (serial mouse only)
 02h	WORD	emulation		  (serial mouse only)
 04h	WORD	report rate		  (serial mouse only)
 06h	WORD	firmware revision	  (serial mouse only)
 08h	WORD	00h			  (serial mouse only)
 0Ah	WORD	port			  (serial mouse only)
 0Ch	WORD	physical buttons
 0Eh	WORD	logical buttons

Top
33256CBX0000 - INT 33 - LOGITECH MOUSE - SET PARAMETERS - SET BAUD RATE (SERIAL MOUSE ONLY)
INT 33 - LOGITECH MOUSE - SET PARAMETERS - SET BAUD RATE (SERIAL MOUSE ONLY)
	AX = 256Ch
	BX = 0000h
	CX = rate (0=1200, 1=2400, 2=4800, 3=9600)
Return: AX = FFFFh if driver installed for serial mouse
SeeAlso: AX=246Ch,AX=256Ch/BX=0001h,AX=256Ch/BX=0002h,AX=276Ch

Top
33256CBX0001 - INT 33 - LOGITECH MOUSE - SET PARAMETERS - SET EMULATION (SERIAL MOUSE ONLY)
INT 33 - LOGITECH MOUSE - SET PARAMETERS - SET EMULATION (SERIAL MOUSE ONLY)
	AX = 256Ch
	BX = 0001h
	CX = emulation type (see #03191)
Return: AX = FFFFh if driver installed for serial mouse
SeeAlso: AX=246Ch,AX=256Ch/BX=0000h,AX=256Ch/BX=0003h,AX=276Ch

(Table 03191)
Values for Logitech mouse emulation type:
 00h	5 byte packed binary
 01h	3 byte packed binary
 02h	hexadecimal
 03h	relative bit pad
 04h	not supported
 05h	MM Series
 06h	not supported
 07h	Microsoft

Top
33256CBX0002 - INT 33 - LOGITECH MOUSE - SET PARAMETERS - SET REPORT RATE (SERIAL MOUSE ONLY)
INT 33 - LOGITECH MOUSE - SET PARAMETERS - SET REPORT RATE (SERIAL MOUSE ONLY)
	AX = 256Ch
	BX = 0002h
	CX = rate (0=10, 1=20, 2=35, 3=50, 4=70, 5=100, 6=150)
Return: AX = FFFFh if driver installed for serial mouse
SeeAlso: AX=246Ch,AX=256Ch/BX=0001h,AX=256Ch/BX=0003h,AX=276Ch

Top
33256CBX0003 - INT 33 - LOGITECH MOUSE - SET PARAMETERS - SET MOUSE PORT (SERIAL MOUSE ONLY)
INT 33 - LOGITECH MOUSE - SET PARAMETERS - SET MOUSE PORT (SERIAL MOUSE ONLY)
	AX = 256Ch
	BX = 0003h
	CX = port (1, 2)
Return: AX = FFFFh if driver installed for serial mouse
SeeAlso: AX=246Ch,AX=256Ch/BX=0000h,AX=256Ch/BX=0004h,AX=276Ch

Top
33256CBX0004 - INT 33 - LOGITECH MOUSE - SET PARAMETERS - SET MOUSE LOGICAL BUTTONS
INT 33 - LOGITECH MOUSE - SET PARAMETERS - SET MOUSE LOGICAL BUTTONS
	AX = 256Ch
	BX = 0004h
	CX = buttons (2, 3)
Return: AX = FFFFh if driver installed for serial mouse
SeeAlso: AX=246Ch,AX=276Ch

Top
33266C - INT 33 - LOGITECH MOUSE - GET VERSION???
INT 33 - LOGITECH MOUSE - GET VERSION???
	AX = 266Ch
Return: BX = 'SS'
	CH = '4'  major version number
	CL = '1'  minor version number
SeeAlso: AX=006Dh

Top
33276C - INT 33 - LOGITECH MOUSE - ??? Tries MMSeries, Baud 2400
INT 33 - LOGITECH MOUSE - ??? Tries MMSeries, Baud 2400
	AX = 276Ch
SeeAlso: AX=256Ch

Top
333000 - INT 33 - Smooth Mouse Driver, PrecisePoint - INSTALLATION CHECK
INT 33 - Smooth Mouse Driver, PrecisePoint - INSTALLATION CHECK
	AX = 3000h
Return: AX = FFFFh if installed
	    BX = version number (BH = major, BL = minor)
Program: SMD is a programmer's library by Andy Hakim which provides a
	  graphics-style mouse cursor in text mode.  PrecisePoint is an
	  SMD-based TSR which replaces the block mouse cursor in text
	  applications.
SeeAlso: AX=0000h,AX=3001h,AX=3003h

Top
333001 - INT 33 - Smooth Mouse Driver, PrecisePoint - ENABLE SMOOTH MOUSE
INT 33 - Smooth Mouse Driver, PrecisePoint - ENABLE SMOOTH MOUSE
	AX = 3001h
Return: AX = status (0000h = disabled, 0001h = enabled)
Note:	SMD remains disabled if running under Desqview or in graphics mode
SeeAlso: AX=0001h,AX=0002h,AX=3002h

Top
333002 - INT 33 - Smooth Mouse Driver, PrecisePoint - DISABLE SMOOTH MOUSE
INT 33 - Smooth Mouse Driver, PrecisePoint - DISABLE SMOOTH MOUSE
	AX = 3002h
Return: AX = status (0000h = disabled, 0001h = enabled)
SeeAlso: AX=0001h,AX=0002h,AX=3000h,AX=3001h

Top
333003 - INT 33 - Smooth Mouse Driver, PrecisePoint - GET INFORMATION
INT 33 - Smooth Mouse Driver, PrecisePoint - GET INFORMATION
	AX = 3003h
	BL = data structure selector
	    00h Primary Bitmap (used for 25 line mode) (see #03192)
	    01h Secondary Bitmap (used for 43/50 line modes) (see #03192)
	    02h Sacrifice Character Map (see #03193)
	    03h Program Information (see #03194)
Return: ES:DX -> selected data structure
SeeAlso: AX=3000h

Format of Primary/Secondary Bitmap [SMD_BITMAP_STRUCT]:
Offset	Size	Description	(Table 03192)
 00h	BYTE	vertical size of bitmap (00h - 10h)
 01h	BYTE	horizontal size of bitmap (00h - 10h)
 02h	BYTE	vertical hotspot position (00h - 10h)
 03h	BYTE	horizontal hotspot position (00h - 10h)
 04h 16 WORDs	cursor bitmap data
 14h 16 WORDs	screen bitmap data

Format of Sacrifice Character Map [SMD_SMAP_STRUCT]:
Offset	Size	Description	(Table 03193)
 00h	BYTE	bytes are character values (00h-FFh) used in place of the
 01h	BYTE	actual character for the corresponding position on the screen
 02h	BYTE	     +--------------+	  occupied by part or all of the mouse
 03h	BYTE	     | 0h | 1h | 2h |	  cursor
 04h	BYTE	     |----+----+----|
 05h	BYTE	     | 3h | 4h | 5h |
 06h	BYTE	     |----+----+----|
 07h	BYTE	     | 6h | 7h | 8h |
 08h	BYTE	     +--------------+

Format of Program Information [SMD_INFO_STRUCT]:
Offset	Size	Description	(Table 03194)
 00h	WORD	segment of old interrupt 33h handler
 02h	WORD	offset of old interrupt 33h handler
 04h	WORD	PSP of SMD
 06h	BYTE	ENABLE/DISABLE manual setting status
 07h	BYTE	ENABLE/DISABLE internal usage status

Top
333004 - INT 33 - Smooth Mouse Driver, PrecisePoint - RESERVED FUTURE EXPANSION
INT 33 - Smooth Mouse Driver, PrecisePoint - RESERVED FUTURE EXPANSION
	AX = 3004h
SeeAlso: AX=3000h

Top
333005 - INT 33 - Smooth Mouse Driver, PrecisePoint - RESERVED FUTURE EXPANSION
INT 33 - Smooth Mouse Driver, PrecisePoint - RESERVED FUTURE EXPANSION
	AX = 3005h
SeeAlso: AX=3000h

Top
334F00 - INT 33 - LOGITECH MOUSE v6.10+ - GET ???
INT 33 - LOGITECH MOUSE v6.10+ - GET ???
	AX = 4F00h
Return: AX = 004Fh if supported
	BX = ???
	ES:DI -> ???
SeeAlso: AX=4F01h

Top
334F01 - INT 33 - LOGITECH MOUSE v6.10+ - ???
INT 33 - LOGITECH MOUSE v6.10+ - ???
	AX = 4F01h
	ES = ???
Return: AX = 004Fh if supported
	ES:DI -> ???
SeeAlso: AX=4F00h

Top
336F00 - INT 33 - Hewlett Packard - HP MOUSE DRIVER INSTALLATION CHECK
INT 33 - Hewlett Packard - HP MOUSE DRIVER INSTALLATION CHECK
	AX = 6F00h
	BX <> 4850h
Return: BX = 4850h ('HP') if mouse driver written by Hewlett Packard
SeeAlso: INT 10/AX=6F00h,INT 14/AX=6F00h,INT 16/AX=6F00h,INT 17/AX=6F00h

Top
338800 - INT 33 U - InfoTrack IMOUSE.COM - UNHOOK MOUSE IRQ
INT 33 U - InfoTrack IMOUSE.COM - UNHOOK MOUSE IRQ
	AX = 8800h
	BX <> FFFFh
Note:	the code is written to expect a subfunction number in AL, but only
	  function 00h has been implemented
SeeAlso: AX=8800h/BX=FFFFh

Top
338800BXFFFF - INT 33 U - InfoTrack IMOUSE.COM - GET ACTIVE IRQ
INT 33 U - InfoTrack IMOUSE.COM - GET ACTIVE IRQ
	AX = 8800h
	BX = FFFFh
Return: BL = number of IRQ being used by the mouse
SeeAlso: AX=8800h

Top
33FFE6 - INT 33 - Switch-It v3.23 - GET ??? PROGRAM
INT 33 - Switch-It v3.23 - GET ??? PROGRAM
	AX = FFE6h
	CX = length of buffer
	ES:DI -> buffer for program name
Return: ES:DI buffer filled
Program: Switch-It is a task switcher supporting up to 100 programs
	  simultaneously by Better Software Technology, Inc.

Top
33FFE7 - INT 33 - Switch-It v3.23 - GET ???
INT 33 - Switch-It v3.23 - GET ???
	AX = FFE7h
Return: AX = ???

Top
33FFE8 - INT 33 - Switch-It v3.23 - ???
INT 33 - Switch-It v3.23 - ???
	AX = FFE8h
	CX = length of name including terminating NUL
	DS:SI -> ASCIZ program pathname

Top
33FFE9 - INT 33 - Switch-It v3.23 - SET ???
INT 33 - Switch-It v3.23 - SET ???
	AX = FFE9h
	BX = ???

Top
33FFEA - INT 33 - Switch-It v3.23 - SET ???
INT 33 - Switch-It v3.23 - SET ???
	AX = FFEAh
	BL = ???

Top
33FFEB - INT 33 - Switch-It v3.23 - SET ??? FLAG
INT 33 - Switch-It v3.23 - SET ??? FLAG
	AX = FFEBh

Top
33FFEC - INT 33 - Switch-It v3.23 - SET ???
INT 33 - Switch-It v3.23 - SET ???
	AX = FFECh
	BL = ???

Top
33FFED - INT 33 - Switch-It v3.23 - GET ???
INT 33 - Switch-It v3.23 - GET ???
	AX = FFEDh
Return: AX = ??? (0001h)
	BX = ???
Program: Switch-It is a task switcher supporting up to 100 programs
	  simultaneously by Better Software Technology, Inc.

Top
33FFEE - INT 33 - Switch-It v3.23 - GET ???
INT 33 - Switch-It v3.23 - GET ???
	AX = FFEEh
Return: AX = ???

Top
33FFEF - INT 33 - Switch-It v3.23 - GET ???
INT 33 - Switch-It v3.23 - GET ???
	AX = FFEFh
Return: BX:AX -> ???

Top
33FFF0 - INT 33 - Switch-It v3.23 - SET ???
INT 33 - Switch-It v3.23 - SET ???
	AX = FFF0h
	BL = ???

Top
33FFF1 - INT 33 - Switch-It v3.23 - GET CONFIGURATION FILE
INT 33 - Switch-It v3.23 - GET CONFIGURATION FILE
	AX = FFF1h
Return: BX:AX -> ASCIZ pathname of configuration file
Program: Switch-It is a task switcher supporting up to 100 programs
	  simultaneously by Better Software Technology, Inc.

Top
33FFF2 - INT 33 - Switch-It v3.23 - SET ??? FLAG
INT 33 - Switch-It v3.23 - SET ??? FLAG
	AX = FFF2h
Return: AL = 01h

Top
33FFF3 - INT 33 - Switch-It v3.23 - GET ???
INT 33 - Switch-It v3.23 - GET ???
	AX = FFF3h
Return: AX = ???

Top
33FFF4 - INT 33 - Switch-It v3.23 - SET ???
INT 33 - Switch-It v3.23 - SET ???
	AX = FFF4h
	BX = ???
	CX = ???

Top
33FFF5 - INT 33 - Switch-It v3.23 - GET ???
INT 33 - Switch-It v3.23 - GET ???
	AX = FFF5h
Return: AX = ???

Top
33FFF6 - INT 33 - Switch-It v3.23 - GET ???
INT 33 - Switch-It v3.23 - GET ???
	AX = FFF6h
Return: AX = ???

Top
33FFF7 - INT 33 - Switch-It v3.23 - GET ???
INT 33 - Switch-It v3.23 - GET ???
	AX = FFF7h
	BX = index of ???
Return: AX = ???

Top
33FFF8 - INT 33 - Switch-It v3.23 - ???
INT 33 - Switch-It v3.23 - ???
	AX = FFF8h
	BX = ???
	CX = length of program name, including terminating NUL
	DS:SI -> ASCIZ program pathname
Return: ???
Program: Switch-It is a task switcher supporting up to 100 programs
	  simultaneously by Better Software Technology, Inc.

Top
33FFF9 - INT 33 - Switch-It v3.23 - NOP
INT 33 - Switch-It v3.23 - NOP
	AX = FFF9h

Top
33FFFA - INT 33 - Switch-It v3.23 - SET ???
INT 33 - Switch-It v3.23 - SET ???
	AX = FFFAh
	BX = index of program
SeeAlso: AX=FFFBh,AX=FFFCh

Top
33FFFB - INT 33 - Switch-It v3.23 - GET ???
INT 33 - Switch-It v3.23 - GET ???
	AX = FFFBh
	BX = index of program
Return: AX = ??? (0000h or 0001h)
SeeAlso: AX=FFFAh,AX=FFFCh

Top
33FFFC - INT 33 - Switch-It v3.23 - CLEAR ???
INT 33 - Switch-It v3.23 - CLEAR ???
	AX = FFFCh
	BX = index of program
SeeAlso: AX=FFFAh,AX=FFFCh

Top
33FFFD - INT 33 - Switch-It v3.23 - GET MEMORY ADDRESSES???
INT 33 - Switch-It v3.23 - GET MEMORY ADDRESSES???
	AX = FFFDh
Return: AX = first available segment???
	BX = paragraph of top of conventional memory
	DX = PSP segment of SI.EXE

Top
33FFFE - INT 33 - Switch-It v3.23 - INSTALLATION CHECK
INT 33 - Switch-It v3.23 - INSTALLATION CHECK
	AX = FFFEh
Return: BX = ???
	DX = 5349h ("SI")

Top
33FFFF - INT 33 - Switch-It v3.23 - ???
INT 33 - Switch-It v3.23 - ???
	AX = FFFFh
	BX = ???
Program: Switch-It is a task switcher supporting up to 100 programs
	  simultaneously by Better Software Technology, Inc.

Top
Home Interrupt Index: by Category by Number TOC: by Order Top