📄 useradj.c
字号:
//---Back light
Write24C16(ep_BackLight,EEP_GeoMap[ep_BackLight-0x200]);
//---Audio Volume
Write24C16(ep_Volume,EEP_GeoMap[ep_Volume-0x200]);
//---Color tempeture
FuncBuf[pCOLORTEMP] = Read24C16(ep_Color_Ptr);
//---Osd Timer
FuncBuf[pOSDTIMER] = Read24C16(ep_Osd_Timer);
//---Osd Position
FuncBuf[pOSDHPOSITION] = Read24C16(ep_OsdH_Pos);
//FuncBuf[pOSDVPOSITION] = Read24C16(ep_OsdV_Pos);
//---Osd Effect
FuncBuf[pTRANSOSD] = Read24C16(ep_Osd_Effect);
//---Back light
FuncBuf[pBACKLIGHT] = Read24C16(ep_BackLight);
//---Audio Volume
FuncBuf[pVOLUME] = Read24C16(ep_Volume);
LoadColor(FuncBuf[pCOLORTEMP]);
SetBrightness();
SetContrast();
SetOsdTrans();
OsdPosition();
SetInverter();
SetAudioVolume();
AudioMute = 0;
SetAudioMute();
AutoSetting = 1;
Write24C16(ep_Status,StatusFlag);
// Write24C16(ep_Language,EEP_GeoMap[ep_Language-0x200]);
}
void LoadModeIndependentSettings(void)
{
Word Addr;
FuncBuf[pBRIGHTNESS] = Read24C16(ep_Brightness); //0xd0 = FuncBuf[pBRIGHTNESS]
// if(FuncBuf[pVIDEOSOURCE] == 0)
FuncBuf[pCONTRAST] = Read24C16(ep_Contrast); //0xd1 = FuncBuf[pCONTRAST]
// else
// FuncBuf[pCONTRAST] = Read24C16(ep_DVI_Contrast); //0xd1 = FuncBuf[pCONTRAST]
if(FuncBuf[pVIDEOSOURCE] == 2){
FuncBuf[pSATURATION] = Read24C16(ep_sRGB_Saturation); //0xc8 = FuncBuf[pSATURATION]
FuncBuf[pTINT] = Read24C16(ep_sRGB_Tint); //0xc9 = FuncBuf[pTINT]
}
else{
FuncBuf[pSATURATION] = 50; //0xc8 = FuncBuf[pSATURATION]
FuncBuf[pTINT] = 50; //0xc9 = FuncBuf[pTINT]
}
FuncBuf[pOSDHPOSITION] = Read24C16(ep_OsdH_Pos); //0xdd = osd position x
// Jacky 0201 removed
// FuncBuf[pOSDVPOSITION] = Read24C16(ep_OsdV_Pos); //0xdd = osd position y
FuncBuf[pOSDTIMER] = Read24C16(ep_Osd_Timer); //0xcf = osd timer
FuncBuf[pLANGUAGE] = Read24C16(ep_Language); //0xe0 = Language
FuncBuf[pBACKLIGHT2] = Read24C16(ep_sRGB_Backlight);
FuncBuf[pTRANSOSD] = Read24C16(ep_Osd_Effect);
if(FuncBuf[pTRANSOSD] > 5)
FuncBuf[pTRANSOSD] = 0;
FuncBuf[pCOLORTEMP] = Read24C16(ep_Color_Ptr);
if(FuncBuf[pCOLORTEMP] >= MAX_COLOR_TEMP)
FuncBuf[pCOLORTEMP] = 0;
Addr = FuncBuf[pCOLORTEMP] * 3 + ep_Color1_R; //Select color temperature
FuncBuf[pRCOLOR] = Read24C16(Addr++);
FuncBuf[pGCOLOR] = Read24C16(Addr++);
FuncBuf[pBCOLOR] = Read24C16(Addr);
FuncBuf[pBACKLIGHT] = Read24C16(ep_BackLight); //0xd5 = FuncBuf[pBACKLIGHT]
FuncBuf[pVCMVOL] = Read24C16(ep_VCMVol); //0x0f = vcom vol
FuncBuf[pVOLUME] = Read24C16(ep_Volume); //0xcf = volume
FuncBuf[pContMax] = Read24C16(ep_ContMax);
FuncBuf[pContMin] = Read24C16(ep_ContMin);
FuncBuf[pBrigMax] = Read24C16(ep_BrigMax);
FuncBuf[pBrigMin] = Read24C16(ep_BrigMin);
FuncBuf[pLIGHTCONTRAST] = Read24C16(ep_Light_Contrast);
FuncBuf[pLIGHTBRIGHT] = Read24C16(ep_Light_Bright);
FuncBuf[pLIGHTHSTART] = Read24C16(ep_Light_HSMSB);
FuncBuf[pLIGHTHSTART] <<= 8;
FuncBuf[pLIGHTHSTART] |= Read24C16(ep_Light_HSLSB);
FuncBuf[pLIGHTHWIDTH] = Read24C16(ep_Light_HWMSB);
FuncBuf[pLIGHTHWIDTH] <<= 8;
FuncBuf[pLIGHTHWIDTH] |= Read24C16(ep_Light_HWLSB);
FuncBuf[pLIGHTVSTART] = Read24C16(ep_Light_VSMSB);
FuncBuf[pLIGHTVSTART] <<= 8;
FuncBuf[pLIGHTVSTART] |= Read24C16(ep_Light_VSLSB);
FuncBuf[pLIGHTVHIGHT] = Read24C16(ep_Light_VHMSB);
FuncBuf[pLIGHTVHIGHT] <<= 8;
FuncBuf[pLIGHTVHIGHT] |= Read24C16(ep_Light_VHLSB);
BackLightTimer = Read24C16(ep_BkLightTime_Offset+3);
BackLightTimer <<= 8;
BackLightTimer |= Read24C16(ep_BkLightTime_Offset+2);
BackLightTimer <<= 8;
BackLightTimer |= Read24C16(ep_BkLightTime_Offset+1);
BackLightTimer <<= 8;
BackLightTimer |= Read24C16(ep_BkLightTime_Offset);
}
void LoadColor(Word Ptr)
{
Word Addr;
Addr = Ptr * 3 + ep_Color1_R; //Select color temperature
FuncBuf[pRCOLOR] = Read24C16(Addr++);
FuncBuf[pGCOLOR] = Read24C16(Addr++);
FuncBuf[pBCOLOR] = Read24C16(Addr);
}
void LoadModeDependentSettings(void)
{
// Sharp,V_BP,H_BP,H_Tatol,Phase
unsigned short addr;
addr = ep_Sync_Data + (ModePoint * 8);
FuncBuf[pSHARPNESS] = Read24C16(addr++);
FuncBuf[pVPOSITION] = Read24C16(addr++);
FuncBuf[pHPOSITION] = Read24C16(addr++);
FuncBuf[pHPOSITION] <<= 8;
FuncBuf[pHPOSITION] |= Read24C16(addr++);
FuncBuf[pCLOCK] = Read24C16(addr++);
FuncBuf[pCLOCK] <<= 8;
FuncBuf[pCLOCK] |= Read24C16(addr++);
addr++;
FuncBuf[pPHASE] = Read24C16(addr);
}
void SaveModeDependentSettings(void)
{
unsigned short addr;
addr = ep_Shape_Offset + (ModePoint * 8);
Write24C16(addr++,(Byte)FuncBuf[pSHARPNESS]);
Write24C16(addr++,(Byte)FuncBuf[pVPOSITION]);
Write24C16(addr++,(Byte)(FuncBuf[pHPOSITION] >> 8));
Write24C16(addr++,(Byte)FuncBuf[pHPOSITION]);
Write24C16(addr++,(Byte)(FuncBuf[pCLOCK] >> 8));
Write24C16(addr++,(Byte)FuncBuf[pCLOCK]);
addr++;
Write24C16(addr,(Byte)FuncBuf[pPHASE]);
}
void SaveData(void)
{
unsigned short addr;
switch(SavePointer)
{
case pBRIGHTNESS:
if(FuncBuf[pVIDEOSOURCE] < 3)
//Write24C16(ep_BackLight,FuncBuf[pBACKLIGHT]);
Write24C16(ep_Brightness,FuncBuf[pBRIGHTNESS]);
//else
// Write24C16(ep_Video_Brightness,FuncBuf[pBRIGHTNESS]);
break;
case pCONTRAST:
switch(FuncBuf[pVIDEOSOURCE])
{
case 0:
case 1:
Write24C16(ep_Contrast,(Byte)FuncBuf[pCONTRAST]);
break;
//case 1:
// Write24C16(ep_DVI_Contrast,(Byte)FuncBuf[pCONTRAST]);
// break;
case 2:
case 3:
Write24C16(ep_Video_Contrast,(Byte)FuncBuf[pCONTRAST]);
break;
};
break;
case pCLOCK:
addr = ep_Clock_Offset + (ModePoint * 8);
Write24C16(addr++,(Byte)(FuncBuf[pCLOCK] >> 8));
Write24C16(addr,(Byte)FuncBuf[pCLOCK]);
break;
case pPHASE:
addr = ep_Phase_Offset + (ModePoint * 8);
Write24C16(addr,(Byte)FuncBuf[pPHASE]);
break;
case pHPOSITION:
addr = ep_Hpos_Offset + (ModePoint * 8);
Write24C16(addr++,(Byte)(FuncBuf[pHPOSITION] >> 8));
Write24C16(addr,(Byte)FuncBuf[pHPOSITION]);
break;
case pVPOSITION:
addr = ep_Vpos_Offset + (ModePoint * 8);
Write24C16(addr,(Byte)FuncBuf[pVPOSITION]);
break;
case pRCOLOR:
addr = FuncBuf[pCOLORTEMP] * 3 + ep_Color1_R;
Write24C16(addr,(Byte)FuncBuf[pRCOLOR]);
break;
case pGCOLOR:
addr = FuncBuf[pCOLORTEMP] * 3 + ep_Color1_G;
Write24C16(addr,(Byte)FuncBuf[pGCOLOR]);
break;
case pBCOLOR:
addr = FuncBuf[pCOLORTEMP] * 3 + ep_Color1_B;
Write24C16(addr,(Byte)FuncBuf[pBCOLOR]);
break;
case pOSDHPOSITION:
Write24C16(ep_OsdH_Pos,(Byte)FuncBuf[pOSDHPOSITION]);
break;
// Jacky 0201 removed
// case pOSDVPOSITION:
// Write24C16(ep_OsdV_Pos,(Byte)FuncBuf[pOSDVPOSITION]);
// break;
case pOSDTIMER:
Write24C16(ep_Osd_Timer,(Byte)FuncBuf[pOSDTIMER]);
break;
case pSATURATION:
if(FuncBuf[pVIDEOSOURCE] < 3)
Write24C16(ep_sRGB_Saturation,(Byte)FuncBuf[pSATURATION]);
//else
// Write24C16(ep_Video_Saturation,(Byte)FuncBuf[pSATURATION]);
break;
case pTINT:
if(FuncBuf[pVIDEOSOURCE] < 3)
Write24C16(ep_sRGB_Tint,(Byte)FuncBuf[pTINT]);
//else
// Write24C16(ep_Video_Tint,(Byte)FuncBuf[pTINT]);
break;
case pSHARPNESS:
if(FuncBuf[pVIDEOSOURCE] < 3)
{
addr = ep_Shape_Offset + (ModePoint * 8);
Write24C16(addr,(Byte)FuncBuf[pSHARPNESS]);
}
//else
// Write24C16(ep_Video_Shapness,(Byte)FuncBuf[pSHARPNESS]);
break;
case pBACKLIGHT:
Write24C16(ep_BackLight,(Byte)FuncBuf[pBACKLIGHT]);
break;
case pLANGUAGE:
Write24C16(ep_Language,FuncBuf[pLANGUAGE]);
// if(FuncBuf[pLANGUAGE]== 5){
// WriteSeqIndexPort(0xd0,tySRAM_1BIT,OneBitFontJP,45*27);
// WriteSeqIndexPort(0x90,tySRAM_1BIT,OneBitFontJP2,7*27);
// }
// else if((FuncBuf[pLANGUAGE] == 7)||(FuncBuf[pLANGUAGE] == 8)){
// WriteSeqIndexPort(0xd0,tySRAM_1BIT,OneBitFontCH2,48*27);
// WriteSeqIndexPort(0x90,tySRAM_1BIT,OneBitFontCH3,6*27);
// }
// else
// WriteSeqIndexPort(0x90,tySRAM_1BIT,OneBitFontPY,7*27);
break;
case pCOLORTEMP:
Write24C16(ep_Color_Ptr,FuncBuf[pCOLORTEMP]);
break;
case pTRANSOSD:
Write24C16(ep_Osd_Effect,FuncBuf[pTRANSOSD]);
break;
case pBACKLIGHT2:
Write24C16(ep_sRGB_Backlight,FuncBuf[pBACKLIGHT2]);
break;
case pVCMVOL:
Write24C16(ep_VCMVol,(Byte)FuncBuf[pVCMVOL]);
break;
case pVOLUME:
Write24C16(ep_Volume,(Byte)FuncBuf[pVOLUME]);
break;
case pRADC:
if(FuncBuf[pVIDEOSOURCE] == 0)
Write24C16(ep_ADC_R_Gain,FuncBuf[pRADC]);
break;
case pGADC:
if(FuncBuf[pVIDEOSOURCE] == 0)
Write24C16(ep_ADC_G_Gain,FuncBuf[pGADC]);
break;
case pBADC:
if(FuncBuf[pVIDEOSOURCE] == 0)
Write24C16(ep_ADC_B_Gain,FuncBuf[pBADC]);
break;
case pROFFSET:
if(FuncBuf[pVIDEOSOURCE] == 0)
Write24C16(ep_ADC_R_Offset,FuncBuf[pROFFSET]);
else if(FuncBuf[pVIDEOSOURCE] == 2)
Write24C16(ep_YPbPr_R_Offset,FuncBuf[pROFFSET]);
break;
case pGOFFSET:
if(FuncBuf[pVIDEOSOURCE] == 0)
Write24C16(ep_ADC_G_Offset,FuncBuf[pGOFFSET]);
else if(FuncBuf[pVIDEOSOURCE] == 2)
Write24C16(ep_YPbPr_G_Offset,FuncBuf[pGOFFSET]);
break;
case pBOFFSET:
if(FuncBuf[pVIDEOSOURCE] == 0)
Write24C16(ep_ADC_B_Offset,FuncBuf[pBOFFSET]);
else if(FuncBuf[pVIDEOSOURCE] == 2)
Write24C16(ep_YPbPr_B_Offset,FuncBuf[pBOFFSET]);
break;
case pContMax:
Write24C16(ep_ContMax,FuncBuf[pContMax]);
break;
case pContMin:
Write24C16(ep_ContMin,FuncBuf[pContMin]);
break;
case pBrigMax:
Write24C16(ep_BrigMax,FuncBuf[pBrigMax]);
break;
case pBrigMin:
Write24C16(ep_BrigMin,FuncBuf[pBrigMin]);
break;
case pLIGHTCONTRAST:
Write24C16(ep_Light_Contrast,FuncBuf[pLIGHTCONTRAST]);
break;
case pLIGHTBRIGHT:
Write24C16(ep_Light_Bright,FuncBuf[pLIGHTBRIGHT]);
break;
case pLIGHTHSTART:
Write24C16(ep_Light_HSMSB,(Byte)(FuncBuf[pLIGHTHSTART] >> 8));
Write24C16(ep_Light_HSLSB,(Byte)FuncBuf[pLIGHTHSTART]);
break;
case pLIGHTHWIDTH:
Write24C16(ep_Light_HWMSB,(Byte)(FuncBuf[pLIGHTHWIDTH] >> 8));
Write24C16(ep_Light_HWLSB,(Byte)FuncBuf[pLIGHTHWIDTH]);
break;
case pLIGHTVSTART:
Write24C16(ep_Light_VSMSB,(Byte)(FuncBuf[pLIGHTVSTART] >> 8));
Write24C16(ep_Light_VSLSB,(Byte)FuncBuf[pLIGHTVSTART]);
break;
case pLIGHTVHIGHT:
Write24C16(ep_Light_VHMSB,(Byte)(FuncBuf[pLIGHTVHIGHT] >> 8));
Write24C16(ep_Light_VHLSB,(Byte)FuncBuf[pLIGHTVHIGHT]);
break;
}
#if PRINT_MESSAGE
printf("SavePointer = %x\r\n",(unsigned short)SavePointer);
#endif
SavePointer = 0xff;
}
void SetSource()
{
if(FuncBuf[pVIDEOSOURCE] > 2 && !Saa7114En)
FuncBuf[pVIDEOSOURCE] = 0;
switch(FuncBuf[pVIDEOSOURCE])
{
case 0:
SyncMode = 0;
SourceSelect();
break;
case 1:
SyncMode = 3;
SourceSelect();
break;
case 2:
SyncMode = 4;
SourceSelect();
break;
/*
case 3:
case 4:
SourceSelect();
break;
*/
};
}
void MiscProcess(Bit DoAll)
{
if((DDC_CTL0 & UPD_DDC) && !SaveDDC0)
{
SaveDDC0 = 1;
DDCTimer = SAVE_DDC_TIME;
}
if((DDC_CTL1 & UPD_DDC) && !SaveDDC1)
{
SaveDDC1 = 1;
DDCTimer = SAVE_DDC_TIME;
}
if(SaveDDC0 && DDCTimer == 0)
SaveDDCData(0);
if(SaveDDC1 && DDCTimer == 0)
SaveDDCData(1);
if(DoAll)
{
if(OsdTimer == 0 && OsdEnable && OutOfRange == 0 && FactMode == 0)
Osd_Off();
if(BurnInTimer == 0 && BurnInMode && NoSyncFlag){
ShowBurnInPattern(0);
//printf("Burn Test C.\n");
}
if(SavePointer != 0xff && SaveTimer == 0)
SaveData();
if((BackLightTimer == 0) ||( ((BackLightTimer / 1800) >= 1)&&((BackLightTimer % 1800) < 60))){
SaveBackLightTime();
}
}
}
void SaveBackLightTime(void)
{
Write24C16(ep_BkLightTime_Offset+3,(Byte)(BackLightTimer >> 24));
Write24C16(ep_BkLightTime_Offset+2,(Byte)(BackLightTimer >> 16));
Write24C16(ep_BkLightTime_Offset+1,(Byte)(BackLightTimer >> 8));
Write24C16(ep_BkLightTime_Offset,(Byte)(BackLightTimer));
}
void LoadPresetModeSettings(Byte type)
{
Word addr;
if(ModePoint < UserModeSt)
addr = ModePoint * 8;
else
addr = UserModeRefReso * 8;
switch(type)
{
case 0:
FuncBuf[pPHASE] = EEP_SyncMap[addr+7];
FuncBuf[pCLOCK] = EEP_SyncMap[addr+4];
FuncBuf[pCLOCK] <<= 8;
FuncBuf[pCLOCK] |= EEP_SyncMap[addr+5];
case 1:
FuncBuf[pVPOSITION] = EEP_SyncMap[addr+1];
FuncBuf[pHPOSITION] = EEP_SyncMap[addr+2];
FuncBuf[pHPOSITION] <<= 8;
FuncBuf[pHPOSITION] |= EEP_SyncMap[addr+3];
break;
case 2:
FuncBuf[pCLOCK] = EEP_SyncMap[addr+4];
FuncBuf[pCLOCK] <<= 8;
FuncBuf[pCLOCK] |= EEP_SyncMap[addr+5];
break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -