rendered paste bodyxbv - 2003-01-30 andy@warmcat.com
usage
xbv -<video std> [options]
video std is one of NTSC, NTSC60, PALBDGHI, PALN, PALNC, PALM, PAL60
the following options can be repeated on the command line as many as needed
-m <mode> Select Video Mode (mode=0..3)
-s Directly draw a full frame testcard into framebuffer
-d Dump current reg settings
-c hx hx write CRTC reg hx (first) with value hx (second)
-e hx hx write encoder reg hx (first) with value hx (second)
<regname> dec Change setting to decimal value - setting is one of
any of the uppercase names displayed by the -d dump
-f Change kernel framebuffer mode according to selected xbv mode
-auto x_res y_res hoc voc
Calculate and set all parameters from the given resolution
and overscan values. Overscan values must be entered as % values,
i.e. '15.73' for 15.73% overscan compensation.
-semiauto x_res yres h_clki v_linesi clk_ratio
Calculate and set all parameter from the given ones.
xbox2:/usr/include# xbv -s
xbv - 2003-01-30 andy@warmcat.com
Done
xbox2:/usr/include# xbv -d
xbv - 2003-01-30 andy@warmcat.com
Complete Conexant regs
{
0x01,
/*30:*/ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
/*40:*/ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
/*50:*/ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
/*60:*/ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
/*70:*/ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
/*80:*/ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
/*90:*/ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
/*A0:*/ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
/*B0:*/ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
/*C0:*/ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
/*D0:*/ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
/*E0:*/ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
/*F0:*/ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
}
CRTC regs 0x00 thru 0x41 40151000
{
/*00*/ 0x62, 0x4F, 0x4F, 0x82, 0x5F, 0x80, 0x20, 0xBA, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
/*10*/ 0x00, 0x23, 0xDF, 0x40, 0x00, 0xDF, 0x21, 0xE3, 0xFF, 0x30, 0x28, 0x80, 0x00, 0x00, 0x00, 0x03,
/*20*/ 0x41, 0xFE, 0xFC, 0xA1, 0x80, 0x10, 0x30, 0xA3, 0x83, 0x00, 0x00, 0x3D, 0x7D, 0xE0, 0x00, 0x00,
/*30*/ 0xFF, 0x00, 0x00, 0x11, 0x02, 0x02, 0x31, 0x30, 0x00, 0xFF, 0xDF, 0x21, 0x67, 0x00, 0x00, 0x30,
/*40*/ 0x00,
}
{ //
0x000001DF, 0x00000207, 0x000001DF, 0x000001ED,
0x000001F0, 0x00000000, 0x000001DF, 0x00000000,
0x00000287, 0x0000031F, 0x0000027F, 0x000002F7,
0x00000317, 0x00000000, 0x0000027F, 0x00000000,
0x007DFF2D, 0x00000000, 0x10100111, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x10001000,
0x10000000, 0x10000000, 0x10000000, 0x10000000,
0xD7B3ED89, 0x2F73D366, 0x8CA02206, 0xF8BFEAA3,
0x000096FD, 0x0003C20D, 0x00000000, 0x0003C20D,
0x000096FD, 0x0003C20D, 0x000000AA, 0x0003C20D,
0x000096FD, 0x0003C20D, 0x000000AA, 0x0003C20D,
0x000096FD, 0x0003C20D, 0x000000AA, 0x0003C20D,
0x00003102, 0x00FFF7FF, 0x3EABA1E9, 0x007DFF2D,
0x00000000, 0x00000000, 0x00000000, 0x000DD7C0,
0x00000271, 0x000000BE, 0x000002F8, 0x00000000,
}
User Settings
H_CLKI=257 (clocks in nv vid line/nv HTOTAL updated with this)
H_BLANKI=513
NVHTOTAL = 799 [auto: H_CLKI-1]
CRTC_HTOTAL = 824 [auto: H_CLKI]
H_CLKO=128 (output clocks per video line/2, SETS PLL)
H_BLANKO=1 (shifts video data horizontally)
H_ACTIVE=1 (constant pixels per line+8)
CRTC_HDISPEND = 640 [auto: H_ACTIVE-8]
CRTC_HBLANKSTART = 640 [auto: H_ACTIVE-8]
CRTC_LINESTRIDE = 320 [auto: (H_ACTIVE-8)/2] (dwords/2 per scanline)
NVHSYNCSTART = 759 [auto: H_CLKI-H_BLANKI-7]
NVHSYNCEND = 791 [auto: NVHSYNCSTART+32]
CRTC_HSYNCSTART = 760 [auto (H_ACTIVE-8)+32]
CRTC_HSYNCEND = 776 [auto: CRTC_HSYNCSTART+8]
CRTC_HBLANKEND = 792 [auto: same as CRTC_HTOTAL]
NVHDISPEND = 647
NVHCRTC = 639
NVHVALIDSTART = 0
NVHVALIDEND = 639
NVHCHECKSUM = 8257325
V_ACTIVEI=1 (constant lines per frame)
CRTC_VDISPEND = 480 [auto: same as V_ACTIVEI]
CRTC_VBLANKSTART = 480 [auto: same as V_ACTIVEI]
V_ACTIVEO=-1 (lines in output field, V_SCALE computed with this)
V_LINESI=257 (incoming video lines, nv VTOTAL updated with this)
NVVTOTAL = 519 locked to V_LINESI
V_BLANKO=1 (auto from V_ACTIVEO)
V_BLANKI=1 (auto from NVV... settings)
V_SCALE=257 (auto)
NVVSYNCSTART= 493 (auto: VLINESI-V_BLANKI+1)
NVVSYNCEND = 496 locked to NVVSYNCSTART+3
CRTC_VSYNCSTART = 512 (auto: V_ACTIVEI+32)
CRTC_VTOTAL = 544 (auto: >=CRTC_VSYNCSTART)
CRTC_VSYNCEND = 3 [auto: zero]
CRTC_VBLANKEND = 33
NVVDISPEND = 479
NVVCRTC = 479
NVVVALIDSTART = 0
NVVVALIDEND = 479
Flicker: DIS_FFILT=0, ADPT_FF =0, DIS_YLPF =0
F_SELY =1, F_SELC =0, Y_ALTFF =1
C_ALTFF =0, Y_THRESH=1, C_THRESH =0
YSELECT =0, FFRTN =0, PKFIL_SEL=0
Automated Settings
Pll clock 2258823.394775Hz - Pll period 442.708360nS
HSYNC period 0.000114Sec
Computed Subcarrier MSC = 1AA5C318
Constraint: field period = 0.020000S: (45176 pll clocks/field) MUST== (H_CLKI x V_LINESI = 66049)
Constraint: H_CLKO = 128 MUST== (field period (0.020000S) / (lines per field (312.500000) x PLL period (442.708360nS))/2 = 72)
Computed vertical overscan factor=-14913079.885417
Computed vertical scaling coeff=-4095
Computed Horizontal characteristics:
Start of active video out: 11.858823 clocks/2
Active video period duration: 47.300000uS, 53.421173 clocks/2
Total time in blank: 16.700000uS, 18.861175 clocks/2
FIFO overrun: no
FIFO underrun: no
PLL locked: no
PAL mode: no