[comp.sys.ibm.pc.hardware] MS-Mouse driver version 7.04

bb16@prism.gatech.EDU (Scott Bostater) (03/29/91)

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

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.  

As a point of reference, all four computers are 25 MHz 386's, all have Bus
mouses, 2 are running Dos 3.3 and 2 are running DOS 4.01 (one DOS 3.3 and
one DOS 4.0 machine worked), All have at least 2 MB of RAM, all are C&T 
chip sets, etc.  they're all very similiar machines (other than hard disks)
 
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.

   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?  

   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)?

   4.  Do any of the other mice manufacturers/software drivers have this 
       capability?
       
-- 
Scott Bostater      Georgia Tech Research Institute - Radar Systems Analysis
"My soul finds rest in God alone; my salvation comes from Him"  -Ps 62.1
uucp:     ...!{allegra,amd,hplabs,ut-ngp}!gatech!prism!bb16
Internet: bb16@prism.gatech.edu

jls@hsv3.UUCP (James Seidman) (04/02/91)

You say that all the machines are using C&T chipsets, but my guess is that
you are mistaken.  The way that the pointer is done is by using the built-in
hardware cursor on Video-7 boards.  The one machine on which it works must
have a Video-7 (or OEM equivalent) board in it.

Being able to display that hardware cursor is completely independent of
the physical mouse itself, assuming that the mouse is in fact 100% Microsoft
compatible.

-- 
Jim Seidman (Drax), the accidental engineer.
"There's a certain freedom to being completely screwed." - The Freshman
UUCP: ames!vsi1!hsv3!jls	      Internet: hsv3.UUCP!jls@apple.com

