www.pudn.com > 8202T_PDVD_4X16.rar > vfd_sc3118_1.c, change:2007-12-05,size:40839b


#include "user_init.h" 
#include "config.h" 
#include "global.h" 
#include "vfdfunc.h" 
//#include "vfd_7seg.h" 
#include "stdlib.h" 
#include "user_if.h" 
#include "auctrl.h"//nono 2-6-15 17:14 
#include "audif.h" 
#include "ddx8000.h" 
#include "radio_mv114_kst.h" 
//#include "radio23.h" 
#include "setup.h" 
//#include "ba1924.h" 
  
 
#if 0//def SUPPORT_RDS_FUNCTION//xyy 
extern char radioTextBufA[2][65]; 
extern char radioTextBufB[2][33]; 
extern char programServiceBuf[9]; 
extern char programTypeNameBuf[9];  
extern char programTypeBuf[17]; 
extern char clocktimeBuf[26]; 
extern UINT16 txtAreadyFlag,txtBreadyFlag,ctReadyFlag; 
extern BYTE psReadyFlag,ptynReadyFlag,ptyReadyFlag; 
extern BYTE rds_func_flag; 
extern BYTE rdsinfo_dispindex; 
#endif 
#ifdef SUPPORT_RDS_FUNCTION  //llf add 
extern BYTE rdsinfo_dispindex; 
extern char programTypeBuf[17]; 
extern char radioTextBufA[2][65]; 
extern char programServiceBuf[9]; 
extern char clocktimeBuf[26]; 
 
extern BYTE IS_AUTO_SEARCH; 
extern BYTE last_memory; 
extern BYTE station_flag; 
BYTE VFD_RDS_SHOW = 0; 
#ifdef SHOW_PS_PTY_ON_VFD 
extern UINT8 show_ps_pty_flag; 
#endif 
 
#define PS_FUNC   1 
#define PTY_FUNC  2 
#define RT_FUNC   3 
#define CT_FUNC   4 
#define PTYN_FUNC 5 
 
#define NO_MEM_MODE     0 
#define MEM_MODE        1  
#define LAST_MEM_AM    2 
#define LAST_MEM_FM        3 
#endif  // llf add 
extern BYTE IS_AUTO_SEARCH; 
extern BYTE last_memory; 
extern BYTE station_flag; 
#ifdef STORE_CHANNEL_PROGRAM 
BYTE vfd_blink_flash = 0; 
extern UINT16 vfd_blink_time; 
extern UINT16 tuner_prog_timeout; 
extern BYTE tuner_prog_state; 
#endif 
 
//BYTE VFD_RDS_SHOW = 0; 
#ifdef VFD_show_VOL 
BYTE VFD_vol_TIME;  
extern unsigned dac_vol; 
#endif 
 
#ifdef SUPPORT_VOLUME_5CH1_CONTROL 
extern BYTE osd_volume_time; 
#endif 
 
#ifdef SUPPORT_RDS_FUNCTION 
extern BYTE rds_msg_time; 
#endif 
 
extern UINT16 mp3_file_count(void); 
extern UINT16 Is_JPEG_STATE(void); 
 
#ifdef SUPPORT_NESGAME 
extern UINT16 Is_GAME_STATE(void); 
#endif 
 
extern UINT16 vfd_set_fastforward_state(UINT16 index); 
extern UINT16 vfd_set_fastbackward_state(UINT16 index); 
extern int IsMono(); 
 
 
extern UINT32	coding_mode_now;   // benson update 2004/2/25 02:34¤W¤È 
 
#ifdef SUPPORT_AV_INPUT //jinping add, 2002-7-6 16:15 
extern BYTE avstatus; 
#endif   
//extern unsigned  ambak, fmbak;//current use freq. 
//extern BYTE   bandswitch; 
//extern BYTE memory_band_id[2],Istuning[2],memory_status; 
typedef union 
{ 
 UINT8 	BYTEData[4]; 
 UINT32 dwData; 
}U32DATA; 
 
#define OFFSET	20 
#define MAX_POS	8 
#define MAX_SEG 15 
#define VFD_DISPLAY_SIZE  30 //42 
//#define VFD_DISPLAY_MODE VFDC_SET_DISP_10D18S 
#define VFD_DISPLAY_MODE   0x10  //VFDC_SET_DISP_12D16S 
 
#define DISC_SIZE 1 
const UINT8 vfd_disc[DISC_SIZE] = {202}; 
 
//#define MAX_POS 9 
//const UINT8 vfd_7seg_p[MAX_POS][3]={{0,1,2},{3,4,5},{6,7,8},{9,10,11},{12,13,14},{15,16,17},{18,19,20}}; 
const UINT8 vfd_7seg_p[MAX_POS]={7,6,5,4,3,2,1,0}; //{0,1,2,3,4,5,6,7};//7 seg position BYTE 
 
const UINT8 vfd_Dig_Dot[]= 
{ 
/*	 A       B      C        D        E        F       G    H        I          J        K        L      M     N       O  */	 
   173,  186, 179,   178, 169,  172,170, 171, 184,  185,   182,  180, 168, 187,  181, 
   149,  162, 155,   154, 145, 148, 146, 147,  160,  161,  158,  156, 144, 163,  157, 
   125,  138,  131,  130, 121, 124, 122, 123,  136,  137,  134,  132, 120, 139,  133, 
   101,  114,  107,  106,  97,  100,    98,   99,  112,  113,  110,  108,   96, 115,  109, 
	77,    90,    83,    82,   73,    76,    74,   75,   88,    89,     86,    84,    72,    91,   85,   
	53,    66,    59,    58,   49,    52,    50,   51,   64,    65,     62,    60,    48,    67,   61, 
	29,    42,    35,    34,   25,    28,    26,   27,   40,    41,     38,    36,    24,    43,   37, 
	  5,    18,    11,    10,      1,      4,      2,     3,   16,    17,     14,    12,       0,    19,   13 
};//14 seg position BYTE 
 
const UINT32 vfd_char[26]= 
{ 
	VFD_7SEG_A, 
	VFD_7SEG_B, 
	VFD_7SEG_C, 
	VFD_7SEG_D, 
	VFD_7SEG_E, 
	VFD_7SEG_F, 
	VFD_7SEG_G, 
	VFD_7SEG_H, 
	VFD_7SEG_I, 
	VFD_7SEG_J, 
	VFD_7SEG_K, 
	VFD_7SEG_L, 
	VFD_7SEG_M, 
	VFD_7SEG_N, 
	VFD_7SEG_O, 
	VFD_7SEG_P, 
	VFD_7SEG_P,//q 
	VFD_7SEG_R, 
	VFD_7SEG_S, 
	VFD_7SEG_T, 
	VFD_7SEG_U, 
	VFD_7SEG_V,//v 
	VFD_7SEG_W, 
	VFD_7SEG_X, 
	VFD_7SEG_Y, 
	VFD_7SEG_Z //z 
}; 
 
 
 
const  UINT32  vfd_digit[] = 
{ 
	VFD_7SEG_0, 
	VFD_7SEG_1, 
	VFD_7SEG_2, 
	VFD_7SEG_3, 
	VFD_7SEG_4, 
	VFD_7SEG_5, 
	VFD_7SEG_6, 
	VFD_7SEG_7, 
	VFD_7SEG_8, 
	VFD_7SEG_9 
}; 
 
const UINT16 vfd_symbol[2] =  
{ 
	VFD_7SEG_PLUS, 
	VFD_7SEG_SUB 
}; 
    
    
    
 
 
/****************************************************************************************/ 
/*  cpy_src_len: bit 8 is 1 means that bit 8 means that only show partial string between 0 and cpy_src_len */ 
/*         bit 8 is 0: normal show string, that is copy total string			*/ 
/*         bit0~bit7 mean that copied source length					*/ 
/*  start_p: start position of VFD for show string(position:0~9)			*/ 
/****************************************************************************************/ 
 
//void  vfd_set_str(UINT8 id, char *s)      //xyy 2003-10-30 16:25 
void  vfd_set_str(UINT8 id,BYTE start_p, BYTE cpy_src_len, char *s)      //xyy 2003-11-10 17:03 
{ 
	BYTE i,j,k; 
	BYTE var_data; 
	UINT32 c=0; 
	U32DATA temp; 
	start_p=start_p; 
	if(id) {//english id 
		s=(char *)&(_OsdMessegeFont1[0][id][0]); 
	}  
	 
	if(cpy_src_len&0x80)//bit 8 means that only show 0~index data 
		i=cpy_src_len&0x7F; 
	else 
	{ 
		i=strlen(s); 
		if(i>MAX_POS) i=MAX_POS; 
	} 
#ifdef VFD_DOT_TEST 
	return; 
#endif	 
	//linebuf[20]=0; 
	for(j=MAX_POS;j>0;j--)	 
	{ 
		if(i>0) 
		{ 
			i--; 
			if( (s[i]>='a')&&(s[i]<='z') ) 
				c=vfd_char[s[i]-0x20-'A']; 
			else if( (s[i]>='A')&&(s[i]<='Z') ) 
				c=vfd_char[s[i]-'A']; 
			else if( (s[i]>='0')&&(s[i]<='9') ) 
				c=vfd_digit[s[i]-'0']; 
			else 
			{ 
//				if(s[i]==0x20) 
					c=0; 
				} 
			linebuf[3*j-2+OFFSET]=c&0xff; 
			linebuf[3*j-1+OFFSET]=(c&0xff00)>>8; 
			linebuf[3*j+OFFSET]=(c&0x10000)>>16; 
		}else 
		{ 
			linebuf[3*j-1+OFFSET]=0x00; 
			linebuf[3*j-2+OFFSET]=0x00; 
			linebuf[3*j+OFFSET]=0x00; 
        } 
	}/*for loop*/ 
	 
	for(i=0,j=1;i<MAX_POS;i++,j+=3) 
	{		 
		var_data=vfd_7seg_p[i];				 
		temp.BYTEData[0]=linebuf[j+OFFSET]; 
		temp.BYTEData[1]=linebuf[(j+1)+OFFSET]; 
		temp.BYTEData[2]=linebuf[(j+2)+OFFSET]; 
		temp.BYTEData[3]=0;		 
		c = temp.dwData;		 
		for(k=0;k<MAX_SEG;k++) 
   		{      	 
      			id=vfd_Dig_Dot[var_data*MAX_SEG+k]; 
      			if (c & 0x01) vfd_set_dot(id);      		  	 
   			else vfd_reset_dot(id);     			 
      			c >>= 1;  // next bit 
   		}    
	}  
	 
/*	 for(i=0,j=start_p + 1;i<MAX_POS;i++,j+=3) 
	{ 
		 
		vfd_mem[vfd_7seg_p[i][0]] = (( vfd_mem[vfd_7seg_p[i][0]] & 0x07 ) | linebuf[j+OFFSET] ); 
		 
		vfd_mem[vfd_7seg_p[i][1]] = (( vfd_mem[vfd_7seg_p[i][1]] & 0x00 ) | linebuf[(j+1)+OFFSET] ); 
 
		vfd_mem[vfd_7seg_p[i][2]] = (( vfd_mem[vfd_7seg_p[i][2]] & 0xfe ) | linebuf[(j+2)+OFFSET] ); 
	}  
	*/ 
} 
 
 
void  vfd_set_welcome(int index) 
{ 
	vfd_set_str(0,0,0x80|index,"WELCOME TO SUNPLUS "); 
} 
 
void vfd_set_char(BYTE start_byte,char s)  //xyy 2003-11-5 18:55 
{ 
	UINT32 c=0; 
	if( (s>='a')&&(s<='z') ) 
		c=vfd_char[s-0x20-'A']; 
	else if( (s>='A')&&(s<='Z') ) 
		c=vfd_char[s-'A']; 
	else if( (s>='0')&&(s<='9') ) 
		c=vfd_digit[s-'0']; 
	else 
	{ 
		if(s==0x20) 
			c=0; 
	} 
	 
	vfd_mem[start_byte] = (( vfd_mem[start_byte] & 0x07 ) | (c&0xff) ); 
	vfd_mem[start_byte+1] = (( vfd_mem[start_byte+1] & 0x00 ) | ((c&0xff00)>>8) ); 
	 
	vfd_mem[start_byte+2] = (( vfd_mem[start_byte+2] & 0xfe ) | ((c&0x10000)>>16) ); 
         
 
} 
///////////////////////////////////////// 
///////volume VFD display/////////////// 
/////////////////////////////////////// 
 
#ifdef SUPPORT_VOLUME_5CH1_CONTROL 
UINT16 vfd_set_5ch1_vol(BYTE channel, BYTE level) 
{ 
   erase_vfd_mem(); 
   if(channel == DAC_FL_OUT) 
   psprintf(linebuf,"FL  %02d ",level); 
   else if(channel == DAC_FR_OUT) 
   psprintf(linebuf,"FR  %02d ",level); 
   else if(channel == DAC_SL_OUT) 
   psprintf(linebuf,"SL  %02d ",level); 
   else if(channel == DAC_SR_OUT) 
   psprintf(linebuf,"SR  %02d ",level); 
   else if(channel == DAC_CE_OUT) 
   psprintf(linebuf,"CE  %02d ",level); 
   else if(channel == DAC_SW_OUT) 
   psprintf(linebuf,"SW  %02d ",level); 
   vfd_set_str(0, 0,0, linebuf);    
}	 
#endif 
 
#ifdef VFD_show_VOL 
void  vfd_set_vol(BYTE level) 
{ 
   erase_vfd_mem(); 
   psprintf(linebuf,"VOL %02d ",40-level); 
   vfd_set_str(0, 0,0, linebuf); 
} 
#endif 
 
 
 
#ifdef AMPVOL_VFD_DISP//xyy 2003-12-3 13:40 
extern BYTE amp_lev[9]; 
UINT16 vfd_set_mainvol(UINT16 index) 
{ 
	erase_vfd_mem(); 
	psprintf(linebuf,"MV %02d ",amp_lev[0]);	 
	vfd_set_str(0,0,0,linebuf); 
	vfd_set_dot( VFD_DOT_SUBW ); 
	vfd_set_dot( VFD_DOT_FRONT ); 
	vfd_set_dot( VFD_DOT_SURR ); 
	vfd_set_dot( VFD_DOT_CENTER ); 
	return index;	 
} 
 
UINT16 vfd_set_lfront(UINT16 index) 
{ 
	erase_vfd_mem(); 
	psprintf(linebuf,"FL %02d ",amp_lev[1]);	 
	vfd_set_str(0,0,0,linebuf); 
	vfd_set_dot( VFD_DOT_FRONT ); 
	return index;	 
} 
 
UINT16 vfd_set_rfront(UINT16 index) 
{ 
	erase_vfd_mem(); 
	psprintf(linebuf,"FR %02d ",amp_lev[2]);	 
	vfd_set_str(0,0,0,linebuf); 
	vfd_set_dot( VFD_DOT_FRONT ); 
	return index;	 
} 
 
UINT16 vfd_set_lrear(UINT16 index) 
{ 
	erase_vfd_mem(); 
	psprintf(linebuf,"SL %02d ",amp_lev[3]);	 
	vfd_set_str(0,0,0,linebuf); 
	vfd_set_dot( VFD_DOT_SURR ); 
	return index;	 
} 
 
UINT16 vfd_set_rrear(UINT16 index) 
{ 
	erase_vfd_mem(); 
	psprintf(linebuf,"SR %02d ",amp_lev[4]);	 
	vfd_set_str(0,0,0,linebuf); 
	vfd_set_dot( VFD_DOT_SURR ); 
	return index;	 
} 
 
UINT16 vfd_set_center(UINT16 index) 
{ 
	erase_vfd_mem(); 
	psprintf(linebuf,"CE %02d ",amp_lev[5]);	 
	vfd_set_str(0,0,0,linebuf); 
	vfd_set_dot( VFD_DOT_CENTER ); 
	return index;	 
} 
 
UINT16 vfd_set_woofer(UINT16 index) 
{ 
	erase_vfd_mem(); 
	psprintf(linebuf,"SW %02d ",amp_lev[6]);	 
	vfd_set_str(0,0,0,linebuf); 
	vfd_set_dot( VFD_DOT_SUBW ); 
	return index;	 
} 
#endif 
///////////////////////////////////////////////////////////// 
///////////////////////////////////////////////////////////// 
 
 
UINT16 vfd_set_disc_run(UINT16 index) 
{ 
 
	 
	vfd_set_dot(vfd_disc[index]); 
	 
	if(adv_search_time>=0) 
    { 
		//      vfd_set_dot(vfd_disc[index]); 
		if(index>(DISC_SIZE-1)) 
			index=0; 
        else 
			index++; 
		//      vfd_reset_dot(vfd_disc[index]);     //modify by shawn 0412 
    }else 
    { 
		//        vfd_set_dot(vfd_disc[index]); 
		if(index==0) 
		{ 
			index=(DISC_SIZE-1); 
		}else 
			index--; 
		//      vfd_reset_dot(vfd_disc[index]); 
		 
    } 
    vfd_reset_dot(vfd_disc[index]); 
	 
    return index; 
} 
 
 
 
void vfd_set_cd_type(void) 
{ 
	 
	switch(cd_type_loaded) 
	{ 
	case CDDVD: 
		vfd_set_dot(VFD_DOT_DVD); 
		 
		break; 
		 
	case CDROM: 
    if( (Is_MP3_STATE())&&(Mp3ReadFinish) &&(GetCurrentFileType() != CDROM_WMA))//nono 2-5-10 13:50 
		   vfd_set_dot(VFD_DOT_MP3); 
		   	 
		else 
			vfd_reset_dot(VFD_DOT_MP3); 
		 
		break; 
		//vfd_reset_dot(VFD_DOT_DVD); 
		//break; 
		 
	case CDDA: 
		vfd_set_dot(VFD_DOT_CD); 
		vfd_reset_dot(VFD_DOT_DVD); 
		break; 
		 
	case CDSVCD: 
 
		vfd_set_dot(VFD_DOT_S); 
		 
		vfd_set_dot(VFD_DOT_V); 
		vfd_set_dot(VFD_DOT_CD); 
		break; 
	case CDUNKNOWN: 
		vfd_reset_dot(VFD_DOT_DVD); 
		 
		break; 
		 
	default: 
		vfd_set_dot(VFD_DOT_V); 
		vfd_set_dot(VFD_DOT_CD); 
		break; 
	} 
} 
 
 
UINT16	vfd_set_normal_state(UINT16 index) 
{ 
#ifdef SUPPORT_RECEIVER 
   if(current_rcvr_mode != RECEIVER_MODE_DVD) 
	return index; 
#endif 
#ifdef SUPPORT_VOLUME_5CH1_CONTROL	 
   if(osd_volume_time) return; 
#endif 
 
#ifdef VFD_show_VOL 
   if(!VFD_vol_TIME) 
#endif 
//if(!Is_MP3_STATE()) 
  //  vfd_set_dot(VFD_DOT_PLAY); 
 //  index=vfd_set_disc_run(index); 
 
	//if(play_state == VCD_STATE_FASTBACKWARD) 
		//{ 
		// vfd_reset_dot(VFD_DOT_PLAY); 
		// vfd_set_dot(VFD_DOT_BACK); 
	//	} 
	//	else vfd_reset_dot(VFD_DOT_BACK); 
	 
    return index; 
} 
void vfd_set_audio(void) 
{ 
    //int i; 
	 
    vfd_reset_dot(VFD_DOT_DTS); 
    vfd_reset_dot(VFD_DOT_DOBLY); 
	if( coding_mode_now&(AUDIF_CODING_MODE_DTS|AUDIF_CODING_MODE_DTSCD) || ( cd_subtype==CD_DTS ) ) 
	{ 
		vfd_set_dot(VFD_DOT_DTS); 
		 
	} 
	else if(coding_mode_now==AUDIF_CODING_MODE_AC3) 
	{ 
		vfd_set_dot(VFD_DOT_DOBLY); 
		 
	}	 
	/* 
    if((setup_IsSpkDownmixOff())&&((cd_type_loaded==CDDVD)||(cd_subtype==CD_DTS))) 
    { 
		vfd_set_dot(VFD_DOT_AC3_FL); 
        vfd_set_dot(VFD_DOT_AC3_FR); 
		//        vfd_set_dot(VFD_DOT_3D); 
         
        if(setup_IsSpkSubwooferOn()) 
			vfd_set_dot(VFD_DOT_AC3_SW); 
		else 
			vfd_reset_dot(VFD_DOT_AC3_SW); 
		 
		vfd_set_dot(VFD_DOT_AC3_CC); 
		vfd_set_dot(VFD_DOT_AC3_SR); 
		vfd_set_dot(VFD_DOT_AC3_SL); 
    #ifdef SUPPORT_NESGAME 
    }else if((Is_JPEG_STATE()==0)&&(Is_GAME_STATE()==0)) 
    #else 
    }else if(Is_JPEG_STATE()==0) 
    #endif 
    { 
		vfd_set_dot(VFD_DOT_AC3_FL); 
        	vfd_set_dot(VFD_DOT_AC3_FR);	 
		vfd_reset_dot(VFD_DOT_AC3_SW); 
		vfd_reset_dot(VFD_DOT_AC3_CC); 
		vfd_reset_dot(VFD_DOT_AC3_SR); 
		vfd_reset_dot(VFD_DOT_AC3_SL); 
		//  	vfd_reset_dot(VFD_DOT_3D); 
		 
    }   
    */ 
	 
} 
 
extern BYTE VFD_PRG_TIME; 
extern BYTE VFD_SHOW_RDS; 
#ifdef SHOW_PROLOGIC_II_ON_VFD 
UINT8 prologic_counter; 
extern UINT8 show_prologic_flag; 
#endif 
 
void vfd_set_showtime(void) 
{ 
 
	BYTE track_num,track_tt=0; 
#ifdef SHOW_PROLOGIC_II_ON_VFD 
         if(show_prologic_flag) 
         { 
         if((++prologic_counter)>200) 
         { 
                   show_prologic_flag=0; 
                            prologic_counter=0; 
                   } 
             printf(" 1             prologic_counter%d                \n",prologic_counter); 
                
                if(show_prologic_flag==1) 
                { 
                         vfd_set_str(0, 0, 0, " MOVIE  ");                                        
                } 
                else if(show_prologic_flag==2) 
                { 
                         vfd_set_str(0, 0, 0, " MUSIC  ");                                        
                } 
                else if(show_prologic_flag==3) 
                { 
                         vfd_set_str(0, 0, 0, "  OFF   ");                                        
                } 
                return; 
         } 
         #endif 
#ifdef SUPPORT_VOLUME_5CH1_CONTROL	 
	if(osd_volume_time) return; 
#endif 
	 
#ifdef AMPVOL_VFD_DISP  //xyy 2004-3-11  
	if(full_scrn&APOGEEAMPVOL) 
		return; 
#endif 
   if(user_mute) 
  { 
   	vfd_set_str(0, 0, 0, "MUTE  "); 
   	vfd_reset_dot(VFD_DOT_COLON1); 
	vfd_reset_dot(VFD_DOT_COLON2); 
   	return; 
	} 
	if(cd_type_loaded==CDDVD) 
	{ 
		if(play_state==VCD_STATE_STOP) 
		{           
			track_tt=get_tt_info(DISP_TT_Ns);//DISP_CH); 
			 
			psprintf(linebuf,"%02d%02d%02d%02d",track_tt,show_time_hh,show_time_mm,show_time_ss);          
			 
		} 
		else 
		{ 
			//track_tt=get_tt_info(DISP_TT); 
			track_num=get_tt_info(DISP_CH);//nono 1-12-12 21:15 
                    if(rep_mode==REPEAT_TRACK) 
			psprintf(linebuf,"R%02d%01d%02d%02d",track_num,show_time_hh,show_time_mm,show_time_ss);			 
                    else if(rep_mode ==REPEAT_DISC) 
		        psprintf(linebuf,"A%02d%01d%02d%02d",track_num,show_time_hh,show_time_mm,show_time_ss);							 
                     else if(rep_mode ==REPEAT_DIRECTORY) 
		        psprintf(linebuf,"D%02d%01d%02d%02d",track_num,show_time_hh,show_time_mm,show_time_ss);											 
                    else 
		        psprintf(linebuf,"%02d%01d%02d%02d",track_num,show_time_hh,show_time_mm,show_time_ss);											 
		} 
		 
		//psprintf(linebuf,"%02d%02d%01d%02d%02d",track_tt,track_num,show_time_hh,show_time_mm,show_time_ss); 
		 
	} 
	else 
	{  
        if(cd_type_loaded==CDROM)  
		{ 
			if(play_state==VCD_STATE_STOP) 
			{ 
				track_num=mp3_file_count();//0;//nono 2-4-21 19:35 
			}else 
				track_num=disp_trk_now; 
		}else 
			 
			track_num=disp_trk_now; 
         if(rep_mode==REPEAT_TRACK) 
		psprintf(linebuf,"R%02d%01d%02d%02d",track_num,show_time_hh,show_time_mm,show_time_ss); 
	 else if(rep_mode ==REPEAT_DISC)	 
              psprintf(linebuf,"A%02d%01d%02d%02d",track_num,show_time_hh,show_time_mm,show_time_ss); 
	  else if(rep_mode ==REPEAT_DIRECTORY)	 
            psprintf(linebuf,"D%02d%01d%02d%02d",track_num,show_time_hh,show_time_mm,show_time_ss); 
          else 
          psprintf(linebuf,"%02d%01d%02d%02d",track_num,show_time_hh,show_time_mm,show_time_ss); 
	} 
	 
	//vfd_set_str(0,0,0,linebuf); 
	vfd_set_str(0,0,0,linebuf); 
	vfd_set_dot(VFD_DOT_COLON1); 
	vfd_set_dot(VFD_DOT_COLON2); 
 
/*     if(setup_IsMICOff()) //GAO  
  	{ 
  	  vfd_reset_dot(VFD_DOT_MIC); 
  	} 
   else 
   	{ 
   	 vfd_set_dot(VFD_DOT_MIC); 
   	} 
 
 if(!IsLocked()) 
   	{ 
   	  vfd_reset_dot(VFD_DOT_LOCK); 
   	} 
    else 
	{ 
	  vfd_set_dot(VFD_DOT_LOCK); 
	}	 
*/	 
 
		vfd_set_cd_type(); 
	//if((play_state==VCD_STATE_FASTBACKWARD)||(play_state==VCD_STATE_FASTFORWARD)) 
//  	 vfd_set_showtime();    //xyy mark 2003-11-4 17:08 
   if(play_state == VCD_STATE_NORMAL)  // Gao add the condition  8/12,2004 
	    vfd_set_audio(); 
 
	//index=vfd_set_disc_run(index); 
	 
	//index = vfd_set_normal_state(index);     //xyy 2003-11-4 13:37 
} 
 
 
 
 
 
#ifdef AMPVOL_VFD_DISP//xyy 2003-12-3 13:38 
void vfd_set_ampvol(void)         ////xyy 2003-11-4 17:18 
{ 
//	if(full_scrn == APOGEEAMPVOL) 
	{ 
		if(y_index==MV) 
		    index = vfd_set_mainvol(index); 
		else if(y_index==FL) 
		    index = vfd_set_lfront(index); 
		else if(y_index==FR) 
		    index = vfd_set_rfront(index);     
		else if(y_index==SL) 
		    index = vfd_set_lrear(index);    
		else if(y_index==SR) 
		    index = vfd_set_rrear(index);  
		else if(y_index==CE) 
		    index = vfd_set_center(index); 
		else if(y_index==SW) 
		    index = vfd_set_woofer(index); 
	} 
} 
#endif 
 
 
extern BYTE is_stereo(void); 
extern BYTE rds_func_flag; 
BYTE  VFD_show_TUNER=1 ; 
int load_blink=0; 
 
extern UINT8 vfd_show_rds_flag; 
extern UINT8 vfd_show_rds_flagllf;  // llf add 
void vfd_set_playback(void) 
{ 
#if  1 //def SUPPORT_RECEIVER 
 if(current_rcvr_mode == RECEIVER_MODE_TUNER) 
  { 
 
#ifdef DAYU_SHOW_RDS 
  if(!VFD_RDS_SHOW) 
  	{ 
  	 vfd_reset_dot(VFD_DOT_RDS); 
  	} 
  	else 
  	{ 
  	vfd_reset_dot(VFD_DOT_MHZ);     
    	vfd_reset_dot(VFD_DOT_SPOT4);	 
  	} 
  #endif 
   
 if(vfd_show_rds_flag) 
	vfd_set_dot(VFD_DOT_RDS); 
	else 
	vfd_reset_dot(VFD_DOT_RDS); 
  
} 
#endif 
 
		 
 
#ifdef VFD_show_VOL     
    if(VFD_vol_TIME) 
		{ 
		  vfd_set_vol(dac_vol); 
		  VFD_vol_TIME--; 
		  return; 
		} 
#endif 
#ifdef SUPPORT_TUNER_MV114 
	if(current_rcvr_mode != RECEIVER_MODE_DVD)  //gao  
		{ 
		  return; 
		} 
#endif	 
	if(play_state==VCD_STATE_PAUSE) //modify by shawn 0416 
	{ 
		//erase_vfd_mem(); 
		vfd_set_dot(VFD_DOT_PAUSE); 
		vfd_reset_dot(VFD_DOT_PLAY); 
		//vfd_reset_dot(VFD_DOT_BACK); 
		//vfd_set_str(STR_OS_PAUSE,""); 
	}else 
	{ 
		vfd_reset_dot(VFD_DOT_PAUSE); 
	} 
	 
	 
	vfd_reset_dot(VFD_DOT_PBC); 
	if(IsPBCOn()) 
	{ 
		 
		vfd_set_dot(VFD_DOT_PBC); 
		 
	} 
	//==================================================================== 
	//freyman,2002-07-3, 
/*	if( play_state == VCD_STATE_FASTFORWARD ) 
	{ 
		vfd_reset_dot(VFD_DOT_PAUSE); 
		index = vfd_set_fastforward_state(index); 
	}else if( play_state == VCD_STATE_FASTBACKWARD ) 
	{ 
		vfd_reset_dot( VFD_DOT_PAUSE ); 
		index = vfd_set_fastbackward_state(index);		 
	}	 
*/	//==================================================================== 
/*	if(rep_mode==REPEAT_TRACK) 
	{ 
 
		//load_blink = (load_blink+1)%24; 
		//if(load_blink <10) 
	//	{ 
			 
         vfd_set_dot(4); 
      	vfd_set_dot	(5); 
		vfd_set_dot(18); 
		vfd_set_dot(12); 
		vfd_set_dot(14); 
		vfd_set_dot(19); 
		vfd_set_dot(1); 
		vfd_set_dot(2); 
   //  	} 
	//	else 
	//		{ 
		//vfd_reset_dot(4);		 
	//	vfd_reset_dot(5); 
	//	vfd_reset_dot(18); 
	//	vfd_reset_dot(12); 
	//	vfd_reset_dot(14); 
	//	vfd_reset_dot(19); 
	//	vfd_reset_dot(1); 
	//	vfd_reset_dot(2); 
	//} 
		//vfd_reset_dot(VFD_DOT_REPALL); 
		 
	}else if((rep_mode==REPEAT_DISC)) //||(rep_mode==REPEAT_DIRECTORY)) 
	{ 
       // load_blink = (load_blink+1)%24; 
         
        //	if(load_blink <10) 
        	//	{ 
         vfd_set_dot(5);      //b 
		vfd_set_dot(18);    //c 
		vfd_set_dot(11);   //d 
		vfd_set_dot(1);      //e 
		vfd_set_dot(4);       //f 
         vfd_set_dot(2);      // g 
        // vfd_set_dot(16);      // g 
         vfd_set_dot(19);      // g 
         vfd_set_dot(14);      // g 
     //     } 
        //  else 
         // 	{ 
         //vfd_reset_dot(5);      //b 
	//	vfd_reset_dot(18);    //c 
	//	vfd_reset_dot(11);   //d 
	//	vfd_reset_dot(1);      //e 
	//	vfd_reset_dot(4);       //f 
         //vfd_reset_dot(2);      // g 
       //  vfd_reset_dot(16);      // g 
         //vfd_reset_dot(19);      // g 
       //  vfd_reset_dot(14);      // g 
         // } 
      //  vfd_set_dot(VFD_DOT_REPEAT); 
	//	vfd_set_dot(VFD_DOT_REPALL); 
	}else if(rep_mode==REPEAT_DIRECTORY) 
	{ 
		// load_blink = (load_blink+1)%24; 
         
        	//if(load_blink <10) 
        	//	{ 
		 vfd_set_dot(5);      //b 
		vfd_set_dot(18);    //c 
		vfd_set_dot(11);   //d 
		vfd_set_dot(10);      //e 
		vfd_set_dot(13);       //f 
         
         vfd_set_dot(16);      // g 
         vfd_set_dot(19);      // g 
          
      } 
	  else 
	  	{ 
	     vfd_reset_dot(5);      //b 
		vfd_reset_dot(18);    //c 
		vfd_reset_dot(11);   //d 
		vfd_reset_dot(10);      //e 
		vfd_reset_dot(13);       //f 
         
         vfd_reset_dot(16);      // g 
         vfd_reset_dot(19);      // g 
         
          
        }  
	} 
	else{ 
		vfd_reset_dot(VFD_DOT_REPEAT); 
		vfd_reset_dot(VFD_DOT_REPALL); 
	} 
	 
 
	if(rep_ab_mode==REPEAT_FIND_A) 
	{ 
		vfd_set_dot(VFD_DOT_REPAB); 
	}else if(rep_ab_mode==REPEAT_FIND_B) 
	{ 
		vfd_set_dot(VFD_DOT_REPAB); 
	}else 
	{ 
		vfd_reset_dot(VFD_DOT_REPAB); 
		 
	} 
	 
*/ 
 
	 
#if 0 
	if(prog_state) 
	{ 
		if(play_state==VCD_STATE_STOP) 
			vfd_set_dot(VFD_DOT_PGM); 
	}else 
	{ 
		//vfd_set_pgm(0); 
		vfd_reset_dot(VFD_DOT_PGM); 
	} 
#endif 
	 
	 
#ifdef VFD_DOT_PAL 
	if(tv_format==MODE_PAL) 
	{ 
		vfd_set_dot(VFD_DOT_PAL); 
		vfd_reset_dot(VFD_DOT_NTSC); 
	} 
	else 
	{ 
		vfd_set_dot(VFD_DOT_NTSC); 
		vfd_reset_dot(VFD_DOT_PAL); 
	} 
#endif 
	 
	 
 
 
 
} 
 
                                          
//#include "radio_mv114.h"   //xyy 2003-11-6 10:54 
extern t_tuner tuner; 
 
 
void  vfd_show_nomal_freq(void) 
{ 
	 
		//erase_vfd_mem();						 
		if(tuner.bandswitch) 
		{ 
			 
			if(((tuner.ambak>>4)*3-450)>1000) 
				//psprintf(linebuf,"%02d  %d ",tuner.memory_band_id[tuner.bandswitch],(tuner.ambak>>4)*3-450); //ITEM number 
#ifdef TUNER_USA_Mode //liuqiang _A 
			psprintf(linebuf,"%d %4d",tuner.am_ch,(tuner.ambak>>4)*_AM_TIMES -450); //ITEM number 
#else 
			psprintf(linebuf,"%d %4d",tuner.am_ch,(tuner.ambak>>4)*3-450); //ITEM number 
#endif 
			else 
				//psprintf(linebuf,"%02d   %d ",tuner.memory_band_id[tuner.bandswitch],(tuner.ambak>>4)*3-450); //ITEM number 
#ifdef TUNER_USA_Mode //liuqiang _A 
			psprintf(linebuf,"%d %4d",tuner.am_ch,(tuner.ambak>>4)*_AM_TIMES -450); //ITEM number 
#else 
			psprintf(linebuf,"%d %4d",tuner.am_ch,(tuner.ambak>>4)*3-450); //ITEM number 
#endif 
				 
			vfd_set_dot(VFD_DOT_KHZ);//am 
			vfd_reset_dot(VFD_DOT_MHZ); 
			#ifdef DAYU_SHOW_RDS 
			vfd_reset_dot(VFD_DOT_RDS); 
			#endif 
			  vfd_reset_dot(VFD_DOT_MEM); 
			vfd_reset_dot(VFD_DOT_COLON8); 
			vfd_reset_dot(VFD_DOT_FM); 
			vfd_set_dot(VFD_DOT_AM); 
		} 
		else 
		{ 
			if((tuner.fmbak*5-1070)>=10000) 
				//psprintf(linebuf,"%02d  %d ",tuner.memory_band_id[tuner.bandswitch],tuner.fmbak*5/10-107); //ITEM number 
				psprintf(linebuf,"%d %d%02d",tuner.fm_ch,(tuner.fmbak*5-1070)/100,(tuner.fmbak*5-1070)%100); //ITEM number 
			else 
				//psprintf(linebuf,"%02d   %d ",tuner.memory_band_id[tuner.bandswitch],tuner.fmbak*5/10-107); //ITEM number 
				psprintf(linebuf,"%d  %d%02d",tuner.fm_ch,(tuner.fmbak*5-1070)/100,(tuner.fmbak*5-1070)%100); //ITEM number 
			vfd_set_dot(VFD_DOT_MHZ);//fm   
			vfd_set_dot(VFD_DOT_COLON8); 
			vfd_reset_dot(VFD_DOT_KHZ); 
                        vfd_reset_dot(VFD_DOT_MEM); 
			vfd_reset_dot(VFD_DOT_AM); 
			vfd_set_dot(VFD_DOT_FM); 
		} 
		/* 
		if(tuner.Istuning[tuner.bandswitch]) 
		{ 
			linebuf[0]=0x20; 
			linebuf[1]=0x20; 
		} 
		*/ 
		vfd_set_str(0,0,0,linebuf);  
		//printf(linebuf);		 
	 
} 
 
 
void vfd_show_search_freq(void) 
{ 
	if(tuner.bandswitch) 
	{			 
		if(((tuner.ambak>>4)*3-450)>1000) 
			//psprintf(linebuf,"%02d  %d ",tuner.memory_band_id[tuner.bandswitch],(tuner.ambak>>4)*3-450); //ITEM number 
#ifdef TUNER_USA_Mode //liuqiang _A 
			psprintf(linebuf,"AM  %4d",/*tuner.am_ch+1,*/(tuner.ambak>>4)*_AM_TIMES -450); //ITEM number 
#else 
			psprintf(linebuf,"AM  %4d",/*tuner.am_ch+1,*/(tuner.ambak>>4)*3-450); //ITEM number 
#endif 
		else 
			//psprintf(linebuf,"%02d   %d ",tuner.memory_band_id[tuner.bandswitch],(tuner.ambak>>4)*3-450); //ITEM number 
#ifdef TUNER_USA_Mode //liuqiang _A 
			psprintf(linebuf,"AM  %4d",/*tuner.am_ch+1,*/(tuner.ambak>>4)*_AM_TIMES -450); //ITEM number 
#else 
			psprintf(linebuf,"AM  %4d",/*tuner.am_ch+1,*/(tuner.ambak>>4)*3-450); //ITEM number 
#endif 
		 
		vfd_set_dot(VFD_DOT_KHZ);//am 
		vfd_reset_dot(VFD_DOT_MHZ); 
		vfd_reset_dot(VFD_DOT_FM); 
		vfd_reset_dot(VFD_DOT_AM); 
		vfd_reset_dot(VFD_DOT_COLON8); 
		vfd_set_dot(VFD_DOT_MEM); 
	} 
	else 
	{ 
		if((tuner.fmbak*5-1070)>=10000) 
			//psprintf(linebuf,"%02d  %d ",tuner.memory_band_id[tuner.bandswitch],tuner.fmbak*5/10-107); //ITEM number 
			psprintf(linebuf,"FM %d%02d",/*tuner.fm_ch+1,*/(tuner.fmbak*5-1070)/100,(tuner.fmbak*5-1070)%100); //ITEM number 
		else 
			//psprintf(linebuf,"%02d   %d ",tuner.memory_band_id[tuner.bandswitch],tuner.fmbak*5/10-107); //ITEM number 
			psprintf(linebuf,"FM  %d%02d",/*tuner.fm_ch+1,*/(tuner.fmbak*5-1070)/100,(tuner.fmbak*5-1070)%100); //ITEM number 
		vfd_reset_dot(VFD_DOT_KHZ);//am 
		vfd_set_dot(VFD_DOT_MHZ); 
		vfd_reset_dot(VFD_DOT_FM); 
		vfd_reset_dot(VFD_DOT_AM); 
		vfd_set_dot(VFD_DOT_COLON8); 
		vfd_set_dot(VFD_DOT_MEM); 
	}	 
	vfd_set_str(0,0,0,linebuf);  
	//printf(linebuf); 
	if(last_memory == 1) 
		vfd_reset_dot(VFD_DOT_MEM); 
}	 
 
void vfd_set_station_store(void) 
{ 
	static UINT16 flag,counter;   
	UINT16 threshold = 50; 
	counter++;  
//	erase_vfd_mem();  
		     
	if(counter >= threshold) 
	{ 
		if(flag==0) 
		{                        
			if(station_input_index == 0) 
			{ 
				vfd_set_dot(0x33); 
				vfd_set_dot(0x4b); 
			} 
			else if(station_input_index == 1) 
			{ 
//				vfd_reset_dot(0x33); 
				vfd_set_dot(0x4b); 
			} 
			flag = 1; 
		} 
		else if(flag==1) 
		{ 
			if(station_input_index == 0) 
			{ 
				vfd_reset_dot(0x33); 
				vfd_reset_dot(0x4b); 
			}	 
			else if(station_input_index == 1) 
			{ 
//				vfd_set_dot(0x33); 
				vfd_reset_dot(0x4b); 
			}   
			flag = 0; 
		} 
		counter = 0; 
	}		 
	 
} 
UINT16 vfd_set_power_state(UINT16 index) 
//void  vfd_set_power_state(void) 
{  
 
	//erase_vfd_mem(); 
	 
 
#ifdef TUNER_WITHOUT_TV_SHOW 
   vfd_set_tuner_search(); 
#endif 
	 
#if defined(SUPPORT_TUNER_MV114)  
 
 
	// only for tuner mode vfd display 
    #if 0 //def STORE_CHANNEL_PROGRAM         
    if(tuner_prog_state)     
    { 
    	vfd_blink_time++; 
    	tuner_prog_timeout++; 
    	if(vfd_blink_time == 0xff) 
    	{ 
    		vfd_blink_time = 0; 
    		if(vfd_blink_flash)  
    		{ 
    			vfd_blink_flash=0; 
    		} 
    		else  
    		{ 
    			vfd_blink_flash=1; 
    		}	 
    	} 
    	if(tuner_prog_timeout == 0x1fff) 
    	tuner_prog_state = 0; 
    }		 
    #endif 
     
   // if(	tuner.ambak ==0 || tuner.fmbak == 0) 
    	//return index;  
 
	 if(/*(tuner.st_mono==1)&&*/!tuner.bandswitch && is_stereo()) 
	{ 
	 
	  vfd_set_dot(VFD_DOT_ST); 
	} 
        else 
  	{ 
  	 vfd_reset_dot(VFD_DOT_ST); 
  	} 
 
	//vfd_set_dot(VFD_DOT_TUNED); 
/*		vfd_set_dot(VFD_DOT_RDSDOT); 
	 
	vfd_reset_dot(VFD_DOT_KHZ); 
	vfd_reset_dot(VFD_DOT_MHZ); 
	 
	vfd_reset_dot(VFD_DOT_DASH1); 
 	vfd_reset_dot(VFD_DOT_DASH2);    
*/                                      //marked by xyy 2003-11-5 13:37			 
 
//   #include"radio_rds.h" 
#ifdef SUPPORT_RDS_FUNCTION//xyy 2003-12-4 9:29  
static int flag=0; 
if(rds_func_flag) 
{ 
#ifdef SHOW_PROLOGIC_II_ON_VFD 
         if(show_prologic_flag) 
         { 
         if((++prologic_counter)>200) 
         { 
                   show_prologic_flag=0; 
                            prologic_counter=0; 
                   } 
             printf(" 1             prologic_counter%d                \n",prologic_counter); 
                
                if(show_prologic_flag==1) 
                { 
                         vfd_set_str(0, 0, 0, " MOVIE  ");                                        
                } 
                else if(show_prologic_flag==2) 
                { 
                         vfd_set_str(0, 0, 0, " MUSIC  ");                                        
                } 
                else if(show_prologic_flag==3) 
                { 
                         vfd_set_str(0, 0, 0, "  OFF   ");                                        
                } 
                return; 
         } 
         #endif 
 if(vfd_show_rds_flag) 
	vfd_set_dot(VFD_DOT_RDS); 
	else 
	vfd_reset_dot(VFD_DOT_RDS); 
 
#ifdef DAYU_SHOW_RDS 
    vfd_set_dot(VFD_DOT_RDS);     
    #endif 
    if(timeout_vfd<=0) 
    { 
        rdsinfo_dispindex++; 
        switch(rds_func_flag) 
        { 
            case  PS_FUNC: 
                        //            printf("*******\n"); 
 
                #ifdef SHOW_PS_PTY_ON_VFD 
                if(show_ps_pty_flag) 
                { 
                      //  printf("-----\n"); 
 
        //    printf("vfd_set_power_state_2:    vfd_show_rds_flag:%d    ps_len:%d   \n",vfd_show_rds_flag,strlen(programTypeBuf));                 
                 
                        if(strlen(programServiceBuf)==0) 
                        { 
                        vfd_set_str(0, 0, 0, " WAIT PS");                                        
                        } 
                       else 
                       { 
                       if(rdsinfo_dispindex>=strlen(programServiceBuf)+9) 
                           rdsinfo_dispindex = 0; 
                       vfd_set_str(0,0,0x80|rdsinfo_dispindex,programServiceBuf);                 
                       } 
                } 
                else 
                { 
                        //        printf("^^^^\n"); 
 
//printf("vfd_set_power_state_0:    vfd_show_rds_flag:%d    ps_len:%d   rds_func_flag%d  time_out_vfd:%d \n",vfd_show_rds_flag,strlen(programServiceBuf),rds_func_flag,timeout_vfd);     
                
                       vfd_set_str(0, 0, 0, " NO PS  ");                 
                } 
           //     printf("!!!!!\n"); 
                #else 
                        if(rdsinfo_dispindex>=strlen(programServiceBuf)+9) 
                            rdsinfo_dispindex = 0; 
                        vfd_set_str(0,0,0x80|rdsinfo_dispindex,programServiceBuf); 
                #endif 
                break; 
            case PTY_FUNC: 
                                //                printf("55555\n"); 
 
                #ifdef SHOW_PS_PTY_ON_VFD 
            printf("vfd_set_power_state_4:    vfd_show_rds_flag:%d    ps_len:%d   \n",vfd_show_rds_flag,strlen(programTypeBuf));                 
                if(show_ps_pty_flag) 
                { 
                printf("vfd_set_power_state_5:    vfd_show_rds_flag:%d    ps_len:%d   \n",vfd_show_rds_flag,strlen(programTypeBuf));                 
             
                        if(strlen(programTypeBuf)==0) 
                        { 
                        vfd_set_str(0, 0, 0, "WAIT PTY");                                                                
                        } 
                        else 
                        { 
                        if(rdsinfo_dispindex>=(strlen(programTypeBuf)+1)) 
                           rdsinfo_dispindex = 0;                 
                       vfd_set_str(0,0,0x80|rdsinfo_dispindex,programTypeBuf);             
                        }  
                } 
                else 
                { 
            printf("vfd_set_power_state_6:    vfd_show_rds_flag:%d    ps_len:%d   \n",vfd_show_rds_flag,strlen(programTypeBuf));                 
                 
                       vfd_set_str(0, 0, 0, " NO PTY ");                                 
                } 
                #else 
                if(rdsinfo_dispindex>=strlen(programTypeBuf)) 
                    rdsinfo_dispindex = 0;                 
                vfd_set_str(0,0,0x80|rdsinfo_dispindex,programTypeBuf); 
                #endif 
                break; 
            case RT_FUNC: 
             
            	if(rdsinfo_dispindex>=strlen(radioTextBufA[1])) 
            	{ 
            	    if(flag) 
            	        flag = 0; 
            	    else 
            	        flag = 1; 
            		rdsinfo_dispindex = 0;  
            	} 
            	 
            	if(flag) 
                	vfd_set_str(0,0,0x80|rdsinfo_dispindex,radioTextBufA[0]); 
                else 
                	vfd_set_str(0,0,0x80|rdsinfo_dispindex,radioTextBufA[1]); 
                 
                break; 
            case CT_FUNC: 
                if(rdsinfo_dispindex>=strlen(clocktimeBuf)) 
                    rdsinfo_dispindex = 0; 
                vfd_set_str(0,0,0x80|rdsinfo_dispindex,clocktimeBuf); 
                break; 
            case PTYN_FUNC: 
                break; 
                default   :break; 
        } 
        timeout_vfd = 50;//500; 
    } 
    else 
    { 
            printf("vfd_set_power_state_7:    vfd_show_rds_flag:%d    ps_len:%d   \n",vfd_show_rds_flag,strlen(programTypeBuf));                 
     
    } 
} 
else 
#endif 
{ 
 
#ifdef SHOW_PROLOGIC_II_ON_VFD 
         if(show_prologic_flag) 
         { 
         if((++prologic_counter)>200) 
         { 
                   show_prologic_flag=0; 
                            prologic_counter=0; 
                   } 
               printf(" 2             prologic_counter%d                \n",prologic_counter); 
              
                if(show_prologic_flag==1) 
                { 
                         vfd_set_str(0, 0, 0, " MOVIE  ");                                        
                } 
                else if(show_prologic_flag==2) 
                { 
                         vfd_set_str(0, 0, 0, " MUSIC  ");                                        
                } 
                else if(show_prologic_flag==3) 
                { 
                         vfd_set_str(0, 0, 0, "  OFF   ");                                        
                } 
                return; 
         } 
         #endif 
 
  
if((timeout_vfd<=0)/*||(!VFD_RDS_SHOW)*/) 
{	 
 
	#ifdef SUPPORT_VOLUME_5CH1_CONTROL	 
	if(osd_volume_time) return;	 
	#endif	 
	//if(VFD_RDS_SHOW) return; 
		 
		if(user_mute) 
  { 
   	vfd_set_str(0, 0, 0, "MUTE  "); 
   	vfd_reset_dot(VFD_DOT_COLON8); 
   	vfd_reset_dot(VFD_DOT_FM); 
    vfd_reset_dot(VFD_DOT_AM); 
    vfd_reset_dot(VFD_DOT_KHZ); 
    vfd_reset_dot(VFD_DOT_MHZ); 
   	return index; 
	} 
 
  
	if(tuner_oper_mode == NORMAL_TUNE)  
	{  
             
		//erase_vfd_mem(); 
                   if(((IS_AUTO_SEARCH)&&(station_flag)) ||((last_memory ==1)&&((tuner.memory_status ==LAST_MEM_AM)||(tuner.memory_status ==LAST_MEM_FM)))) 
              	{ 
 
				 //	 if(is_station()) 
		 	//{ 
			  //	  vfd_show_nomal_freq(); 
         	//}  
				 vfd_show_search_freq();  	 
			 
				   
              	}	   
  
	  // else if((IS_AUTO_SEARCH)&&(!station_flag)) 
           //	{ 
	//    vfd_show_nomal_freq(); 
		 
        //   	} 
	   else 
             { 
	    vfd_show_nomal_freq(); 
		 
           	}	 
		/* 
		if(tuner.Istuning[tuner.bandswitch]) 
		{ 
			linebuf[0]=0x20; 
			linebuf[1]=0x20; 
		} 
		*/ 
		 
		 
	} 
	 
          
	else if(tuner_oper_mode == RECALL_OR_STORE) 
	{ 
		//vfd_set_station_store();		 
             vfd_show_nomal_freq(); 
		 
	}	 
       else 
           	{ 
	    vfd_show_nomal_freq(); 
		 
           	} 
	 
     	 
} 
} 
/*			 
	if(tuner.memory_status==MEM_MODE) 
	{ 
		static int reflash=0; 		   
		 
		reflash++; 
		if(reflash<10) 
		{ 
			linebuf[0]=0x20; 
			linebuf[1]=0x20;	// 
			//vfd_set_str(0,0,0,linebuf);			 
			vfd_set_str(0,0,0,linebuf); 
		}else if(tuner.Istuning[tuner.bandswitch]) 
		{ 
			vfd_set_dot(VFD_DOT_DASH1); 
			vfd_set_dot(VFD_DOT_DASH2);   	 
		} 
		 
		if(reflash>=20) 
			reflash=0; 
	} 
			 
	if(!user_mute) 
	{ 
		vfd_set_dot(VFD_DOT_AC3_FL); 
		vfd_set_dot(VFD_DOT_AC3_FR); 
		//if(setup_IsSpkSubwooferOn()) 
		vfd_set_dot(VFD_DOT_AC3_SW); 
		//else 
		//vfd_reset_dot(VFD_DOT_AC3_SW); 
	} 
	 
	if(IsMono()) 
		vfd_reset_dot(VFD_DOT_ST); 
	else 
		vfd_set_dot(VFD_DOT_ST); */               //xyy mark 2003-11-5 13:34 
		#ifdef DAYU_SHOW_RDS 
		if(rds_func_flag==0) 
		     vfd_reset_dot(VFD_DOT_RDS);   //Gao add  8/16,2004	 
		     #endif 
#endif 
			 
	return index; 
} 
 
UINT16  vfd_set_idle_state(UINT16 index) 
//void  vfd_set_idle_state(void) 
{ 
	erase_vfd_mem(); 
	//vfd_set_str(0,0,0,"CLOSE"); 
	//vfd_set_str(0,0,0,"CLOSE"); 
	//vfd_set_str(STR_OS_CLOSE,0,0,""); 
	return index; 
} 
 
 
UINT16	vfd_set_no_disc_state(UINT16 index) 
{ 
	//char light_str[]="NODISC"; 
    erase_vfd_mem(); 
    //vfd_set_str(0,0,0,"NODISC"); 
    vfd_set_str(STR_OS_NODISC,0,0,"");//vfd_set_str(0,"NODISC"); 
	return index; 
} 
                                                     
//extern UINT8 count_11; 
UINT16  vfd_set_close_state(UINT16 index) 
{ 
	 
	//char light_str[]="CLOSE"; 
	erase_vfd_mem();  
	if(is_test_unit()==TRUE||system_state==SYSTEM_READ_TITLE||system_state==SYSTEM_NODISC)  
	{ 
		vfd_set_str(0,0,0,"LOAD"); 
	}else  
	{ 
//		vfd_set_str(STR_OS_CLOSE,""); 
	    vfd_set_str(0,0,0,"CLOSE"); 
	}  
	return index; 
} 
 
UINT16  vfd_set_toc_state(UINT16 index) 
{ 
	 
	// char light_str[]="READ"; 
	erase_vfd_mem(); 
	//vfd_set_str(0,0,0,"LOAD");//nono 2-4-22 9:40 
	vfd_set_str(0,0,0,"LOAD"); 
	return index; 
} 
 
UINT16	vfd_set_open_state(UINT16 index) 
{ 
	// char light_str[]="OPEN"; 
    erase_vfd_mem(); 
    //vfd_set_str(0,0,0,"OPEN"); 
//    vfd_set_str(STR_OS_OPEN,"");//vfd_set_str(0,"OPEN"); 
	vfd_set_str(0,0,0,"OPEN "); 
    return index; 
} 
 
 
UINT16	vfd_set_pause_state(UINT16 index) 
{ 
	 
    vfd_reset_dot(VFD_DOT_PLAY); 
    return index; 
} 
 
 
UINT16	vfd_set_mp3_state(UINT16 index) 
{ 
	if(play_state == VCD_STATE_PAUSE) 
    vfd_reset_dot(VFD_DOT_PLAY); 
	 
	else 
		vfd_set_dot(VFD_DOT_PLAY); 
    return index; 
} 
 
 
UINT16	vfd_set_stop_state(UINT16 index) 
{ 
	 
    vfd_reset_dot(VFD_DOT_PLAY); 
    return index; 
} 
 
 
 
UINT16 vfd_set_fastforward_state(UINT16 index) 
{ 
	//vfd_reset_dot(VFD_DOT_BACK); 
	//vfd_set_dot(VFD_DOT_PLAY); 
	return index; 
} 
 
UINT16 vfd_set_fastbackward_state(UINT16 index) 
{ 
//gao mask	vfd_reset_dot(VFD_DOT_FORE); 
//	vfd_set_dot(VFD_DOT_BACK); 
	return index; 
} 
 
 
UINT16 vfd_set_av1(UINT16 index)//xyy 2003-11-4 15:25 
{ 
	erase_vfd_mem(); 
	vfd_set_str(0,0,0,"AUX1   "); 
	return index;	 
}                 
 
UINT16 vfd_set_av2(UINT16 index) //xyy 2003-11-4 15:28 
{ 
	erase_vfd_mem(); 
	vfd_set_str(0,0,0,"AUX2   "); 
	return index; 
} 
 
UINT16 vfd_set_spdifin(UINT16 index) //xyy 2003-11-4 15:30 
{ 
	erase_vfd_mem(); 
	vfd_set_str(0,0,0,"SPDIF IN"); 
	return index; 
} 
 
 
void vfd_set_av_mode() 
{ 
 
   #ifdef SUPPORT_VOLUME_5CH1_CONTROL 
   if(osd_volume_time) return; 
   #endif 
    
 #ifdef VFD_show_VOL       
   if(VFD_vol_TIME) 
   	{ 
    	VFD_vol_TIME--; 
  	    return; 
	}	 
#endif 
 
 /*  if (current_rcvr_mode == RECEIVER_MODE_AV1) 
   	{ 
   	 vfd_set_av1(0); 
    } 
   else if(current_rcvr_mode == RECEIVER_MODE_AV2) 
   	{ 
    	vfd_set_av2(0); 
	}	*/ 
} 
 
 
void vfd_set_mute(void) 
{ 
	vfd_set_str(0, 0, 0, "MUTE  "); 
	//vfd_reset_dot(VFD_DOT_TUNED); 
	vfd_reset_dot(VFD_DOT_KHZ); 
	vfd_reset_dot(VFD_DOT_MHZ); 
	#ifdef DAYU_SHOW_RDS 
	vfd_reset_dot(VFD_DOT_RDS); 
	#endif 
	//vfd_reset_dot(VFD_DOT_SPOT4); 
}	 
void vfd_set_tuner() 
{ 
erase_vfd_mem(); 
vfd_show_nomal_freq();  
} 
UINT16	vfd_set_power_state1(UINT16 index) 
{ 
	erase_vfd_mem();  // llf mark 2006-4-25 20:39 
	vfd_set_av1(index); 
	return index;	 
} 
 
void vfd_set_usb() 
{ 
      vfd_reset_dot(VFD_DOT_DVD); 
      vfd_reset_dot(VFD_DOT_MP3); 
      vfd_reset_dot(VFD_DOT_CD); 
      vfd_reset_dot(VFD_DOT_V); 
} 
void vfd_set_lock(BYTE SW) 
{ 
	SW=SW; 
/*if (SW) 
      vfd_set_dot(VFD_DOT_LOCK); 
else 	   
      vfd_reset_dot(VFD_DOT_LOCK);*/ 
}