📄 t10a2_menu.c
字号:
#include <iom64.h>
#include <inavr.h>
#include <ioavr.h>
#define uchar unsigned char
#define uint unsigned int
#include "T10A2_flash_extern.H"
#include "T10A2_extern_data.H"
void tv_anjian_disposal1(void)
{
osd_byte[0]=menu_address;
if(menu_address==0)osd_byte[1]=0;
else
osd_byte[1]=ram[10*pingduan+7]; //
if(ram[10*pingduan+7]>5)
osd_byte[1]=ram[10*pingduan+7]-6;
}
void ht_anjian_disposal2(void)
{
osd_byte[0]=menu_address;
if(menu_address==0)osd_byte[1]=0;
else
osd_byte[1]=mode_select_ht;//
}
void cd_anjian_disposal3(void)
{
osd_byte[0]=menu_address;
if(menu_address==0)osd_byte[1]=0;
else
{
switch(cd_input_f)
{
case 0:
osd_byte[1]=0;
break;
case 1:
osd_byte[1]=0x01;
break;
case 2://只有卡插入
osd_byte[1]=0x10;//改
break;
default:
osd_byte[1]=0x11;
break;
}
}
}
void mic_anjian_disposal5(void)
{
osd_byte[0]=menu_address;
if(menu_address==0)osd_byte[1]=0;
else
osd_byte[1]=kalaok_mode;
}
void setup_anjian_disposal6(void)
{
osd_byte[0]=menu_address;
osd_byte[1]=0;
}
void setup_anjian_disposal6_0(void)
{
osd_byte[0]=menu_address;
osd_byte[1]=system_setup;
}
void menu_disposal(void)
{
uchar temp0,i;
address_buffer=menu_address;
switch(address_buffer)
{
case 0x00:
if(anjian==6)
{
bdata3_flag|=BIT(MENU_OPEN_F);//菜单打开
menu_address=0x01;
ht_anjian_disposal2();
}
anjian=0xff;
break;
case 0x01:
menu_address=table_menu[address_buffer][anjian];
if(anjian==2)
setup_anjian_disposal6();
else if(anjian==3)
tv_anjian_disposal1();
else if((anjian==1)||(anjian==5))
{menu_address=mode_select_ht+6;
ht_anjian_disposal2();
}
else ht_anjian_disposal2();
//display_state=1;
//if(menu_address!=0)
//write_data_display(0,13,disp_zi[menu_address>>4]);
anjian=0xff;
break;
case 0x06:
case 0x07:
case 0x08:
case 0x09:
case 0x0a:
case 0x0b:
menu_address=table_menu[address_buffer][anjian];
if(anjian==1) //返回上一级时ht-mode显示的不是实际值
{
mode_select_ht=menu_address-6;
menu_address=0x01;
if(theatre_mode==1)
{
bdata0_flag|=BIT(VOL_DOWN_FLAG);//新加
vol_max();
// bdata0_flag|=BIT(INPUT_FLAG);
//write_data_display(0,13,mode[mode_select_ht+6]);
}
}
ht_anjian_disposal2();
anjian=0xff;
break;
case 0x10:
menu_address=table_menu[address_buffer][anjian];
if(anjian==2)
ht_anjian_disposal2();
else if(anjian==3)
cd_anjian_disposal3();
else if((anjian==1)||(anjian==5))
{menu_address=ram[10*pingduan+7]+24;
if(ram[10*pingduan+7]>5)
menu_address=ram[10*pingduan+7]+18;
tv_anjian_disposal1();
}
else tv_anjian_disposal1();
//display_state=1;
//if(menu_address!=0)
//write_data_display(0,13,disp_zi[menu_address>>4]);
anjian=0xff;
break;
case 0x18:
case 0x19:
case 0x1a:
case 0x1b:
case 0x1c:
case 0x1d:
menu_address=table_menu[address_buffer][anjian];
if(anjian==1) //返回上一级时tv-mode显示的不是实际值
{
ram[10*pingduan+7]=menu_address-24;//按确认键后返回上一? menu_address=0x10;
if(theatre_mode==0)
{
bdata0_flag|=BIT(VOL_DOWN_FLAG);//新加
vol_max();
// bdata0_flag|=BIT(INPUT_FLAG);
//write_data_display(0,13,mode[ram[10*pingduan+7]]);
}
}
tv_anjian_disposal1();
anjian=0xff;
break;
case 0x20://因为这个地址另外加的,需修改,menu需重写表格,select 加一个no input,同时mode需修改
menu_address=table_menu[address_buffer][anjian];
if(anjian==2)
tv_anjian_disposal1();
else if(anjian==3)
mic_anjian_disposal5();
else if((anjian==1)||(anjian==5))
{
switch(cd_input_f)
{
case 0:
menu_address=0x20;
osd_byte[0]=menu_address;
osd_byte[1]=0;
break;
case 1:
osd_byte[0]=menu_address;
osd_byte[1]=0x01;
break;
case 2://只有卡插入
menu_address=0x24;
osd_byte[0]=menu_address;
osd_byte[1]=0x10;//改
break;
default:
osd_byte[0]=menu_address;
osd_byte[1]=0x11;
break;
}
}
else
cd_anjian_disposal3();
//display_state=1;
//if(menu_address!=0)
//write_data_display(0,13,disp_zi[menu_address>>4]);
anjian=0xff;
break;
case 0x21:
case 0x22:
case 0x23:
case 0x24:
case 0x25:
case 0x26:
temp0=address_buffer-0x21;
switch(cd_input_f)
{
case 1:
menu_address=table1_menu[temp0][anjian];
break;
case 2:
menu_address=table2_menu[temp0][anjian];
break;
case 3:
menu_address=table3_menu[temp0][anjian];
break;
default:
menu_address=table_menu[address_buffer][anjian];
break;
}
cd_anjian_disposal3();
if(anjian==1)
{
menu_address=0;
bdata3_flag&=~BIT(MENU_OPEN_F);
cd_input_select=temp0;
input_select_init();
remote_disposal_usbcard_inputselect();
remote_usbcard_on_disposal_1();
}
anjian=0xff;
break;
case 0x30:
menu_address=table_menu[address_buffer][anjian];
setup_anjian_disposal6();
anjian=0xff;
break;
case 0x31:
menu_address=table_menu[address_buffer][anjian];
if(anjian==1)
{
reset_disposal();
bdata4_flag|=BIT(RESET_FLAG);
/* if(input_select==1)
{
state_reg=0x32;//改成自动搜索家庭影院
//input_select=0;
input_select_autojia();
if(input_select>3)input_select=0;
input_select_init();
single_counter=0;
auto_search_counter=Switch_Channel_Timer;//暂用
bdata4_flag|=BIT(AUTO_SEARCH_F);
// write_data_display(0,13,home_theatre);//显示家庭影院,并自动搜台
//王明文添加
VFD_Variable = HT_Mode;
Display_Proc(Input_DisMode);
}
else if(input_select==5)
{
//input_select_autojia();
//if(input_select>6)input_select=6;
//input_select_init();
state_reg=0x32;//改成电视影院自动搜索
//input_select=4;
input_select_autojia();
if(input_select>6)input_select=6;
input_select_init();
single_counter=0;
auto_search_counter=Switch_Channel_Timer;//暂用
bdata4_flag|=BIT(AUTO_SEARCH_F);
// write_data_display(0,13,tv_theatre);//显示电视影院,并自动搜台
//王明文添加
VFD_Variable = TV_Mode;
Display_Proc(Input_DisMode);
//bdata3_flag|=BIT(DECODER_START);//新加,一按电视影院就启动解码 改
}
else asm("nop");
*/
}
setup_anjian_disposal6();
anjian=0xff;
break;
case 0x32:
anjian=0xff;
break;
case 0x33:
menu_address=table_menu[address_buffer][anjian];
setup_anjian_disposal6();
anjian=0xff;
break;
case 0x40:
menu_address=table_menu[address_buffer][anjian];
if(anjian==2)
{
cd_anjian_disposal3();
}
else if(anjian==3)
setup_anjian_disposal6();
else if((anjian==1)||(anjian==5))
{menu_address=kalaok_mode+67;
mic_anjian_disposal5();
}
else mic_anjian_disposal5();
//display_state=1;
//if(menu_address!=0)
//write_data_display(0,13,disp_zi[menu_address>>4]);
anjian=0xff;
break;
case 0x43:
case 0x44:
case 0x45:
case 0x46:
case 0x47:
menu_address=table_menu[address_buffer][anjian];
if(anjian==1)
{
kalaok_mode=menu_address-67;
menu_address=0x40;
//write_data_display(0,13,ok_mode_disp[kalaok_mode]);
//state_counter=6;
//VFD_Variable = kalaok_mode;
//Display_Proc(OK_Mode_DisMode);
if(kalaok_mode!=5)
{
for(i=0;i<4;i++)
{ram_2[i]=kalaok_parameter[kalaok_mode][i];}//mic_bass mic_treble
}
else
{
for(i=0;i<4;i++)
{ram_2[i]=ram[114+i];}//mic_bass=mic_bass_user;用户模式调出
}
/*送参数to karaok*/
write_2313_page();
write_mic_delay();
}
mic_anjian_disposal5();
anjian=0xff;
break;
case 0x48:
menu_address=table_menu[address_buffer][anjian];
if((anjian==1)||(anjian==5))
{
kalaok_mode=5;//new
osd_byte[0]=menu_address;
osd_byte[1]=mic_echo;
mic_select=2;
if(kalaok_mode!=5)
{
for(i=0;i<4;i++)
{ram_2[i]=kalaok_parameter[kalaok_mode][i];}//mic_bass mic_treble
}
else
{
for(i=0;i<4;i++)
{ram_2[i]=ram[114+i];}//mic_bass=mic_bass_user;用户模式调出
}
/*送参数to karaok*/
write_2313_page();
write_mic_delay();
}
else
mic_anjian_disposal5();
anjian=0xff;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -