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

📄 sub_display.s01

📁 炬力方案176*132软件源码,适用于AK1025
💻 S01
📖 第 1 页 / 共 3 页
字号:
	NAME	sub_display(17)
	RSEG	AP_SUB_DIS(0)
	RSEG	CSTR(0)
	RSEG	IDATA0(0)
	RSEG	CDATA0(0)
	RSEG	APC_SUB_DIS(0)
	EXTERN	ClearScreen
	PUBLIC	DisplayErrMsg
	EXTERN	FS_GetFileLen
	EXTERN	GetBattery
	EXTERN	GetDCStatus
	PUBLIC	LOOP_PIC
	EXTERN	MusicEditEndTime
	EXTERN	MusicEditSelStatus
	EXTERN	MusicEditStartTime
	EXTERN	MusicEditStatus
	EXTERN	MusicEdit_SelSeg
	PUBLIC	PALYLIST_PIC
	EXTERN	PlayStatus
	EXTERN	PutS
	EXTERN	RePlayStatus
	PUBLIC	RefreshMainScreen
	EXTERN	ResShowMultiString
	EXTERN	ResShowPic
	PUBLIC	SRSModeFlag
	EXTERN	SaveSelSegment
	EXTERN	ScrollInit
	EXTERN	SetAsciiFont
	EXTERN	SetBackgdColor
	EXTERN	SetDealCommamd
	EXTERN	SetPenColor
	EXTERN	SetTextPos
	EXTERN	ShowNowTime
	PUBLIC	UI_DeleteSeg
	PUBLIC	UI_SelectSeg
	PUBLIC	UI_ShowDelSegComfirm
	EXTERN	UpDisplayFlag
	EXTERN	ap_get_message
	EXTERN	ap_sleep
	EXTERN	c_mp3deSongTimeLength
	EXTERN	g_TagInfoBuf
	EXTERN	g_comval
	EXTERN	g_lyricflag
	EXTERN	g_music_vars
	EXTERN	g_musicamount
	EXTERN	g_musicsequence
	EXTERN	g_rSetPlayStatus
	EXTERN	g_result
	EXTERN	g_volcounter
	EXTERN	itoa_3
	EXTERN	m_Mp3deFileHandle
	EXTERN	main_ResShowPic
	EXTERN	need_draw
	PUBLIC	segdeletecomfirm_string
	PUBLIC	segdelsel_string
	PUBLIC	segselect_string
	EXTERN	temp_buffer
	EXTERN	ui_popup_list
	EXTERN	ui_show_b
	EXTERN	ui_show_batt
	PUBLIC	ui_show_h
	PUBLIC	ui_show_vol
	EXTERN	?CLZ80B_4_04_L00
	EXTERN	?C_S_SWITCH_L06
	EXTERN	?S_S_SWITCH_L06
	EXTERN	?BANK_CALL_DIRECT_L08
	EXTERN	?BANK_LEAVE_DIRECT_L08
	EXTERN	?BANK_FAST_LEAVE_L08
	EXTERN	?ENT_PARM_DIRECT_L09
	EXTERN	?ENT_AUTO_DIRECT_L09
	EXTERN	?STRCAT_L11
	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.	/*
; 17.	const WORD EQ_PIC[] =
; 18.	{
; 19.	   MEQICON1, MEQICON2, MEQICON3, MEQICON4, MEQICON5, MEQICON6, MEQICON7, MEQICON1
; 20.	};
; 21.	*/
; 22.	const WORD LOOP_PIC[7] =
; 23.	{
; 24.	  MLOOP1, MLOOP2, MLOOP3, MLOOP4, MLOOP5, MLOOP6, MLOOP7
; 25.	};
; 26.	
; 27.	const WORD PALYLIST_PIC[6] =
; 28.	{//Playlist 模式图标
; 29.	  PLAYLIST,ARTIST,ALBUM,GENRE,COMPOSE,DIRBG
; 30.	};
; 31.	
; 32.	//const WORD num_id[10] = {TVNUM0,TVNUM1,TVNUM2,TVNUM3,TVNUM4,TVNUM5,TVNUM6,TVNUM7,TVNUM8,TVNUM9};    //系统时间&音量显示
; 33.	//const WORD songnum_id[10]= {MNUM0,MNUM1,MNUM2,MNUM3,MNUM4,MNUM5,
; 34.	//                            MNUM6,MNUM7,MNUM8,MNUM9};     //音乐曲目
; 35.	
; 36.	//******************musicedit func add by mzh 2007.1.19***************
; 37.	const WORD segselect_string[4] =
; 38.	{
; 39.	    SEGSEL1,SEGSEL2, SEGSEL3,SEGSEL5
; 40.	};                             
; 41.	const WORD segdelsel_string[4] =
; 42.	{
; 43.	    SEGSEL1,SEGSEL2, SEGSEL3,SEGSEL5
; 44.	};
; 45.	const WORD segdeletecomfirm_string[2] =
; 46.	{
; 47.	    DELEYES,DELENO
; 48.	};
; 49.	                         
; 50.	#pragma memory=default
; 51.	extern EMU_MusicEditSelStatus MusicEditSelStatus;    //musicedit add by mzh 2007.1.19
; 52.	extern EMU_MusicEditStatus MusicEditStatus;    //musicedit add by mzh 2007.1.19
; 53.	extern STRU_SelMusicSegment MusicEdit_SelSeg;
; 54.	extern time_t MusicEditStartTime;
; 55.	extern time_t MusicEditEndTime;
; 56.	extern HANDLE m_Mp3deFileHandle;
; 57.	extern BYTE c_mp3deSongTimeLength[];
; 58.	extern EMU_MusicEditSelStatus MusicEditSelStatus;            //music edit add by mzh 2007.1.21
; 59.	int main_ResShowPic( WORD id, uchar x, uchar y );
; 60.	void ui_show_vol(BYTE volume);
; 61.	void ui_show_h(const char *string);
; 62.	
; 63.	extern char g_volcounter;
; 64.	extern bool     g_rSetPlayStatus;
; 65.	/*
; 66.	********************************************************************************
; 67.	*           void RefreshMainScreen( void )
; 68.	*
; 69.	* Description : 主显示的刷新函数,只有有需要时,才调用此函数
; 70.	*
; 71.	* Arguments   : void
; 72.	*
; 73.	* Returns     : void
; 74.	*
; 75.	* Notes       :
; 76.	*
; 77.	********************************************************************************
; 78.	*/  
; 79.	void RefreshMainScreen( void )
; 80.	{
	PUSH	BC
	PUSH	DE
; 81.	    wma_play_status_t status_buf;
; 82.	    output8(REG4E_RTC_WATCH_DOG, input8(REG4E_RTC_WATCH_DOG) | 0x08);
	IN	A,(78)
	SET	3,A
	OUT	(78),A
; 83.	    
; 84.	    if(PlayStatus != PlaySta)
	LD	A,(PlayStatus)
	DEC	A
	DEC	A
	JR	Z,?0005
?0002:
; 85.	    {
; 86.	        if(g_volcounter > 0)
	LD	A,(g_volcounter)
	OR	A
	JR	Z,?0005
?0004:
; 87.	        {
; 88.	                g_volcounter = 0;
	XOR	A
	LD	(g_volcounter),A
; 89.	                g_rSetPlayStatus = TRUE;
	LD	A,1
	LD	(g_rSetPlayStatus),A
?0005:
?0003:
; 90.	        }
; 91.	    }
; 92.	    
; 93.	    if (UpDisplayFlag & up_musicBackGDPic)
	LD	A,(UpDisplayFlag)
	BIT	0,A
	JR	Z,?0007
?0006:
; 94.	    {
; 95.	        ResShowPic(BACKDROP, POS_BG, POSY_BG);
	LD	C,0
	PUSH	BC
	LD	DE,10
	CALL	LWRD ?0176
	POP	AF
; 96.	        
; 97.	        //show nowplaying
; 98.	        ///-SetTextOutMode(1);
; 99.	        SetBackgdColor(0x0000df1c);
	LD	BC,0
	LD	DE,57116
	CALL	LWRD SetBackgdColor
; 100.	        ResShowMultiString(NOWPLAY, g_comval.langid, 255, 1);
	LD	C,1
	PUSH	BC
	LD	C,255
	PUSH	BC
	LD	BC,(g_comval+12)
	LD	DE,404
	LD	A,BYTE3 ResShowMultiString
	LD	HL,LWRD ResShowMultiString
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	POP	AF
	POP	AF
; 101.	        SetBackgdColor(Color_MENU_def);
	CALL	LWRD ?0178
; 102.	        ///-SetTextOutMode(0);
; 103.	        
; 104.	        ui_show_vol(g_music_vars.volume);
	CALL	LWRD ?0181
?0007:
; 105.	    }
; 106.	    /*  //Jerry Xie Removed for test
; 107.	    if (g_comval.EarProtect_flag)
; 108.	    {
; 109.	        ResShowPic(EARLOGO, 0, 162);
; 110.	    }
; 111.	    */
; 112.	/*
; 113.	    if (UpDisplayFlag & up_musictypeflag)
; 114.	    {
; 115.	        Show_MusicType();
; 116.	    }
; 117.	*/ //Jerry Xie Removed for test
; 118.	    if ((UpDisplayFlag & up_musicbitrate)&&(RePlayStatus == NormalPlay))
	LD	HL,(UpDisplayFlag)
	BIT	5,H
	JR	Z,?0009
	LD	A,(RePlayStatus)
	OR	A
	JR	NZ,?0009
?0011:
?0010:
?0008:
; 119.	    {
; 120.	           main_ResShowPic(BBCK1,79,20);//复读切回播放时显示比特率
	LD	C,20
	PUSH	BC
	CALL	LWRD ?0174
	POP	AF
?0009:
; 121.	           ///-Show_Bitrate();
; 122.	    }
; 123.	
; 124.	
; 125.	                if(PlayStatus == PauseSta)
	LD	A,(PlayStatus)
	DEC	A
	JR	Z,?0016
?0012:
; 126.	                        main_ResShowPic(PAUSEICN,5,3);
?0013:
; 127.	                else if(PlayStatus == PlaySta)
	LD	A,(PlayStatus)
	DEC	A
	DEC	A
	JR	NZ,?0016
?0015:
; 128.	                        main_ResShowPic(PLAYICN,5,3);
	LD	C,3
	PUSH	BC
	LD	C,5
	LD	DE,223
	JR	?0127
; 129.	                else
?0016:
; 130.	                        main_ResShowPic(PAUSEICN/*STOPICN*/,5,3);
	LD	C,3
	PUSH	BC
	LD	C,5
	LD	DE,222
?0127:
	CALL	LWRD ?0175
	POP	AF
?0017:
?0014:
; 131.	
; 132.	    if (UpDisplayFlag & up_musicloopmode)
	LD	HL,(UpDisplayFlag)
	BIT	4,H
	JR	Z,?0019
?0018:
; 133.	    {
; 134.	            if (g_music_vars.fselmod == FSEL_TYPE_COMMONDIR)
	LD	A,(g_music_vars+81)
	OR	A
	JR	NZ,?0021
?0020:
; 135.	            {
; 136.	                g_music_vars.play_listmod = mlistnor;//改为普通目录模式
	LD	A,5
	LD	(g_music_vars+80),A
?0021:
; 137.	            }
; 138.	            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
?0019:
; 139.	            ///main_ResShowPic(PALYLIST_PIC[g_music_vars.play_listmod],0,136);  //Jerry Xie Removed for test
; 140.	    }
; 141.	
; 142.	    //********************************************************************
; 143.	    if(MusicEditSelStatus!=MusicEditSelSta_NoSel)                    // display select or ab loop add by mzh 2007.1.21
	LD	A,(MusicEditSelStatus)
	OR	A
	JR	Z,?0023
?0022:
; 144.	    {
; 145.	        main_ResShowPic(BBCK1,79,20);
	LD	C,20
	PUSH	BC
	CALL	LWRD ?0174
	POP	AF
; 146.	        if(MusicEditSelStatus==MusicEditSelSta_WaitStart)
	LD	A,(MusicEditSelStatus)
	DEC	A
	JR	NZ,?0025
?0024:
; 147.	            main_ResShowPic(MRPLSELA,79,20);
	LD	C,20
	PUSH	BC
	LD	C,79
	LD	DE,217
	JR	?0129
?0025:
; 148.	        else if(MusicEditSelStatus==MusicEditSelSta_WaitEnd)
	LD	A,(MusicEditSelStatus)
	DEC	A
	DEC	A
	LD	C,20
	PUSH	BC
	LD	C,79
	JR	NZ,?0028
?0027:
; 149.	            main_ResShowPic(MRPLSELB,79,20);
	LD	DE,218
	JR	?0129
; 150.	        else
?0028:
; 151.	               main_ResShowPic(MRPLSEL,79,20);
	LD	DE,216
?0129:
	JP	LWRD ?0144
?0029:
?0026:
; 152.	    }
; 153.	    else
?0023:
; 154.	    {
; 155.	    if (UpDisplayFlag & up_musicsequence)
	LD	HL,(UpDisplayFlag)
	BIT	3,H
	JP	Z,?0034
?0031:
; 156.	    {
; 157.	        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
; 158.	        strcat(temp_buffer,"/");
	LD	DE,?0033
	LD	HL,temp_buffer
	CALL	LWRD ?STRCAT_L11
; 159.	        itoa_3(g_musicamount, & temp_buffer[4]);
	LD	BC,temp_buffer+4
	LD	DE,(g_musicamount)
	LD	A,BYTE3 itoa_3
	LD	HL,LWRD itoa_3
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 160.	        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
; 161.	        
; 162.	        switch (RePlayStatus)
	LD	DE,(RePlayStatus)
	CALL	LWRD ?C_S_SWITCH_L06
	DEFB	0
	DEFW	8
	DEFW	?0034
	DEFW	?0034
	DEFW	?0036
	DEFW	?0037
	DEFW	?0038
	DEFW	?0039
	DEFW	?0040
	DEFW	?0042
	DEFW	?0041
?0035:
; 163.	        {
; 164.	            case NormalPlay:
; 165.	                break;
?0036:
; 166.	
; 167.	            case WaitSetAPointForAB:
; 168.	                main_ResShowPic(BBCK1,79,20);//播放到复读切换时显示
	LD	C,20
	PUSH	BC
	CALL	LWRD ?0174
	POP	AF
; 169.	                main_ResShowPic(MRPLNOA,79,20);
	LD	C,20
	PUSH	BC
	LD	C,79
	LD	DE,214
	JR	?0141
; 170.	                break;
?0037:
; 171.	
; 172.	            case WaitSetBPointForAB:
; 173.	                main_ResShowPic(BBCK1,79,20);
	LD	C,20
	PUSH	BC
	CALL	LWRD ?0174
	POP	AF
; 174.	                main_ResShowPic(MRPLNOB,79,20);
	LD	C,20
	PUSH	BC
	LD	C,79
	LD	DE,215
	JR	?0141
; 175.	                //ui_show_a(MRPLNOB);
; 176.	                break;
?0038:
; 177.	
; 178.	            case ABLoopPlay:
; 179.	                main_ResShowPic(BBCK1,79,20);
	LD	C,20
	PUSH	BC
	CALL	LWRD ?0174
	POP	AF
; 180.	                main_ResShowPic(MRPLAB,79,20);
	LD	C,20
	PUSH	BC
	LD	C,79
	LD	DE,209
	JR	?0144
; 181.	                break;
?0039:
; 182.	
; 183.	            case FollowRec:
; 184.	                main_ResShowPic(BBCK1,79,20);
	LD	C,20
	PUSH	BC
	CALL	LWRD ?0174
	POP	AF
; 185.	                main_ResShowPic(MRPLMIC,79,20);
	LD	C,20
	PUSH	BC
	LD	C,79
	LD	DE,213
?0141:
	JR	?0144
; 186.	                break;
?0040:
; 187.	
; 188.	            case FollowAB:
; 189.	                main_ResShowPic(BBCK1,79,20);
	LD	C,20
	PUSH	BC
	CALL	LWRD ?0174

⌨️ 快捷键说明

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