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

📄 sub_display.s01

📁 MP3 整个 SDK
💻 S01
📖 第 1 页 / 共 2 页
字号:
	NAME	sub_display(17)
	RSEG	AP_SUB_DIS(0)
	RSEG	IDATA0(0)
	RSEG	CDATA0(0)
	RSEG	APC_SUB_DIS(0)
	EXTERN	ClearScreen
	PUBLIC	DisplayErrMsg
	PUBLIC	EQ_PIC
	EXTERN	GetBattery
	EXTERN	GetDCStatus
	PUBLIC	LOOP_PIC
	PUBLIC	PALYLIST_PIC
	EXTERN	PutS
	EXTERN	RePlayStatus
	PUBLIC	RefreshMainScreen
	EXTERN	ResShowMultiString
	EXTERN	ResShowPic
	PUBLIC	SRSModeFlag
	EXTERN	Scroll
	EXTERN	SetBackgdColor
	EXTERN	SetPenColor
	EXTERN	SetTextOutMode
	EXTERN	SetTextPos
	EXTERN	ShowNowTime
	EXTERN	Show_Bitrate
	PUBLIC	Show_MusicType
	EXTERN	UpDisplayFlag
	EXTERN	ap_get_message
	EXTERN	ap_sleep
	EXTERN	dir_name
	EXTERN	g_TagInfoBuf
	EXTERN	g_TagInfoBuf1
	EXTERN	g_comval
	EXTERN	g_currentMusicType
	EXTERN	g_lyricflag
	EXTERN	g_music_vars
	EXTERN	g_musicamount
	EXTERN	g_musicsequence
	EXTERN	itoa_2
	EXTERN	itoa_3
	EXTERN	main_ResShowPic
	EXTERN	need_draw
	PUBLIC	num_id
	PUBLIC	songnum_id
	EXTERN	temp_buffer
	EXTERN	ui_show_a
	EXTERN	ui_show_b
	EXTERN	ui_show_batt
	EXTERN	ui_show_c
	PUBLIC	ui_show_h
	PUBLIC	ui_show_vol
	EXTERN	wmapSendCommand
	EXTERN	?CLZ80B_4_04_L00
	EXTERN	?C_S_SWITCH_L06
	EXTERN	?BANK_CALL_DIRECT_L08
	EXTERN	?BANK_LEAVE_DIRECT_L08
	EXTERN	?BANK_FAST_LEAVE_L08
	EXTERN	?ENT_AUTO_DIRECT_L09
	RSEG	AP_SUB_DIS
RefreshMainScreen:
; 1.	/*
; 2.	*******************************************************************************
; 3.	*                ACTOS AP
; 4.	*        This program demostrates how to build an AP
; 5.	*
; 6.	*        (c) Copyright Actions Co,Ld.
; 7.	*
; 8.	*  $Id: sub_display.c,v 1.2 2006/06/26 01:14:24 tangwh Exp $
; 9.	*******************************************************************************
; 10.	*/
; 11.	#include "ap_music.h"
; 12.	byte SRSModeFlag=0;
; 13.	#pragma codeseg(AP_SUB_DIS)
; 14.	
; 15.	#pragma memory=constseg(APC_SUB_DIS)
; 16.	const WORD EQ_PIC[] =
; 17.	{
; 18.	   MEQICON1, MEQICON2, MEQICON3, MEQICON4, MEQICON5, MEQICON6, MEQICON7, MEQICON1
; 19.	
; 20.	
; 21.	};
; 22.	
; 23.	const WORD LOOP_PIC[7] =
; 24.	{
; 25.	  MLOOP1, MLOOP2, MLOOP3, MLOOP4, MLOOP5, MLOOP6, MLOOP7
; 26.	};
; 27.	
; 28.	const WORD PALYLIST_PIC[6] =
; 29.	{//Playlist 模式图标
; 30.	  PLAYLIST,ARTIST,ALBUM,GENRE,COMPOSE,DIRBG
; 31.	};
; 32.	
; 33.	const WORD num_id[10] = {TVNUM0,TVNUM1,TVNUM2,TVNUM3,TVNUM4,TVNUM5,TVNUM6,TVNUM7,TVNUM8,TVNUM9};    //系统时间&音量显示
; 34.	const WORD songnum_id[10]= {MNUM0,MNUM1,MNUM2,MNUM3,MNUM4,MNUM5,
; 35.	                            MNUM6,MNUM7,MNUM8,MNUM9};     //音乐曲目
; 36.	#pragma memory=default
; 37.	
; 38.	int main_ResShowPic( WORD id, uchar x, uchar y );
; 39.	void ui_show_vol(BYTE volume);
; 40.	void ui_show_h(const char *string);
; 41.	/*
; 42.	********************************************************************************
; 43.	*           void RefreshMainScreen( void )
; 44.	*
; 45.	* Description : 主显示的刷新函数,只有有需要时,才调用此函数
; 46.	*
; 47.	* Arguments   : void
; 48.	*
; 49.	* Returns     : void
; 50.	*
; 51.	* Notes       :
; 52.	*
; 53.	********************************************************************************
; 54.	*/  
; 55.	void RefreshMainScreen( void )
; 56.	{
	PUSH	BC
	PUSH	DE
; 57.	    wma_play_status_t status_buf;
; 58.	    output8(REG4E_RTC_WATCH_DOG, input8(REG4E_RTC_WATCH_DOG) | 0x08);
	IN	A,(78)
	SET	3,A
	OUT	(78),A
; 59.	    if (UpDisplayFlag & up_musicBackGDPic)
	LD	A,(UpDisplayFlag)
	BIT	0,A
	JR	Z,?0003
?0002:
; 60.	    {
; 61.	        ResShowPic(BACKDROP, POS_BG, POSY_BG);
	LD	C,0
	PUSH	BC
	LD	DE,16
	CALL	LWRD ?0129
	POP	AF
; 62.	        ui_show_vol(g_music_vars.volume);
	CALL	LWRD ?0130
?0003:
; 63.	    }
; 64.	
; 65.	    if (UpDisplayFlag & up_musictypeflag)
	LD	HL,(UpDisplayFlag)
	BIT	7,H
	JR	Z,?0005
?0004:
; 66.	    {
; 67.	        Show_MusicType();
	LD	A,BYTE3 Show_MusicType
	LD	HL,LWRD Show_MusicType
	CALL	LWRD ?BANK_CALL_DIRECT_L08
?0005:
; 68.	    }
; 69.	
; 70.	    if ((UpDisplayFlag & up_musicbitrate)&&(RePlayStatus == NormalPlay))
	LD	HL,(UpDisplayFlag)
	BIT	5,H
	JR	Z,?0007
	LD	A,(RePlayStatus)
	OR	A
	JR	NZ,?0007
?0009:
?0008:
?0006:
; 71.	    {
; 72.	           main_ResShowPic(BBCK2,0,0);//复读切回播放时显示比特率
	LD	C,A
	PUSH	BC
	LD	DE,29
	CALL	LWRD ?0126
	POP	AF
; 73.	           Show_Bitrate();
	LD	A,BYTE3 Show_Bitrate
	LD	HL,LWRD Show_Bitrate
	CALL	LWRD ?BANK_CALL_DIRECT_L08
?0007:
; 74.	    }
; 75.	
; 76.	    if (UpDisplayFlag & up_musicloopmode)
	LD	HL,(UpDisplayFlag)
	BIT	4,H
	JR	Z,?0011
?0010:
; 77.	    {
; 78.	            if (g_music_vars.fselmod == FSEL_TYPE_COMMONDIR)
	LD	A,(g_music_vars+79)
	OR	A
	JR	NZ,?0013
?0012:
; 79.	            {
; 80.	                g_music_vars.play_listmod = mlistnor;//改为普通目录模式
	LD	A,5
	LD	(g_music_vars+78),A
?0013:
; 81.	            }
; 82.	            ui_show_b(LOOP_PIC[g_music_vars.repeat_mode]);  //zxs change
	LD	HL,(g_music_vars+1)
	LD	H,0
	ADD	HL,HL
	LD	BC,LOOP_PIC
	ADD	HL,BC
	LD	E,(HL)
	INC	HL
	LD	D,(HL)
	LD	A,BYTE3 ui_show_b
	LD	HL,LWRD ui_show_b
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 83.	            main_ResShowPic(PALYLIST_PIC[g_music_vars.play_listmod],0,136);
	LD	C,136
	PUSH	BC
	LD	C,0
	LD	HL,(g_music_vars+78)
	LD	H,C
	ADD	HL,HL
	LD	DE,PALYLIST_PIC
	CALL	LWRD ?0127
	POP	AF
?0011:
; 84.	    }
; 85.	
; 86.	    if (UpDisplayFlag & up_musicsequence)
	LD	HL,(UpDisplayFlag)
	BIT	3,H
	JP	Z,?0016
?0014:
; 87.	    {
; 88.	        itoa_3(g_musicsequence, & temp_buffer[0]);
	LD	BC,temp_buffer
	LD	DE,(g_musicsequence)
	LD	A,BYTE3 itoa_3
	LD	HL,LWRD itoa_3
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 89.	        itoa_3(g_musicamount, & temp_buffer[3]);
	LD	BC,temp_buffer+3
	LD	DE,(g_musicamount)
	LD	A,BYTE3 itoa_3
	LD	HL,LWRD itoa_3
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 90.	        ui_show_h(& temp_buffer[0]);
	LD	DE,temp_buffer
	LD	A,BYTE3 ui_show_h
	LD	HL,LWRD ui_show_h
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 91.	        
; 92.	        switch (RePlayStatus)
	LD	DE,(RePlayStatus)
	CALL	LWRD ?C_S_SWITCH_L06
	DEFB	0
	DEFW	8
	DEFW	?0016
	DEFW	?0016
	DEFW	?0018
	DEFW	?0019
	DEFW	?0020
	DEFW	?0021
	DEFW	?0022
	DEFW	?0024
	DEFW	?0023
?0017:
; 93.	        {
; 94.	            case NormalPlay:
; 95.	                //itoa_3(g_musicsequence, & temp_buffer[0]);
; 96.	                //ui_show_h(& temp_buffer[0], 0);
; 97.	                // strcat(temp_buffer,";");
; 98.	                //itoa_3(g_musicamount, & temp_buffer[3]);
; 99.	                //ui_show_h(& temp_buffer[0]);
; 100.	                break;
?0018:
; 101.	
; 102.	            case WaitSetAPointForAB:
; 103.	                main_ResShowPic(BBCK1,0,0);//播放到复读切换时显示
	LD	C,0
	PUSH	BC
	LD	DE,28
	CALL	LWRD ?0126
	POP	AF
; 104.	                main_ResShowPic(MRPLNOA,0,0);
	LD	C,0
	PUSH	BC
	LD	DE,154
	JR	?0100
; 105.	                break;
?0019:
; 106.	
; 107.	            case WaitSetBPointForAB:
; 108.	                main_ResShowPic(BBCK1,0,0);
	LD	C,0
	PUSH	BC
	LD	DE,28
	CALL	LWRD ?0126
	POP	AF
; 109.	                main_ResShowPic(MRPLNOB,0,0);
	LD	C,0
	PUSH	BC
	LD	DE,155
	JR	?0103
; 110.	                //ui_show_a(MRPLNOB);
; 111.	                break;
?0020:
; 112.	
; 113.	            case ABLoopPlay:
; 114.	                main_ResShowPic(BBCK1,0,0);
	LD	C,0
	PUSH	BC
	LD	DE,28
	CALL	LWRD ?0126
	POP	AF
; 115.	                main_ResShowPic(MRPLAB,0,0);
	LD	C,0
	PUSH	BC
	LD	DE,149
	JR	?0103
; 116.	                break;
?0021:
; 117.	
; 118.	            case FollowRec:
; 119.	                main_ResShowPic(BBCK1,0,0);
	LD	C,0
	PUSH	BC
	LD	DE,28
	CALL	LWRD ?0126
	POP	AF
; 120.	                main_ResShowPic(MRPLMIC,0,0);
	LD	C,0
	PUSH	BC
	LD	DE,153
?0100:
	JR	?0103
; 121.	                break;
?0022:
; 122.	
; 123.	            case FollowAB:
; 124.	                main_ResShowPic(BBCK1,0,0);
	LD	C,0
	PUSH	BC
	LD	DE,28
	CALL	LWRD ?0126
	POP	AF
; 125.	                main_ResShowPic(MRPLFL,0,0);
	LD	C,0
	PUSH	BC
	LD	DE,150
	JR	?0103
; 126.	                break;
?0023:
; 127.	
; 128.	            case CompareAB:
; 129.	                main_ResShowPic(BBCK1,0,0);
	LD	C,0
	PUSH	BC
	LD	DE,28
	CALL	LWRD ?0126
	POP	AF
; 130.	                main_ResShowPic(MRPLFPK,0,0);
	LD	C,0
	PUSH	BC
	LD	DE,151
	JR	?0103
; 131.	                break;
?0024:
; 132.	
; 133.	            case ComparePlay:
; 134.	                main_ResShowPic(BBCK1,0,0);
	LD	C,0
	PUSH	BC
	LD	DE,28
	CALL	LWRD ?0126
	POP	AF
; 135.	                main_ResShowPic(MRPLFSPK,0,0);
	LD	C,0
	PUSH	BC
	LD	DE,152
?0103:
	CALL	LWRD ?0126
	POP	AF
; 136.	                break;
?0025:
; 137.	
; 138.	            default:
; 139.	                break;
?0016:
?0015:
; 140.	        } //switch(RePlayStatus)
; 141.	    }
; 142.	
; 143.	    if (UpDisplayFlag & up_musiceqmode)
	LD	HL,(UpDisplayFlag)
	BIT	2,H
	JR	Z,?0038
?0026:
; 144.	    {
; 145.	        if(g_music_vars.eq_type <8)
	LD	A,(g_music_vars+2)
	CP	8
	JR	NC,?0029
?0028:
; 146.	        {
; 147.	            ui_show_c(EQ_PIC[g_music_vars.eq_type]);
	LD	L,A
	LD	H,0
	ADD	HL,HL
	LD	BC,EQ_PIC
	ADD	HL,BC
	LD	E,(HL)
	INC	HL
	LD	D,(HL)
	JR	?0097
; 148.	        }
; 149.	        else
?0029:
; 150.	        {
; 151.	            if( g_currentMusicType==Music_MP3 ||g_currentMusicType==Music_WMA)  
	LD	A,(g_currentMusicType)
	DEC	A
	JR	Z,?0033
	LD	A,(g_currentMusicType)
	DEC	A
	DEC	A
	JR	NZ,?0032
?0033:
?0034:
?0031:
; 152.	            {
; 153.	              if(!SRSModeFlag) 
	LD	A,(SRSModeFlag)
	OR	A
	JR	NZ,?0036
?0035:
; 154.	                ui_show_c(MEQSRS);
	LD	DE,117
	JR	?0097
; 155.	              else
?0036:
; 156.	               ui_show_c(MEQUSER); 
	LD	DE,119
	JR	?0097
?0037:
; 157.	            }                
; 158.	            else
?0032:
; 159.	                ui_show_c(EQ_PIC[0]) ;
	LD	DE,(EQ_PIC)
?0097:
	LD	A,BYTE3 ui_show_c
	LD	HL,LWRD ui_show_c
	CALL	LWRD ?BANK_CALL_DIRECT_L08
?0038:
?0030:
?0027:
; 160.	              //  ui_show_c(EQWOW);
; 161.	        }
; 162.	    }
; 163.	
; 164.	    if (UpDisplayFlag & up_musiccurrenttime)
	LD	HL,(UpDisplayFlag)
	BIT	1,H
	JR	Z,?0042
?0039:
; 165.	    { //注:进入时要恢复上次播放到的时间
; 166.	        if ((RePlayStatus != FollowRec) && (RePlayStatus != ComparePlay))
	LD	A,(RePlayStatus)
	CP	4
	JR	Z,?0042
	CP	6
	JR	Z,?0042
?0044:
?0043:
?0041:
; 167.	        {
; 168.	           ShowNowTime(FALSE);
	LD	E,0
	LD	A,BYTE3 ShowNowTime
	LD	HL,LWRD ShowNowTime
	CALL	LWRD ?BANK_CALL_DIRECT_L08
?0042:
?0040:
; 169.	        }
; 170.	    }
; 171.	    CLEAR_WATCHDOG();
	IN	A,(78)
	SET	3,A
	OUT	(78),A
; 172.	    if (UpDisplayFlag & up_musictotaltime)
	LD	HL,(UpDisplayFlag)
	BIT	0,H
	JR	Z,?0046
?0045:
; 173.	    {
; 174.	        ui_show_vol(g_music_vars.volume);
	CALL	LWRD ?0130
?0046:
; 175.	    }
; 176.	
; 177.	    if (UpDisplayFlag & up_musicbattery)
	LD	A,(UpDisplayFlag)
	BIT	7,A
	JR	Z,?0048
?0047:
; 178.	    {
; 179.	        ui_show_batt( GetBattery(), g_comval.BatteryType,0);
	LD	C,0
	PUSH	BC
	LD	BC,(g_comval+15)
	CALL	LWRD GetBattery
	LD	E,A
	LD	D,0
	LD	A,BYTE3 ui_show_batt
	LD	HL,LWRD ui_show_batt
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	POP	HL
?0048:
; 180.	    }
; 181.	
; 182.	    if (UpDisplayFlag & up_musicinformation)
	LD	A,(UpDisplayFlag)
	BIT	6,A
	JP	Z,?0057
?0049:
; 183.	    {
; 184.	        main_ResShowPic(DIRBCK,25,139);

⌨️ 快捷键说明

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