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

📄 userpref_new_ntsc.c

📁 lcd tv : MST9E19A原代码
💻 C
字号:
/******************************************************************************
 Copyright (c) 2003 MStar Semiconductor, Inc.
 All rights reserved.

 [Module Name]: UserPref.c
 [Date]:        18-Dec-2003
 [Comment]:
   User preference subroutines.
 [Reversion History]:
*******************************************************************************/
#define _USERPREF__NTSC_C_

void usrInitTVSetting(void)
{
    BYTE cI;

    g_TVSetting.ChannelSource = CHANNEL_SOURCE_CATV;
    g_TVSetting.bAutoScanChannelDone = FALSE;
    for (cI = 0; cI < 32; cI++)
    {
        g_TVSetting.acSignal[cI] = 0;
    }
    
    usrSaveTVSetting();
    usrInitChSetting();
    usrInitNTSCChannelOffset();
}

void usrSaveTVSetting(void)
{
    g_TVSetting.TvSettingCS = usrCalCheckSum( (BYTE *)&g_TVSetting, SIZE_TV_SETTING );
    rmBurstWriteBytes(RM_TV_SETTING_ADDRESS, (BYTE *)&g_TVSetting, SIZE_TV_SETTING);
    usrSaveChSetting(g_TVSetting.ChannelSource);
}

void usrLoadTVSetting(void)
{
    rmBurstReadBytes( RM_TV_SETTING_ADDRESS, (BYTE *)&g_TVSetting, SIZE_TV_SETTING );
    if( g_TVSetting.TvSettingCS != usrCalCheckSum( (BYTE *)&g_TVSetting, SIZE_TV_SETTING ) )
    {
        EE_PUTSTR("\r\n TVSetting Reload!");
        usrInitTVSetting();
    }
    usrLoadChSetting( g_TVSetting.ChannelSource );
}

code BYTE m_cMask[8] = 
{
    0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01
};
BOOL usrCheckValidChanel(BYTE cChanel)
{
    if (g_TVSetting.acSignal[cChanel>>3] & m_cMask[cChanel&0x07])
    {
        return TRUE;
    }
    else
    {
        return FALSE;
    }
}

void usrSetValidChanel(BYTE cChanel, BOOL bEnable)
{
    if (bEnable)
    {
        g_TVSetting.acSignal[cChanel>>3] |= m_cMask[cChanel&0x07];
    }
    else
    {
        g_TVSetting.acSignal[cChanel>>3] &= ~m_cMask[cChanel&0x07];
    }
}

void usrInitChSetting(void)
{
    g_TVChSetting.ucCurChannelNO = 1;
    g_TVChSetting.ucPreChannelNO = 1;
    usrSaveChSetting(CHANNEL_SOURCE_AIR);
    usrSaveChSetting(CHANNEL_SOURCE_CATV);
}

void usrLoadChSetting(ChannelSourceType ChSrcSel)
{
    rmBurstReadBytes( rmChSetAddress(ChSrcSel), (BYTE *)&g_TVChSetting, SIZE_CH_SETTING );
    if( g_TVChSetting.TvChSettingCS != usrCalCheckSum( (BYTE *)&g_TVChSetting, SIZE_CH_SETTING ) )
    {
        EE_PUTSTR("\r\nTV Channel Setting Reload");
        usrInitChSetting();
    }
}

void usrSaveChSetting(ChannelSourceType ChSrcSel)
{
    g_TVChSetting.TvChSettingCS = usrCalCheckSum((BYTE *)&g_TVChSetting, SIZE_CH_SETTING);
    rmBurstWriteBytes( rmChSetAddress(ChSrcSel), (BYTE *)&g_TVChSetting, SIZE_CH_SETTING );
}

///////////////////////////////////////////////////////////////////////////////
// <Function>: usrSaveMenu
//
// <Description>: Save OSd Menus setting.
///////////////////////////////////////////////////////////////////////////////
void usrSaveMenu(UserSaveModeEnumType ucSaveMode)
{
    if (ucSaveMode>USER_SAVE_OSD_CURRENT)
    {
        switch( ucSaveMode )
        {
            case USER_SAVE_SOURCE_DIRECTLY:
                usrSaveSystemSetting();
                break;
        }
    }
    else
    {
        switch( g_ucMenuPageIndex )
        {
            case MENU_AUTO_ADJUST:
                usrSaveModeSetting(&g_ModeSetting, g_SrcInfo.ucModeRamIndex);
                break;
            case MENU_PICTURE:
            case MENU_PICTURE_SUB_CONTRAST:
            case MENU_PICTURE_SUB_BRIGHTNESS:
            case MENU_PICTURE_SUB_HUE:
            case MENU_PICTURE_SUB_SATURATION:
            case MENU_PICTURE_SUB_SHARPNESS:
            case MENU_PICTURE_MODE:
            case MENU_SOUND_MODE:
                usrSaveVideoSetting();
                break;
            case MENU_SOUND:
            case MENU_SOUND_SUB_BASS://Dimong 060314
            case MENU_SOUND_SUB_TREBLE:
            case MENU_SOUND_SUB_BALANCE:
            case MENU_VOLUME:
                usrSaveSoundSetting();
                break;
            case MENU_FUNCTION:
                usrSaveSystemSetting();
                usrSaveVideoSetting();
                break;
            case MENU_PC:
                usrSaveModeSetting(&g_ModeSetting, g_SrcInfo.ucModeRamIndex);
                usrSavePCScaleSetting();
                usrSavePCColorSetting();
                usrSaveAdcSetting(ADC_SET_VGA); // save VGA setting(manufactory)
                break;

            case MENU_CHANNEL:
                usrSaveTVSetting();
                break;
            case MENU_PC_COLORMODE:
            case MENU_PC_COLORMODE_SUB_USERR:
            case MENU_PC_COLORMODE_SUB_USERG:
            case MENU_PC_COLORMODE_SUB_USERB://Dimong 060314
                usrSavePCColorTempSetting( &g_PCColorTempSetting, g_PCColorSetting.ColorTempIndex );
                break;
            case MENU_OSD:
                usrSaveSystemSetting();
                break;
          #if ( ENABLE_CC_VCHIP )
            case MENU_PARENT_CTL:
            case MENU_TV_RATING:
                usrSaveVBISetting();
                break;
          #endif
		  //FACTORY PART
            case MENU_FACTORY_ADC_ADJ:
                usrSaveFacPage_ADCAdj();
                break;
            case MENU_FACTORY_PICTURE_MODE:
                usrSaveVideoSetting();
                break;
            case MENU_FACTORY_COLOR_MODE:
                usrSaveFacPage_ColorTemp();
                break;

            default:
		    break;
        }
    }
}

⌨️ 快捷键说明

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