📄 userpref.c
字号:
s_I2CSel=TV_RAM;
rmBurstReadBytes(rmVideoColorTempAddress(VIDEO_COLOR_TEMP_WARM), g_VideoColorTempOffset, SIZE_COLOR_TEMP_SETTING);
s_I2CSel=MCU_RAM;
rmBurstWriteBytes(rmVideoColorTempAddress(VIDEO_COLOR_TEMP_WARM), g_VideoColorTempOffset, SIZE_COLOR_TEMP_SETTING);
}
void DevVDPatchInit(void)
{
WORD ucrmAddr;
ucrmAddr=rmDEVVDPatch_PAL_ItemAddress(0);
rmWriteByte(ucrmAddr+0, DecoderDynamicSet_PAL_0A);
rmWriteByte(ucrmAddr+1, DecoderDynamicSet_PAL_0B);
rmWriteByte(ucrmAddr+2, DecoderDynamicSet_PAL_0C);
rmWriteByte(ucrmAddr+3, DecoderDynamicSet_PAL_0F);
rmWriteByte(ucrmAddr+4, DecoderDynamicSet_PAL_13);
rmWriteByte(ucrmAddr+5, DecoderDynamicSet_PAL_17);
ucrmAddr=rmDEVVDPatch_NTSC_ItemAddress(0);
rmWriteByte(ucrmAddr+0, DecoderDynamicSet_NTSC_0A);
rmWriteByte(ucrmAddr+1, DecoderDynamicSet_NTSC_0B);
rmWriteByte(ucrmAddr+2, DecoderDynamicSet_NTSC_0C);
rmWriteByte(ucrmAddr+3, DecoderDynamicSet_NTSC_0F);
rmWriteByte(ucrmAddr+4, DecoderDynamicSet_NTSC_13);
rmWriteByte(ucrmAddr+5, DecoderDynamicSet_NTSC_17);
}
void tvInitSetting(void)
{WORD ChannelNum;
ChannelNum=USER_CHANNEL_MAXIMUM;
for(ChannelNum=0;ChannelNum<USER_CHANNEL_MAXIMUM;ChannelNum++)
{s_I2CSel=MCU_RAM;
rmBurstReadBytes(rmCurrentChannelAddress(ChannelNum),(BYTE*)&TVChannelInfo,sizeof(TVChannelInfoType));
s_I2CSel=TV_RAM;
rmBurstWriteBytes(rmCurrentChannelAddress(ChannelNum),(BYTE*)&TVChannelInfo,sizeof(TVChannelInfoType));
s_I2CSel=MCU_RAM;
}
}
void tvLoadSetting(void)
{WORD ChannelNum;
ChannelNum=USER_CHANNEL_MAXIMUM;
for(ChannelNum=0;ChannelNum<USER_CHANNEL_MAXIMUM;ChannelNum++)
{s_I2CSel=TV_RAM;
rmBurstReadBytes(rmCurrentChannelAddress(ChannelNum),(BYTE*)&TVChannelInfo,sizeof(TVChannelInfoType));
s_I2CSel=MCU_RAM;
rmBurstWriteBytes(rmCurrentChannelAddress(ChannelNum),(BYTE*)&TVChannelInfo,sizeof(TVChannelInfoType));
s_I2CSel=TV_RAM;
}
}
////***********************************
//6151
///************************************
#elif(Type_Select==Type_6151)
void usrInitVariableFromEEPROM(void)
{
//Sys data
usrInitFactorySetting(); // initialize system setting
usrInitAllModeSetting(); // initialize all mode setting
usrInitAdcSetting(); // initialize ADC setting
usrInitScalerRGBSetting();
#if 0
#if ( TV_SYSTEM == TV_NTSC )
usrInitChSetting( CHANNEL_SOURCE_AIR, 1 );
usrInitChSetting( CHANNEL_SOURCE_CATV, 1 );
#elif ( TV_SYSTEM == TV_PAL || TV_SYSTEM == TV_CHINA )
usrInitChSetting( CHANNEL_SOURCE_PAL, 0 );
#endif
#endif
usrInitNonLinearAdjustCurve(); // initialize VIDEO non-linear curve setting
//User data
usrInitSystemSetting(); // initialize system setting
usrInitVideoSetting();
usrInitPCColorSetting();
usrInitSoundSetting();
usrInitTVSetting();
usrInitVBISetting();
}
void usrLoadVariableFromEEPROM(void)
{
usrReadFactorySetting();
usrLoadAllModeSetting();
usrReadAdcSetting();
usrReadScalerRGBSetting();
usrLoadNonLinearAdjustCurve();
usrLoadSystemSetting();
usrLoadVideoSetting();
usrLoadPCColorSetting();
usrLoadSoundSetting();
usrLoadTVSetting();
usrReadVBISetting();
}
// Video Pic mode Init
code PictureSettingType VideoModetbl[] =
{ //soft--naturnal--bright
//Brightness Contrast Hue Saturation Sharpness
#if 1 // V2.2
{40, 50, (MAX_VIDEO_HUE-MIN_VIDEO_HUE)/2+MIN_VIDEO_HUE, (WORD)30*(MAX_VIDEO_SATURATION-MIN_VIDEO_SATURATION)/100+MIN_VIDEO_SATURATION, 30},
{50, 65, (MAX_VIDEO_HUE-MIN_VIDEO_HUE)/2+MIN_VIDEO_HUE, (WORD)40*(MAX_VIDEO_SATURATION-MIN_VIDEO_SATURATION)/100+MIN_VIDEO_SATURATION,30},
{60, 75, (MAX_VIDEO_HUE-MIN_VIDEO_HUE)/2+MIN_VIDEO_HUE, (WORD)50*(MAX_VIDEO_SATURATION-MIN_VIDEO_SATURATION)/100+MIN_VIDEO_SATURATION, 50}
#else
{40, 40, (MAX_VIDEO_HUE-MIN_VIDEO_HUE)/2+MIN_VIDEO_HUE, (WORD)45*(MAX_VIDEO_SATURATION-MIN_VIDEO_SATURATION)/100+MIN_VIDEO_SATURATION, (MAX_VIDEO_SHARPNESS-MIN_VIDEO_SHARPNESS)/2+MIN_VIDEO_SHARPNESS},
{50, 50, (MAX_VIDEO_HUE-MIN_VIDEO_HUE)/2+MIN_VIDEO_HUE, (MAX_VIDEO_SATURATION-MIN_VIDEO_SATURATION)/2+MIN_VIDEO_SATURATION, (MAX_VIDEO_SHARPNESS-MIN_VIDEO_SHARPNESS)/2+MIN_VIDEO_SHARPNESS},
{60, 60, (MAX_VIDEO_HUE-MIN_VIDEO_HUE)/2+MIN_VIDEO_HUE, (WORD)65*(MAX_VIDEO_SATURATION-MIN_VIDEO_SATURATION)/100+MIN_VIDEO_SATURATION, (MAX_VIDEO_SHARPNESS-MIN_VIDEO_SHARPNESS)/2+MIN_VIDEO_SHARPNESS}
#endif
};
void FacInitVideoModeSetting( void )
{
s_I2CSel=TV_RAM;
rmBurstWriteBytes( RM_FAC_VIDEO_SDTV_PIC_ADDRESS, ( BYTE * ) VideoModetbl, SIZE_FAC_VIDEO_PIC_SETTING );
rmBurstWriteBytes( RM_FAC_VIDEO_HDTV_PIC_ADDRESS, ( BYTE * ) VideoModetbl, SIZE_FAC_VIDEO_PIC_SETTING );
}
#if 0
void LoadVideoModeSetting( VideoPictureModeEnumType PicModeIdx )
{
rmBurstReadBytes( rmFacVideoSDTVPicAddress( PicModeIdx ), ( BYTE * ) &VideoSDTVMode, sizeof( PictureSettingType ) );
rmBurstReadBytes( rmFacVideoHDTVPicAddress( PicModeIdx ), ( BYTE * ) &VideoHDTVMode, sizeof( PictureSettingType ) );
}
#endif
// PC Pic mode Init
code PCPictureSettingType PCModetbl[] =
{//soft--naturnal--bright
#if 1
{40, (WORD)50*(MAX_PC_CONTRAST-MIN_PC_CONTRAST)/100+MIN_PC_CONTRAST},
{50, (WORD)65*(MAX_PC_CONTRAST - MIN_PC_CONTRAST) /100+ MIN_PC_CONTRAST},
{60, (WORD)75*(MAX_PC_CONTRAST-MIN_PC_CONTRAST)/100+MIN_PC_CONTRAST}
#else
{(MAX_PC_BRIGHTNESS-MIN_PC_BRIGHTNESS)/2+MIN_PC_BRIGHTNESS, (WORD)35*(MAX_PC_CONTRAST-MIN_PC_CONTRAST)/100+MIN_PC_CONTRAST},
{(MAX_PC_BRIGHTNESS-MIN_PC_BRIGHTNESS)/2+MIN_PC_BRIGHTNESS, (MAX_PC_CONTRAST - MIN_PC_CONTRAST) /2+ MIN_PC_CONTRAST},
{(MAX_PC_BRIGHTNESS-MIN_PC_BRIGHTNESS)/2+MIN_PC_BRIGHTNESS, (WORD)65*(MAX_PC_CONTRAST-MIN_PC_CONTRAST)/100+MIN_PC_CONTRAST}
#endif
};
void FacInitPcPicModeSetting( void )
{
s_I2CSel=TV_RAM;
rmBurstWriteBytes( RM_FAC_PC_VGA_PIC_ADDRESS, ( BYTE * ) PCModetbl, SIZE_FAC_PC_PIC_SETTING );
rmBurstWriteBytes( RM_FAC_PC_DVI_PIC_ADDRESS, ( BYTE * ) PCModetbl, SIZE_FAC_PC_PIC_SETTING );
}
#if 0
void LoadPCModeSetting( VideoPictureModeEnumType PicModeIdx )
{
rmBurstReadBytes( rmFacPCVGAPicAddress( PicModeIdx ), ( BYTE * ) &VGAPicMode, sizeof( PCPictureSettingType ) );
rmBurstReadBytes( rmFacPCDVIPicAddress( PicModeIdx ), ( BYTE * ) &DVIPicMode, sizeof( PCPictureSettingType ) );
}
#endif
// Color Temp Init
code ColorTempSettingType ColorTmpTbl[] =
{
// Default
{ 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, INIT_COLOR_TEMP_NORMAL_R, INIT_COLOR_TEMP_NORMAL_G, INIT_COLOR_TEMP_NORMAL_B},
// 6500K
{ 183,168,101,113,74,197,152,116,113,150,128,127},
// 7300K
{ 0x9B,0xAA,0x65,0x71,0x77,0xA1,0x83,0x74,0x71,0x8F,0x84,0x77},
// 8500K
{ 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x77,0x6B,0x80,0x80,0x75},
// 9300K
{128,128,128,179,128,77,128,197,152,128,127,152},
//User
{ 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, INIT_COLOR_TEMP_NORMAL_R, INIT_COLOR_TEMP_NORMAL_G, INIT_COLOR_TEMP_NORMAL_B},
};
void FacInitPcColorSetting( void )
{
s_I2CSel=TV_RAM;
// VGA Color Temp Table
rmBurstWriteBytes( RM_FAC_COLORTEMP_ADDRESS + VGA_COLOR_TEMP * SIZE_FAC_COLORTEMP, ( BYTE * ) ColorTmpTbl, SIZE_FAC_COLORTEMP );
// DVI Color Temp Table
rmBurstWriteBytes( RM_FAC_COLORTEMP_ADDRESS + DVI_COLOR_TEMP * SIZE_FAC_COLORTEMP, ( BYTE * ) ColorTmpTbl, SIZE_FAC_COLORTEMP );
// VIDEO Color Temp Table
rmBurstWriteBytes( RM_FAC_COLORTEMP_ADDRESS + VIDEO_COLOR_TEMP * SIZE_FAC_COLORTEMP, ( BYTE * ) ColorTmpTbl, SIZE_FAC_COLORTEMP );
// rmBurstWriteBytes(RM_COLORTEMP_ADDRESS+VGA_COLOR_TEMP*SIZE_COLOR_TEMP_SETTING, (BYTE *)ColorTmpTbl, SIZE_COLOR_TEMP_SETTING);
// rmBurstWriteBytes(RM_COLORTEMP_ADDRESS+DVI_COLOR_TEMP*SIZE_COLOR_TEMP_SETTING, (BYTE *)ColorTmpTbl, SIZE_COLOR_TEMP_SETTING);
// rmBurstWriteBytes(RM_COLORTEMP_ADDRESS+VIDEO_COLOR_TEMP*SIZE_COLOR_TEMP_SETTING, (BYTE *)ColorTmpTbl, SIZE_COLOR_TEMP_SETTING);
}
// Sound mode Init
code SoundSettingType SoundModeTbl[] =
{
{3, 4, 5,6, 7, 6, 5, 4, 3, 50},//news
{5, 5, 5, 5, 5, 5, 5, 5, 5, 50},//standard
{8, 7, 6, 5, 6, 7, 8, 9, 10, 50},//music
};
void FacInitSoundSetting( void )
{
s_I2CSel=TV_RAM;
rmBurstWriteBytes( RM_FAC_SOUND_ADDRESS, ( BYTE * ) SoundModeTbl, SIZE_FAC_SOUND_SETTING );
}
#if 0
void LoadSoundModeSetting( SoundModeType SoundMode )
{
rmBurstReadBytes( rmFacSoundAddress( SoundMode ), ( BYTE * ) &FacSoundSetting, sizeof( SoundSettingType ) );
}
#endif
// Factory Setting Init
void usrInitFactorySetting( void )
{
FacInitVideoModeSetting();
FacInitPcPicModeSetting();
FacInitPcColorSetting(); // initialize color setting
FacInitSoundSetting();
usrWriteFactorySetting();
}
///////////////////////////////////////////////////////////////////////////////
// <Function>: usrSaveFacotorySetting
//
// <Description>: Save Factory setting.
///////////////////////////////////////////////////////////////////////////////
void usrWriteFactorySetting( void )
{
s_I2CSel=MCU_RAM;
rmBurstReadBytes( RM_FAC_SETTING_ADDRESS, ( BYTE * ) &g_FacSetting, SIZE_FAC_SETTING );
s_I2CSel=TV_RAM;
rmBurstWriteBytes( RM_FAC_SETTING_ADDRESS, ( BYTE * ) &g_FacSetting, SIZE_FAC_SETTING );
}
void usrReadFactorySetting( void )
{
s_I2CSel=TV_RAM;
rmBurstReadBytes( RM_FAC_SETTING_ADDRESS, ( BYTE * ) &g_FacSetting, SIZE_FAC_SETTING );
s_I2CSel=MCU_RAM;
rmBurstWriteBytes( RM_FAC_SETTING_ADDRESS, ( BYTE * ) &g_FacSetting, SIZE_FAC_SETTING );
}
///////////////////////////////////////////////////////////////////////////////
// <Function>: usrInitSystemSetting
//
// <Description>: Initialize system setting.
///////////////////////////////////////////////////////////////////////////////
void usrInitSystemSetting( void )
{
usrSaveSystemSetting();
}
///////////////////////////////////////////////////////////////////////////////
// <Function>: usrLoadSystemSetting
//
// <Description>: Load system setting.
///////////////////////////////////////////////////////////////////////////////
void usrLoadSystemSetting( void )
{
s_I2CSel=TV_RAM;
rmBurstReadBytes( RM_SYS_SETTING_ADDRESS, ( BYTE * ) &g_SysSetting, SIZE_SYS_SETTING );
s_I2CSel=MCU_RAM;
rmBurstWriteBytes( RM_SYS_SETTING_ADDRESS, ( BYTE * ) &g_SysSetting, SIZE_SYS_SETTING );
}
///////////////////////////////////////////////////////////////////////////////
// <Function>: usrSaveSystemSetting
//
// <Description>: Save System setting.
///////////////////////////////////////////////////////////////////////////////
void usrSaveSystemSetting( void )
{
s_I2CSel=MCU_RAM;
rmBurstReadBytes( RM_SYS_SETTING_ADDRESS, ( BYTE * ) &g_SysSetting, SIZE_SYS_SETTING );
s_I2CSel=TV_RAM;
rmBurstWriteBytes( RM_SYS_SETTING_ADDRESS, ( BYTE * ) &g_SysSetting, SIZE_SYS_SETTING );
}
///////////////////////////////////////////////////////////////////////////////
// <Function>: usrInitAdcSetting
//
// <Description>: Initialize ADC setting.
///////////////////////////////////////////////////////////////////////////////
void usrInitAdcSetting( void )
{
s_I2CSel=MCU_RAM;
usrLoadAdcSetting( ADC_SET_VGA );
usrLoadAdcSetting( ADC_SET_YPBPR );
s_I2CSel=TV_RAM;
usrSaveAdcSetting( ADC_SET_VGA );
usrSaveAdcSetting( ADC_SET_YPBPR );
}
void usrReadAdcSetting( void )
{
s_I2CSel=TV_RAM;
usrLoadAdcSetting( ADC_SET_VGA );
usrLoadAdcSetting( ADC_SET_YPBPR );
s_I2CSel=MCU_RAM;
usrSaveAdcSetting( ADC_SET_VGA );
usrSaveAdcSetting( ADC_SET_YPBPR );
}
///////////////////////////////////////////////////////////////////////////////
// <Function>: usrLoadAdcSetting
//
// <Description>: Load ADC setting.
///////////////////////////////////////////////////////////////////////////////
void usrLoadAdcSetting( AdcSetIndexType SetIndex )
{
rmBurstReadBytes( rmAdcSetAddress( SetIndex ), ( BYTE * ) &g_AdcSetting, SIZE_ADC_SETTING );
}
///////////////////////////////////////////////////////////////////////////////
// <Function>: usrLoadAdcSetting
//
// <Description>: Load ADC setting.
///////////////////////////////////////////////////////////////////////////////
void usrSaveAdcSetting( AdcSetIndexType SetIndex )
{
rmBurstWriteBytes( rmAdcSetAddress( SetIndex ), ( BYTE * ) &g_AdcSetting, SIZE_ADC_SETTING );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -