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

📄 display.c

📁 以ST公司CPU为核心的彩色电视机的完整源程序。
💻 C
📖 第 1 页 / 共 2 页
字号:
        }
    fill_char_in_line(1,2,0x9d,1); 
    set_current_screen();
    osd_enabled();
    }
}

/*****************************************************************************
INPUTS     :
OUTPUTS    :
DESCRIPTION:
*****************************************************************************/
void show_info_bar_display(void) //feman change ok
{
    unsigned char tmphigh,tmplow,rownumber;
    unsigned char analog =0;
    
//    if(!(tuning_flags & AUTOSEARCH_REQUEST))
//    	hide_item_bar();
    
    
    for(tmphigh=0;tmphigh<3;tmphigh++)
        {
        append_line_to_buffer(&blockstatu[tmphigh]);
        }

    rownumber = back_row_number;
    rownumber -=2; 
       
	switch (menu_page)
	{
	case MENU_PICTURE:
		switch(menu_item)
		{
	    case ITEM_BRIGHTNESS:
            analog = brightness;
		break;
        case ITEM_COLOUR:
		    analog = colour;
	    break;
		case ITEM_CONTRAST:
		    analog = contrast;
	    break;
		case ITEM_SHARPNESS:
		    analog = sharpness;
	    break;
		case ITEM_TINT:
		    analog = tint;
	    break;
	    }

	break;          

	case MENU_INSTALL:
		switch(menu_item)
		{
		case ITEM_AUTO_PROG:
		case ITEM_MANUAL_TUNE:
            spp(VS_PG);
            analog = (~VSDR1) & 0x3f; 
		 break;

		case ITEM_FINE_TUNE:
            analog = fine_tune;
		break;
		}                
	break;


	} 
	    tmphigh = analog>>2;
        tmplow  = analog&0x3; 
        fill_char_in_line(rownumber,0x5,PROCESS_SYMBOL[1][0],tmphigh);
        if(tmplow!=0)
            fill_char_in_line(rownumber,0x5+tmphigh,PROCESS_SYMBOL[1][tmplow],1);     

}


/*****************************************************************************
INPUTS     :
OUTPUTS    :
DESCRIPTION:
*****************************************************************************/
void show_theme_timer(void)
{
display_clock(1,11, hour, minute);      
display_clock(2,11,alarm_on_hour,alarm_on_minute);  
display_clock(3,11,alarm_off_hour,alarm_off_minute);
if(alarm_channel & SET_NIBBLE_CHANNEL)
    {
    fill_char_in_line(4,11,0xA4,1); 
    fill_char_in_line(4,12,(alarm_channel & ~ SET_NIBBLE_CHANNEL)+0x30,1);
    }
else    
    display_value(4,11,alarm_channel);
}
/*****************************************************************************
INPUTS     :
OUTPUTS    :
DESCRIPTION:
*****************************************************************************/

void show_organize_menu(void)
{                           	 
    unsigned char i,j ,k,tmphigh;
    unsigned int address;

    if(station_edit_flags &DISPLAY_WAIT)      		
		station_edit_flags &=~DISPLAY_WAIT;
//	    show_edit_middle_menu();
//     else 
//        hide_edit_middle_menu();
    
    reset_current_screen();	
    for(i=0;i<12;i++)
        {
        append_line_to_buffer(&blockedit[i]);
	    }
		/*****pr*****/
		for(i=0;i<8;i++)
		{
			j=station_page+i;
			if(j>=99)j-=99;
			display_value(i+2,2,j+1);
            address = EEPROM_START_LABEL_MEMORY+(j*4);

			for(k =0 ;k<4;k++)
			        {
    				tmphigh = read_eeprom(address+(unsigned int)k);
			        fill_char_in_line(i+2,k+6,tmphigh,1);
			        }
        
        address=EEPROM_START_CHANNEL_MEMORY+(j*3) + SETTINGS; 
        j = read_eeprom(address);
	    k = get_value(j,SYSTEM_MASK);
        if(!(k>0&&k<SYSTEM_MAX))
           k=0; 
        fill_string_in_line(i+2,12,(unsigned char *)SYSTEM_STRING[k]);

	    k = get_value(j,AUDIO_SYSTEM_MASK);

        if(!(k>0&&k<=AUDIO_MN))
            k=0;
        fill_string_in_line(i+2,19,(unsigned char *)AUDIO_SYSTEM_STRING[k]);

	   if (j & SKIP_MASK)
            k=0;
	   else
	        k=1;
		fill_string_in_line(i+2,23,(unsigned char *)YES_NO_STRING[k][language]);
       } 
    
    switch(menu_theme)
        {
        case THEME_PR : 
                    k = 1;
                    break; 
        case THEME_NAME_0 :
        case THEME_NAME_1 :
        case THEME_NAME_2 :
        case THEME_NAME_3 :
                    k=menu_theme+5;
                    break;
        case THEME_PICTURE :
                k=12;
                break;
        case THEME_SOUND :
                k=19;
                break;
        case THEME_SKIP :
                k=23;
                break;
        }
          
   fill_color_in_line(menu_item+2,k,0x20,0x1);
   set_current_screen();	
}
/******************************/
void show_main_menu(void) //feman chage ok
{
    unsigned char i;
	tv_flags = tv_flags & ~FORCE_NICAM_STD ;
    
    reset_current_screen();
     for(i=0;i<4;i++)
        {
        append_line_to_buffer(&mainmenu[i]);
        }
     fill_string_in_line(3,menu_item*5,(unsigned char *)MAIN_STRING[menu_item][language]);
     fill_string_in_line(2,menu_item*5+2, (unsigned char *)MAIN_POINTER);
     fill_color_in_line(2,menu_item*5+2,0x20,0x01);
//   if(source!=TUNER)
//	 {
//   }
    set_current_screen();
    osd_enabled();//for display enabled global
}

/*****************************************************************************
INPUTS     :
OUTPUTS    :
DESCRIPTION:
*****************************************************************************/
void show_picture_menu(void) //feman change ok
{
 unsigned char i;

//if (!(display_request_flags & MENU_FLASH_DISPLAY))
//    {
    reset_current_screen();
    if(source_flags & NTSC_SET)
	{
     for(i=0;i<7;i++)
        {
       append_line_to_buffer(&blockmenu_5l[i]);
      	}
    	for(i=0;i<=ITEM_TINT;i++)
	    {
	    fill_string_in_line(i+1,0x3,(unsigned char *)PICMENU_STRING[i][language]); 
	    }
	 }
	else
	{
	 for(i=0;i<6;i++)
        {
        append_line_to_buffer(&blockmenu_4l[i]);
	    }

	for(i=0;i<=ITEM_SHARPNESS;i++)
	    {
	    fill_string_in_line(i+1,0x3,(unsigned char *)PICMENU_STRING[i][language]); 
	    }

	}
fill_char_in_line(menu_item+1,0x02,0xd0,0x1);

//}
show_info_bar_display();
set_current_screen();

}

void show_sound_menu(void) //feman change ok
{
 unsigned char i;
 
//if (!(display_request_flags & MENU_FLASH_DISPLAY))
//    {
	 reset_current_screen();
     for(i=0;i<6;i++)
        {
        append_line_to_buffer(&blockmenu_4l[i]);
	    }
	for(i=0;i<=ITEM_BASS;i++)
	    {
	    fill_string_in_line(i+1,0x3,(unsigned char *)SOUMENU_STRING[i][language]); 
	    }

fill_char_in_line(menu_item+1,0x02,0xd0,0x1);

//}
show_info_bar_display();
	 set_current_screen();

}

/*****************************************************************************
INPUTS     :
OUTPUTS    :
DESCRIPTION:
*****************************************************************************/
void show_timer_menu(void)
{    
unsigned char i;
reset_current_screen();
for(i=0;i<6;i++)
   {
   append_line_to_buffer(&blockedit[i]);
   }
for(i=0;i<=ITEM_WAKE_UP_PR;i++)
   {
   fill_string_in_line(i+1,0x3,(unsigned char *)TIME_STRING[i][language]); 
   }
fill_char_in_line(menu_item+1,1,0xd0,1); 
show_theme_timer();
set_current_screen();
}

void show_function_menu(void)
{
unsigned char i;

    reset_current_screen();
     for(i=0;i<6;i++)
        {
        append_line_to_buffer(&blockmenu_4l[i]);
	    }
	for(i=0;i<=ITEM_TIMER;i++)
	    {
	    fill_string_in_line(i+1,0x3,(unsigned char *)FUNCMENU_STRING[i][language]); 
	    }
    fill_char_in_line(menu_item+1,0x02,0xd0,0x1);
	
	set_current_screen();
}

/*****************************************************************************
INPUTS     :
OUTPUTS    :
DESCRIPTION:
*****************************************************************************/

/*****************************************************************************
INPUTS     :
OUTPUTS    :
DESCRIPTION:
*****************************************************************************/
void show_preset_menu(void)
{  
 unsigned char i;

//	if(display_request_flags & MENU_FLASH_DISPLAY)
//    	show_info_bar_display();
//    else
	                           
//	{ 
	reset_current_screen();
    for(i=0;i<6;i++)
        {
        append_line_to_buffer(&blockmenu_4l[i]);
	    }
    for(i=0;i<=ITEM_ORGANIZE;i++)
        {
	    fill_string_in_line(i+1,0x3,(unsigned char *)PREMENU_STRING[i][language]); 
        }
    fill_char_in_line(menu_item+1,0x02,0xd0,0x1);
    show_info_bar_display();	
    set_current_screen();
}

/*****************************************************************************
INPUTS     : menu_page - Menu page to display
OUTPUTS    : see show_video_menu
	     see show_timer_menu
	     see show_setup_menu
	     see enable_display
DESCRIPTION: This function displays menu pages.
*****************************************************************************/
void show_menu(void)
{
   switch(menu_page)
	 {
	 case MENU_DEFAULT:
	    show_main_menu(); /* DOSHI*/
	 break;

	 case MENU_PICTURE:  
	     show_picture_menu();
     break;
     
     case MENU_SOUND :
        show_sound_menu();
     break;
     
   	 case MENU_INSTALL:
         show_preset_menu();
	 break;
     
     case MENU_FUNCTION:
         show_function_menu();
     break;
     
     case MENU_GAME :
     break;
      
//other menu     
	 case MENU_TIMER:
	     show_timer_menu();
	 break;

    case MENU_ORGANIZE: 
	     show_organize_menu();
	break;


	}        
}


/***************************************************************/

⌨️ 快捷键说明

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