home *** CD-ROM | disk | FTP | other *** search
- ----------330000-----------------------------
- 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: 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.
- SeeAlso: AX=0021h,INT 62/AX=007Ah,INT 74
- ----------330001-----------------------------
- INT 33 - MS MOUSE - SHOW MOUSE CURSOR
- AX = 0001h
- SeeAlso: AX=0002h,INT 16/AX=FFFEh,INT 62/AX=007Bh
- ----------330002-----------------------------
- INT 33 - MS MOUSE - 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
- ----------330003-----------------------------
- INT 33 - MS MOUSE - RETURN POSITION AND BUTTON STATUS
- AX = 0003h
- Return: BX = button status
- bit 0 left button pressed if 1
- bit 1 right button pressed if 1
- bit 2 middle button pressed if 1 (Mouse Systems/Logitech mouse)
- CX = column
- DX = row
- SeeAlso: AX=0004h,AX=000Bh,INT 2F/AX=D000h"ZWmous"
- ----------330004-----------------------------
- INT 33 - MS MOUSE - 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; however, some versions of the Microsoft documentation
- incorrectly state that the coordinates are rounded
- SeeAlso: AX=0003h,INT 62/AX=0081h
- ----------330005-----------------------------
- INT 33 - MS MOUSE - RETURN BUTTON PRESS DATA
- AX = 0005h
- BX = button
- 0000h left
- 0001h right
- 0002h middle (Mouse Systems/Logitech mouse)
- Return: AX = button states
- bit 0 left button pressed if 1
- bit 1 right button pressed if 1
- bit 2 middle button pressed if 1 (Mouse Systems/Logitech mouse)
- 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
- SeeAlso: AX=0006h,INT 62/AX=007Ch
- ----------330006-----------------------------
- INT 33 - MS MOUSE - RETURN BUTTON RELEASE DATA
- AX = 0006h
- BX = button
- 0000h left
- 0001h right
- 0002h middle (Mouse Systems/Logitech mouse)
- Return: AX = button states
- bit 0 left button pressed if 1
- bit 1 right button pressed if 1
- bit 2 middle button pressed if 1 (Mouse Systems/Logitech mouse)
- 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
- SeeAlso: AX=0005h,INT 62/AX=007Ch
- ----------330007-----------------------------
- INT 33 - MS MOUSE - DEFINE HORIZONTAL CURSOR RANGE
- AX = 0007h
- CX = minimum column
- DX = maximum column
- SeeAlso: AX=0008h,AX=0010h,INT 62/AX=0080h
- ----------330008-----------------------------
- INT 33 - MS MOUSE - DEFINE VERTICAL CURSOR RANGE
- AX = 0008h
- CX = minimum row
- DX = maximum row
- SeeAlso: AX=0007h,AX=0010h,INT 62/AX=0080h
- ----------330009-----------------------------
- INT 33 - MS MOUSE - 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 -> bitmap
- 16 words screen mask
- 16 words cursor mask
- each word defines the sixteen pixels of a row, low bit
- rightmost
- SeeAlso: AX=000Ah,AX=0012h,INT 62/AX=007Fh
- ----------33000A-----------------------------
- INT 33 - MS MOUSE - 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 char/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
- ----------33000B-----------------------------
- INT 33 - MS MOUSE - 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
- ----------33000C-----------------------------
- INT 33 - MS MOUSE - DEFINE INTERRUPT SUBROUTINE PARAMETERS
- AX = 000Ch
- CX = call mask
- bit 0 call if mouse moves
- bit 1 call if left button pressed
- bit 2 call if left button released
- bit 3 call if right button pressed
- bit 4 call if right button released
- bit 5 call if middle button pressed (Mouse Systems/Logitech mouse)
- bit 6 call if middle button released (Mouse Sys/Logitech mouse)
- ES:DX -> FAR routine
- Notes: when the subroutine is called, it is passed the following values:
- 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
- some versions of the Microsoft documentation incorrectly state that CX
- bit 0 means call if mouse cursor moves, and swap the meanings of SI
- and DI
- SeeAlso: AX=0018h
- ----------33000D-----------------------------
- INT 33 - MS MOUSE - LIGHT PEN EMULATION ON
- AX = 000Dh
- SeeAlso: AX=000Eh
- ----------33000E-----------------------------
- INT 33 - MS MOUSE - LIGHT PEN EMULATION OFF
- AX = 000Eh
- SeeAlso: AX=000Dh
- ----------33000F-----------------------------
- INT 33 - MS MOUSE - 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
- ----------330010-----------------------------
- INT 33 - MS MOUSE - 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"
- ----------330010-----------------------------
- INT 33 - Genius MOUSE - DEFINE SCREEN REGION FOR UPDATING
- AX = 0010h
- ES:DX -> update region list (see below)
- 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 presumably been changed
- to conform to the Microsoft version shown above
- SeeAlso: AX=0001h,AX=0002h,AX=0007h,AX=0010h"MS MOUSE"
-
- Format of update region list:
- Offset Size Description
- 00h WORD left-most column
- 02h WORD top-most row
- 04h WORD right-most column
- 06h WORD bottom-most row
- ----------330012-----------------------------
- 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
- ----------330013-----------------------------
- INT 33 - MS MOUSE - 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
- ----------330014-----------------------------
- INT 33 - MS MOUSE - EXCHANGE INTERRUPT SUBROUTINES
- AX = 0014h
- CX = call mask (see AX=000Ch)
- ES:DX -> FAR routine
- Return: CX = call mask of previous interrupt routine
- ES:DX = FAR address of previous interrupt routine
- SeeAlso: AX=0018h
- ----------330015-----------------------------
- INT 33 - MS MOUSE - RETURN DRIVER STORAGE REQUIREMENTS
- AX = 0015h
- Return: BX = size of buffer needed to store driver state
- SeeAlso: AX=0016h,AX=0017h,AX=0042h
- ----------330016-----------------------------
- INT 33 - MS MOUSE - SAVE DRIVER STATE
- AX = 0016h
- BX = size of buffer (see AX=0015h)
- ES:DX -> buffer for driver state
- Note: although not documented, many drivers appear to require BX on input
- SeeAlso: AX=0015h,AX=0017h
- ----------330017-----------------------------
- INT 33 - MS MOUSE - RESTORE DRIVER STATE
- AX = 0017h
- BX = size of buffer (see AX=0015h)
- ES:DX -> buffer containing saved state
- Notes: although not documented, 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
- ----------330018-----------------------------
- INT 33 - MS MOUSE - SET ALTERNATE MOUSE USER HANDLER
- AX = 0018h
- CX = call mask
- bit 0 call if alt key pressed during event
- bit 1 call if ctrl key pressed during event
- bit 2 call if shift button pressed during event
- bit 3 call if right button released
- bit 4 call if right button pressed
- bit 5 call if left button released
- bit 6 call if left button pressed
- bit 7 call if mouse moves
- ES:DX = address of FAR routine
- Return: AX = 0018h if successful
- = FFFFh on error
- Notes: when the subroutine is called, it is passed the following values:
- AX = condition mask (same bit assignments as call mask)
- BX = button state
- CX = cursor column
- DX = cursor row
- DI = horizontal mickey count
- SI = vertical mickey count
- up to three handlers can be defined by separate calls to this function
- SeeAlso: AX=0014h,AX=0019h
- ----------330019-----------------------------
- INT 33 - MS MOUSE - RETURN USER ALTERNATE INTERRUPT VECTOR
- AX = 0019h
- CX = call mask
- Return: BX:DX = user interrupt vector
- CX = call mask (0 if not found)
- Note: attempts to find a user event handler (defined by function 18h)
- whose call mask matches CX
- SeeAlso: AX=0018h
- ----------33001A-----------------------------
- INT 33 - MS MOUSE - 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
- ----------33001B-----------------------------
- INT 33 - MS MOUSE - RETURN MOUSE SENSITIVITY
- AX = 001Bh
- Return: BX = horizontal speed
- CX = vertical speed
- DX = double speed threshold
- SeeAlso: AX=000Bh,AX=001Ah
- ----------33001C-----------------------------
- INT 33 - MS MOUSE - SET INTERRUPT RATE
- AX = 001Ch
- BX = rate
- 00h no interrupts allowed
- 01h 30 per second
- 02h 50 per second
- 03h 100 per second
- 04h 200 per second
- Notes: only available on InPort mouse
- values greater than 4 may cause unpredictable driver behavior
- ----------33001D-----------------------------
- INT 33 - MS MOUSE - DEFINE DISPLAY PAGE NUMBER
- AX = 001Dh
- BX = display page number
- Note: the cursor will be displayed on the specified page
- SeeAlso: AX=001Eh
- ----------33001E-----------------------------
- INT 33 - MS MOUSE - RETURN DISPLAY PAGE NUMBER
- AX = 001Eh
- Return: BX = display page number
- SeeAlso: AX=001Dh
- ----------33001F-----------------------------
- INT 33 - MS MOUSE - DISABLE MOUSE DRIVER
- AX = 001Fh
- Return: AX = 001Fh unsuccessful
- FFFFh successful
- ES:BX = vector for INT 33h before mouse driver was first installed
- Note: restores vectors for Int 10h and Int 71h (8086) or Int 74h (286/386)
- if you restore Int 33h to ES:BX, driver will be completely disabled
- SeeAlso: AX=0020h
- ----------330020-----------------------------
- INT 33 - MS MOUSE - ENABLE MOUSE DRIVER
- AX = 0020h
- Return: AX = 0020h unsuccessful (or driver not installed)
- FFFFh successful
- Note: restores vectors for Int 10h and Int 71h (8086) or Int 74h (286/386)
- which were removed by function 1Fh
- SeeAlso: AX=001Fh
- ----------330021-----------------------------
- INT 33 - MS MOUSE - SOFTWARE RESET
- AX = 0021h
- Return: AX = FFFFh if mouse driver installed
- 0021h if mouse driver not installed
- BX = 2 if mouse driver is installed
- Note: identical to funtion 00h, but does not reset the mouse
- SeeAlso: AX=0000h
- ----------330022-----------------------------
- INT 33 - MS MOUSE - SET LANGUAGE FOR MESSAGES
- AX = 0022h
- BX = language
- 00h English
- 01h French
- 02h Dutch
- 03h German
- 04h Swedish
- 05h Finnish
- 06h Spanish
- 07h Portugese
- 08h Italian
- Note: only available on international versions of the driver, US versions
- ignore this call
- SeeAlso: AX=0023h
- ----------330023-----------------------------
- INT 33 - MS MOUSE - GET LANGUAGE FOR MESSAGES
- AX = 0023h
- Return: BX = language (see AX=0022h)
- Note: the US version of the driver always returns zero
- SeeAlso: AX=0022h
- ----------330024-----------------------------
- INT 33 - MS MOUSE v7.00+ - GET SOFTWARE VERSION AND MOUSE TYPE
- AX = 0024h
- 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)
- SeeAlso: AX=004Dh
- ----------330025-----------------------------
- INT 33 - MS MOUSE v8.10+ - GET ???
- AX = 0025h
- Return: AL = ???
- BX = ???
- CX = ???
- DX = ???
- ----------330026-----------------------------
- INT 33 - MS MOUSE v8.10+ - GET ???
- AX = 0026h
- Return: BX = ???
- CX = ???
- DX = ???
- Note: called by the newest Microsoft applications
- ----------330027-----------------------------
- INT 33 - MS MOUSE v8.10+ - GET ???
- AX = 0027h
- Return: AX = ???
- BX = ???
- CX = horizontal mickeys moved since last call
- DX = vertical mickeys moved since last call
- ----------330028-----------------------------
- INT 33 - MS MOUSE v8.10+ - ???
- AX = 0028h
- CX = ???
- 0000h reset to default???
- other
- DX = ???
- Return: CL = 00h
- ----------330029-----------------------------
- INT 33 - MS MOUSE v8.10+ - GET SUPPORTED VIDEO MODES???
- AX = 0029h
- CX = last video mode???
- 0000h get first
- other get next supported mode after mode CX
- Return: CX = first/next video mode
- ES:DX = 0000h:0000h
- ----------33002A-----------------------------
- INT 33 - MS MOUSE v8.10+ - GET ???
- AX = 002Ah
- Return: AX = ???
- BX = ???
- CX = ???
- DX = ???
- ----------33002B-----------------------------
- INT 33 - MS MOUSE v8.10+ - SET ACCELERATION PROFILES
- AX = 002Bh
- BX = active acceleration profile (0001h-0004h or FFFFh for current)
- ES:SI -> buffer containing acceleration profile data (see below)
- Return: ???
- SeeAlso: AX=002Ch"v8.10",AX=002Dh,AX=0033h
-
- Format of acceleration profile data:
- Offset Size Description
- 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
- ----------33002C-----------------------------
- INT 33 - MS MOUSE v??? - SET ACCELERATION PROFILES
- AX = 002Ch
- ES:DX -> name of file containing profiles
- Note: see MOUSEPRO.FIL for an example set of acceleration profiles
- SeeAlso: AX=0013h,AX=002Dh,AX=002Eh
- ----------33002C-----------------------------
- INT 33 - MS MOUSE v8.10+ - GET ACCELERATION PROFILES
- AX = 002Ch
- Return: AX = 0000h
- BX = currently-active acceleration profile
- ES:SI -> acceleration profile data (see AX=002Bh)
- SeeAlso: AX=002Bh,AX=0033h
- ----------33002D-----------------------------
- INT 33 - MS MOUSE v8.10+ - SELECT ACCELERATION PROFILE
- AX = 002Dh
- BX = acceleration level (0001h to 0004h or FFFFh for current)
- Return: AX = status
- 0000h successful
- ES:SI -> 16-byte blank-padded name of acceleration profile
- FFFEh invalid acceleration level
- ES:SI destroyed
- BX = active acceleration level
- SeeAlso: AX=0013h,AX=002Bh,AX=002Ch,AX=002Eh
- ----------33002E-----------------------------
- 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 for profile names (16 bytes per name)
- Return: AX = 0000h
- ES:SI buffer filled with default names if BL nonzero on entry
- Note: not supported by Logitech driver v6.10
- SeeAlso: AX=002Ch,AX=002Dh,AX=012Eh,AX=022Eh
- ----------33002F-----------------------------
- INT 33 - MS MOUSE v8.10+ - ???
- AX = 002Fh
- ???
- Return: ???
- Note: invoked by mouse driver v8.20 on being called with INT 2F/AX=530Bh
- SeeAlso: INT 2F/AH=53h
- ----------330030-----------------------------
- INT 33 - MS MOUSE v8.10+ - ???
- AX = 0030h
- CX = ???
- 0000h ???
- other ???
- Return: ???
- ----------330031-----------------------------
- INT 33 - MS MOUSE v8.10+ - GET ???
- AX = 0031h
- Return: AX = ???
- BX = ???
- CX = ???
- DX = ???
- ----------330032-----------------------------
- INT 33 - MS MOUSE v8.10+ - GET ???
- AX = 0032h
- Return: AX = ??? (FFFFh)
- BX = ??? (0000h)
- CX = ??? (E000h)
- DX = ??? (0000h)
- ----------330033-----------------------------
- INT 33 - MS MOUSE v8.10+ - GET 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
- Return: AX = 0000h
- ES:DX buffer filled (see below)
- SeeAlso: AX=002Bh
-
- Format of data buffer:
- Offset Size Description
- 00h 16 BYTEs ???
- 10h 324 BYTEs acceleration profile data (see AX=002Bh)
- 154h 5 BYTEs ??? (Microsoft driver, but not Logitech)
- ----------330034-----------------------------
- INT 33 - MS MOUSE v8.10+ - GET INITIALIZATION FILE
- AX = 0034h
- Return: ES:DX -> ASCIZ initialization (.INI) file name
- ----------330035-----------------------------
- 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 below)
- BL = size (see below)
- CH = threshold
- CL = active flag (00h disabled, 01h enabled)
- DX = delay
- other
- BH = style (00h normal, 01h reverse, 02h transparent)
- BL = size (00h small "1", 01h medium "1.5", 02h large "2")
- 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
- ----------330042-----------------------------
- INT 33 - PCMOUSE - GET MSMOUSE STORAGE REQUIREMENTS
- AX = 0042h
- Return: AX = FFFFh successful
- BX = buffer size in bytes for functions 50h and 52h
- = 0000h MSMOUSE not installed
- = 0042h functions 42h, 50h, and 52h not supported
- SeeAlso: AX=0015h,AX=0050h,AX=0052h
- ----------330043-----------------------------
- INT 33 - Mouse Systems MOUSE DRIVER v7.01 - CONFIGURE MOUSE???
- AX = 0043h
- CX:BX -> ??? buffer (see below)
- DL = ???
- Return: ???
- Note: also calls routines for INT 33/AX=0053h and INT 33/AX=004Fh
-
- Format of buffer:
- Offset Size Description
- 00h WORD I/O port address
- 02h BYTE ???
- 03h BYTE interrupt number
- 04h BYTE interrupt mask for interrupt controller
- 05h 5 BYTEs ???
- ----------330044CXCDEF-----------------------
- INT 33 - Mouse Systems MOUSE DRIVER v7.01 - TOGGLE ???
- AX = 0044h
- CX = CDEFh
- Return: AX = new state of ???
- SeeAlso: AX=0045h
- ----------330045CXCDEF-----------------------
- INT 33 - Mouse Systems MOUSE DRIVER v7.01 - TOGGLE ???
- AX = 0045h
- CX = CDEFh
- Return: AX = new state of ???
- SeeAlso: AX=0044h
- ----------330047-----------------------------
- 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: ???
- SeeAlso: AX=0067h
- ----------330048BXCDEF-----------------------
- 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)
- ---------------------------------------------
- INT 33 - Z-NIX MOUSE DRIVER v7.04d - INSTALLATION CHECK
- AX = 004Bh
- Return: ES:DI -> signature/description string if installed
- Note: the signature string in v7.04d is
- "Z-NIX;BUS,AUX,Serial 3-byte and 5-byte Mouse Driver;ZMOUSE;v7.04d"
- ----------33004CBXCDEF-----------------------
- INT 33 - Mouse Systems MOUSE DRIVER v7.01 - SET ??? FLAG
- AX = 004Ch
- BX = CDEFh
- SeeAlso: AX=006Ch
- ----------33004D-----------------------------
- INT 33 - MS MOUSE, LOGITECH - RETURN POINTER TO COPYRIGHT STRING
- AX = 004Dh
- Return: ES:DI -> copyright message "Copyright 1983 Microsoft ***"
- Note: also supported by Kraft mouse driver
- SeeAlso: AX=0024h,AX=006Dh
- ----------33004F-----------------------------
- INT 33 - Mouse Systems MOUSE DRIVER v7.01 - ENABLE MOUSE
- AX = 004Fh
- Return: nothing
- SeeAlso: AX=0043h,AX=0053h
- ----------330050-----------------------------
- INT 33 - PCMOUSE - SAVE MSMOUSE STATE
- AX = 0050h
- BX = buffer size (ignored by some driver versions)
- ES:DX -> buffer
- Return: AX = FFFFh if successful
- Note: 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
- SeeAlso: AX=0042h,AX=0052h
- ----------330052-----------------------------
- INT 33 - PCMOUSE - RESTORE MSMOUSE STATE
- AX = 0052h
- BX = buffer size (ignored by some driver versions)
- ES:DX -> buffer
- Return: AX = FFFFh if successful
- SeeAlso: AX=0050h
- ----------330053-----------------------------
- INT 33 - Mouse Systems MOUSE DRIVER v7.01 - DISABLE MOUSE
- AX = 0053h
- Return: nothing
- SeeAlso: AX=0043h,AX=004Fh
- ----------330054CXCDEF-----------------------
- INT 33 - Mouse Systems MOUSE DRIVER v7.01 - ???
- AX = 0054h
- CX = CDEFh
- BX = ??? (NOP if <= 0000h)
- Return: ???
- ----------330055-----------------------------
- INT 33 - Kraft Mouse - GET ???
- AX = 0055h
- Return: CX = ???
- DX = ???
- ES = ???
- ----------330058-----------------------------
- INT 33 - Mouse Systems MOUSE DRIVER v7.01 - ???
- AX = 0058h
- Return: AX = CS of driver
- CX:BX -> ???
- DX = ???
- ----------33005A-----------------------------
- INT 33 - Mouse Systems MOUSE DRIVER v7.01 - ???
- AX = 005Ah
- CX = number of WORDs to copy (max 0014h, but not range-checked)
- DX:SI -> buffer containing ??? (CX words)
- DX:BX -> buffer containing ??? (9*14h words, only first CX of each 14h
- used)
- ???
- Return: CF clear
- ???
- ----------330061BXCDEF-----------------------
- INT 33 - Mouse Systems MOUSE DRIVER v7.01 - ???
- AX = 0061h
- BX = CDEFh
- Return: CX = ???
- ----------330067-----------------------------
- INT 33 - Mouse Systems MOUSE DRIVER v7.01 - GET MOUSE BUTTONS???
- AX = 0067h
- Return: BL = number of buttons???
- SeeAlso: AX=0047h
- ----------33006CBXCDEF-----------------------
- INT 33 - Mouse Systems MOUSE DRIVER v7.01 - ???
- AX = 006Ch
- BX = CDEFh
- SeeAlso: AX=004Ch
- ----------33006D-----------------------------
- INT 33 - MS MOUSE, Logitech - GET VERSION STRING
- AX = 006Dh
- Return: ES:DI -> Microsoft version number of resident driver
- Note: also supported by Mouse Systems and Kraft mouse drivers
- SeeAlso: AX=004Dh,AX=266Ch
- ----------330070BXABCD-----------------------
- INT 33 - Mouse Systems MOUSE DRIVER - POPUP.COM - INSTALLATION CHECK
- AX = 0070h
- BX = ABCDh
- Return: AX = ABCDh if installed
- BX:CX -> data structure (see below)
- Notes: 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 data structure:
- Offset Size Description
- 00h WORD signature ABCDh
- 02h DWORD pointer to info structure???
- 06h 2 BYTEs ???
- 08h WORD signature ABCDh
-
- Format of info structure:
- Offset Size Description
- 00h WORD driver version
- 02h 8 BYTEs ???
- 0Ah WORD segment of ???
- ???
- ----------330072BXABCD-----------------------
- INT 33 - Mouse Systems MOUSE DRIVER v7.01 - ???
- AX = 0072h
- BX = ABCDh
- Return: ???
- ----------330073BXCDEF-----------------------
- INT 33 - Mouse Systems MOUSE DRIVER v7.01 - GET BUTTON ASSIGNMENTS???
- AX = 0073h
- BX = CDEFh
- ES:DX -> buffer for button assignments??? (3 bytes of data)
- Return: CX = number of buttons???
- Note: the default return buffer is "LMR"
- SeeAlso: AX=0067h
- ----------33012E-----------------------------
- INT 33 - MS MOUSE v8.10+ - ???
- AX = 012Eh
- BL = ???
- Return: AX = 0000h
- Note: not supported by Logitech driver v6.10
- SeeAlso: AX=002Eh,AX=022Eh
- ----------33022E-----------------------------
- INT 33 - MS MOUSE v8.10+ - ???
- AX = 022Eh
- BL = ???
- Return: AX = 0000h
- Note: not supported by Logitech driver v6.10
- SeeAlso: AX=002Eh,AX=012Eh
- ----------33136C-----------------------------
- INT 33 - LOGITECH MOUSE v6.10+ - ???
- AX = 136Ch
- BX = ???
- Return: AX = ???
- BX = ???
- ----------33146C-----------------------------
- 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: ???
- ----------33156C-----------------------------
- 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
- ----------33166C-----------------------------
- INT 33 - LOGITECH MOUSE v6.10+ - ???
- AX = 166Ch
- BL = ???
- 00h ???
- 01h ???
- other ???
- BH = new value of ???
- Return: AX = FFFFh
- ----------33176C-----------------------------
- INT 33 - LOGITECH MOUSE v6.10+ - ???
- AX = 176Ch
- ???
- Return: ???
- ----------33186C-----------------------------
- INT 33 - LOGITECH MOUSE v6.10+ - ???
- AX = 186Ch
- ???
- Return: ???
- ----------33196C-----------------------------
- INT 33 - LOGITECH MOUSE v6.10+ - ???
- AX = 196Ch
- ???
- Return: ???
- ----------331A6C-----------------------------
- INT 33 - LOGITECH MOUSE v6.10+ - GET ???
- AX = 1A6Ch
- Return: AX = FFFFh
- BX = ???
- CX = ???
- SeeAlso: AX=1B6Ch
- ----------331B6C-----------------------------
- INT 33 - LOGITECH MOUSE v6.10+ - SET ???
- AX = 1B6Ch
- BX = new value for ??? (0000h-0003h)
- Return: AX = FFFFh
- SeeAlso: AX=1A6Ch
- ----------331C6C-----------------------------
- INT 33 - LOGITECH MOUSE v6.10+ - ???
- AX = 1C6Ch
- BX = ???
- <42h ???
- =42h ???
- >42h ???
- ES:DI -> ???
- Return: AX = ???
- ----------331D6C-----------------------------
- INT 33 - LOGITECH MOUSE - GET COMPASS PARAMETER
- AX = 1D6Ch
- Return: BX = direction (0=north, 1=south, 2=east, 3=west)
- SeeAlso: AX=1E6Ch
- ----------331E6C-----------------------------
- INT 33 - LOGITECH MOUSE - SET COMPASS PARAMETER
- AX = 1E6Ch
- BX = direction (0=north, 1=south, 2=east, 3=west)
- SeeAlso: AX=1D6Ch
- ----------331F6C-----------------------------
- 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
- ----------33206C-----------------------------
- INT 33 - LOGITECH MOUSE - SET LEFT OR RIGHT PARAMETER
- AX = 206Ch
- BX = parameter (00h = right, FFh = left)
- SeeAlso: AX=216Ch
- ----------33216C-----------------------------
- INT 33 - LOGITECH MOUSE - GET LEFT OR RIGHT PARAMETER
- AX = 216Ch
- Return: BX = parameter (00h = right, FFh = left)
- SeeAlso: AX=206Ch
- ----------33226C-----------------------------
- INT 33 - LOGITECH MOUSE - RE v:v wwwxwvxxw$vwww only frees memory; does not restore hooked interrupts
- ----------33236C-----------------------------
- INT 33 - LOGITECH MOUSE - SET BALLISTICS INFORMATION
- AX = 236Ch
- BX = 0=off, 1=on
- CX = 1=low, 2=high
- SeeAlso: AX=002Ch,AX=1F6Ch
- ----------33246C-----------------------------
- INT 33 - LOGITECH MOUSE - GET PARAMETERS AND RESET SERIAL MOUSE
- AX = 246Ch
- ES:DX -> parameter table buffer (see below)
- Return: AX = FFFFh if driver installed for serial mouse
- SeeAlso: AX=0000h,AX=256Ch
-
- Format of parameter table:
- Offset Size Description
- 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 0 (serial mouse only)
- 0Ah WORD port (serial mouse only)
- 0Ch WORD physical buttons
- 0Eh WORD logical buttons
- ----------33256CBX00h -----------------------
- INT 33 - LOGITECH MOUSE - SET PARAMETERS
- AX = 256Ch
- BX = 00h set baud rate (serial mouse only)
- CX = rate (0=1200, 1=2400, 2=4800, 3=9600)
- = 01h set emulation (serii mouse only)
- CX = emulation
- 0 = 5 byte packed binary
- 1 = 3 byte packed binary
- 2 = hexadecimal
- 3 = relative bit pad
- 4 = not supported
- 5 = MM Series
- 6 = not supported
- 7 = Microsoft
- = 02h set report rate (serial mouse only)
- CX = rate (0=10, 1=20, 2=35, 3=50, 4=70, 5=100, 6=150)
- = 03h set port (serial mouse only)
- CX = port (1, 2)
- = 04h set mouse logical buttons
- CX = buttons (2, 3)
- Return: AX = FFFFh if driver installed for serial mouse
- SeeAlso: AX=246Ch,AX=276Ch
- ----------33266C-----------------------------
- INT 33 - LOGITECH MOUSE - GET VERSION???
- AX = 266Ch
- Return: BX = 'SS'
- CH = '4' major version number
- CL = '1' minor version number
- SeeAlso: AX=006Dh
- ----------33276C-----------------------------
- INT 33 - LOGITECH MOUSE - ??? Tries MMSeries, Baud 2400
- AX = 276Ch
- SeeAlso: AX=256Ch
- ----------333000-----------------------------
- 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
- ----------333001-----------------------------
- 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
- ----------333001-----------------------------
- 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
- ----------333003-----------------------------
- INT 33 - Smooth Mouse Driver, PrecisePoint - GET INFORMATION
- AX = 3003h
- BL = data structure selector
- 00h Primary Bitmap (used for 25 line mode)
- 01h Secondary Bitmap (used for 43/50 line modes)
- 02h Sacrifice Character Map
- 03h Program Information
- Return: ES:DI -> selected data structure
- SeeAlso: AX=3000h
-
- Format of Primary/Secondary Bitmap [SMD_BITMAP_STRUCT]
- Offset Size Description
- 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
- 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
- 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
- ----------333004-----------------------------
- INT 33 - Smooth Mouse Driver, PrecisePoint - RESERVED FUTURE EXPANSION
- AX = 3004
- SeeAlso: AX=3000h
- ----------333005-----------------------------
- INT 33 - Smooth Mouse Driver, PrecisePoint - RESERVED FUTURE EXPANSION
- AX = 3005
- SeeAlso: AX=3000h
- ----------334F00-----------------------------
- INT 33 - LOGITECH MOUSE v6.10+ - GET ???
- AX = 4F00h
- Return: AX = 004Fh if supported
- BX = ???
- ES:DI -> ???
- SeeAlso: AX=4F01h
- ----------334F01-----------------------------
- INT 33 - LOGITECH MOUSE v6.10+ - ???
- AX = 4F01h
- ES = ???
- Return: AX = 004Fh if supported
- ES:DI -> ???
- SeeAlso: AX=4F00h
-