• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

Getting G3 Whisper Perch USB working

joevt

Well-known member
Might be interesting to get i2c dumps from all the G3 personality cards. #112
dev pci/mac-io/via-cuda 100 0 0a6 read-iic 0 do dup i + c@ 2 u.r loop drop
 

joevt

Well-known member
To what end?
The information describes the features of the card. It contains the Name & Version for the following:
- the personality card (perch)
- audio
- video-in
- front-panel-display

That information is stored in the properties of devices in the device tree, so dump-device-tree can get that. But maybe there could be something else in the 256 bytes of the i2c data.

The info could be used to distinguish between different personality cards or different versions of the same personality card.

The info could be useful for emulators.
 

croissantking

Well-known member
The information describes the features of the card. It contains the Name & Version for the following:
- the personality card (perch)
- audio
- video-in
- front-panel-display

That information is stored in the properties of devices in the device tree, so dump-device-tree can get that. But maybe there could be something else in the 256 bytes of the i2c data.

The info could be used to distinguish between different personality cards or different versions of the same personality card.

The info could be useful for emulators.
 

Attachments

  • 9D29A87E-A3A8-46C5-B47C-D6DAD647ED99.jpeg
    9D29A87E-A3A8-46C5-B47C-D6DAD647ED99.jpeg
    2.1 MB · Views: 38

joevt

Well-known member
@croissantking , Looks like your output matches what was posted at #112 . But not all the bytes was output and the ok prompt didn't appear - did it hang? Seems strange that dumping a few bytes would cause a hang. Maybe a serial port connection would have different behaviour.
 

dosdude1

Well-known member
@croissantking, now that this has been fully figured out, it may be worth posting a copy of the final schematic you've derived. It looks like you're using KiCad; if so, you can export the schematic as a PDF easily, and there is also a feature to export a BOM list as an HTML document (or even better would be to just create a GitHub repo for the KiCad project). I intend to try this on my desktop Beige G3 with the "Wings" A/V card, and also probably reverse-engineer the soft power circuit while I'm at it.

Also, I'm not sure if it was you, but I saw somebody at VCF East recently who brought a card with this mod done... So at least potentially one other person has done this with success if it wasn't you haha.
 

croissantking

Well-known member
@croissantking, now that this has been fully figured out, it may be worth posting a copy of the final schematic you've derived. It looks like you're using KiCad; if so, you can export the schematic as a PDF easily, and there is also a feature to export a BOM list as an HTML document (or even better would be to just create a GitHub repo for the KiCad project). I intend to try this on my desktop Beige G3 with the "Wings" A/V card, and also probably reverse-engineer the soft power circuit while I'm at it.

Also, I'm not sure if it was you, but I saw somebody at VCF East recently who brought a card with this mod done... So at least potentially one other person has done this with success if it wasn't you haha.
Hey, yes it was me that brought the card. Nice to meet you :)
I’ll post the final schematics once I’m home from the US.
Will you share with us your findings for the power-on circuit? I’d like to get it working on my card too.
 

dosdude1

Well-known member
Hey, yes it was me that brought the card. Nice to meet you :)
I’ll post the final schematics once I’m home from the US.
Will you share with us your findings for the power-on circuit? I’d like to get it working on my card too.
Yep, sure will! Figured if you uploaded the KiCad project, I can just update the schematic accordingly once I get it figured out.
 

mg.man

Well-known member
Ooo... neat guys! I picked up a G3MT the other day that has one of the "A/V" variety (Wings?) cards as well. Following with interest. :)
 

croissantking

Well-known member
@croissantking, now that this has been fully figured out, it may be worth posting a copy of the final schematic you've derived. It looks like you're using KiCad; if so, you can export the schematic as a PDF easily, and there is also a feature to export a BOM list as an HTML document (or even better would be to just create a GitHub repo for the KiCad project). I intend to try this on my desktop Beige G3 with the "Wings" A/V card, and also probably reverse-engineer the soft power circuit while I'm at it.

I've uploaded the KiCad files here (plus BOM and PDF):
This is my first time using GitHub, so let me know if I haven't set it up correctly.
 
Last edited:

DarthNvader

Well-known member
It's interesting, I wonder if the Rev. 3 BootROM may have had a USB Open Firmware package?

It would be kind of cool if it did, we would not need ADB KB after this mod.

Someday I'm hoping some one will make the ROM SIMM for the Beige Mac's so we can do some ROM modding on these machines to add USB/FW support in Boot ROM.
 

croissantking

Well-known member
This is an interesting end goal, I think it’s doable and it’ll happen eventually, with step by step input by the community. I think the next things to do are get the startup circuit working and also prove that the mod works on a Wings card.

I dont think the Rev C ROM adds any USB features, I have this ROM and there’s nothing special about it compared to the Rev B.
 
Last edited:

joevt

Well-known member
It's interesting, I wonder if the Rev. 3 BootROM may have had a USB Open Firmware package?

It would be kind of cool if it did, we would not need ADB KB after this mod.
Old World G3 Macs only know about the USB PCI class code 0c:03.

Only New World Macs have USB code in Open Firmware. Search for "probe-usb".

Code:
grep -l --include "Part2.of" -i -R "probe-usb" "/Volumes/Work/Open Firmware and Name Registry/ROM PowerPC Mac"
/Volumes/Work/Open Firmware and Name Registry/ROM PowerPC Mac/ROM B&W G3/Dump/Part2.of
/Volumes/Work/Open Firmware and Name Registry/ROM PowerPC Mac/ROM G4 FW 800/Dump/Part2.of
/Volumes/Work/Open Firmware and Name Registry/ROM PowerPC Mac/ROM G4 Mirrored Drive Doors/Dump/Part2.of
/Volumes/Work/Open Firmware and Name Registry/ROM PowerPC Mac/ROM G4 Sawtooth/Dump/Part2.of
/Volumes/Work/Open Firmware and Name Registry/ROM PowerPC Mac/ROM G4 Sawtooth/with notes/Part2.of
/Volumes/Work/Open Firmware and Name Registry/ROM PowerPC Mac/ROM G5/Dump/Part2.of
/Volumes/Work/Open Firmware and Name Registry/ROM PowerPC Mac/ROM G5 Quad/Dump/Part2.of
/Volumes/Work/Open Firmware and Name Registry/ROM PowerPC Mac/ROM iBook G4/Dump/Part2.of
/Volumes/Work/Open Firmware and Name Registry/ROM PowerPC Mac/ROM iMac/Dump/Part2.of
/Volumes/Work/Open Firmware and Name Registry/ROM PowerPC Mac/ROM Mac Mini G4/Dump/Part2.of
/Volumes/Work/Open Firmware and Name Registry/ROM PowerPC Mac/ROM PowerBook G4 DLSD/Dump/Part2.of

grep -l --include "Part2.of" -i -R "usb" "/Volumes/Work/Open Firmware and Name Registry/ROM PowerPC Mac"
/Volumes/Work/Open Firmware and Name Registry/ROM PowerPC Mac/ROM Beige G3 233/Dump/Part2.of
/Volumes/Work/Open Firmware and Name Registry/ROM PowerPC Mac/ROM PM G3 Desktop/Dump/Part2.of
/Volumes/Work/Open Firmware and Name Registry/ROM PowerPC Mac/ROM PM G3/Dump/Part2.of
/Volumes/Work/Open Firmware and Name Registry/ROM PowerPC Mac/ROM Power Express 1/Dump/Part2.of
/Volumes/Work/Open Firmware and Name Registry/ROM PowerPC Mac/ROM Power Express 2/Dump/Part2.of
/Volumes/Work/Open Firmware and Name Registry/ROM PowerPC Mac/ROM PowerBook G3 Wallstreet/Dump/Part2.of
/Volumes/Work/Open Firmware and Name Registry/ROM PowerPC Mac/ROM PowerBook G3 Wallstreet PDQ/Dump/Part2.of
#(excluding dumps for New World Macs listed above)

Someday I'm hoping some one will make the ROM SIMM for the Beige Mac's so we can do some ROM modding on these machines to add USB/FW support in Boot ROM.
My solution would be to read Open Firmware code from a partition of a supported disk. This was discussed at #11
The dingusppc emulator was recently updated to support SCSI disks. I have built it (using the Xcode method and the make method) but I haven't tested it yet. I would use it to test new Open Firmware patches and packages and drivers.
 
Top