QUOTE(dr_oldschool @ May 26 2005, 12:11 PM)
Could someone more knowing explain what exactly the VGA bios does to output SoG VGA signal.
Does it just do initialization code or something else?
I'll answer my questions for archives. This is what I found (correct me if I'm wrong).
To get VGA SoG output with conexant chip this bios patches following places in kernel:
(1) AvSetDisplayMode() beginning:
if av_type is AV_VGA_SOG (vga sync on green cable) 'translate' asked video mode to new video mode (0x88070701 for 640x480, 0x88080801 for 720x480. it 'translates' other modes too to 0x880B0A02 and 0xA8110F01, but I don't know what these are. probably hdtv).
(2) It patches 3 encoder registers for conexant (changes 0x9C to 0x98). These are used from AvSetDisplayMode().
(3) removes one conditional jump from AvSetDisplayMode(). Haven't figured out why yet..
(4) AvSendTVEncoderOption VIDEO_ENC_GET_SETTINGS at end:
if av_type is AV_VGA_SOG 'translate' back video mode. return that we are running in hdtv mode so applications are happy.
---
Which is all pretty nice for conexant chip _and_ special VGA cabale. BUT the only patched code that's running in focus encoder case (which is what interests me) with standard hdtv cable is (3) and somehow I doubt it would output RGsB magically.
I still haven't made the vga cable, so I'll verify this when my cable is ready.. Hopefully next month (I'm not very good at soldering).