[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: IIgs and Mac ADB ports
J. Morris Prosser <jmprosser@redshift.com> wrote:
> Does anyone know the difference between the ADB ports on the IIgs and the
> Mac?
Between the ports? Very little difference - the only significant one is
that most Macs support the use of the fourth wire to turn the computer
on.
The communications protocol used over ADB is also the same. The main
difference is in how the protocol is used.
The IIgs has a dedicated microprocessor (the ADB microcontroller) which
is responsible for communicating over the ADB. It has built-in support
for the standard Apple keyboards and mice, and emulates older Apple II
I/O interfaces, such as the keyboard registers, with help from the ADB
GLU chip ("glue" or "general logic unit").
The IIgs can bypass the keyboard and mouse support provided by the ADB
microcontroller and talk to ADB devices directly (the microcontroller
still handles the ADB communication protocols). This is necessary for
other device types, and can also be done for the keyboard and mouse. In
most cases, some kind of driver would be used to talk to the device.
For example, the EasyAccess INIT running on a ROM 1 IIgs disables the
standard keyboard support, polls the keyboard directly, then emulates
the standard keyboard after filtering out special key sequences.
On the Mac, there may be hardware to assist with ADB communication, but
it has no built-in support for any devices. All device control is
handled by drivers running on the main processor. You need a device
driver for each type of ADB device, or for specific third-party devices.
The standard keyboard and mouse drivers are built into the system
software.
The problem therefore boils down to how the specific device expects to
interact with the computer. The original IIgs keyboard, the Apple
Standard Keyboard, the Apple Extended Keyboard and the Apple Extended
Keyboard II are all supported by the IIgs ADB micrcontroller (to a
greater or lesser extent, but they at least work). I believe the
current icky "AppleDesign" keyboard also works, though I have never
tried one. Apple's ergonomic split keyboard does not work.
Some third-party keyboards may require their own device driver to be
installed, or may be relying on features that are provided by more
recent Mac implementations of the standard ADB keyboard driver. These
features are not supported by the IIgs ADB microcontroller, therefore
the keyboard does not work on a IIgs.
One possible candidate is the "device handler", which is a value stored
into a configuration register in each ADB device. Specific values are
used to identify the Apple Standard Keyboard and Apple Extended Keyboard
(two values are used with the extended keyboard to change modes). If a
third-party keyboard starts up with a different value in this register
(quite likely if it offers special features), then the IIgs might not
recognise it, and will refuse to talk to it. It might be possible to
have a program on the IIgs which tells the keyboard to switch to an
emulation mode, but this would have to be launched without being able to
type anything on the keyboard, every time the ADB gets reset.
--
David Empson
dempson@actrix.gen.nz
Snail Mail: P.O. Box 27-103, Wellington, New Zealand