Subject: Misc HWDIRECT fixes
To: None <port-mac68k@NetBSD.ORG, cwood@ichips.intel.com,>
From: John P. Wittkoski <jpw@netscape.com>
List: port-mac68k
Date: 01/23/1998 12:12:57
Greetings all,
So based on comments from many of you, I've worked out a few problems
with the HWDIRECT code.

The three things fixed this time around are:

1. Color Classic and Color Classic II were incorrectly identified as
using the IIsi ADB hardware, when the are really Cuda based models. (No
thanks to Apple for lack of docs). These machines are usable at least
into single user on the console now, and may work fully if you have a
full 1.3 install.

2. Keyboard didn't work in the debugger. It does now.

3. Certain 3 button mice didn't work on models that use the II ADB
hardware. This was caused by a problem in the II ADB code which would
never read in more than 2 bytes from the ADB interface, so the data for
the 2nd and 3rd buttons (usually stored in the THIRD byte) was invalid.
I actually managed to rewrite a majority of the II specific code because
of this, as the problem was more of a "protocol implementation" problem
than something simple.

One another note, someone recently mentioned that their machine hangs
during ADBReInit if they are moving the mouse. I am pretty sure that
this does not happen with the HWDIRECT code on the IIsi and Cuda ADB
hardware, and was able to test it directly yesterday on the new II code
and it boots even if I bang on the keyboard and am moving the mouse. So
if you notice this boot time problem, please send me some details.

For those of you who need or want these changes, there is a new kernel
at:

ftp://ftp.macbsd.com/pub/outgoing/jpw/kernels/current/HWDIRECT.394.tar.gz

For those of you who roll your own kernels, 3 patches are available at:

ftp://ftp.macbsd.com/pub/outgoing/jpw/kernels/source/adb.clrclassic.patch.diff
ftp://ftp.macbsd.com/pub/outgoing/jpw/kernels/source/adb.ddb.patch.diff
ftp://ftp.macbsd.com/pub/outgoing/jpw/kernels/source/adb.ii.patches.diff

Note that adb.ddb.patch.diff and adb.clrclassic.patch.diff are already
in -current as of 1/16/98, so only take what you need.

Later,

	--John