Subject: booting w/o a mouse under MRG_ADB
To: port-mac68k Mailing List <port-mac68k@NetBSD.ORG>
From: Colin Wood <cwood@ichips.intel.com>
List: port-mac68k
Date: 11/10/1997 10:43:48
Hi all-

Sometime last week, someone with an SE/30 (sorry, can't remember the
original poster) noted that he couldn't boot his machine without a mouse
attached.  He was using MRG_ADB.  This problem has been reproduced on
other SE/30's and some IIcx's as well.  It probably affects all the
original Mac II class machines with "dirty" ROM's (i.e the II, IIx, IIcx,
and SE/30).  It doesn't seem to affect a Q700, nor my IIci.  It also
doesn't appear under the HWDIRECT ADB driver.

The problem seems to stem from what I'll refer to as a "ghost" ADB device.
Basically, the hardware seems to automatically "find" a device located at
address 2 (i.e. a keyboard) and address 3 (i.e. a mouse), whether they are
there or not.  this also shows up under MacOS, and the behavior is more or
less noted in one TechNote on mice.  The problem with these ghost ADB
devices are that they don't return any data when probed by the normal ADB
command (a talk register 3 command).  So, when the extended mouse
initialization code finds a normal mouse and attempts to initialize it as
an extended mouse protocol device, it hangs forever in a busy-wait loop
because the device never returns any data.  Debugging this problem is a
bit difficult, as you might imagine, since the MacOS-based ADB-probing
utilities really require a mouse in order to access most of the functions
:-)

I've tried a number of ways to fix this, but none of them seem to work
well.  So, the workaround at the moment is 1 of two things:  either
compile a kernel with "options 	MRG_ADB" commented out, or else boot with
a mouse attached on one of the affected machines.  (Of course, you could
also go in and comment out all of the extended mouse support from the
kernel if you just had to use MRG_ADB for some reason).  I'll keep digging
to see if I can come up with something, tho.

I hope this helps some people.

Later.

-- 
Colin Wood                                 cwood@ichips.intel.com
Component Design Engineer - MD6                 Intel Corporation
-----------------------------------------------------------------
I speak only on my own behalf, not for my employer.