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

📄 display_hl.h

📁 Sunplus 8202S source code.
💻 H
📖 第 1 页 / 共 5 页
字号:
	            io_write("4");	
	            strcpy(linebuf, "JPEG");
		        do_DispOSD0String(0, 0, linebuf, DISP_ORANGE, DISP_SHADOW);	
		    }  	
		}	
		else
		{
		     io_write("4");	
		     strcpy(linebuf, "MPEG");
		     do_DispOSD0String(0, 0, linebuf, DISP_ORANGE, DISP_SHADOW);	
		}	
    }
	else //if(cd_type_loaded==CDROM)  //CD-ROM Disk
	#endif 
		  
	#ifdef SHOW_DVD_ROM//20040210
	if( (is_svo_dvd())&&(cd_type_loaded==CDROM) ) 
	{
	    strcpy(linebuf, "DVDROM");
	    do_DispOSD0String(0, 0, linebuf, DISP_ORANGE, DISP_SHADOW);	
	}else
	#endif//SHOW_DVD_ROM
	#ifdef JUST_SHOW_CD_TYPE	
	if( cd_type_loaded != CDDA)	//Maoyong 2004.02.11
	#endif
    {
        #ifdef DVD_SERVO
        #if 1//20040219
		if ((cd_type_loaded == CDVCD10) && (is_svo_dvd()))
		    Print2OSDmem(osd_cd_id[CDDVD],0,COOK_CD);
		else
        #endif
        #endif // DVD_SERVO
		Print2OSDmem(osd_cd_id[cd_type_loaded],0,COOK_CD);
	}
}

void DispCookOSD0(BYTE bChange)
{
#ifndef SDRAM_16Mb_Mode	
	UINT32  *buf;
#endif
	int  id;//nono 2-7-12 20:36
	
#ifdef DISP_REGION_BOTTOM
    UINT8 uiRegion = OSD_GetTrueDispRegion();
#else
	UINT8 uiRegion = 0;
#endif
	
	if (t_disp==0) return;
	t_disp=t_disp%10;

	//Maoyong 2004.05.11 avoid bug, show mp4 info just for MP4 file in playing state 
	#ifdef DISPLAY_MP4_VER_PI	
    if( (cd_type_loaded == CDROM) && (t_disp == 2) ) 
    {
       if( (GetCurrentFileType() != CDROM_MP4) || (pFsJpeg->gifsState != FS_STATE_OTHER) )                   		       
       		t_disp = 1;           
    }
    #endif
    
#ifndef SDRAM_16Mb_Mode	
    #ifdef OSD_VARIABLE_TEMP_DISPLAY_BUF
        //different display bar has different background color.
        temp_region_top_buf = (UINT32 *)get_osdbuf_region_ptr(temp_region,0);
        temp_region_bottom_buf = (UINT32 *)get_osdbuf_region_ptr(temp_region,1);
    #else
		buf = (UINT32 *)osd_temp_buf;
	#endif
#endif
	
	if (bChange) {
		//clear all temp-buf, Jeff 20020618
		//printf("change\n");
#ifndef SDRAM_16Mb_Mode		
	#ifdef OSD_BMP_DISPLAY
	#ifdef DISP_REGION_BOTTOM
	if (OSD_ShowBottomDisp() == 1)
	{
    	#ifdef OSD_VARIABLE_TEMP_DISPLAY_BUF
    	//display bar,height:32 piexl
    	if (p_scan==1)
    	    memset(temp_region_top_buf,(DISP_SHADOW_CDROM<<12 |DISP_SHADOW_CDROM<<8 | DISP_SHADOW_CDROM << 4 | DISP_SHADOW_CDROM),32*360);
    	else    
    	{    
    	    memset(temp_region_top_buf,(DISP_SHADOW_CDROM<<12 |DISP_SHADOW_CDROM<<8 | DISP_SHADOW_CDROM << 4 | DISP_SHADOW_CDROM),28*180);
            memset(temp_region_bottom_buf,(DISP_SHADOW_CDROM<<12 |DISP_SHADOW_CDROM<<8 | DISP_SHADOW_CDROM << 4 | DISP_SHADOW_CDROM),28*180);
        }
        #else
		    memset(buf,(DISP_SHADOW_CDROM<<12 |DISP_SHADOW_CDROM<<8 | DISP_SHADOW_CDROM << 4 | DISP_SHADOW_CDROM),12*1024);
#endif
	}
	else
	#endif//DISP_REGION_BOTTOM
	{
		#ifdef OSD_VARIABLE_TEMP_DISPLAY_BUF
    	if ( p_scan==1)
		{
    	    //display bar,height:28 piexl
    	    memset(temp_region_top_buf,(DISP_SHADOW<<12 |DISP_SHADOW<<8 | DISP_SHADOW << 4 | DISP_SHADOW),28*360);
            //add a gray color bar,height:4 pixel
            memset(temp_region_top_buf + 7*360,0xffff,4*360);
		}		
		else
		{
            //display bar,height:28 piexl
            memset(temp_region_top_buf,(DISP_SHADOW<<12 |DISP_SHADOW<<8 | DISP_SHADOW << 4 | DISP_SHADOW),28*180);
            memset(temp_region_bottom_buf,(DISP_SHADOW<<12 |DISP_SHADOW<<8 | DISP_SHADOW << 4 | DISP_SHADOW),28*180);
            //add a gray color bar,height:4 pixel
            memset(temp_region_top_buf + 7*180,0xffff,4*180);
            memset(temp_region_bottom_buf + 7*180,0xffff,4*180);
        }
        #else
    		memset(buf,(DISP_SHADOW<<12 |DISP_SHADOW<<8 | DISP_SHADOW << 4 | DISP_SHADOW),12*1024);    
		buf = (UINT32 *)(osd_temp_buf + (region[uiRegion].osd_h-4)*region[uiRegion].osd_w);
		memset(buf,0xffff,2*1024);//f presents display gray color
    	#endif	
	}
	#else
		memset(buf,0,8*1024);		
	#endif
#else		
		{		
	        int i,j,line=12;
       
       		if (p_scan)
       			line=24;
       		
			pTopLine = (UINT32 *)(((BYTE *)get_osdbuf_baseptr()) + (region[uiRegion].osd_header[0]+OSD_DATA_OFFSET(region[uiRegion].osd_format))*32);
			pBtmLine = (UINT32 *)(((BYTE *)get_osdbuf_baseptr()) + (region[uiRegion].osd_header[1]+OSD_DATA_OFFSET(region[uiRegion].osd_format))*32);
			
	        for (i=0; i<line; i++) 
	        {           
	            for (j=0; j<38; j++) 
	            {
	                pTopLine[38*i+j] = 0x0; //f is the color index(palette_16color_setup) of transparent color
	                if (p_scan==0)
	                	pBtmLine[38*i+j] = 0x0; //0 is the transparent color
	            }
	        }		
		}
#endif//SDRAM_16Mb_Mode
		if (cd_type_loaded==CDDA) 
		{//Jeff 20020619
			if (rep_ab_mode==REPEAT_AB_IDLE) 
			{ 
				//when cd_type_loaded=CDDA, system will check which cddaType(CDDA/DTSCD/HDCD),
				//to reduce " " ,  "HD/DTS" string(on OSD) change
				//we add this checking
				cddaType = 0;				
			}
			else 
			{
#ifndef NO_CHANGE_HDCD_COLOR_WHEN_REPEAT_AB//zhaoyanhua add 2003-12-12 15:12				
				if (cddaType==1) 
				{ //HDCD
					//strcpy(linebuf, "HDCD");
					io_write("4");

#ifdef NO_SHOW_HDCD_ICON//nono 2003-10-24 13:58
                        strcpy(linebuf, "    "); //Jeff 20020413
#else//NO_SHOW_HDCD_ICON                        
                        strcpy(linebuf, "HDCD"); //Jeff 20020413
#endif//NO_SHOW_HDCD_ICON

//                    strcpy(linebuf, "HDCD");
                    DispCDSubtypeInfo();    //Maoyong 2004.05.24
				}
#endif//NO_CHANGE_HDCD_COLOR_WHEN_REPEAT_AB
			}
		}
        
#ifdef OSD_BMP_DISPLAY
	if(t_disp)
	    DispCDTypeInfo();
#endif//OSD_BMP_DISPLAY
		if(t_disp==1) { //Jeff 20020607
		    
#ifndef OSD_BMP_DISPLAY
#ifndef NEW_DISPLAY_GOTO_OSD
		    DispCDTypeInfo();   //Maoyong 2004.05.24 build function for code more clear
#endif//#ifndef NEW_DISPLAY_GOTO_OSD
#endif//OSD_BMP_DISPLAY
		  
			if(cd_type_loaded!=CDDVD) { 
				int spk_pos,tt;
				
				#ifdef MP3_2GOTO_TYPE
				if(cd_type_loaded==CDROM)
				{
					if(pFsJpeg->ControlArea == CNT_AREA_FILE) 	
						Print2OSDmem(STR_OS_TRACK,0,COOK_TRK); 
					else if(pFsJpeg->ControlArea == CNT_AREA_DIR)
						Print2OSDmem(STR_OS_DIR,0,COOK_TRK);
				}
				else 	
				#endif 

				//Print2OSDmem(STR_OS_TRACK,0,COOK_TRK);          
#ifdef VCD_GAME_NO_SHOW_TRACK 		//gerry,2003-12-1 10:13	
			if (cd_type_loaded!=CDVCD20)
			{
				Print2OSDmem(STR_OS_TRACK,0,COOK_TRK);
			}
			else
			{
				if((bDiscType != NES_DISC) && (bDiscType != NES_DISC_CHKSUM))
				Print2OSDmem(STR_OS_TRACK,0,COOK_TRK);          
			}	
#else
#ifndef NEW_DISPLAY_GOTO_OSD
				Print2OSDmem(STR_OS_TRACK,0,COOK_TRK);  
#endif//#ifndef NEW_DISPLAY_GOTO_OSD

#endif	//#ifdef VCD_GAME_NO_SHOW_TRACK 			         
				if(cd_type_loaded==CDROM) 
				{
				    extern UINT16 mp3_file_count(void);
				    
				    #ifdef MP3_2GOTO_TYPE
				    if(pFsJpeg->ControlArea == CNT_AREA_FILE) 	
					    tt=mp3_file_count();//nono 2-4-22 14:05 for fuss
					else if(pFsJpeg->ControlArea == CNT_AREA_DIR)
					{
					    disp_trk_now = pFsJpeg->fsnav_dir_now+1;
					    tt = pFsJpeg->count_dir[ FS_FUNC_MP3-FS_FUNC_MP3 ]; // yltseng 2004/04/12, fix from absolutely access to relative access
				    }
				    #else 
					tt=mp3_file_count();//nono 2-4-22 14:05 for fuss           
					#endif       
					
					if(play_state==VCD_STATE_STOP)//Maoyong 2004.03.16                                        
						disp_trk_now=tt;//nono 2-4-22 14:05 for fuss           
					
					spk_pos=COOK_SPK_MP3;
				} else 
				{
					tt=cd_total_trk();                                        
					#ifdef MIX_CDMP3_DISC_DISPLAY_REAL_CD_TRK //linrc add 2004-10-29 11:16
					/*when play the cd+mp3 disc(ABEX TEST CD 786),it display the real CD TRK*/
	                if((cd_type_loaded == CDDA)&&((pFsJpeg->cdrom.track_info[1]&0x40000000) == 0x40000000))
	                {
	                    tt += 1;
	                }         
	                #endif                               
					spk_pos=COOK_SPK;
					#ifdef EASTWIN_PORTABLE_DVD
					if(play_state==VCD_STATE_STOP)//tulijuan040824for for stop and goto command display 1 ofcdda and vcd 
						disp_trk_now=1;
					#endif	
					
				}
				
				//Print2OSDmem(disp_trk_now,tt,COOK_TRK_VAL);                
#ifdef VCD_GAME_NO_SHOW_TRACK 		//gerry,2003-12-1 10:14			
			if (cd_type_loaded!=CDVCD20)
			{
				Print2OSDmem(disp_trk_now,tt,COOK_TRK_VAL);                
			}
			else
			{
				if((bDiscType != NES_DISC) && (bDiscType != NES_DISC_CHKSUM))
					Print2OSDmem(disp_trk_now,tt,COOK_TRK_VAL);
			}	         
#else

#ifdef	NOCHANGE_DISPLAY_WHEN_PRESTOP
				if((play_state==VCD_STATE_STOP)//get the current count of mp3 file
					&&(resumeMSF!=0))//wuxiaofeng 2004-03-04
				{
					if(cd_type_loaded==CDROM)
						disp_trk_now = FSGUI_GetDispTrack();
					//if((cd_type_loaded==CDDA)||(cd_type_loaded==CDVCD20))
					//	disp_trk_now = cd_trk_now;              
					else if(cd_type_loaded!=CDDVD)              //hq, 2004-3-7 16:20					
					{
						/*	marked by hq
						printf("<%d,%d,%d,%d,%d,%d>",v11_trk_now,cd_trk_now,cd_trk_lo,cd_trk_hi,cd_trk_lo_now,disp_trk_now);
						if(cd_trk_now >= show_trk_num(cd_trk_hi))             //hq, for CD, STOP Key-->PREVIEW Key, when finished, OSD don't display one more than cd_trk_hi. 2004-3-7 16:26
							disp_trk_now = cd_trk_hi;
						else
							disp_trk_now = cd_trk_now; 
						*/
						disp_trk_now = show_trk_num(cd_trk_now);
						//printf("<%d,%d,%d,%d,%d,%d>",v11_trk_now,cd_trk_now,cd_trk_lo,cd_trk_hi,cd_trk_lo_now,disp_trk_now);
					}
				}
#endif          
                #ifdef STOP_TRK_DISP_ZERO   //Maoyong 2004.06.30
                if(play_state == VCD_STATE_STOP)
                    disp_trk_now = 0;
                #endif
                #ifdef MIX_CDMP3_DISC_DISPLAY_REAL_CD_TRK   //linrc add 2004-10-29 11:19
                /*when play the cd+mp3 disc(ABEX TEST CD 786),it display the real CD TRK*/
                if((cd_type_loaded == CDDA)&&((pFsJpeg->cdrom.track_info[1]&0x40000000) == 0x40000000)
                        &&(play_state==VCD_STATE_STOP))
	                {
	                    disp_trk_now += 1;
	                } 
	            #endif

                #ifdef  NEW_DISPLAY_GOTO_OSD
                    Print2OSDmem(disp_trk_now,tt, POS_TRACK);                
                #else
				    Print2OSDmem(disp_trk_now,tt,COOK_TRK_VAL);                
                #endif//#ifndef NEW_DISPLAY_GOTO_OSD
#endif//#ifdef VCD_GAME_NO_SHOW_TRACK

                #ifndef NEW_DISPLAY_GOTO_OSD
				#ifdef	NOT_SHOW_SOME_INFO_IN_JPEG
					if(!(Is_JPEG_STATE()))
				#endif
				{

#ifdef SDRAM_16Mb_Mode//2004-7-3 15:10
            if(user_mute)
                Print2OSDmem(STR_OS_SPACE,0,spk_pos);
            else
#endif//SDRAM_16Mb_Mode

				Print2OSDmem(STR_OS_ICON_SPK,0,spk_pos);

#ifdef VALID_PROGROM_REPEAT
                if( (prog_cnt)&&(rep_mode == REPEAT_IDLE) )
				
				#ifdef STOP_IN_PROG_END//zhuyanfeng 20041025//to avoid display err when use program repeat off function 
				Print2OSDmem(STR_OS_ICON_REP0,0,COOK_REP);
                #else
				Print2OSDmem(STR_OS_ICON_REPD,0,COOK_REP);
                #endif
                else
#endif
				             
				#ifdef ICON_REPEAT_FOLDER    //zhuyf  2004-8-10 
				if( rep_mode==REPEAT_DIRECTORY)
                	Print2OSDmem(STR_OS_ICON_REPF,0,COOK_REP);
                else 
                #endif
				Print2OSDmem(STR_OS_ICON_REP0,0,COOK_REP);

				}
				if( (cd_type_loaded!=CDDA)&&(cd_type_loaded!=CDROM) ) {
					Print2OSDmem(STR_OS_PBC,0,COOK_PBC);                    
				}           
                #endif//#ifndef NEW_DISPLAY_GOTO_OSD
			} else {            
		   
		 #ifdef STOP_TRK_DISP_ZERO   //Maoyong 2004.06.30
                                if(play_state == VCD_STATE_STOP)
                                disp_trk_now = 0;
                 #endif      
				#ifdef	NOCHANGE_DISPLAY_WHEN_PRESTOP       //wuxiaofeng, 2004-3-9 21:54
					if(play_state==VCD_STATE_STOP)
					{
					    if(resumeMSF)                     //Pre-stop in DVD, hq, 2004-3-9 21:58
					    {
						Print2OSDmem(STR_OS_TT,0,COOK_TRK); 	
						Print2OSDmem(pDSV->rsm_info[0].dRSM_TTN,get_tt_info(DISP_TT_Ns),COOK_TRK_VAL);				
						Print2OSDmem(STR_OS_CHP,0,COOK_CHP);		
						Print2OSDmem(pDSV->rsm_info[0].dRSM_PTTN,get_tt_info(DISP_CH_Ns),COOK_CHP_VAL);
					        
					    }else					           //Stop in DVD, hq, 2004-3-9 21:59
				    	{
				    		Print2OSDmem(STR_OS_TT,0,COOK_TRK); 	
				       		Print2OSDmem(get_tt_info(DISP_TT_Ns),get_tt_info(DISP_TT_Ns),COOK_TRK_VAL);				
						    Print2OSDmem(STR_OS_CHP,0,COOK_CHP);		
						    Print2OSDmem(get_tt_info(DISP_CH_Ns),get_tt_info(DISP_CH_Ns),COOK_CHP_VAL);
					    }
					}
					else
				#endif
                {
#ifdef  NEW_DISPLAY_GOTO_OSD
                    Print2OSDmem(get_tt_info(DISP_TT),get_tt_info(DISP_TT_Ns), POS_DVD_TITLE);                
                    Print2OSDmem(get_tt_info(DISP_CH),get_tt_info(DISP_CH_Ns), POS_DVD_CHAP);
#else//#ifdef  NEW_DISPLAY_GOTO_OSD
				Print2OSDmem(STR_OS_TT,0,COOK_TRK);     
				Print2OSDmem(get_tt_info(DISP_TT),get_tt_info(DISP_TT_Ns),COOK_TRK_VAL);                
				Print2OSDmem(STR_OS_CHP,0,COOK_CHP);
				Print2OSDmem(get_tt_info(DISP_CH),get_tt_info(DISP_CH_Ns),COOK_CHP_VAL);
#endif//#ifdef  NEW_DISPLAY_GOTO_OSD
				}
				//Jeff 20020621
				if (full_scrn&MARK)
					mark_UpdateOSD();
			}
			
			//cook TIME icon
#ifdef REMAIN_TIME//nono 2-7-13 11:28 for fuss
			//if(t_disp==1)
			{
				//printf("disp:polling_clock=%d\n",polling_clock);
				if(polling_clock<6)
				{ 
					if( (remain==DISC_REMAIN_TIME)||(remain==DISC_TIME) ) 
					{
#ifdef REMIAN_TIME_SHOW_FONT
					if(IsOSDChinese())
					{
						if(cd_type_loaded==CDDVD)
							id = STR_OS_TITLE;
						else
							id = STR_OS_ALL;
				    }else//if(IsOSDChinese())
						id = STR_OS_ICON_T;
#else//#endif//REMIAN_TIME_SHOW_FONT
						id = STR_OS_ICON_T;
#endif//REMIAN_TIME_SHOW_FONT
					}else //if( (remain==TRK_REMAIN_TIME)||(remain==NO_REMAIN_TIME) )
					{
#ifdef REMIAN_TIME_SHOW_FONT
					if

⌨️ 快捷键说明

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