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

📄 setup.c

📁 车载电子影音系统dvd播放系统原程序代码
💻 C
📖 第 1 页 / 共 5 页
字号:
				// 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 + -