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

📄 setup_tab.c

📁 Sunplus 8202S source code.
💻 C
📖 第 1 页 / 共 5 页
字号:
    #else
        SETUP_AC3DIGITAL_LnR = 5;    //Mixed channel, Jeff 20020513
    #endif

    #ifdef DVB_MENU_SETUP_STYLE //Maoyong 2004-12-23 11:41
    SETUP_DVB_LANG = DEFAULT_OSD_LANG + 2;
    SETUP_DVB_TIME_ZONE = DEFAULT_TIME_ZONE + 2;
    #endif
//gerry move it,2004-2-6 13:47
/*
    #if 1//defined(VTREK_DVD)||defined(MINTON_DVD)//nono 20031117
    SETUP_AC3DIGITAL_DYNA = 2; //Jeff 20020604
    #else 
    SETUP_AC3DIGITAL_DYNA = 10; //Jeff 20020604
    #endif 
*/
    #ifdef FUSS_TV_DVD//nono 2-8-20 12:55
        UserSet.P_V_CFG = 0x0d00;
    #endif

    //SETUP_CUSTM_REGION = REGION_NUM+2;   //Jeff 20021012//nono marked 2003-11-21 10:46

/*
#if 1//def MINTON_DVD//nono 20031117
    ac3_dynarange = 0; //hq,3-11-10 20:11
    SETUP_AC3DIGITAL_DYNA = 2;
#else    
    ac3_dynarange = 8;
    SETUP_AC3DIGITAL_DYNA = 10;
#endif
*/
#ifdef HUAJIA_DVD //wangfeng 2004-2-18 14:34
    ac3_dynarange = 8;
    SETUP_AC3DIGITAL_DYNA = 10;
#elif defined(SETUP_DONGLI459)//||defined(EASTECH_NEW_SETUP_MENU)
    ac3_dynarange = 8;
    SETUP_AC3DIGITAL_DYNA = 10;
#else
    ac3_dynarange = 0; 
    SETUP_AC3DIGITAL_DYNA = 2;
#endif

#ifdef ADD_DVI311_SETUP
set_default_value_dvi();
#endif

    if (audio_channel!=0) { //Jeff 20030919
        AUDIF_Set_OutputMode(0+1, 0);//2004AUDDRV AudioSetOutputMode(0+1, 0); //set to audio_channel default
    }
    audio_channel = 0; // Robert 021008

//#if (defined(SAME_DISC_RESUME)&&!defined(GBM_FULL_FUNCTION))||defined(SHOW_STANDBY_TIMER)
#if defined(NEXTPAGE_SYS)       //freyman 2004-3-25 23:59
    page = SysNextPage;
    #ifdef SAME_DISC_RESUME
    same_disc_onoff = 0;
    #endif
#else
    page = 0;
#endif     

#ifdef USE_FREQ_MASK    //default output 48K fengjl add  3-12-1 22:38
SETUP_FREQ_MASK   = 2;  
#endif

#ifdef TUNR_OFF_PARENTAL_LVL
    bTurnOffParentalLVL=0;//zhaoyanhua 2003-12-1 20:10
#endif
  
#if defined(ONLY_DOWNMIX)
    #ifdef USE_4334_OR_4344_DAC //caoh 2005-1-5 13:12
    AUDIF_Reset_DSP();
    #endif
    exe_setup_function(STR_OS_BASS_MANAGEMENT,STR_OS_BASS_MODE_1,0);//nono 4-3-11 18:34
#endif
    
#ifdef  DYNAMIC_SPECTRUM  //fengjl   3-10-27 21:08
 SETUP_BAND=3;   
 bEqDisplay = 0;  
#endif
    #ifdef SETUP_DONGLI459  
    if(GPIO_I_GET(36)==0)
    setup_tv_out(P_SCAN);
    else    
    setup_tv_out(INTERLACE);
    search_ap_tv_out_id();
    #endif  //#ifdef SETUP_DONGLI459    
//xyy deleted 2004-3-8 
//the amp default status setting is moved to amp_gui.c 
 #ifdef SUPPORT_DEFAULT_CHANGE_REGION
    SETUP_CUSTM_REGION=REGION_NUM+2;
    UserSet.P_RCD = REGION_NUM;
 #endif
 
//#ifdef MINTON_YILI_LCD1003_6CH         //hq,2004-4-22 17:35
#if defined(MINTON_YILI_LCD1003_6CH)||defined(QSI_SETUP_MENU)//liweihua mod for QSI 2004-6-17
    SetBrightness(SETUP_BRIGHTNESS - 2);
    SetContrast(SETUP_CONTRAST - 2);
    SetHUE(SETUP_HUE - 2);
    SetSaturation(SETUP_SATURATION - 2);
#endif//DELETE_VIDEO_ITEM

    //added by wangwei,2004-9-17 16:05
    //(when press "DEFAULT" button in SETUP MENU,3D sound will be restored.)
    #ifdef SETUP_RESTORE_ALSO_RESTORE_3D
    restore_3Dsound();
#endif
	
#ifdef SET_AMP_VOL_DEFAULT  //xyy add for Oritron 2004-11-11 
	extern void set_amp_default_vol(void);
	set_amp_default_vol();
#endif
}

//    xyy deleted 2004-3-8 
//the amp default status settint is moved to amp_gui.c
//void set_ampsetup_default(void)

void run_set_variable(void)
{
    int     i,j;
//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=0;j<MAX_PAGE_ITEM;j++)
        {
        #if defined(BBK_NEW_SETUP)&&defined(BBK_DV961_DVD)
            if(i == ONEKEYPASSPAGE)
            {
                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;
            }
        #endif
            
            sel=setup_sel[i][j];

            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;
                    }
                }
#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);
            }
        }

        //added by wangwei,2004-9-17 16:05
    	   //(when press "DEFAULT" button in SETUP MENU,3D default set will be saved and loaded.)
		#ifdef REMB_3DSOUND  
        run_sound_save(sound_sel);
        load_3Dsound(sound_sel,user_osd_set);
        sound_set_EQ_again();  //(after restore SETUP MENU,when comeback to play and don't show 3D menu,there will be no sound effect,so add it here.)
        #endif
        
        safe_srn_forceOFF();
}

#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));  
  audio_volume = (audio_volume <= DEFAULT_VOL)?audio_volume:DEFAULT_VOL;
  //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)
{
    //echo: shift to 0 ~ 8
        #ifdef NOT_REWRITE_MIC_VALUE  //axel 2004/2/8 10:05PM
        echo_level = 8;
        #else
        echo_level = SETUP_ECHO - 2;
        #endif  //NOT_REWRITE_MIC_VALUE                

        //key: shift to -6 ~ 6
        #ifdef NOT_REWRITE_MIC_VALUE  //axel 2004/2/8 10:05PM
        audio_key = 0;
        #else
        audio_key = SETUP_KEY - 2 - 6;
        #endif  //NOT_REWRITE_MIC_VALUE

        //mic-volume: shift to 0 ~
        #ifdef  MIC_2CHANNEL    //wangfeng 2003-09-12 22:20
        if(id==STR_OS_MIC_VOL_1)
        #endif
        #ifdef NOT_REWRITE_MIC_VALUE  //axel 2004/2/8 10:05PM
        mic_volume = 6;
        #else
        mic_volume = SETUP_MIC_VOL - 2;
        #endif //NOT_REWRITE_MIC_VALUE

        #ifdef  MIC_2CHANNEL
        else if(id==STR_OS_MIC_VOL_2)
        mic_volume = SETUP_MIC_VOL_2 - 2;
        #endif

        ac3_dynarange = SETUP_AC3DIGITAL_DYNA - 2;

#ifdef DYNAMIC_SPECTRUM       //zhaoyanhua add  2003-12-3 11:42     
       if(SETUP_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;
    int     iRts;
    UINT16  unChksum,unTmp;
    BYTE    *p;
    UINT32      romSum=0;

    #ifdef MONE_SETUP
    printf("load setup menu,in\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_sel[SYSPAGE][GRADEITEM]=RATE_DEFAULT;
        NP_PTL_LVL = 8;//zhaoyanhua  2004-3-9 11:32 after UPGRADE, must set parent level is 8.
    }
#endif    

    #ifdef SELECT_MEDIA_IN_SETUPMENU //Maoyong always default as Disc 2004-8-9 15:33
    SETUP_MEDIA_TYPE = DISC_ITEM + 2;
    #endif

    if (iRts > 0) 
    {//read ok
        if (romSum==romCheckSum) 
        {//read setup setting from setup EEPROM(2-th Byte)
             #ifdef Ti3001_OSD_UI_1
              load_amplifier_setup();   // jason add 2-10-5 15:59
             #endif             
            p=(BYTE *)setup_sel;
            iRts=ReadFromI2c(0xa0, sizeof(UINT32), p, sizeof(setup_sel));
            //yanlb added 2004/07/07
    	    #ifdef  REMB_3DSOUND 
		        load_3Dsound(sound_sel,user_osd_set);
	        #endif
        } else 
        {//flash upgrade
            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_sel)+2, (BYTE *)&UserSet, sizeof(t_USER_SET));

/*
Here not used deleted by xyy 2004-8-5
*/

#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)
    {
        init_val_by_record();       
        dump_setup_val();        

        //read setup checksum from setup EEPROM
        iRts=ReadFromI2c(0xa0, sizeof(UINT32)+sizeof(setup_sel), (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");
#ifdef EASTWIN                

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -