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

📄 ui_compare.s01

📁 MP3 整个 SDK
💻 S01
📖 第 1 页 / 共 2 页
字号:
	NAME	ui_compare(17)
	RSEG	CODE(0)
	RSEG	CSTR(0)
	EXTERN	BankSwitch
	EXTERN	ChangeVolume
	EXTERN	DealPlayKey
	EXTERN	GetBattery
	EXTERN	OpenMusic
	EXTERN	RePlayStatus
	EXTERN	RefreshMainScreen
	EXTERN	Replaytimes_CNT
	EXTERN	ReturnNotInit
	EXTERN	ShowNowTime
	EXTERN	Show_time_FC
	EXTERN	UpDisplayFlag
	EXTERN	ap_get_message
	EXTERN	ap_handle_hotkey
	PUBLIC	fade_out
	EXTERN	g_FCexitflag
	EXTERN	g_comval
	EXTERN	g_music_vars
	EXTERN	g_result
	EXTERN	musicpSendCommand
	EXTERN	need_draw
	EXTERN	ui_auto_update
	PUBLIC	ui_compareAB
	PUBLIC	ui_comparePlay
	EXTERN	ui_show_batt
	EXTERN	wavpSendCommand
	EXTERN	?CLZ80B_4_04_L00
	EXTERN	?S_V_SWITCH_L06
	EXTERN	?BANK_CALL_DIRECT_L08
	EXTERN	?BANK_LEAVE_DIRECT_L08
	EXTERN	?BANK_FAST_LEAVE_L08
	EXTERN	?ENT_AUTO_DIRECT_L09
	RSEG	CODE
fade_out:
; 1.	/*
; 2.	*******************************************************************************
; 3.	*                        SDK30F_D1
; 4.	*                     music player follow compare sub
; 5.	*
; 6.	*                (c) Copyright 2002, Actions Co,Ld.
; 7.	*                        All Right Reserved
; 8.	*
; 9.	* File: ui_compare.c
; 10.	* By  : rcmai
; 11.	* Version: 1> v1.00     first version     2004-3-19 8:28
; 12.	*******************************************************************************
; 13.	* $Id: ui_compare.c,v 1.1.1.1 2006/05/22 03:24:01 selina Exp $
; 14.	*******************************************************************************
; 15.	*/
; 16.	
; 17.	#include "ap_music.h"
; 18.	
; 19.	extern BYTE Replaytimes_CNT; //
; 20.	extern bool ReturnNotInit;   //TRUE:表示下一个调用不用初始化,
; 21.	extern char return_to_play;        //为一表示从其他界面返回播放界面
; 22.	void Show_time_FC( void );
; 23.	void OpenMusic( void );
; 24.	extern bool g_FCexitflag;
; 25.	
; 26.	BOOL fade_out(void)
; 27.	{
	CALL	LWRD ?ENT_AUTO_DIRECT_L09
	DEFW	65534
?0003:
; 28.	    BOOL status;
; 29.	
; 30.	    while(!(status = wavpSendCommand(MC_FADEOUT, 0)))
	LD	BC,0
	LD	E,15
	CALL	LWRD ?0078
	INC	L
	DEC	L
	JR	NZ,?0002
?0004:
; 31.	    {
; 32.	        output8(0x4e,input8(0x4e)|0x8);
	IN	A,(78)
	SET	3,A
	OUT	(78),A
	JR	?0003
?0002:
; 33.	    }
; 34.	     return TRUE;
	LD	L,1
; 35.	
; 36.	}
	JP	LWRD ?BANK_LEAVE_DIRECT_L08
?0078:
	LD	A,BYTE3 wavpSendCommand
	LD	HL,LWRD wavpSendCommand
	JP	LWRD ?BANK_CALL_DIRECT_L08
