Jump to content

Widescreen S-Video/Composite Output on the Intel Macbook/MacMini


empty-space
 Share

1 post in this topic

Recommended Posts

(Note: not sure if this is the right place, but it seems like it will fit in)

 

I have a Macbook and when plugging the miniDVI to Video adapter into it, only 4:3 resolutions are available. This was unexpected, since the same adapter can output 4:3 and 16:9 resolutions on my intel iMac, all the way to 1280x720. The goal is to enable at least one widescreen resolution over S-Video, so that I can use the device with an HDTV (with only component in, before you say "go DVI!"). The loss of quality is not a serious issue, so standard definition is expected.

 

What I know so far:

 

- The available resolutions are graphics card/driver dependent, since the same adapter provides different results on different hardware.

- The Macbook uses the same graphics device as the intel Mac Mini, so the solution is likely to work with the Mini's s-Video adapter as well. Also, a solution could be spread to also support other OSX86 systems with the same chipset.

- The adapter activates the TV-Out module in the intel (or ATI, in the iMac's case) chipset. AFAIK, the only thing in the video dongle is a chip providing EDID information, and maybe some analog circuitry. (unsure about this)

 

EDID:

 

Extended display identification data, or EDID, is information sent by the monitor to the computer, so that the computer knows the available modes and resolutions for that monitor. Apple's adapter uses custom EDID data (not conforming to the usual parameters). My best guess is that OSX detects this strange EDID data and then enables a bit of "enable TV-Out" code. The EDID DDC (extracted by SwitchResX) is below:

 

0 1 2 3 4 5 6 7 8 9 A B C D E F

-----------------------------------------------------

0 | 00 FF FF FF FF FF FF 00 06 10 08 9D 01 01 01 01

1 | 07 0C 01 03 10 00 00 96 30 67 A9 A0 56 47 99 26

2 | 11 48 4C 00 00 61 01 01 01 01 01 01 01 01 01 01

3 | 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01

4 | 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01

5 | 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01

6 | 01 01 01 01 01 01 01 01 01 01 01 01 00 00 00 FC

7 | 00 4E 54 53 43 2F 50 41 4C 0A 20 20 20 20 00 38

 

(For those not so fluent in monitor codes, in hex no less, all those 0101s in the middle are normally descriptive data)

 

TV-Out Module:

The intel chipset includes dedicated TV-Out circuitry. This circuitry handles (from what I can tell) hardware scaling, interlacing, and modulation of the composite, s-video, and even component output (although there is no component dongle for the macbook, and I'm not sure if the mini-dvi connector has provisions for it). The module supports both PAL and NTSC, and progressive as well as interlaced modes. The chipset uses a 108MHz pixel clock (8x multiplier applied)

 

Interesting Attempt:

I have been using SwitchResX to test different output modes on the "NTSC/PAL" display device. Most output an unsynchronized mess, but there are a few exceptions. Outputting arbitrary resolutions with the pixel clock set to 108MHz (which results in ridiculously high reported refresh rates) displays the screen, with the correct (widescreen) aspect ratio, in black and white and off center. I tried several resolutions, the most recent being 853x480 (480i 16:9), and they all came up with the same results. Note: If I create a 800x600 mode with this method, the output is identical in appearance and position to 800x600 50Hz PAL. This might indicate that, while generating a screen mode "from scratch" will enable interlaced tv-out, somehow the NTSC/PAL flag is lost. Alternatively, it could just be a lack of colour burst and maladjusted front/back porch lengths. In any case, it seems as though the intel chipset is able to

 

Ideal Solution:

The best way to implement s-video and composite widescreen modes would be a driver modification or display mode override for the dongle. Another solution would be to "trick" OSX into using a widescreen resolution, and then using software or hardware scaling to squeeze the image down to a 4:3 output mode to be sent out to the TV, which can stretch it back to 16:9 (using non-square pixels). This may be what the TV-Out module is doing already.

 

Personally, I have no experience in Mac device drivers and the display system, however I am a recent electronics engineering graduate and I know enough about NTSC signals and hardware level configuration to get by. I am going to keep trying to figure out the exact method of configuration for the TV-Out module, and I will report any progress. Hopefully someone out there can help me implement a solution. Also, any tips or help would be GREATLY appreciated. I know the OSX86 community has some brilliant folks in it. Thanks!

 

 

Some resources:

Mobile Intel® 945 Express Chipset Family Datasheet

Intel Technology Journal regarding TVOut in Centrino systems

xserver-xorg-video-intel Package (Linux driver for this chip, which has TV-Out implemented)

Link to comment
Share on other sites

 Share

×
×
  • Create New...