📄 setup.c
字号:
// for this in _SaveDataToSetupInfo, so we do the check here.
_SaveDataToSetupInfo();
}
// Brian0.90
if (__wMENUCurrentItemId == SETUP_MAIN_EXIT)
{
__bKeyMessage = MSG_NULL; // set it to MSG_NULL, or a "Play" message will be displayed by OSD
_ExitSetup();
}
}
// active region 1
//GDI_SetCurrentRegion(1);
//GDI_ActivateRegion();
__bKey = KEY_NO_KEY;
break;
//case KEY_ENTER:
// OSDMENU_MenuOperation(__bKey);
// __bKey=KEY_NO_KEY;
break;
case KEY_STOP_RETURN:
__bKey=KEY_NO_KEY;
break;
case KEY_TEST1:
case KEY_TEST2:
case KEY_TEST3:
case KEY_TEST4:
case KEY_TEST5:
case KEY_TEST6:
case KEY_TEST7:
case KEY_TEST8:
case KEY_TEST9:
case KEY_I2CTEST:
// these KEYs are for Emulator Test Tool
// we need to pass them out
break;
case KEY_N0:
case KEY_N1:
case KEY_N2:
case KEY_N3:
case KEY_N4:
case KEY_N5:
case KEY_N6:
case KEY_N7:
case KEY_N8:
case KEY_N9:
default:
if (__btPause)
{
__bKey=KEY_NO_KEY;
return __bKey; //TRUE;
}
if ((_bDoBackDoor == FALSE) && (__wMENUCurrentItemId == BACKDOOR_ENTRY_POINT)) //SETUP_MAIN_LANGUAGE))
{
if (__bBackDoorSeqIndex == 0)
{
if (__bKey == __bBackDoorSequence[__bBackDoorSeqIndex])
__bBackDoorSeqIndex++;
}
else if (__bBackDoorSeqIndex < BACK_DOOR_SEQUENCE_NUM)
{
if (__bKey == __bBackDoorSequence[__bBackDoorSeqIndex])
__bBackDoorSeqIndex++;
else
__bBackDoorSeqIndex = 0;
if (__bBackDoorSeqIndex == BACK_DOOR_SEQUENCE_NUM)
{
_bDoBackDoor = TRUE;
// Set text color for back door case
GDI_SetTextColor(TEXT_FG_COLOR, OSDMENU_ENTRY_DESC_TEXT_COLOR);
GDI_SetTextColor(TEXT_BG_COLOR, OSDSETUP_ENTRY_MAIN_COLOR_BG);
//_bBackDoorRegion = _ConvertBackDoorRegionToIndex(__SetupInfo.bRegionControl);
_bSetupTemp = _ConvertBackDoorRegionNum(__SetupInfo.bRegionControl);
//OSD_OUTPUT_MACRO(MSG_INVALID, OSD_ERR_REGION, 0x00 ); // brian.161
BACKDOOR_OUTPUT_NUMBER(BACKDOOR_DISPLAY_X, BACKDOOR_DISPLAY_Y, _bSetupTemp); // X, Y, the number
}
}
}
__bKey=KEY_NO_KEY;
break;
}
return __bKey; //TRUE;
}
// ***************************************************************************
// Function : _WriteSetupData
// Description : This function will write SETUP data to EEPROM and initialize __SetupInfo
// Arguments : bSetup, the status to be processed.
// Return : none.
// Side Effect :
// ***************************************************************************
void _WriteSetupData(BYTE bSetup, BYTE bDefaultPassword)
{
//int i = 0;
#ifdef WRITE_EEPROM_ENABLE //SYSTEM_8051
// always clear current EEPROM data
if (bSetup==SETUP_DATA_RESET)
{
for (i=0; i<EPROM_IDENTIFY_BYTE;i++)
HAL_EEPROM_Write(SETUP_ADDR_IDENTIFY+i, 0xff);
return;
}
else
#endif
// do 1st setup data initialization
if (bSetup==SETUP_DATA_DEFAULT)
{
// write winbond password
//Here will do setup value initialization.
// initial data
// initial data
// update setup version
__SetupInfo.bSetupVersion = SETUP_VERSION;
//if (bDefaultPassword)
// Brian1.24, check if set to default password
if(bDefaultPassword & USE_DEFAULT_PASSWORD)
{
__SetupInfo.wDefaultPassword=SETUP_DEFAULT_PASSWORD;
__SetupInfo.wParentalCtl = SETUP_DEFAULT_PARENTAL;
}
__SetupInfo.bAspectRatio=SETUP_DEFAULT_ASPECT;
#ifndef NO_SCREEN_SAVER // Brian1.20
__SetupInfo.bSCRControl = SETUP_DEFAULT_SCREEN_SAVER;
#endif
__SetupInfo.bTVSystem = SETUP_DEFAULT_TV_SYSTEM;
__SetupInfo.bBrightness = SETUP_DEFAULT_BRIGHTNESS;
__SetupInfo.bContrast = SETUP_DEFAULT_CONTRAST;
#ifdef SUPPORT_ADJUST_CHROM_PHASE // Brian1.25, Chroma phase
__SetupInfo.bChromPhaseOffset = SETUP_DEFAULT_CHROM_PHASE;
#endif
__SetupInfo.bVideoOutput = SETUP_DEFAULT_VIDEO_OUTPUT;
__SetupInfo.bAudioDigitalOut = SETUP_DEFAULT_AUDIO_DIGITAL_OUT;
__SetupInfo.bAudioAnalogOut = SETUP_DEFAULT_AUDIO_ANALOG_OUT;
__SetupInfo.bAudioPrologic = SETUP_DEFAULT_AUDIO_PROLOGIC; // Brian1.08
__SetupInfo.bAudioCenter = SETUP_DEFAULT_AUDIO_CENTER;
__SetupInfo.bAudioRear = SETUP_DEFAULT_AUDIO_REAR;
__SetupInfo.bAudioSubwoofer = SETUP_DEFAULT_AUDIO_SUBWOOFER;
__SetupInfo.bAudioLPCM = SETUP_DEFAULT_AUDIO_LPCM;
__SetupInfo.bAudioDNR = SETUP_DEFAULT_AUDIO_DNR;
__SetupInfo.bAudioKaraoke = SETUP_DEFAULT_AUDIO_KARAOKE;
// Brian1.24, check if need to set to default
if(bDefaultPassword & USE_DEFAULT_REGIONCODE)
__SetupInfo.bRegionControl = SETUP_DEFAULT_REGION;
if(bDefaultPassword & USE_DEFAULT_PARENTAL_CTRL)
__SetupInfo.bParentalControl = SETUP_DEFAULT_PARENTAL_CTL;
if(bDefaultPassword & USE_DEFAULT_APS_CTRL)
__SetupInfo.bAPSControl = SETUP_DEFAULT_APS_CTL;
__SetupInfo.bOSDLanguage = SETUP_DEFAULT_OSD_LANGUAGE;
__SetupInfo.bMenuLanguage = SETUP_DEFAULT_MENU_LANGUAGE;
__SetupInfo.bAudioLanguage = SETUP_DEFAULT_AUDIO_LANGUAGE;
__SetupInfo.bSPSTLanguage = SETUP_DEFAULT_SPST_LANGUAGE;
__SetupInfo.bAngleMarkDisplay = SETUP_DEFAULT_ANGLE_MARK;
__SetupInfo.bProgressiveScan = SETUP_DEFAULT_PROGRESSIVE_SCAN; // Brian0.81
__SetupInfo.bAudioDigitalOut = SETUP_DEFAULT_AUDIO_DIGITAL_OUT; // Brian0.82
__SetupInfo.bAudioAnalogOut = SETUP_DEFAULT_AUDIO_ANALOG_OUT; // Brian0.82
// Brian1.05, fix the problem that check region code still error after it is restored as default
// just call NV_Setting, it will set __wSPRMs[20] always
NV_Setting(SET_REGION_CODE, 0);
// TCC276, let 0x5A be TRUE.
if (SETUP_DEFAULT_VCD_CTL == FALSE)
__SetupInfo.bVCDControl = 0 ;
else
__SetupInfo.bVCDControl = 0x5A ;
//__SetupInfo.bVCDControl = SETUP_DEFAULT_VCD_CTL; // ** TCH2.74;
_SetAngleMarkTime(); //brian.170a
}
_TransferLanguageToSPRM();
CT_strncpy(__SetupInfo.cSetupIdentify, "WINBOND", 7);
//#ifndef DOS_VER //--CoCo, 8/18/2000
#ifdef WRITE_EEPROM_ENABLE //SYSTEM_8051
pbSetupPtr=&__SetupInfo;
for (i=0;i<EPROM_DATA_BYTES/8;i++)
{
HAL_EEPROM_PWrite(SETUP_ADDR_BASE+(i*8), pbSetupPtr+(i*8), 8);
}
if (EPROM_DATA_BYTES%8)
{
HAL_EEPROM_PWrite(SETUP_ADDR_BASE+8*(EPROM_DATA_BYTES/8), pbSetupPtr+8*(EPROM_DATA_BYTES/8), EPROM_DATA_BYTES%8);
}
// Brian1.23, clear resume flag to "XXXXXX"
CT_strcpy ((char *)__bMsgString, "XXXXXX");
HAL_EEPROM_PWrite(SETUP_ADDR_RESUME_FLAG, __bMsgString, RESUME_FLAG_LENGTH);
#endif //#ifndef SYSTE_8051
}
// ***************************************************************************
// Function : _ReadSetupData
// Description : This function will read SETUP data from EEPROM to __SetupInfo
// : and do some protection.
// Arguments : bType,
// Return : none.
// Side Effect :
// ***************************************************************************
void _ReadSetupData(BYTE bType)
{
#ifdef WRITE_EEPROM_ENABLE //SYSTEM_8051
BYTE bSize = 0;
BYTE bInstance = 0;
pbSetupPtr=&__SetupInfo;
switch (bType)
{
case SETUP_POWERON_INITIAL:
bSize = SETUP_ADDR_AUDIO_CENTER - SETUP_ADDR_PASSSTRING; //from wDefaultPassword to bOSDLanguage in SETUPINFO
bInstance = EPROM_IDENTIFY_BYTE + EPROM_VERSION_BYTE;
for (i=0; i < bSize/8; i++)
{
HAL_EEPROM_PRead(SETUP_ADDR_PASSSTRING+(i*8), 8, pbSetupPtr+ bInstance +(i*8));
}
if (bSize%8)
{
HAL_EEPROM_PRead(SETUP_ADDR_PASSSTRING+8*(bSize/8), bSize%8, pbSetupPtr+bInstance+8*(bSize/8));
}
//error protection
if ((__SetupInfo.bAspectRatio < SETUP_SCREEN_TV_TYPE_BEGIN) ||
(__SetupInfo.bAspectRatio > SETUP_SCREEN_TV_TYPE_END))
{
__SetupInfo.bAspectRatio = SETUP_DEFAULT_ASPECT;
#ifdef _DEBUG_INFO
_bEEPROMError = SETUP_ADDR_ASPECT;
#endif
}
#ifndef NO_SCREEN_SAVER // Brian1.20
if ((__SetupInfo.bSCRControl < SETUP_SCREEN_SAVER_BEGIN) ||
(__SetupInfo.bSCRControl > SETUP_SCREEN_SAVER_END))
{
__SetupInfo.bSCRControl = SETUP_DEFAULT_SCREEN_SAVER;
#ifdef _DEBUG_INFO
_bEEPROMError = SETUP_ADDR_SCREEN_SAVER;
#endif
}
#endif //#ifndef NO_SCREEN_SAVER
if ((__SetupInfo.bTVSystem < SETUP_SCREEN_TV_SYSTEM_BEGIN) ||
(__SetupInfo.bTVSystem > SETUP_SCREEN_TV_SYSTEM_END))
{
__SetupInfo.bTVSystem = SETUP_DEFAULT_TV_SYSTEM;
#ifdef _DEBUG_INFO
_bEEPROMError = SETUP_ADDR_TV_SYTEM;
#endif
}
if ((__SetupInfo.bProgressiveScan < SETUP_PROGRESSIVE_SCAN_BEGIN) ||
(__SetupInfo.bProgressiveScan > SETUP_PROGRESSIVE_SCAN_END))
{
__SetupInfo.bProgressiveScan = SETUP_DEFAULT_PROGRESSIVE_SCAN;
#ifdef _DEBUG_INFO
_bEEPROMError = SETUP_ADDR_TV_SYTEM;
#endif
}
if ((__SetupInfo.bBrightness < SETUP_SCREEN_BRIGHTNESS_BEGIN) ||
(__SetupInfo.bBrightness > SETUP_SCREEN_BRIGHTNESS_END))
{
__SetupInfo.bBrightness = SETUP_DEFAULT_BRIGHTNESS;
#ifdef _DEBUG_INFO
_bEEPROMError = SETUP_ADDR_BRIGHTNESS;
#endif
}
if ((__SetupInfo.bContrast < SETUP_SCREEN_CONTRAST_BEGIN) ||
(__SetupInfo.bContrast > SETUP_SCREEN_CONTRAST_END))
{
__SetupInfo.bContrast = SETUP_DEFAULT_CONTRAST;
#ifdef _DEBUG_INFO
_bEEPROMError = SETUP_ADDR_CONTRAST;
#endif
}
#ifdef SUPPORT_ADJUST_CHROM_PHASE // Brian1.25, Chroma phase
if ((__SetupInfo.bChromPhaseOffset< SETUP_SCREEN_CHROM_PHASE_BEGIN) ||
(__SetupInfo.bChromPhaseOffset> SETUP_SCREEN_CHROM_PHASE_END))
{
__SetupInfo.bChromPhaseOffset= SETUP_DEFAULT_CHROM_PHASE;
#ifdef _DEBUG_INFO
_bEEPROMError = SETUP_ADDR_CHROM_PHASE;
#endif
}
#endif
if ((__SetupInfo.bVideoOutput < SETUP_SCREEN_VIDEO_OUTPUT_BEGIN) ||
(__SetupInfo.bVideoOutput > SETUP_SCREEN_VIDEO_OUTPUT_END))
{
__SetupInfo.bVideoOutput = SETUP_DEFAULT_VIDEO_OUTPUT;
#ifdef _DEBUG_INFO
_bEEPROMError = SETUP_ADDR_VIDEO_OUTPUT;
#endif
}
//Brian1.00-4, RELEASE_SETTING no VGA item
#ifdef NO_VGA_OUTPUT // Brian1.07 use this to replace RELEASE_SETTING
if (__SetupInfo.bVideoOutput == SETUP_SCREEN_VIDEO_OUTPUT_VGA)
{
__SetupInfo.bVideoOutput = SETUP_SCREEN_VIDEO_OUTPUT_NORMAL;
//Brian1.06, adjust P-SCAN setting
SETUP_ChangeValue(SETUP_SCREEN_PROGRESSIVE_SCAN);
}
#endif
//Kevin1.05, let _TVModeSet handle it
/*
//Kevin0.87b, add protection
if ((__SetupInfo.bProgressiveScan == SETUP_PROGRESSIVE_SCAN_ON) &&
(__SetupInfo.bVideoOutput == SETUP_SCREEN_VIDEO_OUTPUT_NORMAL))
{
__SetupInfo.bProgressiveScan = SETUP_PROGRESSIVE_SCAN_OFF;
}
if ((__SetupInfo.bProgressiveScan == SETUP_PROGRESSIVE_SCAN_OFF) &&
(__SetupInfo.bVideoOutput == SETUP_SCREEN_VIDEO_OUTPUT_VGA))
{
__SetupInfo.bProgressiveScan = SETUP_PROGRESSIVE_SCAN_ON;
}
*/
/*
if ((__SetupInfo.bAudioOutput < SETUP_AUDIO_OUTPUT_BEGIN) ||
(__SetupInfo.bAudioOutput > SETUP_AUDIO_OUTPUT_END))
{
__SetupInfo.bAudioOutput = SETUP_DEFAULT_AUDIO_OUTPUT;
#ifdef _DEBUG_INFO
_bEEPROMError = SETUP_ADDR_AUDIO_OUTPUT;
#endif
}
*/
if ((__SetupInfo.bAudioDigitalOut < SETUP_AUDIO_DIGITAL_OUT_BEGIN) ||
(__SetupInfo.bAudioDigitalOut > SETUP_AUDIO_DIGITAL_OUT_END))
{
__SetupInfo.bAudioDigitalOut = SETUP_DEFAULT_AUDIO_DIGITAL_OUT;
#ifdef _DEBUG_INFO
//_bEEPROMError = SETUP_ADDR_AUDIO_OUTPUT;
#endif
}
if ((__SetupInfo.bAudioAnalogOut < SETUP_AUDIO_ANALOG_OUT_BEGIN) ||
(__SetupInfo.bAudioAnalogOut > SETUP_AUDIO_ANALOG_OUT_END))
{
__SetupInfo.bAudioAnalogOut = SETUP_DEFAULT_AUDIO_ANALOG_OUT;
#ifdef _DEBUG_INFO
//_bEEPROMError = SETUP_ADDR_AUDIO_OUTPUT;
#endif
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -