📄 crt_ha_9211.h
字号:
/************************************************
EEP 24c16
*********************************************/
#ifndef _CRT_HA_9211_H_
#define _CRT_HA_9211_H_
#include "userdef.h"
#define USERPREF_DEBUG_EN 1
/////////////////////////////////////
// Common definition
/////////////////////////////////////
/*
#define INIT_YEAR 105
#define INIT_MONTH 1
#define INIT_TIMER_TOLERANCE 0x08 //*/
/////////////////////////////////////
// EEPROM address definition
/////////////////////////////////////
#if 1//VGA_PORT_SUPPORT_HDTV
#define USR_MODE_MAXIMUM 23+4//MODE_PC_TABLE_MAXIMUM_NUM+4
#else
#define USR_MODE_MAXIMUM 20
#endif
#define USR_NEW_MODE_NUMS 8
#define USR_YUV_MODE_MAXIMUM 15 //vick : =MODE_YUV_TABLE_MAXIMUM_NUM
#define USR_DEVVD_PATCH_MAXINUM 2
#define USER_CHANNEL_MINIMUM 0
#define USER_CHANNEL_MAXIMUM 256
#define SIZE_NONLINEAR_CURVE (sizeof(NonLinearCurveType))
//#define SIZE_FACTORY_SETTING (sizeof(FactorySettingType))
#define SIZE_SYS_SETTING (sizeof(SystemSettingType))
#define SIZE_ADC_SETTING (sizeof(AdcSettingType))
#define SIZE_PC_COLOR_SETTING (sizeof(PCColorSettingType))
#define SIZE_COLOR_TEMP_SETTING 6// (sizeof(ColorTempSettingType))
#define SIZE_MODE_SETTING (sizeof(ModeSettingType))
#define SIZE_VIDEO_PICTURESETTING (sizeof(PictureSettingType))
#define SIZE_VIDEO_SETTING (sizeof(VideoSettingType))
#define SIZE_SOUND_SETTING (sizeof(SoundSettingType))
#define SIZE_SOUND_MODE_DATA (sizeof(SoundModeDataType))
#define SIZE_CRTDEFL_STATIC_SETTING (sizeof(CRTDeflectionStaticType))
#define SIZE_CRTDEFL_DYNAMIC_SETTING (sizeof(CRTDeflectionDynamicType))
//#define SIZE_CRTVAMP_SETTING (sizeof(CRTVideoAmpType))
#define SIZE_TV_CHANNEL_INFO (sizeof(TVChannelInfoType))
#define SIZE_DEVVD_DYNAMIC_SETTING (sizeof(DevVDDynamicType))
#define SIZE_SUBLUMA_SETTING 0
#define SIZE_LA76818_SETTING 0x26
#define SIZE_DEVVD_PATCH (sizeof(DevVDDynamicType)) // 6
#define SIZE_LOCKSETING (sizeof(LockSettingType))
#define RM_BASE_ADDRESS ((WORD)0x0000)
#define RM_MAX_ADDRESS ((WORD)0x07FF)
typedef enum _RamAddressType
{
RM_TV_CHANNEL_INFO_ADDRESS = RM_BASE_ADDRESS,
RM_TV_CURRENT_CHANNEL_NUM_ADDRESS = RM_TV_CHANNEL_INFO_ADDRESS +(SIZE_TV_CHANNEL_INFO*USER_CHANNEL_MAXIMUM),
RM_SYS_SETTING_ADDRESS = RM_TV_CURRENT_CHANNEL_NUM_ADDRESS+2, // 0402
//------------------------ADC setting--------------------------------------------------------
RM_ADC_PC_SETTING_ADDRESS = RM_SYS_SETTING_ADDRESS + SIZE_SYS_SETTING,
RM_ADC_VIDEO_NTSC_SETTING_ADDRESS = RM_ADC_PC_SETTING_ADDRESS + SIZE_ADC_SETTING,
RM_ADC_VIDEO_PAL_SETTING_ADDRESS = RM_ADC_VIDEO_NTSC_SETTING_ADDRESS + SIZE_ADC_SETTING,
RM_ADC_YUV_NTSC_SETTING_ADDRESS = RM_ADC_VIDEO_PAL_SETTING_ADDRESS + SIZE_ADC_SETTING,
RM_ADC_YUV_OTHER_SETTING_ADDRESS = RM_ADC_YUV_NTSC_SETTING_ADDRESS + SIZE_ADC_SETTING,
RM_ADC_YUV_720P_SETTING_ADDRESS=RM_ADC_YUV_OTHER_SETTING_ADDRESS+SIZE_ADC_SETTING,
RM_PC_COLOR_SETTING_ADDRESS = RM_ADC_YUV_720P_SETTING_ADDRESS + SIZE_ADC_SETTING,
RM_VIDEO_COLOR_TEMP_SETTING_ADDRESS = RM_PC_COLOR_SETTING_ADDRESS + SIZE_PC_COLOR_SETTING,
RM_VIDEO_SDTV_PICTURE_NATIVE_ADDRESS = RM_VIDEO_COLOR_TEMP_SETTING_ADDRESS + (SIZE_COLOR_TEMP_SETTING * VIDEO_COLOR_TEMP_VIDEO_NUMS),
RM_VIDEO_HDTV_PICTURE_NATIVE_ADDRESS = RM_VIDEO_SDTV_PICTURE_NATIVE_ADDRESS + SIZE_VIDEO_PICTURESETTING,
RM_VIDEO_SDTV_PICTURE_SOFT_ADDRESS = RM_VIDEO_HDTV_PICTURE_NATIVE_ADDRESS + SIZE_VIDEO_PICTURESETTING,
RM_VIDEO_HDTV_PICTURE_SOFT_ADDRESS = RM_VIDEO_SDTV_PICTURE_SOFT_ADDRESS + SIZE_VIDEO_PICTURESETTING,
RM_VIDEO_SDTV_PICTURE_BRIGHT_ADDRESS = RM_VIDEO_HDTV_PICTURE_SOFT_ADDRESS + SIZE_VIDEO_PICTURESETTING,
RM_VIDEO_HDTV_PICTURE_BRIGHT_ADDRESS = RM_VIDEO_SDTV_PICTURE_BRIGHT_ADDRESS + SIZE_VIDEO_PICTURESETTING,
RM_VIDEO_SDTV_PICTURE_PERSONAL_ADDRESS = RM_VIDEO_HDTV_PICTURE_BRIGHT_ADDRESS + SIZE_VIDEO_PICTURESETTING,
RM_VIDEO_HDTV_PICTURE_PERSONAL_ADDRESS = RM_VIDEO_SDTV_PICTURE_PERSONAL_ADDRESS + SIZE_VIDEO_PICTURESETTING,
RM_VIDEO_SETTING_ADDRESS = RM_VIDEO_HDTV_PICTURE_PERSONAL_ADDRESS + SIZE_VIDEO_PICTURESETTING,
//-----------------------------------Sound setting--------------------- -----------------------------
RM_SOUND_SETTING_ADDRESS = RM_VIDEO_SETTING_ADDRESS + SIZE_VIDEO_SETTING,
RM_SOUND_MODE_STEREO_ADDRESS = RM_SOUND_SETTING_ADDRESS + SIZE_SOUND_SETTING,
RM_SOUND_MODE_NEWS_ADDRESS = RM_SOUND_MODE_STEREO_ADDRESS + SIZE_SOUND_MODE_DATA,
RM_SOUND_MODE_THEATER_ADDRESS = RM_SOUND_MODE_NEWS_ADDRESS + SIZE_SOUND_MODE_DATA,
RM_SOUND_MODE_ODEUM_ADDRESS = RM_SOUND_MODE_THEATER_ADDRESS + SIZE_SOUND_MODE_DATA,
RM_SOUND_MODE_PERSONAL_ADDRESS = RM_SOUND_MODE_ODEUM_ADDRESS + SIZE_SOUND_MODE_DATA,
//-----------------------------------CRT Deflection setting--------------------- -----------------------------
RM_CRTDEFL_STATIC_SETTING_ADDRESS = RM_SOUND_MODE_PERSONAL_ADDRESS + SIZE_SOUND_MODE_DATA,
RM_CRTDEFL_PC_SETTING_ADDRESS = RM_CRTDEFL_STATIC_SETTING_ADDRESS + SIZE_CRTDEFL_STATIC_SETTING,
RM_CRTDEFL_VIDEO_60_SETTING_ADDRESS = RM_CRTDEFL_PC_SETTING_ADDRESS + SIZE_CRTDEFL_DYNAMIC_SETTING,
RM_CRTDEFL_VIDEO_50_SETTING_ADDRESS = RM_CRTDEFL_VIDEO_60_SETTING_ADDRESS + SIZE_CRTDEFL_DYNAMIC_SETTING,
RM_CRTDEFL_YUV_SETTING_ADDRESS = RM_CRTDEFL_VIDEO_50_SETTING_ADDRESS + SIZE_CRTDEFL_DYNAMIC_SETTING,
RM_CRTDEFL_480P_SETTING_ADDRESS = RM_CRTDEFL_YUV_SETTING_ADDRESS + SIZE_CRTDEFL_DYNAMIC_SETTING,
RM_CRTDEFL_1080P_SETTING_ADDRESS = RM_CRTDEFL_480P_SETTING_ADDRESS + SIZE_CRTDEFL_DYNAMIC_SETTING,
RM_CRTDEFL_VIDEO_120I_SETTING_ADDRESS = RM_CRTDEFL_1080P_SETTING_ADDRESS + SIZE_CRTDEFL_DYNAMIC_SETTING,
RM_CRTDEFL_VIDEO_100I_SETTING_ADDRESS = RM_CRTDEFL_VIDEO_120I_SETTING_ADDRESS + SIZE_CRTDEFL_DYNAMIC_SETTING,
RM_CRTDEFL_VIDEO_75I_SETTING_ADDRESS = RM_CRTDEFL_VIDEO_100I_SETTING_ADDRESS + SIZE_CRTDEFL_DYNAMIC_SETTING,
RM_CRTDEFL_VIDEO_75P_SETTING_ADDRESS = RM_CRTDEFL_VIDEO_75I_SETTING_ADDRESS + SIZE_CRTDEFL_DYNAMIC_SETTING,
// RM_CRTVAMP_SETTING_ADDRESS = RM_CRTDEFL_VIDEO_75P_SETTING_ADDRESS + SIZE_CRTDEFL_DYNAMIC_SETTING,
//------------------------------------PC and YUV mode setting ----------------------------------------------
RM_PC_MODE_SETTING_ADDRESS = RM_CRTDEFL_VIDEO_75P_SETTING_ADDRESS + SIZE_CRTDEFL_DYNAMIC_SETTING,
RM_NEW_MODE_SETTING_ADDRESS = RM_PC_MODE_SETTING_ADDRESS + (SIZE_MODE_SETTING * USR_MODE_MAXIMUM),
RM_YUV_MODE_SETTING_ADDRESS = RM_NEW_MODE_SETTING_ADDRESS + (SIZE_MODE_SETTING * USR_NEW_MODE_NUMS),
//----------------------------------non-linear adjust curve---------------------------------------------------
RM_NL_VIDEO_CONTRAST_ADDRESS = RM_YUV_MODE_SETTING_ADDRESS + (SIZE_MODE_SETTING * USR_YUV_MODE_MAXIMUM),
RM_NL_VIDEO_CRT_CONTRAST_ADDRESS = RM_NL_VIDEO_CONTRAST_ADDRESS + SIZE_NONLINEAR_CURVE,
RM_NL_VIDEO_BRIGHTNESS_ADDRESS = RM_NL_VIDEO_CRT_CONTRAST_ADDRESS + SIZE_NONLINEAR_CURVE,
RM_NL_VIDEO_CRT_BRIGHTNESS_ADDRESS = RM_NL_VIDEO_BRIGHTNESS_ADDRESS + SIZE_NONLINEAR_CURVE,
RM_NL_VIDEO_SATURATION_ADDRESS = RM_NL_VIDEO_CRT_BRIGHTNESS_ADDRESS + SIZE_NONLINEAR_CURVE,
RM_NL_VIDEO_HUE_ADDRESS = RM_NL_VIDEO_SATURATION_ADDRESS + SIZE_NONLINEAR_CURVE,
RM_NL_VIDEO_SHARPNESS_ADDRESS = RM_NL_VIDEO_HUE_ADDRESS + SIZE_NONLINEAR_CURVE,
RM_NL_PC_CONTRAST_ADDRESS = RM_NL_VIDEO_SHARPNESS_ADDRESS + SIZE_NONLINEAR_CURVE,
RM_NL_PC_CRT_CONTRAST_ADDRESS = RM_NL_PC_CONTRAST_ADDRESS + SIZE_NONLINEAR_CURVE,
RM_NL_PC_BRIGHTNESS_ADDRESS = RM_NL_PC_CRT_CONTRAST_ADDRESS + SIZE_NONLINEAR_CURVE,
RM_NL_PC_CRT_BRIGHTNESS_ADDRESS = RM_NL_PC_BRIGHTNESS_ADDRESS + SIZE_NONLINEAR_CURVE,
RM_NL_VOLUME_ADDRESS = RM_NL_PC_CRT_BRIGHTNESS_ADDRESS + SIZE_NONLINEAR_CURVE,
RM_NL_BALANCE_ADDRESS = RM_NL_VOLUME_ADDRESS + SIZE_NONLINEAR_CURVE,
RM_NL_SUBWOOF_ADDRESS = RM_NL_BALANCE_ADDRESS + SIZE_NONLINEAR_CURVE,
RM_NL_BASS_ADDRESS = RM_NL_SUBWOOF_ADDRESS + SIZE_NONLINEAR_CURVE,
RM_NL_TREBLE_ADDRESS = RM_NL_BASS_ADDRESS + SIZE_NONLINEAR_CURVE,
//-----------------------------------misc setting--------------------- -----------------------------
RM_LA76818_SETTING_ADDRESS=RM_NL_TREBLE_ADDRESS + SIZE_NONLINEAR_CURVE,
RM_TV_SUBLUMA_ADDRESS=RM_LA76818_SETTING_ADDRESS + SIZE_LA76818_SETTING,
RM_CheckNVM_ADDRESS=RM_TV_SUBLUMA_ADDRESS + SIZE_SUBLUMA_SETTING,
RM_Factory_Option_ADDRESS=RM_CheckNVM_ADDRESS+1,
RM_DEVVD_PATCH_PAL=RM_Factory_Option_ADDRESS+1, // add power 20041209
RM_DEVVD_PATCH_NTSC=RM_DEVVD_PATCH_PAL+SIZE_DEVVD_PATCH,
RM_EEPROM_CALENDAR=RM_DEVVD_PATCH_NTSC+SIZE_DEVVD_PATCH,
RM_TIMER_TOLERANCE=RM_EEPROM_CALENDAR+2,
RM_PASSWORD_ADDRESS=RM_TIMER_TOLERANCE+1,
RM_LOCKSETING_ADDRESS=RM_PASSWORD_ADDRESS+2,
RM_EEPROM_END=RM_LOCKSETING_ADDRESS+SIZE_LOCKSETING,
RM_TEST_ID_ADDRESS = RM_MAX_ADDRESS-1,
RM_EEPROM_ID_ADDRESS=RM_MAX_ADDRESS
}RamAddressType;
#define rmLa76818SubAddress(item_i) (RM_LA76818_SETTING_ADDRESS + item_i)
// Macro
#define rmSysItemAddress(item_i) (RM_SYS_SETTING_ADDRESS + offsetof(SystemSettingType, item_i))
//#define rmPCColorTempAddress(temp_i) (RM_PC_COLOR_TEMP_SETTING_ADDRESS + (SIZE_COLOR_TEMP_SETTING * temp_i))
//#define rmPCColorTempItemAddress(temp_i,item_i) (rmPCColorTempAddress(temp_i) + offsetof(ColorTempSettingType, item_i))
//#define rmVideoPictureModeAddress(temp_i) (RM_VIDEO_PICTURE_MODE_SETTING_ADDRESS + (SIZE_VIDEO_PICTURESETTING * temp_i))
#define rmVideoColorTempAddress(temp_i) (RM_VIDEO_COLOR_TEMP_SETTING_ADDRESS + (SIZE_COLOR_TEMP_SETTING * temp_i))
#define rmVideoNTSCColorTempAddress(temp_i) (RM_VIDEO_COLOR_TEMP_NTSC_SETTING_ADDRESS + (SIZE_COLOR_TEMP_SETTING * temp_i))
#define rmVideoColorTempItemAddress(temp_i,item_i) (rmVideoColorTempAddress(temp_i) + offsetof(ColorTempSettingType, item_i))
#define rmVideoNTSCColorTempItemAddress(temp_i,item_i) (rmVideoNTSCColorTempAddress(temp_i) + offsetof(ColorTempSettingType, item_i))
#define rmPCModeAddress(mode_i) (RM_PC_MODE_SETTING_ADDRESS + (SIZE_MODE_SETTING * mode_i))
#define rmNewPCModeAddress(mode_i) (RM_NEW_MODE_SETTING_ADDRESS + (SIZE_MODE_SETTING * mode_i))
#define rmPCModeItemAddress(mode_i, item_i) (rmPCModeAddress(mode_i) + offsetof(ModeSettingType, item_i))
#define rmNewPCModeItemAddress(mode_i, item_i) (rmNewPCModeAddress(mode_i) + offsetof(ModeSettingType, item_i))
#define rmYUVModeAddress(mode_i) (RM_YUV_MODE_SETTING_ADDRESS + (SIZE_MODE_SETTING * mode_i))
#define rmVideoItemAddress(item_i) (RM_VIDEO_SETTING_ADDRESS + offsetof(VideoSettingType, item_i))
#define rmSoundItemAddress(item_i) (RM_SOUND_SETTING_ADDRESS + offsetof(SoundSettingType, item_i))
#define rmCurrentChannelAddress(item_i) (RM_TV_CHANNEL_INFO_ADDRESS+(WORD)item_i*SIZE_TV_CHANNEL_INFO)
#define rmDEVVDPatch_PAL_ItemAddress(item_i) (RM_DEVVD_PATCH_PAL + item_i)
#define rmDEVVDPatch_NTSC_ItemAddress(item_i) (RM_DEVVD_PATCH_NTSC + item_i)
#if 1//USE_CALENDAR
_USERPREFDEC_ XDATA BYTE gc_solar_calendar_year;
_USERPREFDEC_ XDATA BYTE gc_solar_calendar_month;
#endif
_USERPREFDEC_ XDATA BYTE gc_Timer_Tolerance; //power 200450119
//_USERPREFDEC_ XDATA FactorySettingType g_FactorySetting;
_USERPREFDEC_ XDATA SystemSettingType g_SysSetting;
_USERPREFDEC_ XDATA SystemTimerType g_SysTimer;
_USERPREFDEC_ XDATA AdcSettingType g_AdcSetting;
_USERPREFDEC_ XDATA ModeSettingType g_ModeSetting;
_USERPREFDEC_ XDATA PCColorSettingType g_PCColorSetting;
//_USERPREFDEC_ XDATA ColorTempSettingType g_PCColorTempSetting;
_USERPREFDEC_ XDATA VideoSettingType g_VideoSetting;
_USERPREFDEC_ XDATA PictureSettingType SDTVadjust;
_USERPREFDEC_ XDATA PictureSettingType HDTVadjust;
_USERPREFDEC_ XDATA SoundModeDataType g_SoundModeData;
_USERPREFDEC_ XDATA SoundSettingType g_SoundSetting;
_USERPREFDEC_ XDATA CRTDeflectionStaticType g_CRTDeflectionStaticSetting;
_USERPREFDEC_ XDATA LockSettingType g_LockSetting;
_USERPREFDEC_ XDATA BYTE g_CRTDeflectionDynamicSetting[SIZE_CRTDEFL_DYNAMIC_SETTING];
_USERPREFDEC_ XDATA BYTE g_CRTDeflectionOffset[SIZE_CRTDEFL_DYNAMIC_SETTING];
_USERPREFDEC_ XDATA BYTE g_VideoColorTempOffset[SIZE_COLOR_TEMP_SETTING];
_USERPREFDEC_ XDATA BYTE g_VideoColorTempSetting[SIZE_COLOR_TEMP_SETTING];
//_USERPREFDEC_ XDATA CRTVideoAmpType g_CRTVideoAmpSetting;
_USERPREFDEC_ bit g_bHLineOn;
_USERPREFDEC_ XDATA BYTE g_DevVDDynamicSetting[SIZE_DEVVD_DYNAMIC_SETTING];
#if 0//Adjust_SubLuma
//non-linear curve
_USERPREFDEC_ XDATA FactorySubLumaType g_VideoSubLuma;
//_USERPREFDEC_ XDATA FactorySubLumaType g_PCSubLuma;
#endif
_USERPREFDEC_ XDATA NonLinearCurveType g_NLCVideoContrast;
_USERPREFDEC_ XDATA NonLinearCurveType g_NLCVideoBrightness;
_USERPREFDEC_ XDATA NonLinearCurveType g_NLCVideoBackEndContrast;
_USERPREFDEC_ XDATA NonLinearCurveType g_NLCVideoBackEndBrightness;
_USERPREFDEC_ XDATA NonLinearCurveType g_NLCVideoSaturation;
//_USERPREFDEC_ XDATA NonLinearCurveType g_VideoHue;
_USERPREFDEC_ XDATA NonLinearCurveType g_NLCVideoSharpness;
_USERPREFDEC_ XDATA NonLinearCurveType g_NLCPCContrast;
_USERPREFDEC_ XDATA NonLinearCurveType g_NLCPCBrightness;
_USERPREFDEC_ XDATA NonLinearCurveType g_NLCPCBackEndContrast;
_USERPREFDEC_ XDATA NonLinearCurveType g_NLCPCBackEndBrightness;
#if 1//Sound_Adjust_NLC
_USERPREFDEC_ XDATA NonLinearCurveType g_NLCVolume;
_USERPREFDEC_ XDATA NonLinearCurveType g_NLCBalance;
_USERPREFDEC_ XDATA NonLinearCurveType g_NLCSubWoof;
_USERPREFDEC_ XDATA NonLinearCurveType g_NLCBass;
_USERPREFDEC_ XDATA NonLinearCurveType g_NLCTreble;
#endif
//Input parameter for code running fast //because we have enough RAM
_USERPREFDEC_ XDATA InputSourceDataType g_InputSourceData[SYS_INPUT_PATH_NUMS];
_USERPREFDEC_ TVChannelInfoType idata TVChannelInfo;
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -