Slot-loading iMac G3 dual PCI breakout development

  • Nominations will close March 25th. If you'd like to join the board and influence how TinkerDifferent runs in the next year, put your name in now!
  • Hey Guest, MARCHintosh 2026 is upon us. Check out community projects, join GlobalTalk, and have fun!

Trekintosh

New Tinkerer
Dec 31, 2024
40
21
8
Noticed this unpopulated header while playing with the logic board on my G3, here's a picture with it highlighted from wikimedia:

1772066353653.png


My guess is an unpopulated mezzanine slot or similar, but does anyone have any actionable info? Could be fun to hook something up to it...
 

Nixontheknight

Tinkerer
Nov 3, 2021
204
38
28
Probably, they did axe it on Rev C or D iMacs, and one of those revisions still had the header, so it was very late in development that they axed it
 

Oelmuvun

New Tinkerer
Oct 23, 2024
11
9
3
Don't have anything important to add, just some side notes. Some 1999 machines had DVD decoder(? It's been a long time, fuzzy memory) plugged in on the battery-side, but not sure about the one you circled.
Some pictures in Apple's service manual show a similar header along side the Down Converter Board populated near where you have circled.. Though the board you have pictured looks like the later version and slightly different layout.
100_1062.2.JPG Screenshot_20260225_180617.png
 

Trekintosh

New Tinkerer
Dec 31, 2024
40
21
8
Probably, they did axe it on Rev C or D iMacs, and one of those revisions still had the header, so it was very late in development that they axed it
Makes sense.
Don't have anything important to add, just some side notes. Some 1999 machines had DVD decoder(? It's been a long time, fuzzy memory) plugged in on the battery-side, but not sure about the one you circled.
Some pictures in Apple's service manual show a similar header along side the Down Converter Board populated near where you have circled.. Though the board you have pictured looks like the later version and slightly different layout.
View attachment 26982 View attachment 26983
Mmm ok so that means that smaller unpopulated header must also be a PCI connector of some sort, pretty sure that's the only way a decoder board could work, unless it's like... PC Card or something, which is just PCI anyways. I'll investigate that one too at some point.

Good find on the populated mezzanine socket in the SM though. Hard to tell but it sure looks like the same connector as the Rev A/B imacs but with some kind of dummy plug in place. Maybe the early rev imacs had it too and they've all been lost to time?

I found some of the Molex 52760-1609 that are said to be the mezzanine slots for cheap and I'll solder one on just to try it. Still need to find the mating connector, there's a surprisingly large variety of them.

Someone on reddit posted pics of their DVD decoder board. I might try and find one of them just for fun.
https://www.reddit.com/r/VintageApple/comments/w3y71i
 
  • Like
Reactions: ClassicHasClass

Trekintosh

New Tinkerer
Dec 31, 2024
40
21
8
I found the Columbus (iMac g3 tray) schematics which have a pinout of the mezzanine slot. I’d be surprised if they changed between boards, but next time I have a chance I’ll probe the power and grounds that I can find on my slot loader to confirm they’re at least in the same spot.

then I’ll make a relatively simple board that breaks out the pci lanes into usb 3 sockets so I can use usb 3 cables to break into pci slots for testing.
 

Trekintosh

New Tinkerer
Dec 31, 2024
40
21
8
ARgh! Am I ever a bozo. I even went and ordered connectors! Somehow I never comprehended until now while staring at the picture above that this "mezzanine slot" was 140 pins, while the original was 160 pins. The existing pinout is genuinely worthless for reverse engineering this. What a maroon. I don't have the chops to reverse engineer a pinout from scratch without a higher end logic analyzer than my poor old HP 16500C. Even then, I'd be limited to blindly probing until I found address lines on a running iMac. Yikes.

None of the surrounding chips can be beeped out either, since I don't have any pinouts for them.

Without a schematic there is absolutely no way I'm capable of making this slot actually do anything, so I don't suppose y'all have any slot loading iMac schematics lying around, do you?

Edit: I might be able to borrow the Firewire daughterboard from an early iMac DV and use the firewire chip (publicly available, TI TSB12LV23) to map out the pin assignments on its header, so this isn't a complete wash. I want my PCI iMac G3
 
Last edited:

Trekintosh

New Tinkerer
Dec 31, 2024
40
21
8
1772766819698.png

Holy shit what a slog. Since this port doesn't have a name I'm officially designating it as the SL_Mezzanine port, since it's extremely similar to the tray loader's mezzanine.

