setup_exe.c
来自「Sunplus 8202S source code.」· C语言 代码 · 共 562 行 · 第 1/2 页
C
562 行
/*
* Terry,2004/2/10 03:34PM
*/
//#include "setup_page.h"//nono mark why add it??
#ifndef AC3_BASS_MANAGEMENT
int downmix_off;
#endif
#ifdef PULIANG_SETUP_MENU //yaowh add 04-12-15
int show_menu_setup_flag;
#endif
#ifdef SELECT_MEDIA_IN_SETUPMENU
BYTE media_changed_flag = 0;
#endif
void exe_setup_function(UINT8 tt_id, UINT8 sub_id, UINT8 exe);
#ifdef DVD_SETUP_REENG
extern void setup_VA2sel(void);
extern UINT32 setup_getSelPos(UINT8 selection);
extern UINT16 setup_getItemPos(UINT8 item);
#endif
#ifdef SETUP_MENU_TWO_BUTTON_SELECT_TWO_SUBTITLE //added by wangwei,2004-10-24 23:12
extern int IDTWO;
UINT8 language_id;
UINT16 LCD_2; //Language CoDe of the second subtitle.
#endif
#ifdef SUPPORT_HD_DVD
extern void scaler_main(void);
static inline void exe_setup_function_dvi(UINT8 tt_id, UINT8 sub_id, UINT8 exe)
{
#ifdef ADD_DVI311_SETUP
#if 0////Modifed by chenzhao on 2004-12-10 15:39
static unsigned char init_output=1;
if(tt_id == STR_OS_DVI311_FORMAT)
{
dvi311_format = sub_id;
if(dvi311_format==STR_OS_ANOLOG_OUTPUT) ////analog kevin0710
{
if(init_output==0)
{
}
else
{
init_output=0;
scaler_main();
}
close_pll(0x00);
Power_off_311=1;
}
if(dvi311_format==STR_OS_DIGIT_OUTPUT) //digital
{
if(Power_off_311==1)
{
close_pll(0xff);
#if 0
GPIO_O_SET(40, 1);
delay_1ms(200);
delay_1ms(200);
GPIO_O_SET(40, 0); //reset 311
delay_1ms(600);
scaler_main();
#endif //0
Power_off_311=0;
}
init_output=0;
}
// scaler_main(); //040512
printf("set output--kevin");
psprintf(linebuf, "dvi311_format %x\n", dvi311_format);
epp_write_wait(linebuf);
}
#endif
#ifdef HDCP_CUSTOM//Modifed by chenzhao on 2004-12-1 11:24
if(tt_id == STR_OS_HDCP)
{
if(STR_OS_OFF==sub_id)
hdcp_mode=HDCP_OFF;
else
hdcp_mode=HDCP_ON;
ResetAuthentStates();
}
#endif
if(tt_id ==STR_OS_TV_SYS)
{
if(sub_id!=STR_OS_AUTO)
dvi311_tv_mode = sub_id;
#ifdef DVD_SETUP_REENG//Modifed by chenzhao on 2004-11-24 21:8
dvi311_mode=setup_VA[SETUP_VA_SPV311MODE]-MIN_ITEM_SEL;
#else
dvi311_mode=SETUP_DVI_MODE-MIN_ITEM_SEL;//for load saved SETUP_DVI_MODE.added by ChenZhao on 2004-10-19 14:22
#endif
//kevin tsest
//if(tv_out_id!=P_SCAN)//Modifed by chenzhao on 2004-11-25 16:46 //not HD output kevin@2k0708
//{
if(dvi311_tv_mode>0x84&&dvi311_mode==Mode_576P)// NTSC and 480P @kevin 2k40708
dvi311_mode=Mode_480P;
if(dvi311_tv_mode==0x84&&dvi311_mode==Mode_480P)// PAL and 576P @kevin 2k40708
dvi311_mode=Mode_576P;
#if 0//Modifed by chenzhao on 2004-11-25 16:46
//}
else if(tv_out_id==P_SCAN) //not HD output kevin@2k0708
{
if(dvi311_tv_mode>0x84&&dvi311_mode==Mode_576P)// NTSC and 480P @kevin 2k40708
dvi311_mode=Mode_480P;
if(dvi311_tv_mode==0x84&&dvi311_mode==Mode_480P)// PAL and 576P @kevin 2k40708
dvi311_mode=Mode_576P;
}
#endif
#ifdef DVD_SETUP_REENG//Modifed by chenzhao on 2004-11-24 21:8
setup_VA[SETUP_VA_SPV311MODE]=dvi311_mode+MIN_ITEM_SEL;
#else
//SETUP_DVI_MODE=dvi311_mode+MIN_ITEM_SEL;
#endif
if(Power_off_311==1)//for standby powerup start 311.added by ChenZhao on 2004-10-19 16:51
{
close_pll(0xff);
Power_off_311=0;
}
scaler_main(); //040512
psprintf(linebuf, "dvi311_tv_mode %x,exe=%d\n", dvi311_tv_mode,exe);
epp_write_wait(linebuf);
}
#endif
}
#endif
#include "str_os_downmix_setup.inc"
#include "str_os_aud_out.inc"
#include "str_os_16_9.inc"
#include "str_os_4_3lb.inc"
#include "str_os_4_3ps.inc"
#include "str_os_svideo.inc"
#include "str_os_ycbcr.inc"
#include "str_os_tv_rgb.inc"
#include "str_os_pc_vga.inc"
#include "str_os_pscan_yuv.inc"
#ifdef SUPPORT_PROLOGIC_II
#include "str_os_prologic2.inc"
#endif
//added by JS //for setup reengineering //20040817
#ifdef DVD_SETUP_REENG
#ifdef SPHE8202_CARD_STORAGE
extern void Card_power_off();
#endif
void exe_setup_function(UINT8 tt_id, UINT8 sub_id, UINT8 exe)
{
//language,osd,subtitle,audio
//printf("tt:%d sub:%d exe:%x\n",tt_id,sub_id,exe);
#ifdef STORE_VIDEO_PARAMETER
BYTE res;
#endif
printf("\n exe_setup_function in %d %d %d\n", tt_id, sub_id, exe);
#ifdef ADD_DVI311_SETUP
exe_setup_function_dvi(tt_id, sub_id, exe);
#endif
switch(tt_id)
{
#ifdef SELECT_MEDIA_IN_SETUPMENU
case STR_OS_MEDIA_TYPE:
if(system_state == SYSTEM_OPEN) //Maoyong 2004/8/11 can't switch in OPEN state
break;
switch(sub_id)
{
case STR_OS_MEDIA_DISC:
if(media_type == MEDIA_CARD)
{
#ifdef SPHE8202_CARD_STORAGE
Card_power_off(); //wthsin, 2004/9/1 10:13am
#endif
media_changed_flag = 1;
SwitchMedia(CARD2CD);
printf("========= Switch to Disk Media ==========\n");
}
break;
case STR_OS_MEDIA_USB:
if( (media_type == MEDIA_CD) || (storage_type != USB_DEVICE) )
{
#ifdef SPHE8202_CARD_STORAGE
Card_power_off(); //wthsin, 2004/9/1 10:13am
#endif
media_changed_flag = 1;
storage_type = USB_DEVICE;
SwitchMedia(CD2CARD);
printf("========= Switch to USB Device ==========\n");
}
break;
case STR_OS_MEDIA_CARD: //Maoyong 2004/8/11 for eastech TYPE 3 CARD Storage
if( (media_type == MEDIA_CD) || ( (storage_type != MS_CARD_DEVICE) && (storage_type != SD_CARD_DEVICE) && (storage_type != SMC_CARD_DEVICE) ) )
{
media_changed_flag = 1;
if(detect_type & MS_CARD_DEVICE)
storage_type = MS_CARD_DEVICE;
else if(detect_type & SD_CARD_DEVICE)
storage_type = SD_CARD_DEVICE;
else if(detect_type & SMC_CARD_DEVICE)
storage_type = SMC_CARD_DEVICE;
SwitchMedia(CD2CARD);
printf("========= Switch to MS/SD/SMC CARD Device ==========\n");
}
break;
}
break;
#endif //#ifdef SELECT_MEDIA_IN_SETUPMENU
#ifdef TUNR_OFF_PARENTAL_LVL
case STR_OS_RATING:
bTurnOffParentalLVL=0;//terry,2002/9/20 11:40PM
break;
#endif
#ifdef ADD_P_SCAN_ONOFF
case STR_OS_P_SCAN_YUV: //add by Tom 20040714
if(sub_id==STR_OS_ON)
str_os_pscan_yuv();
else
str_os_ycbcr();
break;
#endif
case STR_OS_OSD:
{
int i;
for (i=MIN_ITEM_SEL; i<=MAX_ITEM_SEL; i++) {//nono 2-10-30 17:35
if (sub_id==setup_item[setup_pos[1]][setup_pos[2]][i])
{
break;
}
}
/* //marked by JS //20040817
#ifdef SUPER_DEFAULT_OSD_LANG
if(page==CUSTMPAGEINDEX)
{
UserSet.setup_default_osd_lang = i -2;
SETUP_OSD_LANG = UserSet.setup_default_osd_lang +2;
}
#endif
*/
//osd_font_mode = i-2;
osd_font_mode = OSD_LANG_MAP[i-2]; //Jeff 20030217
}
break;
case STR_OS_SUBTITLE_LANG_SETUP:
UserSet.SPSTN = 0x40|0x3E;//setting sub-picture on
if(sub_id==STR_OS_AUTO) {
sub_id=LCD_EN;//'e' * 256 + 'n';
} else if(sub_id==STR_OS_OFF) {
//sub_id=LCD_EN;//'e' * 256 + 'n';
sub_id=0; //Jeff 20020925
UserSet.SPSTN =0xffbf;//setting sub-picture on
}
UserSet.SPST_LCD = lang_639code[sub_id];//trans_lang_id(sub_id);
//#define SETUP_CAN_DIRECT_SEL_SUBTITLE
#ifdef SETUP_CAN_DIRECT_SEL_SUBTITLE
dvd_sel_subtitle_right_now();
#endif
printf("UserSet.SPST_LCD:%d\n",UserSet.SPST_LCD);
printf("SPTN:%x\n",UserSet.SPSTN);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?