⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 setup.c

📁 ct952 source code use for Digital Frame Photo
💻 C
📖 第 1 页 / 共 5 页
字号:
//  *************************************************************************BYTE SETUP_Recover(BYTE bRecoverRegion){    // The whole setup need to be redraw when recover from screen saver mode    // Only partial setup need to be redraw when recover from p-scan    if (OSD_RECOVER_ALL != bRecoverRegion) return FALSE;//    _SETUP_ShowUI();    // Clear region/* Alan2.20    _SETUP_RectAttr.bColor = PAL_ENTRY_COLOR_TRANSPARENT;    _InitRect(&(_SETUP_RectAttr.rect), 0, 0,                       GDI_REGION_WIDTH, GDI_REGION_HEIGHT);    _SETUP_FillRect(0, 0, GDI_REGION_WIDTH, GDI_REGION_HEIGHT); //CoCo1.20, reduce code size.*/    OSDSETUP_Display();    OSDMENU_SetMenuPalEntry();    OSDMENU_RedrawAll();//  The following code can replace the above code to //  recover the setup to the original status/*    extern BYTE __bMENUSelect[MENU_LEVEL];    BYTE i, bLevel0, bLevel1, bLevel2;    if (OSD_RECOVER_ALL != bRecoverRegion) return FALSE;    bLevel0 = __bMENUSelect[0];    bLevel1 = __bMENUSelect[1];    bLevel2 = __bMENUSelect[2];    _SETUP_ShowUI();    for (i = 0; i < bLevel0; i++)    {        OSDMENU_MenuOperation(KEY_DOWN);    }    OSDMENU_MenuOperation(KEY_RIGHT);    for (i = 0; i < bLevel1; i++)    {        OSDMENU_MenuOperation(KEY_DOWN);    }    OSDSETUP_RedrawMenu();*/    return TRUE;}//  ****************************************************************************//  Function    :   SETUP_Exit //  Description :   The OSD kernel will call this function to exit normally.//              :   This function can NOT send OSD_ChangeUI(xxx, OSD_EXIT_UI) to//              :   notify OSD kernel it exits.//  Arguments   :   bExitMode//                  OSD_UI_EXIT_ALL             : Exit control and clear the UI.//                  OSD_UI_EXIT_CONTROL_ONLY    : Exit control only.//  Return      ://  Side Effect ://  ****************************************************************************void SETUP_Exit(BYTE bExitMode){    switch (bExitMode)    {    case OSD_UI_EXIT_ALL:        if (_bDoBackDoor)            _ExitBackDoor();        _SETUP_ClearUI();        _SETUP_Exit();        break;    case OSD_UI_EXIT_CONTROL_ONLY:        _SETUP_Exit();        break;    default:        break;    }}//  ***************************************************************************//  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){    BYTE bTmp=0xff;    _bVideoSettingChange = TRUE;    //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_WriteStorage(SETUP_ADDR_IDENTIFY+i, &bTmp, 1);        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;        __SetupInfo.bInterVersion = INTER_VERSION;        //if (bDefaultPassword)        // Brian1.24, check if set to default password        if(bDefaultPassword & USE_DEFAULT_PASSWORD)        {            __SetupInfo.wDefaultPassword=SETUP_DEFAULT_PASSWORD;            __SetupInfo.bParentalCtl = 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.bAudioDownMix = SETUP_DEFAULT_AUDIO_DOWNMIX;        __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.bExSPSTLanguage = SETUP_DEFAULT_EX_SPST_LANGUAGE;        __SetupInfo.bExSPSTLanguage = SETUP_DEFAULT_ENCODING_LANGUAGE;        __SetupInfo.bUIStyle = SETUP_DEFAULT_UI_STYLE;        __SetupInfo.bSmartPlay = SETUP_DEFAULT_SMART_PLAY;        __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#ifndef NO_DISC_MODE //CoCo2.37p        // 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);#endif //#ifndef NO_DISC_MODE //CoCo2.37p        // TCC276, let 0x5A be TRUE.        if (SETUP_DEFAULT_VCD_CTL == FALSE)            __SetupInfo.bVCDControl = 0 ;        else            __SetupInfo.bVCDControl = 0x5A ;        _SetAngleMarkTime(); //brian.170a    }#ifndef NO_DISC_MODE //CoCo2.37p    _TransferLanguageToSPRM();#endif //#ifndef NO_DISC_MODE //CoCo2.37p    strncpy(__SetupInfo.cSetupIdentify, IDENTIFY_STRING, EPROM_IDENTIFY_BYTE - 1);#ifdef WRITE_EEPROM_ENABLE //SYSTEM_8051    pbSetupPtr=(BYTE *) &__SetupInfo;/*    HAL_WriteStorage(SETUP_ADDR_BASE, pbSetupPtr, SETUP_DATA_BYTES);*/    for (i=0;i<SETUP_DATA_BYTES/8;i++)    {        HAL_WriteStorage(SETUP_ADDR_BASE+(i*8), pbSetupPtr+(i*8), 8);    }    if (SETUP_DATA_BYTES%8)    {        HAL_WriteStorage(SETUP_ADDR_BASE+8*(SETUP_DATA_BYTES/8),                        pbSetupPtr+8*(SETUP_DATA_BYTES/8), SETUP_DATA_BYTES%8);    }// LLY0.95, only need to clear the resume flag if save resume info. to EERPOM#ifdef  SUPPORT_RESUME_FROM_EEPROM    // LLY0.95, add protection code while out-of the pre-reserved space for resume    if((SETUP_ADDR_RESUME_USED) > (SETUP_ADDR_RESUME_LAST))    {        printf("#error Out-of reserved EEPROM space for resume info. !!\n");    }       // Brian1.23, clear resume flag to "XXXXXX"    strcpy ((char *)__bMsgString, "XXXXXX");    HAL_WriteStorage(SETUP_ADDR_RESUME_FLAG, __bMsgString, RESUME_FLAG_LENGTH);        // LLY1.00, clear the resume ID    for(i=0; i<(RESUME_ID_ENTRY_SIZE); i++)    {        __cBuffer[i]=0;    }    for(i=0; i<RESUME_DISC_NUM; i++)    {        HAL_WriteStorage( (SETUP_ADDR_RESUME_DATA+i*RESUME_DATA_ENTRY_SIZE),             __cBuffer, (RESUME_ID_ENTRY_SIZE));    }    #endif  // #ifdef SUPPORT_RESUME_FROM_EEPROM    #endif  //#ifndef  SYSTE_8051}//  ***************************************************************************//  Function    : _ReadSetupData//  Description : This function will read SETUP data from EEPROM to __SetupInfo//              : and do some protection.//  Arguments   : //  Return      : none.//  Side Effect ://  ***************************************************************************void    _ReadSetupData(){#ifdef WRITE_EEPROM_ENABLE //SYSTEM_8051    pbSetupPtr=(BYTE *)&__SetupInfo;    HAL_ReadStorage(SETUP_ADDR_AUDIO_LANGUAGE, pbSetupPtr + EPROM_IDENTIFY_BYTE +                   EPROM_VERSION_BYTE + EPROM_INTERVERSION_BYTE,                   SETUP_ADDR_USED - SETUP_ADDR_INTERVERSION);        //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	if ((__SetupInfo.bAudioDigitalOut < SETUP_AUDIO_DIGITAL_OUT_BEGIN) ||            (__SetupInfo.bAudioDigitalOut > SETUP_AUDIO_DIGITAL_OUT_END))        {            __SetupInfo.bAudioDigitalOut = SETUP_DEFAULT_AUDIO_DIGITAL_OUT;        }	if ((__SetupInfo.bAudioAnalogOut < SETUP_AUDIO_ANALOG_OUT_BEGIN) ||            (__SetupInfo.bAudioAnalogOut > SETUP_AUDIO_ANALOG_OUT_END))        {            __SetupInfo.bAudioAnalogOut = SETUP_DEFAULT_AUDIO_ANALOG_OUT;        }        if ((__SetupInfo.bAudioLPCM < SETUP_AUDIO_LPCM_BEGIN) ||            (__SetupInfo.bAudioLPCM > SETUP_AUDIO_LPCM_END))        {            __SetupInfo.bAudioLPCM = SETUP_DEFAULT_AUDIO_LPCM;#ifdef _DEBUG_INFO            _bEEPROMError = SETUP_ADDR_AUDIO_LPCM;#endif        }                // alan, CT909        if ((__SetupInfo.bAudioDownMix < SETUP_AUDIO_DOWNMIX_BEGIN) ||            (__SetupInfo.bAudioDownMix > SETUP_AUDIO_DOWNMIX_END))        {            __SetupInfo.bAudioDownMix = SETUP_DEFAULT_AUDIO_DOWNMIX;#ifdef _DEBUG_INFO            _bEEPROMError = SETUP_ADDR_AUDIO_DOWNMIX;#endif        }        // Brian1.08        if ((__SetupInfo.bAudioPrologic < SETUP_AUDIO_PROLOGIC_BEGIN) ||            (__SetupInfo.bAudioPrologic > SETUP_AUDIO_PROLOGIC_END))        {            __SetupInfo.bAudioPrologic = SETUP_DEFAULT_AUDIO_PROLOGIC;#ifdef _DEBUG_INFO            _bEEPROMError = SETUP_ADDR_AUDIO_PROLOGIC;#endif        }        // Brian1.10, check region code range        if ((__SetupInfo.bRegionControl != REGION_ALL) && (__SetupInfo.bRegionControl != REGION1) &&            (__SetupInfo.bRegionControl != REGION2) && (__SetupInfo.bRegionControl != REGION3) &&            (__SetupInfo.bRegionControl != REGION4) && (__SetupInfo.bRegionControl != REGION5) &&            (__SetupInfo.bRegionControl != REGION6) )        {            __SetupInfo.bRegionControl = SETUP_DEFAULT_REGION;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -