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

📄 crt_ha_9211.h

📁 使用于克隆器
💻 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 + -