[comp.os.msdos.programmer] MS-Mouse driver version 7.04 Graphics Cursor

Dave_Kirsch@mindlink.UUCP (Dave Kirsch) (03/28/91)

>In article <25180@hydra.gatech.EDU>, bb16@prism.gatech.EDU (Scott
>Bostater) writes:
>
> A co-worker recently got a new MS-Mouse for his computer.  The driver,
> version 7.04, uses a graphics cursor even while in text mode.  I'm
> talking a true graphics cursor, not just redefining the text cursor
> symbol to be a pointing arrow.  I can cover up half a character on one
> line and half the character on the line below it.  This happens in
> everything we tried except WP5.1

Interesting, sounds exactly like the mouse routines I wrote back in
Nov. of '90.  I released them in Jan and mailed 100 or so copies to
various people around the net.  You say, "not just redefining the text
cursor symbol to be a pointing arrow" when in fact that is what they
must be doing.  Except they are using either a 2x2 or 3x3 character
matrix with pixel resolution.  Exactly what my routines do.

> I thought to myself "Slick!  I wonder if this works on my mouse?" Which is
> another MS-Mouse purchased 1.5 to 2 years ago.   It worked fine. Another
> co-worker saw it and decided to try it out on her mouse, a MS-mouse thats
> about 3 years old (but its still the ergonomic style).  It didn't work.
> I took the driver home and tried it out on my ATI VGAWonder+ video board that
> has a built in bus mouse and it didn't work there either.

Mouse drivers are very specific to the brand of mouse.  The Microsoft
mouse driver will only work on Microsoft mice (and probably only later
models).

> My questions are:
>   1.  How do they do the graphics cursor in the first place?  It's been a
>       long time since Micro$oft has impressed me, and this has certainly
>       tickled my fancy.

It's very simple, I won't go into it here, but full documentation on
how it is done is included with my routines to do this 'graphics
cursor'.  I label it a 'TRUE' mouse cursor in text mode.  Microsoft
didn't impress me with this one, as I had already did it.  :-)
With my routines, you can add this ability to your own programs.

>  2.  The only difference that I can see is the age of the bus mouse
>      controller (and the manufacturer).  Has Micro$oft made some hardware
>      changes to the controller in recent years?  I assumed that the
>      controller was a rather dumb piece of hardware because of the
>      exsistence of serial mice.  Am I wrong in this assumption?

I'm not sure on this one.  I suppose it could be the case.  I remember
the original Microsoft mouse... what a horror.

>   3.  Could Micro$oft be checking to see if the bus controller is theirs and
>       disabling this feature if its not one of their own (and recent)?

I would be surprised if any version of the Microsoft Mouse Driver
worked on a non-Microsoft mouse.  The low level interface differs
greatly between mouse brands (Microsoft, Logitech, et al.)  That's why
we have mouse drivers in the first place.

>  4.  Do any of the other mice manufacturers/software drivers have this
>      capability?

Only two others that I know of.  Norton's version 5.0 of his utilities
will do it, and my routines.  My routines are for Turbo C 2.0 and
above, Microsoft C 6.0 and above, and Turbo Pascal 6.0 and above.
They are simple to use and include a full description of how the
routines implement a 'graphics cursor' in text mode.  I have released
them as freeware and will mail the routines (with full source code) to
anyone that requests them.  My routines don't require the new mouse
driver.  They'll work with any Microsoft compatible mouse driver (not
hardware compatible, but driver [software] compatible).
--
--------------------------------------------------------------------
/// Dave 'Zoid' Kirsch     | "The Art Of Noise refuse to blame
                           | themselves." - AoN, WHO'S AFRAID OF...?
Voice:  (604) 585-8844     | "HEALTH WARNING:  This record could be
UUCP:  a563@mindlink.UUCP  | hazardous to the health of cloth-eared
Internet:  Zoid@cc.sfu.ca  | nincompoops.  If you suffer from this
                           | condition, consult your Doctor
Vancouver, British Columbia| immediately." - Mike Oldfield, AMAROK.

jerry@gumby.Altos.COM (Jerry Gardner) (04/02/91)