edvs@ted.cs.uidaho.edu (04/03/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
...

   Video 7 video adapters (Fastwrite, VRAM, 1024i, and probably others) have
capabilities built into the hardware to generate a smooth mouse cursor, even in
a text mode application (video mode 3, etc.).  This hardware cursor can be
defined thru a 64x64 pixel screen and cursor bit map.  The Microsoft mouse
driver detects the Video 7 hardware and uses the capabilities of the card.
   By default, the mouse cursor will be a white arrow with a black border.  The
driver supports the interrupt X'33' function X'0A' to change the text mode
cursor.  The cursor can be set to any of the ASCII characters X'01' to X'FE',
specified in DL.  If DL is zero, the arrow will become the cursor.  It may have
a function call that would allow specification of the 64x64 bitmap, but I have
not figured it out yet (it may be a derivative of function X'0A').  The bitmap
can be changed by writing directly to the hardware.
   Any text mode application can use the combination of the Video 7 hardware
and the Microsoft mouse driver to produce a smooth mouse cursor; the usual
block text cursor becomes a smooth moving arrow.  Just use the standard mouse
driver text mode function calls.
   Norton's Utilities 5.0 uses graphics mode, not text mode, which is why it
has a smooth cursor.

edvs@idui1.csrv.uidaho.edu

jeffhi@microsoft.UUCP (Jeff HINSCH) (04/03/91)

The mouse driver is using extra capabilities that 
are built into your video hardware.  Apparently,
the ATI you have doesn't have those capabilities.
Some people don't like the graphics cursor in 
text mode.  If you have the graphics cursor and
you'd prefer the text cursor, use "/Y" on the 
mouse driver invocation line.
--
                   my posts are my own
{uunet, decvax, uw-beaver}!microsoft!jeffhi    (Jeff Hinsch)

mlord@bwdls58.bnr.ca (Mark Lord) (04/04/91)

In article <7930@hsv3.UUCP> jls@hsv3.UUCP (James Seidman) writes:
<You say that all the machines are using C&T chipsets, but my guess is that
<you are mistaken.  The way that the pointer is done is by using the built-in
<hardware cursor on Video-7 boards.  The one machine on which it works must
<have a Video-7 (or OEM equivalent) board in it.

Are you sure?  This has been discussed before and the consensus was that
Microsoft is doing what NORTON 5.0 does -- reprogramming the font on the fly
to simulate a graphics cursor in text mode.  A person from the net has even
figured out how to do this independantly, and has placed the source code for
it (along with a demo) on Simtel20 for all to see.. including Microsoft.

All that is required is a VGA card.  *Any* VGA card.  (EGA also ok??)
-- 
MLORD@BNR.CA  Ottawa, Ontario *** Personal views only ***
begin 644 NOTSHARE.COM ; Free MS-DOS utility - use instead of SHARE.EXE
MZQ.0@/P/=`J`_!9T!2[_+H``L/_/+HX&+`"T2<TAO@,!OX0`N1(`C,B.P/.DS
<^K@A-<TAB1Z``(P&@@"ZA`"X(27-(?NZE@#-)P#-5
``
end

drp@buhub.bradley.edu (Douglas Pokorny) (04/05/91)

edvs@ted.cs.uidaho.edu writes:

>   Norton's Utilities 5.0 uses graphics mode, not text mode, which is why it
>has a smooth cursor.


Actually this is not true.  Norton 5.0 does use text mode, however it 
uses the reprogrammable character generator of the EGA and VGA cards
to produce the buttons, click-boxes and mouse pointer.  Everytime
the mouse is moved the software reprograms the pointer.

Basically it works like this:  the characters currently on the screen
are read and duplicated in spare "dummy characters" the mouse cursor
is overlayed upon them and they replace the characters currently at
the mouse position.  Using this scheme, Norton has to have at least four
"dummy" characters, because at any one time their cursor can be on
four characters.

You can tell that the cursor is emulated in text mode because if
you watch it move horizontally, you'll notice that a band of
distorted pixels will travel the length of the cursor.  This is a 
clear sign that the screen is in 720x400 text mode, and the 9th
pixel in each character box is a duplicate of that in the eigth.
(This duplication only occures with about 32 characters in the
upper 128 of the character set)

-Doug
drp@buhub.bradley.edu

Dave_Kirsch@mindlink.UUCP (Dave Kirsch) (04/05/91)

> mlord@bwdls58.bnr.ca writes:
> 
> In article <7930@hsv3.UUCP> jls@hsv3.UUCP (James Seidman) writes:
> <You say that all the machines are using C&T chipsets, but my guess is that
> <you are mistaken.  The way that the pointer is done is by using the built-in
> <hardware cursor on Video-7 boards.  The one machine on which it works must
> <have a Video-7 (or OEM equivalent) board in it.
> 
> Are you sure?  This has been discussed before and the consensus was that
> Microsoft is doing what NORTON 5.0 does -- reprogramming the font on the fly
> to simulate a graphics cursor in text mode.  A person from the net has even
> figured out how to do this independantly, and has placed the source code for
> it (along with a demo) on Simtel20 for all to see.. including Microsoft.
> 
> All that is required is a VGA card.  *Any* VGA card.  (EGA also ok??)

I am the person that wrote the routines to do an independant mouse cursor with
a true pixel resolution.  And yes, it does work on *any* EGA or VGA card.  I'd
like to make it work on a Hercules RAMFont, but I haven't found the programming
specs for one yet.

The routines are available on SIMTEL20 in PD1:<MSDOS.MOUSE> as MOU.ZIP. That is
version 1.00, I have version 1.04 which should be on SIMTEL20 soon.

The routines include full source, and the latest version works with Microsoft
C6.00, Turbo C 2.0, Turbo C++ 1.x, Borland C++ 2.x, and includes a version for
Turbo Pascal V6.00.  I hope to be adding support for Zortech C/C++, but no one
I know has a Zortech compiler.

I orginially stated I would mail anyone the routines, but after mailing 100 or
so copies out, I've withdrawn that offer.  Please don't mail me asking for
them, sending out 6 Megabytes of UUENCODED pieces of mail is enough for now.  I
don't want to send anymore.  If you can, get them from SIMTEL20.  Also, I've
heard that they are floating around BBSs around the continent, and is available
on Compu$erve (don't know where though).  Might be on BIX, too.

In any event, the routines are _freeware_, so use them as you see fit.  I
should be putting out a new version of them soon (2.00) that includes the
ability to redefine the 16x16 matrix cursor to anything you want.  I'll try and
get the new version on SIMTEL20 asap.

If you use them in your programs, I'd be glad to see what you have done with
them.  I've been more than overwhelmed with the response I have gotten from
releasing the routines (including 7:30AM phone calls from the east coast asking
questions about them. :)

--
--------------------------------------------------------------------
/// 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
                           | nincompoops.  If you suffer from this
                           | condition, consult your Doctor
Vancouver, British Columbia| immediately." - Mike Oldfield, AMAROK.