• 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.

I2C Hidden in the SVideo Port

joevt

Well-known member
My Power Mac 8600 has those 3 extra pins on the S-Video input. The S-Video output just has 4 pins (like ADB).

Some Macs have the extra pins on both ports? Some Macs have a composite output pin on the S-Video output? Some Macs don't have S-Video output.
 

Phipli

Well-known member
My Power Mac 8600 has those 3 extra pins on the S-Video input. The S-Video output just has 4 pins (like ADB).

Some Macs have the extra pins on both ports? Some Macs have a composite output pin on the S-Video output? Some Macs don't have S-Video output.
8100 has extra pins on both ports, 840av only on one port. I suspect they were worrying about people plugging ADB into the ports so made them different, but couldn't make up their mind. Plus decided to use the pins for something.

The 8600 should have the I2C pins. It doesn't mention it the Dev Notes, but it does in the 8500, and they're close enough to the same that they wouldn't have removed the feature.
 

joevt

Well-known member
I suspect they were worrying about people plugging ADB into the ports so made them different, but couldn't make up their mind.
They must accept ADB because it's the same connector as S-Video.

The only thing that would be blocked is an I2C male cable in an S-Video only female connector.

The female S-Video connector with I2C pins looks like it can also accept a 9 pin serial cable.
https://upload.wikimedia.org/wikipedia/commons/9/97/Power_Macintosh_8500_-_rear.jpg

Plus decided to use the pins for something.
Your screenshot says Phillips serial bus. I suppose there's some Phillips specs that describes this I2C interface and what it would be used for in this S-Video input context - probably to control the video equipment that is sending the video signal to the S-Video input - maybe play/pause/input select/channel select etc.

The 8600 should have the I2C pins. It doesn't mention it the Dev Notes, but it does in the 8500, and they're close enough to the same that they wouldn't have removed the feature.
The image of the backside of the 8500 from wikipedia (linked above) shows the same S-Video connectors as my 8600.
 

Phipli

Well-known member
Your screenshot says Phillips serial bus. I suppose there's some Phillips specs that describes this I2C interface and what it would be used for in this S-Video input context - probably to control the video equipment that is sending the video signal to the S-Video input - maybe play/pause/input select/channel select etc.
It's because Phillips invented I2C, they're just being a bit formal in their description.
 

NJRoadfan

Well-known member
The I2C bus is present to run/control a TV tuner input adapter. ATI utilized it for their XClaim TV external TV tuner adapter, which plugs into the S-Video input on the G3 Wings Personality Card or their XClaim VR cards. It likely it works with the earlier x500/x600 machines too, but the manual doesn't mention them.


I actually have one of these as I got it with my Beige G3 that came with a XClaimVR 128 video card. I don't have the cable though.
 

demik

Well-known member
Related, but there is SPI bus on PowerBook 160/180 as well.

It's used with some modems, hence why you can have an "Internal Port" working with two external serial ports
 

Arbee

Well-known member
I2C is used a lot in Macs, but Apple didn't really talk about it ever. The DFAC and DFAC-II sound chips both are controlled via I2C, including for the system volume. The Mac TV and Quadra AVs used it to control the Philips video input chips, and the Mac TV also used it to interface to the IR remote control reader. The beige G3 and all later PowerMacs also use the I2C bus to read the DIMM serial presence detect information so they can auto-configure, and both of those machines also can use VESA DDC/EDID to read the monitor info, which is I2C once again. (Yes, the iMac's internal monitor returns valid DDC/EDID information).

The I2C bus master is usually Egret or Cuda. Egret and Cuda 2.x bit-bang it in software, while CudaLite and the short-lived Cuda 3 had a hardware implementation. Motorola calls it something else to dodge Phillips' trademarks, but that's clearly what it is (CudaLite/Cuda 3 are the publicly-sold 68HC05E5 with Apple's software burned into the internal ROM, so you can easily find the datasheet/programming manual). PG&E handles it in PowerBooks, again with hardware assist.
 

Phipli

Well-known member
I2C is used a lot in Macs, but Apple didn't really talk about it ever. The DFAC and DFAC-II sound chips both are controlled via I2C, including for the system volume. The Mac TV and Quadra AVs used it to control the Philips video input chips, and the Mac TV also used it to interface to the IR remote control reader. The beige G3 and all later PowerMacs also use the I2C bus to read the DIMM serial presence detect information so they can auto-configure, and both of those machines also can use VESA DDC/EDID to read the monitor info, which is I2C once again. (Yes, the iMac's internal monitor returns valid DDC/EDID information).

The I2C bus master is usually Egret or Cuda. Egret and Cuda 2.x bit-bang it in software, while CudaLite and the short-lived Cuda 3 had a hardware implementation. Motorola calls it something else to dodge Phillips' trademarks, but that's clearly what it is (CudaLite/Cuda 3 are the publicly-sold 68HC05E5 with Apple's software burned into the internal ROM, so you can easily find the datasheet/programming manual). PG&E handles it in PowerBooks, again with hardware assist.
Yeah, if you go further back the RTC was controlled by bit banged I2C from the VIA chip on the SE and I assume earlier macs.

What caught my eye was that it is an external port.
 

joevt

Well-known member
The DDC pins of a VGA connector are also external but aren't accessible if a display is connected to them. The bus master would be the GPU (ATI) except for maybe built-in Mac video that is not from ATI? The GPU driver (Open Firmware, Mac OS 9, Mac OS X) usually bit bangs the EDID/DDC. Older drivers for older GPUs (ATI Mach 64?) might not do EDID/DDC? They will just check the Apple sense codes. I'm currently looking at Mach64 / Rage register accesses while trying to get dingusppc emulator to boot Mac OS X.
 

Arbee

Well-known member
The original RTC (also used in the Apple IIgs) was clock+data serial, but it wasn't I2C compliant.

@joevt Right, the GPU driver in the beige G3 bit-bangs DDC/EDID on the ATI's GPIO port, and if it can't get an I2C transaction going it will fall back to the Apple sense codes (or it might be the other way around, it's been a minute since I was digging into that). I haven't looked at the older Mach 64 GPUs yet.
 
Top