亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? scaler.c

?? 臺灣聯(lián)詠NT68663 LCD MONITOR 控制程序(完整版)
?? C
?? 第 1 頁 / 共 4 頁
字號:
#include "STDIO.H"
#include "MATH.H"
#include "MYDEF.H"
#include "Scaler.H"
#include "MCU.H"
#include "USERADJ.H"
#include "F63XREG.H"
#include "F63XDEF.H"
#include "IIC.H"
#include "PANEL.H"
#include "RAM.H"
#include "ROM_MAP.H"
#include "OSD.H"
#include "sRGB.H"

#if PanelDepth == 6
	#define DisplayColorDepth 0xff
	#define DT158 PanelDethMode
#else
	#define DisplayColorDepth 0x00
	#define DT158 PanelDethMode
#endif

#if PanelTwoPixelPerClk == 1
	#define DisplayBusWidth 0x00
#else
	#define DisplayBusWidth 0xff
#endif

#if PanelSync_DE == 1
	#define DisplaySyncMode 0xff
#else
	#define DisplaySyncMode 0x00
#endif
#if PANEL == FLC48SXC8V_10 || PANEL == FUJ_FLC43XWC8V|| PANEL == Sharp_FG170M1LA04//nam0329
	#define DisplayControl (0xe1 | (DisplayColorDepth & BIT_3) | (DisplayBusWidth & BIT_2) | (DisplaySyncMode & BIT_1))
#else
	#define DisplayControl (0x61 | (DisplayColorDepth & BIT_3) | (DisplayBusWidth & BIT_2) | (DisplaySyncMode & BIT_1))
#endif

#define DT155 (unsigned char)PanelPadDrive
#define DT156 (unsigned char)(PanelPadDrive >> 8)|((~Panel_Invert_DVS & BIT_4) | (~Panel_Invert_DHS & BIT_5) | (~Panel_Invert_DCLK & BIT_6) | (~Panel_Invert_DEN & BIT_7))
#define DT61 ((Panel_Invert_DVS & BIT_0) | (Panel_Invert_DHS & BIT_1) | (Panel_Invert_DCLK & BIT_2) | (Panel_Invert_DEN & BIT_3))

code unsigned short H_ActiveTab[]={
	640,720,640,720,640,848,800,832,1024,1152,1152,1152,1280,1280,1600,1280,1280,756
};
code unsigned short V_ActiveTab[]={
	350,350,400,400,480,480,600,624,768,864,870,900,960,1024,1200,720,768, 574
};

code unsigned char TCON_Tab[]={
// CPT_M170
/*	
	0x00,0x63,0x22,0x00,0x88,0x4a,0x12,0x00,0x10,0x80,0x02,0x00,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	// OE
	0x01,0x00,0x02,0x04,0xa0,0x04,0x20,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	// CKV
	0x01,0x00,0x02,0x04,0xc0,0x04,0xff,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	// STV
	0x01,0x00,0x02,0x00,0x80,0x02,0x80,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	// POL
	0x01,0x00,0x01,0x00,0x00,0x02,0x00,0x02,0x02,0x10,0x00,0x00,0x00,0x00,0x00,0x00,
	// TP
	0x01,0x00,0x02,0x04,0x0c,0x05,0x14,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
*/
// AU_M170ES05

	0x00,0x63,0x22,0x00,0x88,0x8f,0x00,0x07,0x13,0x80,0x02,0x00,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	// OE
	0x01,0x00,0x01,0x00,0xe0,0x03,0x14,0x05,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	// CKV
	0x01,0x00,0x01,0x00,0x00,0x04,0x14,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	// STV
	0x01,0x00,0x02,0x00,0x80,0x02,0x80,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	// POL
	0x01,0x00,0x01,0x00,0x00,0x02,0x00,0x02,0x02,0x50,0x00,0x00,0x00,0x00,0x00,0x00,
	// TP
	0x01,0x00,0x02,0x04,0x0c,0x05,0x14,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

// CMO_M170ES05
/*
	0x00,0x63,0x22,0x00,0x88,0x83,0x00,0x00,0x10,0x80,0x02,0x00,0x00,0x00,0x00,0x00,
	// OE
	0x01,0x00,0x02,0x04,0xbc,0x04,0x44,0x04,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	// CKV
	0x01,0x00,0x01,0x00,0xa0,0x04,0x20,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	// STV
	0x01,0x00,0x02,0x00,0x00,0x02,0xff,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	// POL
	0x01,0x00,0x01,0x00,0x80,0x02,0x80,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	// TP
	0x01,0x00,0x02,0x04,0x0c,0x05,0x14,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	//GVON
	0x01,0x00,0x02,0x04,0x30,0x03,0xc0,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	//GVOFF
	0x01,0x00,0x02,0x04,0x30,0x03,0xc0,0x04,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	// STV
	0x01,0x00,0x02,0x00,0x00,0x02,0xff,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,
*/
};

void UpdatePresetData(void)
{
code unsigned short UpdateSquenceTable[]={
	0x002,0x005,0x008,
	0x020,0x023,0x025,0x026,0x027,
	0x02e,0x02f,0x030,0x031,
	0x032,0x033,0x034,0x035,0x036,0x037,
	0x060,0x064,0x065,0x066,
	0x154,0x156,0x157,0x158,0x16a,0x16e,0x186,0x18d,0x1f1
};

code unsigned char D1024x768[]={
//  0x002,	0x005,	0x008,
	0x01,	0x01,	0x00,
//  0x020,	0x023,	0x025,	0x026,	0x027,
	0x81,	0x00,	0x00,	0x80,	0x11,
#if DVImode == DEmode
//	0x02e,	0x02f,	0x030,	0x031,
	0xe0,	0x01,	0xe0,	0x01,
#else
//	0x02e,	0x02f,	0x030,	0x031,
	0x20,	0x00,	0x00,	0x00,
#endif
//	0x032,	0x033,	0x034,	0x035,	0x036,	0x037,
	0xe0,	0x01,	0x88,	0x00,	0x80,	0x02,
//	0x060,	0x064,	0x065,	0x066,
	0x00,	0x00,	0x00,	0x00,
//	0x154,	0x156,	0x157,	0x158,	0x16a,	0x16e,	0x186,	0x18d,	0x1f1
	0x00,	DT156,	0x40,	DT158,	DT16A,	0x06,	0x00,	0x00, 	0x15
};

unsigned char i;
	for(i=0; i<31; i++){
		WriteIIC563(UpdateSquenceTable[i],D1024x768[i]);
	}
}

