CuteMouse driver v1.73. Copyright (c) 1997-2000 Nagy Daniel
Release date: 2000-08-01


Description:
------------

CuteMouse is a mouse driver, which support many mouse protocols - both
serial and PS/2. Serial mouse searched at all COM ports, although COM
port, also as IRQ line, can be forced.

Basically CTMOUSE was written to use as small amount of memory as possible
and amount of memory it needs now is less than 4k. It install itself into
upper memory, if they availbale (so using external utilities like DOS 'lh'
command is not required).

CTMOUSE support cursor pointer drawing in all standard graphics and text
modes with any screen size, where screen size automatically detected when
reset functions called or video mode changed.

There is CuteMouse discussion group, which can be subscribed at official
homepage http://www.vein.hu/~nagyd or by sending empty message to
mailto:cutemouse-subscribe@egroups.com

CuteMouse is under the GPL license and is part of the FreeDOS project at
http://www.freedos.org


Details:
--------

Supported protocols include standard PS/2, Microsoft, Mouse Systems and
Logitech protocols. In current version there are two separate programs:
one for PS/2 only and second for other protocols. For Microsoft and PS/2
protocols support of middle button (if they present) can be forced.

WARNING: when 3 buttons mode for Microsoft mouse forced, then don't try to
press both left and middle or right and middle buttons simultaneously, or
this can cause "middle button state triggering" - i.e. when middle button
pressed, then driver think that button released and vice-versa. This is
peculiarity of the Microsoft protocol and can't be changed, so, if button
triggering happened, simply try to press both buttons simutaneously again.

CTMOUSE probe all (or forced) COM ports to find where mouse with Microsoft
or Logitech protocol connected. If none found, then CTMOUSE installs at
COM1 (or forced COM) as if there is mouse with Mouse Systems protocol,
even there is no mouse connected at all (because mouse with Mouse Systems
protocol can't be detected). But support for Mouse Systems protocol can be
prohibited.

Help screen with all options description can be obtained by the '/?'
command line option.

CTMOUSE package also includes protocol analyzer - program, which allow to
see how mouse works and what send to computer at each action. PROTOCOL can
even describe PNP information, sended by mouse, if this is PNP mouse. All
output goes through standard DOS functions, so you can redirect output of
PROTOCOL to disk for subsequent analyzing or resending to someone else.


Compiling:
----------

To assemble the driver use TASM (or any compatible assembler) and any
linker that can produce a COM file from OBJ files:

	tasm /m ctmouse.asm
	tlink /t /x ctmouse.obj

To assemble the driver for PS2 mice remove the semicolon before the 'PS2=1'
line in the source or use next commands:

	tasm /m /dPS2 ctmouse.asm,ctmousep
	tlink /t /x ctmousep.obj

To assemble the serial protocol analyzer:

	tasm /m protocol.asm
	tlink /t /x protocol.obj

To compile or delete temporary file MAKE also can be used (see makefile).


Contents:
---------

copying      - GNU license file
makefile     - script file for make
ctmouse.asm  - source code
ctmouse.com  - driver for Microsoft, Mouse Systems and Logitech serial mices
ctmousep.com - driver for PS/2 mices
ctmouse.txt  - this file
history.txt  - details about versions evolution
protocol.asm - protocol analyzer source
protocol.com - protocol analyzer (for debugging purposes)
protocol.txt - description of some low level mouse protocols
technote.txt - technical notes for advanced users


Credits:
--------

- Fernando Papa Budzyn: self-loadhigh capability
- Arkady V.Belousov <ark@mos.ru>: many bugfixes, optimizations and features
- Alain M. <alainm@pobox.com>: some ideas
- Robert Riebisch <riebisch@bercom-berlin.de>: mode 13h positioning bugfix
- Martin <nocash@work.de>: optimizations
- Paul Schubert: much faster PS/2 codes
- All who helped me with ideas and codes


Contacts:
---------

mailto:nagyd@almos.vein.hu
http://www.vein.hu/~nagyd
