History: -------- 2.0 by Nagy Daniel - Hardware PS/2 handling reintroduced - Added new wheel API - Added wheel tester utility by Jason Burgon - Implemented INT 33/0028; the DX argument is ignored - Reimplemented functions INT 33/001A and 001B to mimic MS Mouse behavior - Changed semantics of the /R command line option: its arguments multiplied by 10 and passed to 001A function by Arkady V.Belousov - Cleaned and optimized source code and fixed many bugs 1.9 by Arkady V.Belousov (documentation proofreading by Frank Pruefer ) - Heavy source cleaning and optimization - INT 33/001A and 001B functions maked dummy because their descriptions in RBIL 61 don't correspond with MS Mouse behavior and this causes cursor slowdown in some applications (for example, SimCity 2000) - For /Sn/P option combination INT 33/0024 now returns proper IRQ# - Removed flushing mouse data stream when detecting mouse type (this also prevents infinite loops in some cases under Windows) - Small mouse movements are now doubled also in auto resolution mode - Cursor redrawing routines now recall themselves if cursor was moved by some interrupt handler when they work; this should avoid differences between seen and real cursor status in some rare cases - LCR and MCR now preserved in UARTs for which no mouse is detected - Added additional check for PS/2 device presence (this prevents big delay at startup in some cases under Windows) - Added support for 286 and 386 CPUs - Added external assembler library - Added Dutch, French, Latvian, Polish, Slovak and Spanish message files - Added /N command line option to force load CuteMouse as new TSR - COMTEST utility improved (and may be used to integrate IRQ auto detection into CuteMouse) by Donald G.Davis - INT 33/0024 and 006D now report driver version 7.05 instead of 6.26 - Implemented function INT 33/0031 - CTMOUSE now handles INT 10/4F02 and some INT 10/11 video functions and correctly recalculates screen size, for example, when screen switched to 43/50 lines text mode 1.8 by Arkady V.Belousov (some ideas by Alain Mouette , documentation proofreading by Mike Millen and Frank Pruefer ) - Bugfixes, heavy optimizations, some features - PS/2 mice were not found on some machines - Serial mouse reset reinforced (previously mouse froze in some cases) - Serial and PS/2 modules combined into one executable - For Mouse Systems protocol CTMOUSE now installs at first existing COM port, not at COM1 which may be absent - Added support for serial Microsoft wheel protocol, wheel interpreted as third button - Auto resolution behavior corrected and is now default resolution - INT 33/001F now doesn't restore interrupts (and CTMOUSE doesn't unload resident part) if INT 33 or INT 10 are intercepted by another program - Cursor drawing much enhanced and bugfixed: finished INT 33/0010 support and video page change detection for graphics drawing; single video registers handled in RIL more accurately; cursor is drawn only when cursor shape is inside screen ranges - Some ill-behaved applications (like Norton Commander or Klondike by Eduardo Martins) call INT 33/0001, 0009 and 000A in loops; to prevent cursor flickering the cursor is now redrawn only if its position or pattern is changed - Added workarounds for Pentium and PS/2 BIOS, Logitech MouseWare Windows driver, Turbo Pascal IDE and Nicemouse utility peculiarities - Messages for English extracted into separate message file - Added Brazilian, Portugese, German, Italian and Hungarian message files - Ordered errorlevels returned for each event - Added /B command line option to cancel run if mouse services are already present 1.73 by Arkady V.Belousov (many ideas by Alain Mouette ) - Serial mouse detection routine is now CPU speed independent and also accepts PnP mice - Changed command line interface - Added mouse autosearch through all COM ports - Added support for Microsoft and PS/2 mice with 3 buttons - Added /W command line option to prevent loading TSR into UMB - Part of driver's PSP used for placing some driver data - Memory handling routines heavily optimized and debugged - Bugfixed and extended protocol analyzer possibilities 1.72 by Arkady V.Belousov - Bugfixes, optimizations, some features - Commented out video retrace waiting - Returned handling of PS/2 pointing device through BIOS (thanks to Martin Eckel ) - Reimplemented function INT 33/0010 - Added autodetection for nonstandard screen sizes - Implemented functions INT 33/0023, 0027, 002A and 0032 1.71 by Arkady V.Belousov - Many bugfixes, huge optimizations, some features - Direct hardware handling for PS/2 mouse events 1.6 - Positioning bugfix for videomode 13h - Added protocol analyzer (debugging purposes only) 1.5 by Arkady V.Belousov - Many bugfixes, huge optimizations - Fixed memory allocation bugs 1.4 - Added self-load high capability - Horizontal and vertical speed can be different (good for some games...) - Implemented functions INT 33/001A and 001B - Fixed some small bugs and a BIG bug 1.3 - Fixed some small bugs and added CTMOUSEP.COM for PS/2 mice 1.2a - Fixed a bug in the Driver Disable function (1Fh) 1.2 - Added command line option to force IRQ number of COM port 1.1 - Added command line options to force a specific mode - Rewritten Mouse Systems initalization routine, now more Genius mice with 3 buttons will work 1.0 - First public release