In article <5303@mindlink.UUCP> Dave_Kirsch@mindlink.UUCP (Dave Kirsch) writes:
}
}>In article <25180@hydra.gatech.EDU>, bb16@prism.gatech.EDU (Scott
}>Bostater) writes:
}>
}> A co-worker recently got a new MS-Mouse for his computer.  The driver,
}> version 7.04, uses a graphics cursor even while in text mode.  I'm
}> talking a true graphics cursor, not just redefining the text cursor
}> symbol to be a pointing arrow.  I can cover up half a character on one
}> line and half the character on the line below it.  This happens in
}> everything we tried except WP5.1
}
}Interesting, sounds exactly like the mouse routines I wrote back in
}Nov. of '90.  I released them in Jan and mailed 100 or so copies to
}various people around the net.  You say, "not just redefining the text
}cursor symbol to be a pointing arrow" when in fact that is what they
}must be doing.  Except they are using either a 2x2 or 3x3 character
}matrix with pixel resolution.  Exactly what my routines do.
}
}> I thought to myself "Slick!  I wonder if this works on my mouse?" Which is
}> another MS-Mouse purchased 1.5 to 2 years ago.   It worked fine. Another
}> co-worker saw it and decided to try it out on her mouse, a MS-mouse thats
}> about 3 years old (but its still the ergonomic style).  It didn't work.
}> I took the driver home and tried it out on my ATI VGAWonder+ video board that
}> has a built in bus mouse and it didn't work there either.
}
}Mouse drivers are very specific to the brand of mouse.  The Microsoft
}mouse driver will only work on Microsoft mice (and probably only later
}models).

The true mouse cursor only appears when using certain video boards.  It works
with Video 7 1024i boards, but not with Orchid ProDesigner II boards, for 
example.

The mouse cursor is a character-size box on boards where it isn't the arrow
shape.

}
}> My questions are:
}>   1.  How do they do the graphics cursor in the first place?  It's been a
}>       long time since Micro$oft has impressed me, and this has certainly
}>       tickled my fancy.
}
}It's very simple, I won't go into it here, but full documentation on
}how it is done is included with my routines to do this 'graphics
}cursor'.  I label it a 'TRUE' mouse cursor in text mode.  Microsoft
}didn't impress me with this one, as I had already did it.  :-)
}With my routines, you can add this ability to your own programs.

Microsoft did impress me with this one, because they not only did it, but
they did it right.  With the Microsoft driver, there are no problems with
the mouse cursor being in the same cell with 'm', for example.  With your
code, a lower case 'm' has an extra line of pixels grafted onto the right
edge of the character.  The Microsoft mouse cursor doesn't suffer from this
problem.  Also, in your implementation, there is an annoying tendency for the
sides of the arrow to change shape slightly as the mouse is moved slowly.
Again, the Microsoft mouse cursor doesn't exhibit this problem.

}>   3.  Could Micro$oft be checking to see if the bus controller is theirs and
}>       disabling this feature if its not one of their own (and recent)?
}
}I would be surprised if any version of the Microsoft Mouse Driver
}worked on a non-Microsoft mouse.  The low level interface differs
}greatly between mouse brands (Microsoft, Logitech, et al.)  That's why
}we have mouse drivers in the first place.

The esistence of the mouse cursor seems to be related to the video board in
use, not the type of mouse.

}>  4.  Do any of the other mice manufacturers/software drivers have this
}>      capability?
}
}Only two others that I know of.  Norton's version 5.0 of his utilities
}will do it, and my routines.  My routines are for Turbo C 2.0 and
}above, Microsoft C 6.0 and above, and Turbo Pascal 6.0 and above.
}They are simple to use and include a full description of how the
}routines implement a 'graphics cursor' in text mode.  I have released
}them as freeware and will mail the routines (with full source code) to
}anyone that requests them.  My routines don't require the new mouse
}driver.  They'll work with any Microsoft compatible mouse driver (not
}hardware compatible, but driver [software] compatible).

But your routines have problems with their implementation, as pointed 
out above.


-- 
Jerry Gardner, NJ6A					Altos Computer Systems
UUCP: {sun|pyramid|sco|amdahl|uunet}!altos!jerry	2641 Orchard Parkway
Internet: jerry@altos.com				San Jose, CA  95134
Help stamp out vi in our lifetime.                      (408) 432-6200