Subject: Re: Nubus 101
To: port-mac68k NetBSD Mailinglist <port-mac68k@netbsd.org>
From: Hauke Fath <hf@Tangro.DE>
List: port-mac68k
Date: 06/30/2000 09:14:35
Trying again (repeat with me: Sending binary attachments to mailing lists
is _bad_ ;):
On 27. Juni 2000 3:12 Uhr, Michael R. Zucca <mailto:mrz5149@acm.org> wrote:
>At 4:43 PM -0400 6/26/00, Hauke Fath wrote:
>>1) Attach a "dockbus" to nubus (the docks I have seen map to
>>nubus slot E). Then, attach whatever the dock contains (SCC, SWIM II,
>>53c80, SONIC, video] to dockbus.
>
>Well, I was sort of against this method for a while but I'm beginning to
>think it's not such a bad idea. What's happening here is that the NuBus is
>acting sort of like bridge for the "dockbus" if you will. The dockbus
>could then contain a bridge to another NuBus.
Making my way through Apple's "Developer Note Macintosh Duo System" [1] I
get a somewhat different picture: The Note goes to great lengths explaining
that for the sake of flexibility a Dock looks like a big Nubus card to the
Duo. The Dock ROM has all the drivers for the attached peripherals (with
the exception of .Sony), and it officially reserves slot E.
A way to handle this situation could be to have the Nubus code scan a slot
for an sResource category of "CatDock" (0x20) first. When it finds a Dock,
it should ignore all the other sResources for the Nubus slot and hand over
control to the dockbus probe routines.
>Actually, I'm kind of interested in
>how NuBus devices on the dock appear to the Duo. I wonder if there is some
>kind of windowing going on or something. In that case we'll definitely
>have to do some kind of crazy sub bus stuff and put in logic to handle the
>bridge chip and windowing. (Ugh!)
According to [2] (see <http://www.tangro.de/~hf/macbsd/> ), all the dock
hardware (with the exception of the SWIM which is handled by the Duo ROM
anyway) is situated in slot E space. Nothing crazy in sight. ;)
>>There actually is
>>a 'clr.b offset(reg)' where we expect it, only the base address is
>>obtained "very indirectly".
>
>Yeah, this is the same as the RBV. I was seriously confused because it
>seems to go through all of the trouble of "clearing interrupt register".
>All it's doing is dropping a zero in the location. When the palette loads,
>the code scans that RAM location waiting for the timer event to write into
>the location.
>
>Can you get the address of that value? Is it in NuBus space? If so, then
>maybe I'm wrong and it's a weird hardware thing. Though, I'll bet its just
>like the II's.
[2] suggests it's in slot E space. I have no evidence one way or another -
as I said, the interrupt routine uses a base address set up elsewhere, in a
place I haven't found yet. I can send you the driver resource, if you feel
you cannot resist. ;)
>What's the pinout on the dock? Maybe there's more than one interrupt pin.
>That way, the interrupts can be serviced, as you say, as obio interrupts.
The Duo connects over a 152 pin connector -- essentially a PDS slot. But I
suppose the Nubus interrupt controller VIA is in the dock.
hauke
--
[1] Macintosh Developer Notes, Number 2: Macintosh Duo System,
APDA publication number R0457LL/A
[2] "PowerBook Duo Dock II Hardware"
--
Hauke Fath Tangro Software Components GmbH
D-69115 Heidelberg
hf@Tangro.DE Ruf +49-6221-13336-35, Fax -21