void InitScaler(void)
{
unsigned char i;

code unsigned short InitTab[43][2]={
	{0x15B,(unsigned char)PanelTypVTotal},{0x15C,(unsigned char)(PanelTypVTotal>>8)}, // Display Vtotal
	{0x15D,(unsigned char)PanelMinVSyncWidth}, // Display V Pulse Width
	{0x162,(unsigned char)PanelVActiveStart},{0x163,(unsigned char)(PanelVActiveStart>>8)}, // Display Background Window VBegin
	{0x164,(unsigned char)PanelHeight},{0x165,(unsigned char)(PanelHeight>>8)}, // Display Background Window VLength
	{0x16f,(unsigned char)PanelVActiveStart},{0x170,(unsigned char)(PanelVActiveStart>>8)}, // Display Active VBegin
	{0x171,(unsigned char)PanelHeight},{0x172,(unsigned char)(PanelHeight>>8)}, // Display VActive

	{0x15E,(unsigned char)PanelMinHTotal},{0x15F,(unsigned char)(PanelMinHTotal>>8)}, // Display Htotal
	{0x160,(unsigned char)PanelMinHSyncWidth}, // Display H Pulse Width
	{0x166,(unsigned char)PanelHActiveStart},{0x167,(unsigned char)(PanelHActiveStart>>8)}, // Display Background Window HBegin
	{0x168,(unsigned char)PanelWidth},{0x169,(unsigned char)(PanelWidth>>8)}, // Display  Backgroun Window HWidth
	{0x173,(unsigned char)PanelHActiveStart},{0x174,(unsigned char)(PanelHActiveStart>>8)}, // Display Active HBegin
	{0x175,(unsigned char)PanelWidth},{0x176,(unsigned char)(PanelWidth>>8)}, // Display HActive
	{0x070,0x08}, // VSO output
	{0x072,0x00}, // Sync Processor Ctrl: Bypass Sync Control
	{0x196,0x14}, // Sync Processor Ctrl: Select Raw_hs
	{0x197,0x82}, // Sync Processor Ctrl2
	{0x021,0x0c}, // Clamp Pulse
	{0x022,0x83},
	{0x012,0x00}, // SOG Slicer Ctrl
	{0x18e,0x03}, //Clear FIFO interrupt 
	{0x18f,0x00}, //Disable FIFO interrupt
	{0x1a3,0x2d}, //Hsync not present 
	{0x1a4,0x2d}, //Hsync present
	{0x1a5,0x2d}, //Vsync not present
	{0x1a6,0x2d}, //Vsync present
	{0x1a7,0x08}, //Hcounter change threshold
	{0x1a8,0x24}, //Vcounter change threshold
	{0x1a9,0x3c}, // H/V interrupt enable1
	{0x1aa,0x00}, // H/V interrupt enable2
	{0x1ab,0x2f}, // H/V interrupt clear1
	{0x1ac,0x1f}, // H/V interrupt clear2
	{0x1d8,0x0a}, // sRGB static dither mode control
	{0x199,0x01}, //Graphic Filed control
};

	#if PRINT_MESSAGE
		printf("Init NT68563\r\n");
	#endif
	TCONInit();

	for(i=0;i<43;i++){
		WriteIIC563(InitTab[i][0],InitTab[i][1]);
	}
	UpdatePresetData();
	SetInterface();
	WriteIIC563(0x00e,0xff);
//	WriteIIC563(0x0f4,0x80);
	WriteIIC563(0x150,DisplayControl);
	WriteIIC563(0x154,0x02);
//Noise reduction
	//Noise reduction
	WriteIIC563(0x068,0x7a);
	WriteIIC563(0x069,0x43);
	WriteIIC563(0x06a,0xd2);
	WriteIIC563(0x06b,0x03);
//OSD blink control
	WriteIIC563(0x0a0,0x12);
//LVDS bandwidth
	WriteIIC563(0x1f5,0x06);
	WriteIIC563(0x1f6,0x06);
	WriteIIC563(0x1f7,0xc0);
//LVDS differential voltage
	WriteIIC563(0x1b8,0x10);
// For ADCclock duty control jacky 20040607
	WriteIIC563(0x0dc,0x50);
//----------------------------- 
// For Vsync output jacky 20040605
	//WriteIIC563(0x208,0x10);
	//WriteIIC563(0x1b9,0x31);
	//Sleep(20);
	if(PanelInterface != TCON_TO_RSDS && PanelInterface != TCON_TO_TTL)
		WriteIIC563(0x1b9,0x30);
	else
		WriteIIC563(0x1b9,0x31);
//-----------------------------	
// For DVI bandwidth setting jacky 20040607
	WriteIIC563(0x018,0x02);	//DVI DPLL FSM mode select
	WriteIIC563(0x019,0x03);	//DVI DPLL FSM mode select
	WriteIIC563(0x01d,0x1f);	//DVI bandwidth
	WriteIIC563(0x01e,0xb8);
	WriteIIC563(0x146,0xf3);
//----------------------------- 
// For ADC R/G/B phase delay jacky 20040629
	WriteIIC563(0x0d9,0x00);
	WriteIIC563(0x0da,0x00);
	WriteIIC563(0x0d9,0x40);
	WriteIIC563(0x0da,0x01);
	WriteIIC563(0x0d9,0x80);
	WriteIIC563(0x0da,0x00);
// For TQFP 64 pin channel swap jacky 20050121
	//WriteIIC563(0x1f4,0x04);
//----------------------------- 
// For HPLL Line counter set and initial
	WriteIIC563(0x0db,0x0c);
	WriteIIC563(0x0d5,0x01);
//----------------------------- 
// For Fastmute
	WriteIIC563(0x159,0xa0);
	WriteIIC563(0x1af,0x0a);
	#if PRINT_MESSAGE
		printf(PanelName);
	#endif
}