I didn't bother beeping out the ethernet and firewire pins, if someone *desperately* needs me to I can, but I would really not enjoy it.

I still need to find 5v and 12v, assuming they're even in the slot. Plenty of pins left unexplored, after all, but I think the only way I'm gonna do that is by probing a running machine, yikes.
 

Trekintosh

New Tinkerer
Dec 31, 2024
40
21
8
1772834294227.png

Yeeeeesh, what an idiot. There sure aren't three pin 31's in the PCI address space. Not sure how that happened, I'm gonna guess I accidentally copy/pasted the 31 label instead of 28 and 29, which are conspicuously absent. Better still, I left the board at home because I thought I was done with it. I'll correct this over the course of the weekend.
 

Trekintosh

New Tinkerer
Dec 31, 2024
40
21
8
That was easy.

1773018762085.png
1773018771010.png


Using Hirose LVDS connectors for the breakout ribbons. I'll mark these up with silkscreens and then double check some connections then send it to fab and see what happens. Don't worry, I'm not using the G4 iMac G3, I'll be using the original G3 logic board for testing until I know it works.
 
  • Like
Reactions: indibil

joevt

Tinkerer
Mar 5, 2023
243
99
28
Noticed this unpopulated header while playing with the logic board on my G3, here's a picture with it highlighted from wikimedia:

My guess is an unpopulated mezzanine slot or similar, but does anyone have any actionable info? Could be fun to hook something up to it...
What version of Open Firmware does your iMac have? Output from dump-device-tree might be useful.
https://forums.macrumors.com/thread...l-work-in-a-beige-power-macintosh-g3.2303689/

Looking at Open Firmware 4.1.9f1 (for a slot loading iMac G3), it looks like it will probe device numbers 0xB to 0x1F (usual IDSEL range) for pci0, pci1, and pci2 PCI host controllers. I haven't researched how interrupts are assigned or how many interrupts there are to assign in this case.

For an mlb-bridge (whatever that is), it will probe device numbers 0x0 to 0xF. I don't think iMac G3 has a mlb-bridge, but this limit exists in all PowerPC Macs for PCI devices behind any PCI bridge. That's a problem for some bridges that might have slots for device numbers in the 0x10 to 0x1F range, like in my Netstor NA255A PCIe expansion chassis. In that case, a nvramrc patch is required to force probing all slots.

So where in the device tree will your two new PCI slots exists? You have IDSEL at PCIAD_18 and PCIAD_19 so I guess they'll have device numbers 0x12 and 0x13. pci0 has AGP. pci1 has Mac-io and two USB controllers. pci2 only has ethernet, so I would guess that's where the two slots will be hosted?
Looking at the built-in-names properties:
pci0:
@B: UNI-N
@10: AGP
pci1:
@12:Firewire
@13:Ethernet
@17:MAC-IO
@18:USB0
@19:USB1
pci2:
@E:FireWire
@F:Ethernet

I don't see pci1/@12 and pci1/@13 devices in the device tree dump that I have. Maybe this is where your new PCI slots will connect? 5 devices on a single bus seems like a lot.
I also don't see pci2/@E in the device tree dump that I have.

I wonder if it is necessary for IDSEL ranges to not overlap between the 3 PCI host controllers? Or maybe it's cosmetic.

PCI slots have four interrupt pins. Your breakout only has one per slot. How are they wired on the PCI slot? How are they wired on the interrupt controller side?
 
  • Like
Reactions: Trekintosh

Trekintosh

New Tinkerer
Dec 31, 2024
40
21
8
Great questions! I don’t have a ton of answers because I have only a basic overview of how openfirmware works. I’ll have to lspci the machine later. I was hoping to find someone with OF experience to help patch it if it came to that.

I wired the breakout basically the same as the Ethernet/firewire daughterboard. Each chip there had its interrupt pin on a different pin on the header, so I’ve broken those two pins out to #INTA on both pci slots. No idea where the other side goes!

The Ethernet and FireWire controllers did indeed have their idsel tied to 19 and 18, respectively. I might have to get the fellow who loaned me the daughterboard to dump device for me with it installed.
 

Trekintosh

New Tinkerer
Dec 31, 2024
40
21
8
Really I’m desperate for any and all information I can get on how to do this properly, pci may be slow in the grand scheme of things but it’s far and away the most complicated and fastest bus I’ve personally touched.