2.11.2005

The fix:
This build of the driver fixes the long existing problem with mouse cursors in OS/2 (and DOS ?) FULLSCREEN sessions. The problem was that
the mouse cursor draw in FULLSCREEN sessions was unreliable. Sometimes it would work sometimes it would not.

General Info:
This driver is built upon the last publicly available DDK sources for the IBM mouse driver will scroll wheel support.
These sources date from April 2002 till End of 2003. However, there is no indication in the sources to what OS/2 or Fixpak revision the correspond.

How to install:
Just save the old mouse.sys and copy other the mouse.sys contained in this package.

How to deinstall:
Just revert the installation process.

What has been fixed:
DDK\BASE\SRC\DEV\MOUSE\SCROLL\util2.asm, Routine "InitFSCB" and
DDK\BASE\SRC\DEV\MOUSE\SCROLL\init.asm, Routine "InitFSCB2":

I added the following at the end of the routine(s), right before the "ret" statement:
	mov [si].fTaskPtr,0	     ;  Task time cursor registered	(GRADD)
	mov [si].fBlocked,0          ;  Blocked flag			(GRADD)
	mov [si].CursorBlockID,0     ;  ID of blocked thread		(GRADD)
	mov [si].usLastX,0           ;  Last X value given		(GRADD)
	mov [si].usLastY,0	     ;  Last Y value given		(GRADD)

Explanation:
"fTaskPtr" variable has to be set to zero, otherwise the Mouse Pointer Draw routine will suppress the drawing of the mouse pointer 
(in FULLSCREEN sessions). Since fTaskPtr normally is never changed during runtime (with the exception of the execution of an undocumented IOCTL call),
it needs to be initalized to that value. The rest of the GRADD related variables are also initialized to 0 (to be save). This is what the fix does.

Running bldlevel.exe:
When this tool is run against mouse.sys it will report the following
Signature:       @#ERDMANN:10.141#@##1## 11/02/05 21:42:08        ERDE2::::1::@@
  OS/2 Mouse Device Driver
Vendor:          ERDMANN
Revision:        10.141
Date/Time:       11/02/05 21:42:08
Build Machine:   ERDE2
File Version:    10.141.1
Description:     OS/2 Mouse Device Driver

I have chosen the Revision to be 10.141 which corresponds to the revision in this release of the driver which is the most recent, freely available revision
of this driver at the point of writing:
http://service.software.ibm.com/os2dd/free/SingleMouse/smouse.exe 

However, I don't know if the driver sources really reflect that revision. It was reported by a user that older versions of mouse.sys than the one listed
cannot be replaced by this fixed version, presumably because some functionality was added or altered in the recent past or because of a mismatch of the
WPS Mouse Object and the driver.

Debugging:
File mouse.sym was added to this package. That will allow to display symbols for debugging or, for XWorkplace, for correct reporting of failing routine.
Just place in the same directory as mouse.sys. However, this file is not needed for normal operation.

History:
Version 1: introduced the fix for "fTaskPtr"
Version 2: NOTHING has changed in the driver. Only this info file was updated and the revision string in the driver.



Lars Erdmann