void TCONInit(void)
{
unsigned char i;//,j;
#if PanelUxga == 1
		SetDPLL(165000000);
	
#elif PanelSxga == 1
		SetDPLL(100000000);
		//WriteIIC563(0x0f1,0x10);	//103MHz
#else
		SetDPLL(50000000);
		//WriteIIC563(0x0f1,0x11);	//51.5MHz
#endif
	//WriteIIC563(0x0f2,0xaa);
	//WriteIIC563(0x0f3,0x2a);
	//WriteIIC563(0x0f4,0x11);
	//WriteIIC563(0x0f0,0x03);


#if PanelInterface == TCON_TO_RSDS || PanelInterface == TCON_TO_TTL
	
	if(PanelInterface == TCON_TO_RSDS || PanelInterface == TCON_TO_TTL)
		{
		WriteIIC563(0x0FF,0x02); // page2 enable
		#if PRINT_MESSAGE
			printf("TCON Init\r\n");
		#endif
		for(i=0; i<0x70; i=i+16)
			WritePage563(i,i,TCON_Tab);
		for(i=0x70; i<0x7b; i++)
			WriteIIC(SCALER_ADDR,i,TCON_Tab[i]);
		for(i=0x80; i<0xa0; i=i+16)
			WritePage563(i,i,TCON_Tab);
		WriteIIC563(0x0FF,0x00); // page1 disable
		WriteIIC563(0x2d0,0xb5); // Deflicker control
		
		}
#endif

#if Panel_Spread_Spect_En == 0xff
	i = (PanelSpreadSpectrumCtrl << 1) | BIT_0;
	WriteIIC563(0x0f5,i);
#endif
}

#if PanelInterface == TCON_TO_RSDS || PanelInterface == TCON_TO_TTL
void WritePage563(unsigned char addr1,unsigned char addr2,unsigned char *p)
{
unsigned char i,ch;
	IIC_Start();
	IIC_Tx(SCALER_ADDR);
	IIC_Tx(addr1);
	for(i=0; i<16; i++){
		ch = p[addr2 + i];
		IIC_Tx(ch);
	}
	IIC_Stop();
}
#endif

#if PanelInterface == TCON_TO_RSDS || PanelInterface == TCON_TO_TTL
void WritePage563(unsigned char addr1,unsigned char addr2,unsigned char *p)
{
unsigned char i,ch;
	IIC_Start();
	IIC_Tx(SCALER_ADDR);
	IIC_Tx(addr1);
	for(i=0; i<16; i++){
		ch = p[addr2 + i];
		IIC_Tx(ch);
	}
	IIC_Stop();
}
#endif

void SetADC_Phase(void)
{
	WriteIIC563(0x0d9,FuncBuf[pPHASE]);
	#if PRINT_MESSAGE
		printf("Phase = %d\r\n",(unsigned short)FuncBuf[pPHASE]);
	#endif
}

