[comp.sys.ibm.pc.hardware] Mice

ge@wn3.sci.kun.nl (Ge' Weijers) (11/05/90)

Does anyone have the protocol specifications of the Microsoft serial mouse
available, especially how do you know one is connected.
I'd like to know the same for a 3 button (Mouse Systems-type) mouse.

Ge' Weijers
--
Ge' Weijers                                    Internet/UUCP: ge@cs.kun.nl
Faculty of Mathematics and Computer Science,   (uunet.uu.net!cs.kun.nl!ge)
University of Nijmegen, Toernooiveld 1         
6525 ED Nijmegen, the Netherlands              tel. +3180652483 (UTC-2)

mpe@shamash.cdc.com (Mike Ebsen) (11/06/90)

Help, I have access to several mouse drivers but do not have any documentation
on mouse calles 16 through 256 (or whatever the max is).  Could some kind
soul please E-mail me either a copy of their code driver subroutines for
this bounded range or describe briefly what the function is and arguments.

I will gladly re-post my driver with any new additions for the entire network
to enjoy if anyone responds.  Your help is always welcomed.

mpe@shamash.cdc.com

wjb@moscom.UUCP (Bill de Beaubien) (11/07/90)

In article <2410@wn1.sci.kun.nl> ge@wn3.sci.kun.nl (Ge' Weijers) writes:
>Does anyone have the protocol specifications of the Microsoft serial mouse
>available, especially how do you know one is connected.
>I'd like to know the same for a 3 button (Mouse Systems-type) mouse.

The easiest way to see if a mouse is connected is to use int 33h, service 0.
Load AX with 0, call int 33h.  If AX=0FFFFh, mouse support is available,
and BX contains the number of buttons.  If AX is unchanged, no mouse support
is available.  This actually detects the mouse driver.  If somebody runs the
driver, and subsequently disconnects the mouse, I believe it will still work,
but no guarantees. (In other words, test it).  This information is for the
Microsoft mouse.  If the mouse-systems mouse is Microsoft compatible, it
should work for that, too.  I know that it works for my Logitech.

>Ge' Weijers

Bill
-- 
Bill de Beaubien / wjb@moscom.com 

bmarsh@cod.NOSC.MIL (William C. Marsh) (11/08/90)

In article <2361@moscom.UUCP> wjb@moscom.UUCP (Bill de Beaubien) writes:
>In article <2410@wn1.sci.kun.nl> ge@wn3.sci.kun.nl (Ge' Weijers) writes:
>>Does anyone have the protocol specifications of the Microsoft serial mouse
>>available, especially how do you know one is connected.

>The easiest way to see if a mouse is connected is to use int 33h, service 0.
>Load AX with 0, call int 33h.  If AX=0FFFFh, mouse support is available,
>and BX contains the number of buttons.  If AX is unchanged, no mouse support
>is available.

First, check to make sure the interrupt vector used by the 'int 33h' is not
all zeros!  Older versions of DOS did not initialize all the interrupt vectors
to point to an iret, so simply calling the interrupt would result in a crash.

This is important for looking for an EMS driver too.

Bill
-- 
Bill Marsh, Naval Ocean Systems Center, San Diego, CA
{arpa,mil}net: bmarsh@cod.nosc.mil
uucp: {ihnp4,akgua,decvax,dcdwest,ucbvax}!sdcsvax!nosc!bmarsh
"If you are not part of the solution, you're part of the problem..."

ge@wn3.sci.kun.nl (Ge' Weijers) (11/12/90)

bmarsh@cod.NOSC.MIL (William C. Marsh) writes:

>First, check to make sure the interrupt vector used by the 'int 33h' is not
>all zeros!  Older versions of DOS did not initialize all the interrupt vectors
>to point to an iret, so simply calling the interrupt would result in a crash.

>This is important for looking for an EMS driver too.

This is all pointless to me. The mouse is not connected to a system with an
Intel processor, or MS-DOS.

Ge'
--
Ge' Weijers                                    Internet/UUCP: ge@cs.kun.nl
Faculty of Mathematics and Computer Science,   (uunet.uu.net!cs.kun.nl!ge)
University of Nijmegen, Toernooiveld 1         
6525 ED Nijmegen, the Netherlands              tel. +3180652483 (UTC-2)

garlange@mentor.cc.purdue.edu (Mark Garlanger) (11/13/90)

In article <2431@wn1.sci.kun.nl> ge@wn3.sci.kun.nl (Ge' Weijers) writes:
>
>This is all pointless to me. The mouse is not connected to a system with an
>Intel processor, or MS-DOS.
>
>Ge'
>--
>Ge' Weijers                                    Internet/UUCP: ge@cs.kun.nl
>Faculty of Mathematics and Computer Science,   (uunet.uu.net!cs.kun.nl!ge)

Then why are you posting to comp.sys.IBM.PC?  Next time post in the area
that relates to what you are doing.

                                Mark

edhall@rand.org (Ed Hall) (11/14/90)

In article <16499@mentor.cc.purdue.edu> garlange@mentor.cc.purdue.edu (Mark Garlanger) writes:
>In article <2431@wn1.sci.kun.nl> ge@wn3.sci.kun.nl (Ge' Weijers) writes:
>>
>>This is all pointless to me. The mouse is not connected to a system with an
>>Intel processor, or MS-DOS.
>
>Then why are you posting to comp.sys.IBM.PC?  Next time post in the area
>that relates to what you are doing.

He knows what he's doing, Mark.  This newsgroup probably has the highest
likelihood of being able to answer his question.  After all, the mice in
question are all made to connect to IBM PC's and their moral
equivalents.  He is interested in the protocol they use in communicating
through the serial interface.  Description of MS-DOS software is
meaningless to him--after all, he asked a HARDWARE question in the
most approrpriate HARDWARE group.  If he wanted to know about TSR's and
mouse drivers, he'd have posted to comp.sys.ibm.pc.programmer.

I'm interested in the same question.  I'm sending him what little
information I've managed to scrape together.  I hope that someone
else who knows more is able to enlighten us.

		-Ed Hall
		edhall@rand.org

wjb@moscom.UUCP (Bill de Beaubien) (11/14/90)

In article <2431@wn1.sci.kun.nl> ge@wn3.sci.kun.nl (Ge' Weijers) writes:
>This is all pointless to me. The mouse is not connected to a system with an
>Intel processor, or MS-DOS.

Strange question, but why was the question originally posted to 
comp.sys.ibm.pc.hardware?

Bill
-- 
Bill de Beaubien / wjb@moscom.com