ui_comparePlay:
; 37.	/*
; 38.	********************************************************************************
; 39.	*             int ui_comparePlay( void )
; 40.	*
; 41.	* Description : 对比--------对比录音播放子状态
; 42.	*
; 43.	* Arguments   : void
; 44.	*
; 45.	* Returns     : int
; 46.	*
; 47.	* Notes       : 在此状态下,按play到stop状态;按mode到play;按PREV到跟读状态;
; 48.	*
; 49.	********************************************************************************
; 50.	*/
; 51.	int ui_comparePlay( void )
; 52.	{
	CALL	LWRD ?ENT_AUTO_DIRECT_L09
	DEFW	65526
; 53.	    int key;
; 54.	
; 55.	    wma_play_status_t status_buf;
; 56.	    BankSwitch((unsigned long)wavpSendCommand >> 16);
	LD	B,0
	LD	E,BYTE3 wavpSendCommand
	LD	C,B
	CALL	LWRD BankSwitch
; 57.	    wavpSendCommand(MC_OPEN, NULL);
	LD	E,1
	CALL	LWRD ?0078
; 58.	    wavpSendCommand(MC_LOAD, (int)FollowReadTempFileName);
	LD	BC,?0005
	LD	E,3
	CALL	LWRD ?0078
; 59.	    wavpSendCommand(MC_SETVOLUME, g_music_vars.volume);
	LD	BC,(g_music_vars)
	LD	A,C
	RLCA
	SBC	A,A
	LD	B,A
	LD	E,64
	CALL	LWRD ?0076
; 60.	    wavpSendCommand(MC_FADEIN, 0);
	LD	E,14
	CALL	LWRD ?0076
; 61.	    wavpSendCommand(MC_PLAY, NULL);
	LD	E,4
	CALL	LWRD ?0078
; 62.	    UpDisplayFlag = UpDisplayFlag | up_MPRLmode;
	LD	HL,UpDisplayFlag
	INC	HL
	SET	3,(HL)
; 63.	    need_draw = TRUE;
	LD	A,1
	LD	(need_draw),A
?0007:
; 64.	
; 65.	    while (1)
; 66.	    {
; 67.	        if (need_draw)
	LD	A,(need_draw)
	OR	A
	JR	Z,?0010
?0009:
; 68.	        {
; 69.	            //显示比特率
; 70.	       //     Show_time_FC();
; 71.	            RefreshMainScreen();
	CALL	LWRD ?0081
; 72.	            Show_time_FC();
	CALL	LWRD ?0080
; 73.	            need_draw = FALSE;
	XOR	A
	LD	(need_draw),A
?0010:
; 74.	        }
; 75.	
; 76.	        key = ap_get_message();
	CALL	LWRD ap_get_message
	LD	C,A
	LD	E,C
	LD	B,0
	LD	(IX-9),B
; 77.	
; 78.	        switch (key)
	LD	D,B
	CALL	LWRD ?S_V_SWITCH_L06
	DEFW	8
	DEFW	25
	DEFW	28
	DEFW	29
	DEFW	33
	DEFW	37
	DEFW	38
	DEFW	48
	DEFW	49
	DEFW	?0018
	DEFW	?0014
	DEFW	?0015
	DEFW	?0014
	DEFW	?0016
	DEFW	?0013
	DEFW	?0011
	DEFW	?0017
	DEFW	?0011
?0012:
; 79.	        {
; 80.	            case AP_MSG_STANDBY:
; 81.	            case AP_MSG_LOCK:            //不响应锁键 
; 82.	                break;
?0013:
; 83.	
; 84.	            case AP_KEY_PLAY | AP_KEY_UP:
; 85.	                //fade_out();
; 86.	                wavpSendCommand(MC_STOP, NULL);
	CALL	LWRD ?0073
; 87.	                wavpSendCommand(MC_CLOSE, NULL);
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 88.	                RePlayStatus = NormalPlay;
	XOR	A
	LD	(RePlayStatus),A
; 89.	                    /*
; 90.	                    //************
; 91.	                    //注:因为这里退出时外面要淡出,所以会发出声音,
; 92.	                    //这里把音量设为0就相当于不淡出,这只是权余之计
; 93.	                    //以后希望能改掉
; 94.	                    SetPAVolume(0);
; 95.	
; 96.	                    //由于在MC_PLAY命令中用这个标志来判断是否要设音量,这里送
; 97.	                    //个非0就是为了认音量为0,从而在开始放MUSIC后不送出声音
; 98.	                    g_FadeInStatusFlag = 2;
; 99.	                    OpenMusic();
; 100.	                    g_FadeInStatusFlag = 0;
; 101.	                    //*************
; 102.	                    */
; 103.	                g_FCexitflag = TRUE;
; 104.	                OpenMusic();
	CALL	LWRD ?0079
; 105.	                //musicpSendCommand(MC_SETVOLUME, 0);    //让音量为0,这可在淡出时没声
; 106.	
; 107.	                //UpDisplayFlag=UpDisplayFlag | up_MPRLmode;
; 108.	                SetFullInterface();
; 109.	                need_draw = TRUE;
; 110.	                return RESULT_UI_STOP2; //选关播放后回到停止界面
	LD	HL,103
; 111.	
; 112.	            case AP_KEY_AB | AP_KEY_UP:
	JP	LWRD ?0026
?0014:
; 113.	            case AP_KEY_NEXT | AP_KEY_UP:
; 114.	                //fade_out();
; 115.	                wavpSendCommand(MC_STOP, NULL);
	CALL	LWRD ?0073
; 116.	                wavpSendCommand(MC_CLOSE, NULL);
	CALL	LWRD ?0075
; 117.	                OpenMusic();
; 118.	                RePlayStatus = WaitSetAPointForAB;
	LD	A,1
	LD	(RePlayStatus),A
; 119.	                SetFullInterface();
	XOR	A
	JR	?0059
; 120.	                return NULL;
; 121.	
; 122.	            case AP_KEY_MODE | AP_KEY_UP:
?0015:
; 123.	                //fade_out();
; 124.	                wavpSendCommand(MC_STOP, NULL);
	CALL	LWRD ?0073
; 125.	                wavpSendCommand(MC_CLOSE, NULL);
	CALL	LWRD ?0075
; 126.	                OpenMusic();
; 127.	                RePlayStatus = NormalPlay;
	XOR	A
	LD	(RePlayStatus),A
; 128.	                SetFullInterface();
?0059:
	LD	(ui_auto_update),A
	LD	HL,UpDisplayFlag
	LD	A,(HL)
	OR	193
	LD	(HL),A
	INC	HL
	LD	(HL),255
; 129.	                return NULL;
	JP	LWRD ?0055
; 130.	
; 131.	            case AP_KEY_PREV | AP_KEY_UP:
?0016:
; 132.	                //fade_out();
; 133.	                wavpSendCommand(MC_STOP, NULL);
	CALL	LWRD ?0073
; 134.	                wavpSendCommand(MC_CLOSE, NULL);
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 135.	                Replaytimes_CNT = 0; //重新开始计复读次数
	XOR	A
	LD	(Replaytimes_CNT),A
; 136.	                RePlayStatus = FollowAB;
	LD	A,5
	JR	?0058
; 137.	                return NULL;
; 138.	
; 139.	            case AP_MSG_RTC:
?0017:
; 140.	             
; 141.	 
; 142.	                     UpDisplayFlag = UpDisplayFlag | up_musiccurrenttime;
	LD	HL,UpDisplayFlag
	INC	HL
	SET	1,(HL)
; 143.	                     Show_time_FC();      
	CALL	LWRD ?0080
; 144.	                     ui_show_batt( GetBattery(), g_comval.BatteryType,0);
	LD	C,B
	PUSH	BC
	LD	BC,(g_comval+15)
	CALL	LWRD GetBattery
	LD	E,A
	LD	A,BYTE3 ui_show_batt
	LD	HL,LWRD ui_show_batt
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	POP	HL
; 145.	                     break;
	JR	?0011
?0018:
; 146.	             
; 147.	
; 148.	            default:
; 149.	                key = ap_handle_hotkey(key);
	LD	E,C
	CALL	LWRD ap_handle_hotkey
	LD	C,A
	LD	(IX-10),C
; 150.	                if (key == RESULT_REDRAW)
	LD	A,50
	XOR	C
	JR	NZ,?0020
?0019:
; 151.	                {
; 152.	                    //ui_auto_update = TRUE;
; 153.	                    SetFullInterface();
	LD	(ui_auto_update),A
	LD	HL,UpDisplayFlag
	LD	A,(HL)
	OR	193
	LD	(HL),A
	INC	HL
	LD	(HL),255
; 154.	                    need_draw = TRUE;
	LD	A,1
	LD	(need_draw),A
	JR	?0011
?0020:
; 155.	                  //  return_to_play=1;
; 156.	                }
; 157.	                else if (key != 0)
	LD	A,C
	OR	A
	JR	Z,?0011
?0022:
; 158.	                {
; 159.	                   //     fade_out();
; 160.	                    wavpSendCommand(MC_STOP, NULL);
	CALL	LWRD ?0073
; 161.	                    wavpSendCommand(MC_CLOSE, NULL);
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 162.	
; 163.	                    /*
; 164.	                    //************
; 165.	                    //注:因为这里退出时外面要淡出,所以会发出声音,
; 166.	                    //这里把音量设为0就相当于不淡出,这只是权余之计
; 167.	                    //以后希望能改掉
; 168.	                    SetPAVolume(0);
; 169.	
; 170.	                    //由于在MC_PLAY命令中用这个标志来判断是否要设音量,这里送
; 171.	                    //个非0就是为了认音量为0,从而在开始放MUSIC后不送出声音
; 172.	                    g_FadeInStatusFlag = 2;
; 173.	                    OpenMusic();
; 174.	                    g_FadeInStatusFlag = 0;
; 175.	
; 176.	                    ClosePA();
; 177.	                    //!!!!!!!!!!!!!!!
; 178.	                    */
; 179.	                    g_FCexitflag = TRUE;
; 180.	                    OpenMusic();
	CALL	LWRD ?0079
; 181.	                    //musicpSendCommand(MC_SETVOLUME, 0);    //让音量为0,这可在淡出时没声
; 182.	
; 183.	                    SetFullInterface();
; 184.	                    need_draw = TRUE;
; 185.	                    return key;
	LD	L,(IX-10)
	LD	H,(IX-9)
; 186.	                }
	JR	?0026
?0023:
?0021:
; 187.	                break;
?0011:
; 188.	        } //switch(key)
; 189.	
; 190.	        wavpSendCommand(MC_GETSTATUS, (int)& status_buf);
	LD	HL,2
	ADD	HL,SP

⌨️ 快捷键说明

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