void CheckFreqRange(Byte Pixel)
{
	OutOfRange = 0;		
	if((H_SYNC > H_Max)||(H_SYNC < H_Min))
		//OutOfRange = 1;	
		OutOfRange = 2;	// Jacky 0918
	if((V_SYNC > V_Max)||(V_SYNC < V_Min))
		//OutOfRange = 1;	
		OutOfRange = 2;	// Jacky 0918		
//	if((H_SYNC > H_HI)||(H_SYNC < H_LO))
//		OutOfRange = 2;	
//	if((V_SYNC > V_HI)||(V_SYNC < V_LO))
//		OutOfRange = 2;		
//	if(Vresolution == 960)
//		OutOfRange = 2; 	
	#ifdef X21
	if((Pixel > P_Max) || (Hresolution > 1600))
	//if((Pixel > P_Max) || (Hresolution > 1280))
	#endif
	#ifdef X19
	if((Pixel > P_Max) || (Hresolution > 1280))
	#endif
	#ifdef X17
	if((Pixel > P_Max) || (Hresolution > 1280))
	//if(Pixel > P_Max)
	#endif
	#ifdef X15
	if((Pixel > P_Max) || (Hresolution > 1280))
	#endif
		OutOfRange = 2;		
}
#if 1
void SetADC_PLL(void)
{
	Byte code DpllSeqTab[4]={100,50,20,0};
	unsigned long PixelRate, LineCounter;//,H_Counter
	Byte ch,k;
	float temp;

	PixelRate = ((unsigned long)FuncBuf[pCLOCK] * H_SYNC)/10000;
	ch = (unsigned char)PixelRate;
	WriteIIC563(0x0d0,0x23);
	CheckFreqRange(ch);
	//----------------------------------
	if(ForceToBack == 0){
		k = ReadIIC563(0x0d1);
		k &= 0x03;
	}
	else{
		for(k=0;k<4;k++)
			if(ch > DpllSeqTab[k])
				break;
		WriteIIC563(0x0d1,0x10+k);
	}
	#if PRINT_MESSAGE
		printf("Htotal = %d\r\n",FuncBuf[pCLOCK]);
		printf("PixelRate = %d MHz\r\n",(unsigned short)PixelRate);
	#endif
	//WriteIIC563(0x0d6,0xa0);
	WriteIIC563(0x0d6,0xc0);
//	if(H_SYNC < 240){
		WriteIIC563(0x0db,0x0c);
		LineCounter = 4096;	//
//	}
//	else if(H_SYNC < 480){
//		WriteIIC563(0x0db,0x0d);
//		LineCounter = 8192;
//	}
//	else{
//		WriteIIC563(0x0db,0x0e);
//		LineCounter = 16384;
//	}
	if(SyncMode == 3)	//DVI
	{
		ch = ReadIIC563(0x102);
		WriteIIC563(0x102,ch|BIT_5);
		Sleep(5);
		WriteIIC563(0x102,ch);
		//Sleep(20);
	}
		
	if(ForceToBack != 0)
	{
		WriteIIC563(0x0d5,0x01);
		H_Counter = 0;
		if(SyncMode == 3 && (ReadIIC563(0x19a) & BIT_3) ==0x00 ){	// Jacky 20050916 for DVI DEmode, and H non-present
			PixelRate = ReadWordIIC563(0x19b) & 0x1fff;
			if((PixelRate == 0x1fff)||(PixelRate == 0)){
				H_SYNC_Temp = 0xffff;
			}
			else{
			    H_Counter = PixelRate * 512;
			}
		}
		else{
			LocalTimer = 25;
			while(LocalTimer > 0)
			{
				ch = ReadIIC563(0x0df) & 0x3f;
				PixelRate = ch;
				PixelRate <<= 8;
				ch = ReadIIC563(0x0de);
				PixelRate += ch;
				PixelRate <<= 8;
				ch = ReadIIC563(0x0dd);
				PixelRate += ch;
				if(abs(PixelRate - H_Counter) > 2)
				{
					H_Counter = PixelRate;
					LocalTimer = 25;
				}
				if(DetectBacklight())	//waiting for pll stable
					break;
			}
		}
		
		//temp = ((float)FuncBuf[pCLOCK] * 536870912) / PixelRate;
		temp = ((float)FuncBuf[pCLOCK] * 131072 * LineCounter) / PixelRate;
		PixelRate = temp;
		#if PRINT_MESSAGE
			printf("DSS = %x %x\r\n",(unsigned short)(PixelRate>>16),(unsigned short)PixelRate);
		#endif
		for(k; k>0; k--)
			PixelRate <<= 1;
		WriteIIC563(0x0d2,(unsigned char)PixelRate);
		WriteIIC563(0x0d3,(unsigned char)(PixelRate>>8));
		WriteIIC563(0x0d4,(unsigned char)(PixelRate>>16));
	}
	
	WriteIIC563(0x0d7,(Byte)FuncBuf[pCLOCK]);
	WriteIIC563(0x0d8,(Byte)(FuncBuf[pCLOCK]>>8));
	if((SyncMode == 1)||(SyncMode == 2)||(SyncMode == 5)||(SyncMode == 6)){ //H+V SOG
		WriteIIC563(0x0d5,0x09);
	}
	else{
	#if 0
		if((HV_Pol & BIT_4) == 0)
			WriteIIC563(0x0d5,0x03&(~BIT_3));
		else
			WriteIIC563(0x0d5,0x03|BIT_3);
	#else
		WriteIIC563(0x0d5,0x0b);
	#endif
	}
}
#else
void SetADC_PLL(void)
{
	//Byte code PixelTab[]={40,64,106,200};
	Byte code DpllSeqTab[4]={100,50,20,0};
	unsigned long PixelRate,H_Counter;
	//Word addr;
	Byte ch,k;
	float temp;
/*
	if(SyncMode > 0)	//composite & SOG mode
		{
		PixelRate = ((unsigned long)FuncBuf[pCLOCK] * H_SYNC)/10000;
		addr = FuncBuf[pCLOCK] - 1;
		WriteIIC563(0x00b,(unsigned char)addr);		//pll msb
		ch = addr >> 8;
		WriteIIC563(0x00a,ch);		//pll lsb
		ch = (unsigned char)PixelRate;
		CheckFreqRange(ch);
		for(i=0;i<4;i++)
			if(PixelTab[i] > ch)
				{
				k = i<<6;
				break;
				}
		if(ch < 75)
			k |= 0x0f;	//pll charge pump
		else
			k |= 0x2f;
		#if PRINT_MESSAGE
			printf("Htotal = %d\n",FuncBuf[pCLOCK]);
			printf("PixelRate = %d MHz\n",(unsigned short)PixelRate);
			printf("VCO Range = %x\n",(unsigned short)k);
		#endif
		WriteIIC563(0x00d,k);
		}
*/
/*
	else		//seperate mode
		{
*/
	PixelRate = ((unsigned long)FuncBuf[pCLOCK] * H_SYNC)/10000;
	ch = (unsigned char)PixelRate;
	WriteIIC563(0x0d0,0x23);
	CheckFreqRange(ch);
	//Jacky 20040910 for DVI pll bandwidth
	if(SyncMode == 3)
	{
		if(ch > 100)
			WriteIIC563(0x01d,0x01);
		else
			WriteIIC563(0x01d,0x1f);
	}
	//----------------------------------
	if(ForceToBack == 0){
		k = ReadIIC563(0x0d1);
		k &= 0x03;
	}
	else{
		for(k=0;k<4;k++)
			if(ch > DpllSeqTab[k])
				break;
		WriteIIC563(0x0d1,0x10+k);
	}
	#if PRINT_MESSAGE
		printf("Htotal = %d\r\n",FuncBuf[pCLOCK]);
		printf("PixelRate = %d MHz\r\n",(unsigned short)PixelRate);
	#endif
	//WriteIIC563(0x0d5,0x07);
	WriteIIC563(0x0d6,0xa0);
	WriteIIC563(0x0db,0x0c);
		
	if(ForceToBack == 0){
/*

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
丰满少妇在线播放bd日韩电影| 精品免费日韩av| 亚洲国产成人午夜在线一区| 美女视频黄久久| 日韩一区二区三区免费看 | 91香蕉国产在线观看软件| 91精品国产综合久久蜜臀| 亚洲成a人片综合在线| 欧美色综合久久| 亚洲一区二区三区美女| 欧美在线观看视频在线| 亚洲在线免费播放| 欧美三级视频在线| 亚洲香肠在线观看| 欧美女孩性生活视频| 天堂午夜影视日韩欧美一区二区| 欧美特级限制片免费在线观看| 最近日韩中文字幕| 色诱视频网站一区| 亚洲香蕉伊在人在线观| 91精品免费观看| 狠狠色狠狠色合久久伊人| 2020国产精品久久精品美国| 国产成人在线电影| 18成人在线观看| 欧美三电影在线| 亚洲最新在线观看| 欧美日韩精品电影| 久久99热99| 亚洲国产高清在线| 日本久久电影网| 日本欧美一区二区三区乱码| 久久综合久久综合久久| 国产**成人网毛片九色| 亚洲日本在线a| 91精品婷婷国产综合久久| 国产乱码精品一区二区三区av | 91丨porny丨蝌蚪视频| 国产精品污污网站在线观看| 一本久久精品一区二区| 天天射综合影视| 性久久久久久久| 日韩区在线观看| 99久久精品免费精品国产| 午夜久久久久久久久| 久久精品视频免费观看| 在线免费不卡视频| 精品一区二区三区视频| 亚洲精品中文在线| 91精品国产日韩91久久久久久| 国产成a人亚洲精品| 亚洲成人一二三| 国产日韩三级在线| 欧美在线999| 国产a久久麻豆| 丝袜a∨在线一区二区三区不卡| 久久综合精品国产一区二区三区| 91女人视频在线观看| 毛片av中文字幕一区二区| 国产精品久久久久久久久免费桃花| 精品婷婷伊人一区三区三| 国产一区二区精品在线观看| 亚洲曰韩产成在线| 中文字幕在线观看一区二区| 欧美一区中文字幕| a在线播放不卡| 久久99国产精品免费网站| 亚洲激情在线激情| 久久久99久久精品欧美| 91精品国产综合久久国产大片| jlzzjlzz亚洲日本少妇| 国产乱理伦片在线观看夜一区| 日本不卡在线视频| 亚洲精品中文在线观看| 中文字幕一区二区三区在线播放| 欧美xfplay| 欧美一区在线视频| 欧美色综合久久| 日本韩国欧美一区| av午夜精品一区二区三区| 国产精品一区二区黑丝| 精品一二线国产| 美腿丝袜一区二区三区| 日韩影视精彩在线| 亚洲福利电影网| 亚洲精品国久久99热| 国产精品视频麻豆| 久久久久久97三级| 久久久久久久久一| 精品久久国产字幕高潮| 日韩视频免费观看高清在线视频| 欧美日韩免费在线视频| 欧美系列在线观看| 欧美在线色视频| 欧美三级资源在线| 欧美日韩精品一区二区天天拍小说 | 久久毛片高清国产| 精品国产一区二区三区不卡| 久久青草国产手机看片福利盒子| 亚洲成人av中文| 免费在线看成人av| 国产资源精品在线观看| 国产激情一区二区三区四区 | av日韩在线网站| 91福利国产精品| 91精品一区二区三区在线观看| 欧美一区二区三区四区视频| 精品国产一区a| 亚洲欧洲精品一区二区精品久久久 | 综合自拍亚洲综合图不卡区| 一区二区三区四区中文字幕| 日韩主播视频在线| 国产九九视频一区二区三区| 91亚洲永久精品| 666欧美在线视频| 中文在线一区二区| 亚洲动漫第一页| 国产精品自拍网站| 一本大道久久精品懂色aⅴ| 欧美一区日本一区韩国一区| 国产色爱av资源综合区| 99热这里都是精品| 91精品国产综合久久婷婷香蕉| 国产亚洲欧美中文| 图片区日韩欧美亚洲| 成人影视亚洲图片在线| 欧美日韩一级二级三级| 欧美激情在线一区二区| 亚洲图片欧美视频| 成人精品视频一区二区三区 | jiyouzz国产精品久久| 欧美喷潮久久久xxxxx| 国产精品女同互慰在线看| 日产国产欧美视频一区精品| 99精品欧美一区二区蜜桃免费 | 色成年激情久久综合| 精品少妇一区二区三区| 亚洲欧美日本在线| 国产一区二区三区免费看 | 99国产精品久久久久久久久久| 91麻豆精品91久久久久同性| 自拍偷拍国产亚洲| 国模无码大尺度一区二区三区| 日本精品视频一区二区三区| 国产欧美日韩不卡免费| 日本欧美一区二区| 欧美三级在线看| 亚洲天堂精品视频| 在线成人小视频| 亚洲自拍与偷拍| eeuss国产一区二区三区| 久久久精品天堂| 老司机午夜精品99久久| 欧美日本高清视频在线观看| 亚洲欧美日韩电影| www.亚洲免费av| 欧美激情在线观看视频免费| 精品一区二区三区免费视频| 91精品国产一区二区| 亚洲国产精品精华液网站| 色综合天天狠狠| 亚洲人成亚洲人成在线观看图片| 成人中文字幕电影| 国产三级一区二区三区| 国产福利91精品一区| 久久久影视传媒| 国产主播一区二区| 久久亚区不卡日本| 国产伦精品一区二区三区免费| 欧美videos中文字幕| 老汉av免费一区二区三区| 日韩欧美久久久| 久久99久久久欧美国产| 精品日韩在线观看| 国产精品自在在线| 国产精品毛片无遮挡高清| 成人精品小蝌蚪| 亚洲欧美日韩国产另类专区 | 欧美日韩mp4| 视频一区二区不卡| 日韩美女在线视频 | 国产亚洲污的网站| 国产suv精品一区二区6| 国产精品网站在线| 91丨porny丨户外露出| 91小视频在线| 亚洲一区二区三区四区五区黄 | 成人免费在线播放视频| 色哟哟日韩精品| 亚洲成人中文在线| 欧美变态凌虐bdsm| 狠狠狠色丁香婷婷综合激情| 久久久久一区二区三区四区| 成人国产精品免费观看| 一区二区三区资源| 91精品国产91久久综合桃花| 激情图片小说一区| 日韩一区在线看| 91精品国产91久久综合桃花| 国产一区二区精品久久99|