[Openchrome-users] VT1625 NTSC Modes

Sandeman userforum
Fri Nov 3 11:58:54 PST 2006


Re: VT1625 NTSC Modes
Hi Joel,

I'm puzzling with this issue also. I have been searching for documentation on this but was not able to find much. The only thing I found was a source file to read out all the registers of the VT1625. In this file all registers are named, so it gives an indication of the meaning of each register. I also found the datasheet of the VT1621 which provides some information on the working of a VIA tv encoder.

But all this information wouldn't be necessary if we could just borrow the values from the VIA driver code. I didn't have a lot of time to figure out how to do this exactly but your posting triggered me again.

Okay, so in the VIA code, a modeline is defined by 12 values. The meaning of these values is (I think):

HT : The total amount of dots for one horizontal scanline
HA : Actual dots that are visible on the screen.
HBS : Horizontal Blank Start. The dotclock at which the blank area starts (allways equal to HA).
HBE : Horizontal Blank End. The width of the blank area, expressed in dot clocks. (HBS+HBE=HT)
HSS : Horizontal Sync Start. The dotclock at which sync pulse starts
HSE : Horizontal Sync End. The width of the sync pulse expressed in dot clocks.

I haven't got a clue why HBS and HBE are needed. They look completely redundant to me.

VT until VSE are obviously for the vertical direction.

The Openchrome driver uses the 'DisplayModeRec' structure (from xf86str.h i think) to store the modeline information in. The struct members of interest are:

_DisplayModeRec * 	prev
_DisplayModeRec * 	next
char * 	name
ModeStatus 	status
int 	type
The above values are filled in by the macro 'MODEPREFIX' which actualy sets prev and next to NULL, name to the desired name, status to 0 and type to M_T_DEFAULT.

Clock : clock frequency, computed from HTotal*VTotal*frame rate.
HDisplay : Visible dots on the screen. Corresponds to via's HA
HSyncStart : Start of sync pulse, Corresponds to via's HSS.
HSyncEnd : End of sync pulse, Corresponds to via's HSS+HSE
HTotal : Total of dot clocks for one horizontal line, corresponds to via's HT
HSkew : don't know.
VDisplay : comparable to horizontal
VSyncStart : comparable to horizontal
VSyncEnd : comparable to horizontal
VTotal : comparable to horizontal
VScan : comparable to horizontal
Flags : don't know exactly

The clock frequency should be computed from HT*VT*60 for NTSC and HT*VT*50 for PAL. I'm not sure whether this is okay for all modelines, especialy for over- and underscan mode lines. In your example the clock frequency does not correspond to HT*VT*60. It is actually HT*VT*50. Is this perhaps the cause of your problem.

Greetings,

Sander.


> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> I am looking for a little help.  I have tried to patch the via_vt162x.h
> file to add a mode for 640x480Over and to fix the 640x480 mode for the
> TV-out on my EN12000 board (CN700 chipset).  So I copied the register
> values from Via's code into the Openchrome code.  Then I copied the
> modeline from the vt1622 table.  The output on S-Video is close to
> right.  It is offset quite a bit to the left, but I know that is just a
> modeline problem that I should be able to tweak.  The other issue I have
> is that the image jumps up and down rapidly.  It almost seems as if the
> A and B fields are being drawn in different places.  Now, I don't know a
> whole lot about what all of the register values do and I have read the
> Xf86 guide to modelines, but that is all a bit fuzzy still.  So my
> question is, is the jumpy problem a modeline issue or a problem with the
> registers?  I am not sure what to tweak.  Any guidance would be greatly
> appreciated.
> Thanks,
> Joel
> 
> P.S. Can anyone tell me how the modeline values given in the Via code
> relate to those in the Openchrome code?  I am having a little trouble
> seeing the correlation.  Below is an excerpt from each.
> 
> Via (640x480 underscan for vt1622):
>   /* HT,  HA, HBS, HBE, HSS, HSE,  VT,  VA, VBS, VBE, VSS, VSE */
>     784, 640, 640, 144, 656,  56, 600, 480, 480, 120, 488, 7
> 
> Openchrome (should be the same mode for vt1622):
> { MODEPREFIX("640x480"),        23520,  640,  656,  744,  784, 0,  480,
>  487,  491,  600, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXNTSC }
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.3 (GNU/Linux)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
> 
> iD8DBQFFShMA0tbb2uIZyCURAoETAJ9391seh0EXB/Y1TzoSt3S4G5NwrgCdHC1D
> i1D4uMECufcu3+708XUBEkk=
> =AQ7N
> -----END PGP SIGNATURE-----
> 
> _______________________________________________
> openchrome-users mailing list
> openchrome-users at openchrome.org
> http://wiki.openchrome.org/mailman/listinfo/openchrome-users
> Main page:
> http://www.openchrome.org
> Wiki:
> http://wiki.openchrome.org
> User Forum:
> http://wiki.openchrome.org/tikiwiki/tiki-view_forum.php?forumId=1

----

Reply Link: <http://wiki.openchrome.org/tikiwikitiki-view_forum_thread.php?forumId=1&comments_reply_threadId=2390&comments_parentId=2380&post_reply=1#form>





More information about the Openchrome-users mailing list