📄 storage.h
字号:
#ifndef __STORAGE__H__#define __STORAGE__H__#include "input.h"#include "utl.h"#include "oswrap.h"#include "notransl.h"#include "srcfilter.h"#define WRITE_EEPROM_ENABLE// Following define the data allocation in EEPROM// 1st line means the starting address in EEPROM// 2nd line means the ending address in EEPROM// SETUP Address (Total 51 Bytes)// Currently it uses 48 bytes, the first 37 bytes is DVD only.#define SETUP_ADDR_BASE 0x00#define SETUP_ADDR_LAST 0x30// STB Address (Total 71 Bytes) // Share 12 btyes with Setup// System uses 12 bytes. STB uses the rest of 59 bytes, #define STB_ADDR_BASE 0x25#define STB_ADDR_LAST 0x6B // DivX Address (Total 54 Bytes)// Currently it use 54 bytes.#define SETUP_ADDR_DIVX_BASE 0x6C #define SETUP_ADDR_DIVX_LAST 0xA1// RESUME Address (Total 76 Bytes)// Currently it use 124 bytes.// Notice: Resume space is 24N+4// wyc2.51-909P, storage information for file list in JPG encode.#ifndef SUPPORT_ENCODE_JPG_PICTURE#define SETUP_ADDR_RESUME_BASE 0xA2#define SETUP_ADDR_RESUME_LAST 0xED//TFT Address (Total 3 Bytes)// Currently it uses 3 bytes#define TFT_ADDR_BASE 0xEE#define TFT_ADDR_LAST 0xF0#else#define SETUP_ADDR_JPG_ENCODE_BASE (0xA2)#define SETUP_ADDR_JPG_ENCODE_LAST (0xA2 + SRCFTR_SUPPORT_JPG_ENCODE_NUM*2+2-1)//TFT Address (Total 3 Bytes)// Currently it uses 3 bytes#define TFT_ADDR_BASE (SETUP_ADDR_JPG_ENCODE_LAST+1)#define TFT_ADDR_LAST (TFT_ADDR_BASE+3-1)#endif //// Available Address (Total 7 Bytes)// The availab space is from 0xF1 - 0xF7 // Game Address (Total 8 Bytes)// Notice: Reserve the address from 0xF8 to 0xFF for OSDGame.// DMP_116, use new address to save image frame setup, the new address is exceed 256// need to change ROM_BANK_SIZE as 512 (hdevice.h)// Image Frame Setup Address (Total 20 Bytes)// Currently it uses 20 bytes.#define IMAGE_FRAME_SETUP_ADDR_BASE 0x100#define IMAGE_FRAME_SETUP_ADDR_LAST 0x113// Radio Address (Total 42 Bytes)// Currently it uses 42 bytes.#ifdef CT950_STYLE#define RADIO_ADDR_BASE 0x114#define RADIO_ADDR_LAST (RADIO_ADDR_BASE+2*RADIO_FAVORITE_NUM+2-1)#endif //////////////////////////////////////////////////////////////////////////Default values#define SETUP_PASSWORD_NO 4#define SETUP_DEFAULT_PASSWORD 8888#define SUPPORT_GOLDEN_PASSWORD#define GOLDEN_PASSWORD 9922//Other definitions#define SETUP_VERSION 0x01 // FAE use only//#define INTER_VERSION 0x0C // J200 use only#define INTER_VERSION 0x0D // J200 use only#define SETUP_DATA_RESET 1#define SETUP_DATA_DEFAULT 2#define SETUP_DATA_CURRENT 3// This is for BACKDOOR "6666"#define READ_TOTAL_DEFAULT 0xFF // set all bit to 1 means set all to deafult value.// Following define the data allocation in EEPROM// 1st line means EEPROM address// 2nd line means the bytes needed// Setup moude use 48 bytes currently// split Identify into 2 fields, ID+VERSION#define SETUP_ADDR_IDENTIFY (SETUP_ADDR_BASE)#define EPROM_IDENTIFY_BYTE 2 #define SETUP_ADDR_VERSION (SETUP_ADDR_IDENTIFY + EPROM_IDENTIFY_BYTE)#define EPROM_VERSION_BYTE 1#define SETUP_ADDR_INTERVERSION (SETUP_ADDR_VERSION + EPROM_VERSION_BYTE)#define EPROM_INTERVERSION_BYTE 1#define SETUP_ADDR_AUDIO_LANGUAGE (SETUP_ADDR_INTERVERSION + EPROM_INTERVERSION_BYTE)#define EPROM_AUDIO_LANGUAGE_BYTE 1#define SETUP_ADDR_SPST_LANGUAGE (SETUP_ADDR_AUDIO_LANGUAGE + EPROM_AUDIO_LANGUAGE_BYTE)#define EPROM_SPST_LANGUAGE_BYTE 1#define SETUP_ADDR_SCREEN_SAVER (SETUP_ADDR_SPST_LANGUAGE + EPROM_SPST_LANGUAGE_BYTE)#define EPROM_SCREEN_SAVER_BYTE 1#define SETUP_ADDR_SCAN_MODE (SETUP_ADDR_SCREEN_SAVER + EPROM_SCREEN_SAVER_BYTE)#define EPROM_SCAN_MODE_BYTE 1// Brian1.25, Chroma phase#define SETUP_ADDR_CHROM_PHASE (SETUP_ADDR_SCAN_MODE + EPROM_SCAN_MODE_BYTE)#define EPROM_CHROM_PHASE_BYTE 1//Kevin0.87b, cross out later (consider all modules that use __SetupInfo.bAudioOutput)#define SETUP_ADDR_AUDIO_OUTPUT (SETUP_ADDR_CHROM_PHASE + EPROM_CHROM_PHASE_BYTE)#define EPROM_AUDIO_OUTPUT_BYTE 1#define SETUP_ADDR_AUDIO_DIGITAL_OUT (SETUP_ADDR_AUDIO_OUTPUT + EPROM_AUDIO_OUTPUT_BYTE)#define EPROM_AUDIO_DIGITAL_OUT_BYTE 1#define SETUP_ADDR_AUDIO_ANALOG_OUT (SETUP_ADDR_AUDIO_DIGITAL_OUT + EPROM_AUDIO_DIGITAL_OUT_BYTE)#define EPROM_AUDIO_ANALOG_OUT_BYTE 1#define SETUP_ADDR_AUDIO_LPCM (SETUP_ADDR_AUDIO_ANALOG_OUT + EPROM_AUDIO_ANALOG_OUT_BYTE)#define EPROM_AUDIO_LPCM_BYTE 1#define SETUP_ADDR_AUDIO_DOWNMIX (SETUP_ADDR_AUDIO_LPCM + EPROM_AUDIO_LPCM_BYTE)#define EPROM_AUDIO_DOWNMIX_BYTE 1 #define SETUP_ADDR_AUDIO_PROLOGIC (SETUP_ADDR_AUDIO_DOWNMIX + EPROM_AUDIO_DOWNMIX_BYTE)#define EPROM_AUDIO_PROLOGIC_BYTE 1 #define SETUP_ADDR_REGION_CTL (SETUP_ADDR_AUDIO_PROLOGIC + EPROM_AUDIO_PROLOGIC_BYTE)#define EPROM_REGION_CTL_BYTE 1#define SETUP_ADDR_APS_CTL (SETUP_ADDR_REGION_CTL + EPROM_REGION_CTL_BYTE)#define EPROM_APS_CTL_BYTE 1#define SETUP_ADDR_PARENTAL_CTL_LEVEL (SETUP_ADDR_APS_CTL + EPROM_APS_CTL_BYTE)#define EPROM_PARENTAL_CTL_LEVEL_BYTE 1 #define SETUP_ADDR_AUDIO_CENTER (SETUP_ADDR_PARENTAL_CTL_LEVEL + EPROM_PARENTAL_CTL_LEVEL_BYTE)#define EPROM_AUDIO_CENTER_BYTE 1#define SETUP_ADDR_AUDIO_REAR (SETUP_ADDR_AUDIO_CENTER + EPROM_AUDIO_CENTER_BYTE)#define EPROM_AUDIO_REAR_BYTE 1#define SETUP_ADDR_AUDIO_SUBWOOFER (SETUP_ADDR_AUDIO_REAR + EPROM_AUDIO_REAR_BYTE)#define EPROM_AUDIO_SUBWOOFER_BYTE 1#define SETUP_ADDR_AUDIO_DNR (SETUP_ADDR_AUDIO_SUBWOOFER + EPROM_AUDIO_SUBWOOFER_BYTE)#define EPROM_AUDIO_DNR_BYTE 1#define SETUP_ADDR_AUDIO_KARAOKE (SETUP_ADDR_AUDIO_DNR + EPROM_AUDIO_DNR_BYTE)#define EPROM_AUDIO_KARAOKE_BYTE 1#define SETUP_ADDR_PARENTAL_CTL (SETUP_ADDR_AUDIO_KARAOKE + EPROM_AUDIO_KARAOKE_BYTE)#define EPROM_PARENTAL_CTL_BYTE 1#define SETUP_ADDR_MENU_LANGUAGE (SETUP_ADDR_PARENTAL_CTL + EPROM_PARENTAL_CTL_BYTE)#define EPROM_MENU_LANGUAGE_BYTE 1#define SETUP_ADDR_EX_SPST_LANGUAGE (SETUP_ADDR_MENU_LANGUAGE + EPROM_MENU_LANGUAGE_BYTE)#define EPROM_EX_SPST_LANGUAGE_BYTE 1#define SETUP_ADDR_MENU_LANGUAGE_CODE (SETUP_ADDR_EX_SPST_LANGUAGE + EPROM_EX_SPST_LANGUAGE_BYTE)#define EPROM_MENU_LANGUAGE_CODE_BYTE 2#define SETUP_ADDR_AUDIO_LANGUAGE_CODE (SETUP_ADDR_MENU_LANGUAGE_CODE + EPROM_MENU_LANGUAGE_CODE_BYTE)#define EPROM_AUDIO_LANGUAGE_CODE_BYTE 2#define SETUP_ADDR_SPST_LANGUAGE_CODE (SETUP_ADDR_AUDIO_LANGUAGE_CODE + EPROM_AUDIO_LANGUAGE_CODE_BYTE)#define EPROM_SPST_LANGUAGE_CODE_BYTE 2#define SETUP_ADDR_SMART_PLAY (SETUP_ADDR_SPST_LANGUAGE_CODE + EPROM_SPST_LANGUAGE_CODE_BYTE)#define EPROM_SMART_PLAY_BYTE 1#define SETUP_ADDR_ANGLE_MARK_DISPLAY (SETUP_ADDR_SMART_PLAY + EPROM_SMART_PLAY_BYTE)#define EPROM_ANGLE_MARK_DISPLAY_BYTE 1#define SETUP_ADDR_VCD_CTL (SETUP_ADDR_ANGLE_MARK_DISPLAY + EPROM_ANGLE_MARK_DISPLAY_BYTE) #define EPROM_VCD_CTL_BYTE 1 #define SETUP_ADDR_DEBUG_MODE (SETUP_ADDR_VCD_CTL + EPROM_VCD_CTL_BYTE) #define EPROM_DEBUG_MODE_BYTE 1 #define SETUP_ADDR_AP_MODE (SETUP_ADDR_DEBUG_MODE + EPROM_DEBUG_MODE_BYTE) #define EPROM_AP_MODE_BYTE 1 // elmer2.78, support burn-in testing// add 0x10 to make sure that this position is available#ifdef SUPPORT_WATCHDOG_BURNIN#define SETUP_ADDR_WATCHDOG (SETUP_ADDR_AP_MODE + EPROM_AP_MODE_BYTE + 0x10)#define EPROM_WATCHDOG_BYTE 1#define SETUP_ADDR_NVPLAYMODE (SETUP_ADDR_WATCHDOG + EPROM_WATCHDOG_BYTE)#define EPROM_NVPLAYMODE_BYTE 1#define SETUP_ADDR_REPEATMODE (SETUP_ADDR_NVPLAYMODE + EPROM_NVPLAYMODE_BYTE)#define EPROM_REPEATMODE_BYTE 1#endif////CoCo2.38, the image frame SETUP will occpy the same position as DVD SETUP but replace some unused DVD address#ifdef IMAGE_FRAME_SETUP/*#define SETUP_ADDR_PHOTO_SETTING_INTERVAL_TIME SETUP_ADDR_AUDIO_LANGUAGE#define SETUP_ADDR_PHOTO_SETTING_TRANSITION_EFFECT SETUP_ADDR_SPST_LANGUAGE#define SETUP_ADDR_PHOTO_SETTING_BROWSE SETUP_ADDR_MENU_LANGUAGE #define SETUP_ADDR_AUTO_PLAY_PHOTO SETUP_ADDR_AUDIO_KARAOKE#define SETUP_ADDR_AUTO_PLAY_MUSIC SETUP_ADDR_AUDIO_DNR#define SETUP_ADDR_AUTO_PLAY_PHOTO_PLUS_MUSIC SETUP_ADDR_AUDIO_LPCM#define SETUP_ADDR_AUTO_PLAY_MOVIE SETUP_ADDR_VCD_CTL#define SETUP_ADDR_DISPLAY_TYPE SETUP_ADDR_REGION_CTL#define SETUP_ADDR_ALARM_ENABLE SETUP_ADDR_AUDIO_CENTER#define SETUP_ADDR_AUTO_POWER_ON_ENABLE SETUP_ADDR_AUDIO_REAR#define SETUP_ADDR_AUTO_POWER_OFF_ENABLE SETUP_ADDR_AUDIO_SUBWOOFER#define SETUP_ADDR_ALARM_TIME SETUP_ADDR_MENU_LANGUAGE_CODE#define SETUP_ADDR_AUTO_POWER_ON_TIME SETUP_ADDR_AUDIO_LANGUAGE_CODE#define SETUP_ADDR_AUTO_POWER_OFF_TIME SETUP_ADDR_SPST_LANGUAGE_CODE//DMP_107, add the address to save volumn#define SETUP_ADDR_VOLUME SETUP_ADDR_SMART_PLAY //&SETUP_ADDR_ANGLE_MARK_DISPLAY*/// DMP_116, use new address to save image frame setup#define SETUP_ADDR_PHOTO_SETTING_INTERVAL_TIME (IMAGE_FRAME_SETUP_ADDR_BASE)#define EPROM_PHOTO_SETTING_INTERVAL_TIME_BYTE 1#define SETUP_ADDR_PHOTO_SETTING_TRANSITION_EFFECT (SETUP_ADDR_PHOTO_SETTING_INTERVAL_TIME + EPROM_PHOTO_SETTING_INTERVAL_TIME_BYTE)#define EPROM_PHOTO_SETTING_TRANSITION_EFFECT_BYTE 1#define SETUP_ADDR_PHOTO_SETTING_BROWSE (SETUP_ADDR_PHOTO_SETTING_TRANSITION_EFFECT + EPROM_PHOTO_SETTING_TRANSITION_EFFECT_BYTE) #define EPROM_PHOTO_SETTING_BROWSE_BYTE 1#define SETUP_ADDR_AUTO_PLAY_PHOTO (SETUP_ADDR_PHOTO_SETTING_BROWSE + EPROM_PHOTO_SETTING_BROWSE_BYTE)#define EPROM_AUTO_PLAY_PHOTO_BYTE 1#define SETUP_ADDR_AUTO_PLAY_MUSIC (SETUP_ADDR_AUTO_PLAY_PHOTO + EPROM_AUTO_PLAY_PHOTO_BYTE)#define EPROM_AUTO_PLAY_MUSIC_BYTE 1#define SETUP_ADDR_AUTO_PLAY_PHOTO_PLUS_MUSIC (SETUP_ADDR_AUTO_PLAY_MUSIC + EPROM_AUTO_PLAY_MUSIC_BYTE)#define EPROM_AUTO_PLAY_PHOTO_PLUS_MUSIC_BYTE 1#define SETUP_ADDR_AUTO_PLAY_MOVIE (SETUP_ADDR_AUTO_PLAY_PHOTO_PLUS_MUSIC + EPROM_AUTO_PLAY_PHOTO_PLUS_MUSIC_BYTE)#define EPROM_AUTO_PLAY_MOVIE_BYTE 1#define SETUP_ADDR_DISPLAY_TYPE (SETUP_ADDR_AUTO_PLAY_MOVIE + EPROM_AUTO_PLAY_MOVIE_BYTE) #define EPROM_DISPLAY_TYPE_BYTE 1//Damon1.12, add the address to match setup info. In fact, it's not used #define SETUP_ADDR_REPEAT_MODE (SETUP_ADDR_DISPLAY_TYPE + EPROM_DISPLAY_TYPE_BYTE) #define EPROM_REPEAT_MODE_BYTE 1#define SETUP_ADDR_ALARM_ENABLE (SETUP_ADDR_REPEAT_MODE + EPROM_REPEAT_MODE_BYTE) #define EPROM_ALARM_ENABLE_BYTE 1#define SETUP_ADDR_AUTO_POWER_ON_ENABLE (SETUP_ADDR_ALARM_ENABLE + EPROM_ALARM_ENABLE_BYTE) #define EPROM_AUTO_POWER_ON_ENABLE_BYTE 1#define SETUP_ADDR_AUTO_POWER_OFF_ENABLE (SETUP_ADDR_AUTO_POWER_ON_ENABLE + EPROM_AUTO_POWER_ON_ENABLE_BYTE) #define EPROM_AUTO_POWER_OFF_ENABLE_BYTE 1#define SETUP_ADDR_ALARM_TIME (SETUP_ADDR_AUTO_POWER_OFF_ENABLE + EPROM_AUTO_POWER_OFF_ENABLE_BYTE) #define EPROM_ALARM_TIME_BYTE 2#define SETUP_ADDR_AUTO_POWER_ON_TIME (SETUP_ADDR_ALARM_TIME + EPROM_ALARM_TIME_BYTE) #define EPROM_AUTO_POWER_ON_TIME_BYTE 2#define SETUP_ADDR_AUTO_POWER_OFF_TIME (SETUP_ADDR_AUTO_POWER_ON_TIME + EPROM_AUTO_POWER_ON_TIME_BYTE) #define EPROM_AUTO_POWER_OFF_TIME_BYTE 2//DMP_107, add the address to save volumn#define SETUP_ADDR_VOLUME (SETUP_ADDR_AUTO_POWER_OFF_TIME + EPROM_AUTO_POWER_OFF_TIME_BYTE)#define EPROM_VOLUME_BYTE 2#endif //IMAGE_FRAME_SETUP//-----------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------// The following 11 bytes are shared with STB. Please don't changed the address.#define SETUP_ADDR_STB_MAGIC_COUNT_HEAD (SETUP_ADDR_AP_MODE + EPROM_AP_MODE_BYTE)#define EEPROM_STB_MAGIC_COUNT_HEAD 1#define SETUP_ADDR_UI_STYLE (SETUP_ADDR_STB_MAGIC_COUNT_HEAD + EEPROM_STB_MAGIC_COUNT_HEAD)#define EPROM_UI_STYLE 1 #define SETUP_ADDR_BRIGHTNESS (SETUP_ADDR_UI_STYLE + EPROM_UI_STYLE)#define EPROM_BRIGHTNESS_BYTE 1#define SETUP_ADDR_CONTRAST (SETUP_ADDR_BRIGHTNESS + EPROM_BRIGHTNESS_BYTE)#define EPROM_CONTRAST_BYTE 1#define SETUP_ADDR_ASPECT (SETUP_ADDR_CONTRAST + EPROM_CONTRAST_BYTE)#define EPROM_ASPECT_BYTE 1#define SETUP_ADDR_TV_SYTEM (SETUP_ADDR_ASPECT + EPROM_ASPECT_BYTE)#define EPROM_TV_SYSTEM_BYTE 1#define SETUP_ADDR_VIDEO_OUTPUT (SETUP_ADDR_TV_SYTEM + EPROM_TV_SYSTEM_BYTE)#define EPROM_VIDEO_OUTPUT_BYTE 1#define SETUP_ADDR_OSD_LANGUAGE (SETUP_ADDR_VIDEO_OUTPUT + EPROM_VIDEO_OUTPUT_BYTE)#define EPROM_OSD_LANGUAGE_BYTE 1#define SETUP_ADDR_PASSSTRING (SETUP_ADDR_OSD_LANGUAGE + EPROM_OSD_LANGUAGE_BYTE)#define EPROM_PASSSTRING_BYTE 2#define SETUP_ADDR_DEFAULT_TYPE (SETUP_ADDR_PASSSTRING + EPROM_PASSSTRING_BYTE)#define EPROM_DEFAULT_TYPE_BYTE 1#define SETUP_ADDR_LAST_MODE (SETUP_ADDR_DEFAULT_TYPE + EPROM_DEFAULT_TYPE_BYTE)#define EPROM_DEFAULT_LAST_MODE 1//----------------------------------------------------------------------------------------//*************************************************************//* brian.277a, ADDR_LAST is in fact the next available address//*************************************************************#define SETUP_ADDR_USED (SETUP_ADDR_LAST_MODE + EPROM_DEFAULT_LAST_MODE - 1) #define SETUP_DATA_BYTES (SETUP_ADDR_USED - SETUP_ADDR_BASE + 1)// Do error checking if total used space is out of the reserved space.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -