Skip to main content
Home Forums 68kMLA Three PCI Slot Hack For PM6400? — #8
Post #8 by trag
Source Forum68kMLA
CategoryHardware
Post DateSat, 11 Dec 2010 - 20:26
Original URLhttps://68kmla.org/bb/threads/three-pci-slot-hack-for-pm6400.21795/
Post
Apple's documentation may not be all that informative about whether the hack is possible.

There are three things which must be present in order for more PCI slots to be supported:

The REQ# and GNT# signals must be available for additional slots.

An Interrupt must be available.

The ROM/firmware of the computer must have an entry for the extra slot and associate the interrupt with that slot, since the PowerMacintoshes (AFAIK) don't dynamically detect slot/interrupt associations at POST.

For example, on the PM7500/8500/9500 family. There are at least six sets of REQ/GNT wires. How do I know? The Apple Network Server uses the same chipset and one of its Bandit chips has six PCI devices attached.

Yet, Apple doesn't advertise that a single Bandit could control six PCI devices in that family (would require a ROM entry though).

Apple probably won't mention if there's an unused set of REQ/GNT/Interrupt wires in the 6400 architecture. Yet, Umax found them. Of course, Umax had access to teh actual data sheets for the chipset involved.

The COMM slot isn't a half-buttoxed PCI slot. It contains all the signals of a regular PCI slot (accoding to the Hardware Developer Notes), plus some serial bus signals. At the very least, one could plug an adapter into the COMM slot (just wires, no circuitry) to route the PCI signals to a standard PCI connector so that one could plug a third PCI card into the COMM slot.

But Umax's C600 raises the bar a little further. With it's three PCI slots *AND* a comm slot, it suggests that there are REQ/GNT, interrupts, and ROM resources for what amounts to four PCI slots.

The difficulty would be in determining where the extra REQ/GNT signals and the Interrupt come from. They may not be present in the 6400/6500 PCI riser connector and even if they are, how would you know which pins they are?

On the 6500, the REQ/GNT signals must originate at the PSX+ chip which is a BGA chip. The interrupt signals come from O'Hare I/O controller, which is a QFP. The interrupts could be traced back to O'Hare, but the pins on the PSX+ are not accessible.

I'm not sure if the 6400 is similarly arranged, but if so, one would need to kill a C500/C600 board to figure out where the REQ/GNT signals come from. I.e. desolder the PSX+ chip, trace the REQ/GNT signals back to the pads for the PSX+.

But then, how would one find access to those signals on a 6400? And how would one even know where to look on the 6500? One could guess by analogy. Hardware designers to tend to reuse chip pinouts and designs where they can and the 6500 is very similar to the 6400. But one would ultimately be guessing.

I don't think there's any such thing as a "Standard" riser card. Any time a machine goes from a slot on the logic board to multiple PCI slots, one can never be sure how the signals were arranged in the slot on the logic board. It's not as simple as PCI to PCI, because the logic board connector must have unique interrupts and REQ/GNT wires for each slot which get split out on the riser and routed to just one slot each.

mp.ls