📄 setup_tab_reeng.c
字号:
#ifdef MONE_SETUP
printf("\n\n=============> set_default_value() IN\n");
#endif
#ifdef ADD_DVI311_SETUP//Modifed by chenzhao on 2004-11-30 19:55
Power_off_311=1;
#endif
for(i=0;i<(MAX_SETUP_PAGE+MAX_CUSTM_SETUP_PAGE);i++){
for(j=1;j<=MAX_PAGE_ITEM;j++){
VA=setup_item[i][j][MAX_ITEM_SEL+1];
if(VA<MAX_SETUP_VA){
if((setup_item[i][j][1]==STR_OS_RATING)||(setup_item[i][j][1]==STR_OS_PASSWORD)||(setup_item[i][j][1]==STR_OS_REGION_CODE))
{/*do nothing here*/}
#ifdef ADD_DVI311_SETUP//Modifed by chenzhao on 2004-11-30 19:55
else if((setup_item[i][j][1]==STR_OS_HDCP))
{
if(setup_VA[VA]<MIN_ITEM_SEL)
setup_VA[VA]=MIN_ITEM_SEL;
}
#endif
else
{
setup_VA[VA] = setup_item[i][j][MAX_ITEM_SEL+2]+MIN_ITEM_SEL;
if(setup_item[i][j][1]==STR_OS_TV_SYS)
exe_setup_function(setup_item[i][j][1], setup_item[i][j][setup_VA[VA]], 1);
}
}
}
}
setup_VA2sel();
init_val_by_record();
#ifdef MONE_SETUP
dump_setup_val();
printf("\n\n=============> set_default_value() OUT\n");
#endif
}
// xyy deleted 2004-3-8
//the amp default status settint is moved to amp_gui.c
//void set_ampsetup_default(void)
//added by JS //for setup reengineering //20040811
void run_set_variable(void)
{
int i,j;
int P0, P1, P2, P3;
P0 = setup_pos[0];
P1 = setup_pos[1];
P2 = setup_pos[2];
P3 = setup_pos[3];
#ifdef MONE_SETUP
printf("\n\n >>>>>run_set_variable IN\n");
#endif
//freyman 2004-3-26 0:00, for when next page used MAX_SETUP_PAGE is defined 7 in setup_def.h
//#if (defined(SAME_DISC_RESUME)&&!defined(GBM_FULL_FUNCTION))||defined(SHOW_STANDBY_TIMER)//for the next sys-page is P.7,wangfeng 2003-12-1 17:49
// for(i=0;i<MAX_SETUP_PAGE+1;i++)
//#else
for(i=0;i<MAX_SETUP_PAGE;i++)
//#endif
for(j=1;j<=MAX_PAGE_ITEM;j++)
{
setup_pos[1] = i;
setup_pos[2] = j;
#if defined(BBK_NEW_SETUP)&&defined(BBK_DV961_DVD)
if(i == ONEKEYPASSPAGE)
{
/* //marked by JS //for setup reengineering //20040819
SETUP_SPK_DOWNMIX = DOWNMIXSTEREO;
//TV format
SETUP_TV_FORMAT = 2;//NTSC;
exe_setup_function(setup_item[i][0][1],setup_item[i][0][DOWNMIXSTEREO],1);
exe_setup_function(setup_item[i][1][1],setup_item[i][1][2],1);
continue;
*/
//added by JS //for setup reengineering //20040819
if(setup_item[i][j][1]==STR_OS_DOWNMIX_SETUP){
setup_VA[SETUP_VA_DOWNMIX] = DOWNMIXSTEREO;
exe_setup_function(STR_OS_DOWNMIX_SETUP,setup_item[i][j][DOWNMIXSTEREO],1);
}
else if(setup_item[i][j][1]== STR_OS_TV_SYS){
setup_VA[SETUP_VA_TV_SYS] = 2; //set to NTSC //??????? is this always correct?
exe_setup_function(STR_OS_TV_SYS, setup_item[i][j][2], 1);
}
}
#endif
sel=setup_sel[i][j];
setup_pos[3]=sel;
if (setup_item[i][j][1]!=STR_OS_SSAVER_SETUP)
{
#ifdef SELECT_MEDIA_IN_SETUPMENU //Maoyong 2004/8/11 run default setting should ignore media selection item
if(setup_item[i][j][1] ==STR_OS_MEDIA_TYPE)
continue;
#endif
//only setting variable ,not run function...
//printf("i:%d j:%d sel:%d",i,j,sel);
if(setup_item[i][j][1]==STR_OS_RATING)
{
if( (sel<RATE_LOW)||(sel>RATE_HIGH) )
{
sel = RATE_DEFAULT;
setup_sel[i][j]=sel;
setup_pos[3] = sel;
}
}
#ifdef GBM_DVD
if (setup_item[i][j][1]==STR_OS_TV_SYS)
{
exe_setup_function(setup_item[i][j][1],setup_item[i][j][sel],1);
}
else
#endif
exe_setup_function(setup_item[i][j][1],setup_item[i][j][sel],0);
}
}
safe_srn_forceOFF();
#ifdef HDCP_CUSTOM
UINT16 pi;
pi=setup_getItemPos(STR_OS_HDCP);
if(pi!=0xffff)
exe_setup_function(setup_item[pi>>8][pi & 0xff][1],setup_item[pi>>8][pi & 0xff][setup_sel[pi>>8][pi & 0xff]],0);
#endif
setup_pos[0] = P0;
setup_pos[1] = P1;
setup_pos[2] = P2;
setup_pos[3] = P3;
#ifdef MONE_SETUP
printf("\n\n >>>>>run_set_variable OUT\n");
#endif
}
#ifdef SUPPORT_PASSWD3
extern UINT8 setup_audio_mode;
void chg_audio_default_mode(void)
{
WriteToI2c(0xa0, 0,(BYTE *)&setup_audio_mode,1);//audio mode
}
#endif
void init_mode_val(void)
{
#ifdef VOLUME_RECODE
{
int r;
int i;
#ifdef CNTR_5SPK_VOLUME//wangfeng 2003-11-11 21:27
for (i=0; i<7; i++)
{
#ifdef SW_VOL_63
if(i==6) audio_volume = SUB_DEFAULT;
else audio_volume = DEFAULT_VOL;
#else
audio_volume = DEFAULT_VOL;
#endif
//audio_volume = VOL_VALUE; //set to max volume at the first time gerry 2-11-6 9:24
r=WriteToI2c(0xa0, ADDR_I2C_VOLUME+i, (BYTE *)&audio_volume,sizeof(audio_volume));
}//for
audio_volume=DEFAULT_VOL;
volume_Switch=0;
#else//CNTR_5SPK_VOLUME//wangfeng 2003-11-11 21:27
audio_volume = DEFAULT_VOL; //set to max volume when we default gerry 2-11-6 9:26;
r=WriteToI2c(0xa0, ADDR_I2C_VOLUME+i, (BYTE *)&audio_volume,sizeof(audio_volume));
#endif
}
#endif//#ifdef VOLUME_RECODE
#ifdef IR_KEY_SET_VIDEO_MODE
video_mode_val=0;
WriteToI2c(0xa0, VIDEO_MODE_I2C_ADDRESS,(BYTE *)&video_mode_val,1);
#endif
#ifdef SUPPORT_PASSWD3
setup_audio_mode=0;
chg_audio_default_mode();
#endif
}
void read_record_val(void)
{
#ifdef VOLUME_RECODE //read volume from I2C gerry 2-11-5 16:47
int i,r;
#ifdef CNTR_5SPK_VOLUME
for (i=0; i<7; i++)
{
r=ReadFromI2c(0xa0,ADDR_I2C_VOLUME+i,(BYTE *)&audio_volume,sizeof(audio_volume));
//printf("%%%%%%^^^^^^r==<%d>:audio_volume=====>%d\n",r,audio_volume);
if(r<=0) audio_volume = DEFAULT_VOL; //set to max volume when we default gerry 2-11-6 9:26;
volume_5SPK[i] = audio_volume;//VOL_VALUE; //set to maximum volume
if(i==0) idVolume_5SPK[i] = Volume_Font_ID;
else idVolume_5SPK[i] = VOL_FL_ID+i-1;
} //for
audio_volume = volume_5SPK[0] ;
volume_Switch = 0; //set to main volume
#else
r=ReadFromI2c(0xa0,ADDR_I2C_VOLUME+i,(BYTE *)&audio_volume,sizeof(audio_volume));
//printf("%%%%%%^^^^^^r==<%d>:audio_volume=====>%d\n",r,audio_volume);
#endif
#endif //VOLUME_RECODE
#ifdef IR_KEY_SET_VIDEO_MODE
int r;
r=ReadFromI2c(0xa0, VIDEO_MODE_I2C_ADDRESS,(BYTE *)&video_mode_val,1);
//printf("%%%%%%^^^^^^r==<%d>:video_mode_val=====>%d\n",r,video_mode_val);
if(r<=0) video_mode_val=0;
set_video_val(video_mode_val);
#endif
#ifdef SUPPORT_PASSWD3
ReadFromI2c(0xa0,0,(BYTE *)&setup_audio_mode,1);
#endif
}
void init_val_by_record(void)
{
//printf("\n\n [init_val_by_record]\n");
//echo: shift to 0 ~ 8
echo_level = setup_VA[SETUP_VA_ECHO] -2;
//key: shift to -6 ~ 6
audio_key = setup_VA[SETUP_VA_KEY] -2 -6;
//ac3_dynarange 0 ~ 8
ac3_dynarange = setup_VA[SETUP_VA_DYNAMCRANGE] -2;
//mic-volume: shift to 0 ~ 8
#ifdef MIC_2CHANNEL // fake code here
mic_volume = setup_VA[SETUP_VA_MIC_VOL_2] - 2;
mic_volume = setup_VA[SETUP_VA_MIC_VOL_1] - 2;
#else
mic_volume = setup_VA[SETUP_VA_MIC_VOL] - 2;
#endif
#ifdef DYNAMIC_SPECTRUM //zhaoyanhua add 2003-12-3 11:42
if(setup_VA[SETUP_VA_BAND] == 2)
{
band_onoff = 1;
bEqDisplay = 1;
}
#endif
}
#ifdef MONE_SETUP
void dump_setup_val(void)
{
int i, j;
printf(">>>read eeprom setup menu,ok!!\n");
for (i=0; i<MAX_SETUP_PAGE+MAX_CUSTM_SETUP_PAGE; i++) {
for (j=0; j<7; j++) {
printf(" setup_sel[%d][%d]=%d\n", i, j, setup_sel[i][j]);
}
}
}
#else
#define dump_setup_val();
#endif
#ifdef FORCE_REWRITE_WHEN_UPGRADE//terry,2004/1/8 05:28PM
void load_user_setup(UINT8 force_update)
#else
void load_user_setup(void)
#endif
{
//int i,j,VA;
int iRts;
UINT16 unChksum,unTmp;
BYTE *p;
UINT32 romSum=0;
#ifdef MONE_SETUP
printf("\n <load_user_setup> IN\n\n");
#endif
//=================================================================
//get ROM-code-checksum from ROM(20th ~ 23th Byte)
{
UINT32 *pSum;
pSum = (UINT32 *)(ROM_BASE_UNCACHED+0x40);
romCheckSum = *pSum &0xffffff;
}
//read ROM-code-checksum from setup EEPROM(flash)(0-th Byte)
p = (BYTE *)(&romSum);
iRts = ReadFromI2c(0xa0, 1, p, 3);
WriteToI2c(0xa0, 1, (BYTE *)&romCheckSum,3);//save rom check sum
printf("romCheckSum:%x %x\n",romCheckSum,romSum);
#ifdef FORCE_REWRITE_WHEN_UPGRADE//terry,2004/1/8 05:28PM
if(force_update==1)
{
romSum = 0;
setup_VA[SETUP_VA_RATING]= RATE_DEFAULT;
NP_PTL_LVL = 8;//zhaoyanhua 2004-3-9 11:32 after UPGRADE, must set parent level is 8.
}
#endif
if (iRts > 0)//read ROM-code-checksum from setup EEPROM(flash)(0-th Byte) ok
{
if (romSum==romCheckSum)
{
#ifdef Ti3001_OSD_UI_1
load_amplifier_setup(); // jason add 2-10-5 15:59
#endif
/* xyy marked 2004-3-8 11:28
#if defined(SUPPORT_APOGEE_AMP)&&defined(XINGQIU_DVD_RECEIVER)
//xyy 2004-1-13 10:04
load_amp_setup();
#endif
*/
//read setup setting from setup EEPROM(4-th Byte)
p=(BYTE *)setup_VA;
iRts=ReadFromI2c(0xa0, sizeof(UINT32), p, sizeof(setup_VA));
/*
printf("===================================================================\n");
for(i=0; i<64; i++)
{
printf("setup_VA[%d] = %x\n", i, setup_VA[i]);
}
printf("===================================================================\n");
*/
setup_VA2sel();
//yanlb added 2004/07/07
#ifdef REMB_3DSOUND
load_3Dsound(sound_sel,user_osd_set);
#endif
}
else //flash upgrade (romSum!=romCheckSum)
{
iRts = -1;
//if rom0-check-sum is not equal, set to default password, Jeff 20020703
#ifdef SUPER_DEFAULT_OSD_LANG
UserSet.setup_default_osd_lang = DEFAULT_OSD_LANG;
#endif
UserSet.parent_passwd = DEFAULT_PASSWORD;
WriteToI2c(0xa0, sizeof(UINT32)+sizeof(setup_VA)+2, (BYTE *)&UserSet, sizeof(t_USER_SET));
#if defined(SUPPORT_DDX8000)//xyy 2004-5-26
//init_ddx_amp_st();
//save_amplifier_status_to_e2prom();
#endif
#if defined(SUPPORT_TUNER_MV114) || defined(SUPPORT_TUNER_ALPS)//xyy 2004-5-26
init_tuner_var();
#endif
//init mode
init_mode_val();
} //if (romSum==romCheckSum) {
} //if (iRts > 0) {
//read audio/video mode
read_record_val();
if(iRts>0) // read setup setting from setup EEPROM(4-th Byte) ok
{
init_val_by_record();
dump_setup_val();
//read setup checksum from setup EEPROM
iRts=ReadFromI2c(0xa0, sizeof(UINT32)+sizeof(setup_VA), (BYTE *)&unChksum, 2);
if (iRts>0)
{
printf("read eeprom setup check success\n");
//count setup checksum
unTmp = run_save_unChk_cmd(0);
//check setup checksum and counted checksum
if (unTmp!=unChksum)
{
printf("check sum error, uTmp=%d unCkhsum=%d\n",unTmp,unChksum);
iRts=-2;
}
else
{
printf("check sum success\n");
}
}
else
{
printf("read eeprom setup check error\n");
}
#ifdef MONE_SETUP
printf("chksum=%02x\n",unChksum);
#endif
}
//set to default, when
// 1. different ROM-code-checksum(setup-EEPROM vs. ROM)
// 2.counted setup-checksum != stored in setup EEPROM
if (iRts < 0)
{
#ifdef MONE_SETUP
printf("\n\n read eeprom setup menu,fail!! set to default now!!\n");
#endif
setup_VA[SETUP_VA_REGION_CODE] = REGION_NUM+2; //nono 20031121
UserSet.P_RCD = REGION_NUM;
set_default_value();
run_save_total_sel();
#ifdef Ti3001_OSD_UI_1 // jason 2-10-5 15:30
reset_amplifier_default_setup();
#endif
#ifdef POWER_RESUME
RsmInfo2Flash(1); //clear resume flash memory, Jeff 20020928
#endif
}
//read UserSet for DVD-related
//if (iRts>0)
iRts=ReadFromI2c(0xa0, sizeof(UINT32)+sizeof(setup_VA)+2, (BYTE *)&UserSet, sizeof(t_USER_SET));
if(iRts>0)
{
printf("read eeprom system menu,ok!!\n");
printf("\n\npassword>>> %d\n", UserSet.parent_passwd);
UserSet.P_RCD = setup_VA[SETUP_VA_REGION_CODE] - 2;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -