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

📄 ui_compare.s01

📁 MP3 整个 SDK
💻 S01
📖 第 1 页 / 共 2 页
字号:
	LD	C,L
	LD	B,H
	LD	E,131
	CALL	LWRD ?0078
; 191.	
; 192.	        if (status_buf.status == PLAYING_REACH_END)
	LD	A,(IX-8)
	CP	6
	JR	NZ,?0025
?0024:
; 193.	        {
; 194.	            wavpSendCommand(MC_STOP, NULL);
	LD	BC,0
	CALL	LWRD ?0074
; 195.	            wavpSendCommand(MC_CLOSE, NULL);
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 196.	            RePlayStatus = CompareAB;
	LD	A,7
?0058:
	LD	(RePlayStatus),A
; 197.	            return NULL;
?0055:
	LD	HL,0
; 198.	        }
?0026:
	JP	LWRD ?BANK_LEAVE_DIRECT_L08
?0025:
; 199.	    } //while(1)
; 200.	}     //ui_comparePlay(int)
	JP	LWRD ?0007
?0073:
	LD	C,B
?0074:
	LD	E,6
	LD	A,BYTE3 wavpSendCommand
	LD	HL,LWRD wavpSendCommand
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	LD	BC,0
	LD	E,2
	LD	A,BYTE3 wavpSendCommand
	LD	HL,LWRD wavpSendCommand
	RET
?0075:
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	LD	A,BYTE3 OpenMusic
	LD	HL,LWRD OpenMusic
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	RET
?0076:
	LD	A,BYTE3 wavpSendCommand
	LD	HL,LWRD wavpSendCommand
?0077:
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	LD	BC,0
	RET
?0079:
	LD	A,1
	LD	(g_FCexitflag),A
	LD	A,BYTE3 OpenMusic
	LD	HL,LWRD OpenMusic
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	XOR	A
	LD	(ui_auto_update),A
	LD	HL,UpDisplayFlag
	LD	A,(HL)
	OR	193
	LD	(HL),A
	INC	HL
	LD	(HL),255
	LD	A,1
	LD	(need_draw),A
	RET
?0080:
	LD	A,BYTE3 Show_time_FC
	LD	HL,LWRD Show_time_FC
	JP	LWRD ?BANK_CALL_DIRECT_L08
?0081:
	LD	A,BYTE3 RefreshMainScreen
	LD	HL,LWRD RefreshMainScreen
	JP	LWRD ?BANK_CALL_DIRECT_L08
ui_compareAB:
; 201.	
; 202.	/*
; 203.	********************************************************************************
; 204.	*             int ui_compareAB( void )
; 205.	*
; 206.	* Description : 对比--------对比音乐播放子状态
; 207.	*
; 208.	* Arguments   : void
; 209.	*
; 210.	* Returns     : int
; 211.	*
; 212.	* Notes       : 在此状态下,按play到stop状态;按mode到play;按PREV到跟读状态;
; 213.	*
; 214.	********************************************************************************
; 215.	*/
; 216.	int ui_compareAB( void )
; 217.	{
	CALL	LWRD ?ENT_AUTO_DIRECT_L09
	DEFW	65520
	PUSH	IY
; 218.	    int key;
; 219.	    wma_play_status_t status_buf;
; 220.	
; 221.	    if (!ReturnNotInit)
	LD	A,(ReturnNotInit)
	OR	A
	JR	NZ,?0028
?0027:
; 222.	    {
; 223.	        OpenMusic();
	LD	A,BYTE3 OpenMusic
	LD	HL,LWRD OpenMusic
	CALL	LWRD ?BANK_CALL_DIRECT_L08
?0028:
; 224.	    }
; 225.	    ReturnNotInit = FALSE;
	XOR	A
	LD	(ReturnNotInit),A
; 226.	    UpDisplayFlag = UpDisplayFlag | up_MPRLmode;
	LD	HL,UpDisplayFlag
	INC	HL
	SET	3,(HL)
; 227.	    need_draw = TRUE;
	LD	A,1
	LD	(need_draw),A
?0030:
; 228.	
; 229.	    while (1)
; 230.	    {
; 231.	        if (need_draw)
	LD	A,(need_draw)
	OR	A
	JR	Z,?0033
?0032:
; 232.	        {
; 233.	            Show_time_FC(); //显示比特率
	CALL	LWRD ?0080
; 234.	            RefreshMainScreen();
	CALL	LWRD ?0081
; 235.	            need_draw = FALSE;
	XOR	A
	LD	(need_draw),A
?0033:
; 236.	        }
; 237.	
; 238.	        key = ap_get_message();
	CALL	LWRD ap_get_message
	LD	C,A
	LD	B,0
	PUSH	BC
	POP	IY
; 239.	
; 240.	        switch (key)
	LD	E,C
	LD	D,B
	CALL	LWRD ?S_V_SWITCH_L06
	DEFW	9
	DEFW	3
	DEFW	4
	DEFW	28
	DEFW	29
	DEFW	33
	DEFW	37
	DEFW	38
	DEFW	48
	DEFW	49
	DEFW	?0046
	DEFW	?0039
	DEFW	?0040
	DEFW	?0039
	DEFW	?0041
	DEFW	?0036
	DEFW	?0034
	DEFW	?0043
	DEFW	?0042
	DEFW	?0042
?0035:
; 241.	        {
; 242.	            case AP_MSG_STANDBY:
; 243.	                break;
?0036:
; 244.	
; 245.	            case AP_KEY_PLAY | AP_KEY_UP:
; 246.	                g_result = DealPlayKey();
	LD	A,BYTE3 DealPlayKey
	LD	HL,LWRD DealPlayKey
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	LD	(g_result),HL
; 247.	                if (g_result != 0)
	LD	A,L
	OR	H
	JP	NZ,?0054
?0037:
; 248.	                {
; 249.	                    return g_result;
; 250.	                }
?0038:
; 251.	                return RESULT_UI_STOP;
	LD	HL,102
; 252.	
; 253.	            case AP_KEY_AB | AP_KEY_UP:
	JP	LWRD ?0054
?0039:
; 254.	            case AP_KEY_NEXT | AP_KEY_UP:
; 255.	                RePlayStatus = WaitSetAPointForAB;
	LD	A,1
	JP	LWRD ?0065
; 256.	                return NULL;
; 257.	
; 258.	            case AP_KEY_MODE | AP_KEY_UP:
?0040:
; 259.	                //musicpSendCommand(MC_SETA_B,0);//clear_ab
; 260.	                RePlayStatus = NormalPlay;
	XOR	A
	JP	LWRD ?0065
; 261.	                return NULL;
; 262.	
; 263.	            case AP_KEY_PREV | AP_KEY_UP:
?0041:
; 264.	                ReturnNotInit = TRUE; //要求退回跟读AB时不要初始化
	LD	A,1
	LD	(ReturnNotInit),A
; 265.	                Replaytimes_CNT = 0;  //重新开始计复读次数
	XOR	A
	LD	(Replaytimes_CNT),A
; 266.	                RePlayStatus = FollowAB;
	LD	A,5
	JP	LWRD ?0065
; 267.	                return NULL;
; 268.	
; 269.	            case AP_KEY_VOLSUB:
?0042:
; 270.	            case AP_KEY_VOLADD:
; 271.	                ChangeVolume();
	LD	A,BYTE3 ChangeVolume
	LD	HL,LWRD ChangeVolume
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 272.	               // SetFullInterface();
; 273.	                need_draw = TRUE;
	JR	?0068
; 274.	                break;
?0043:
; 275.	
; 276.	             case AP_MSG_RTC:
; 277.	                
; 278.	                {  
; 279.	                   Full_time_t time_buf;  
; 280.	                   if(musicpSendCommand(MC_GETTIME, (int)& time_buf)) 
	LD	HL,12
	ADD	HL,SP
	LD	C,L
	LD	B,H
	LD	E,128
	LD	A,BYTE3 musicpSendCommand
	LD	HL,LWRD musicpSendCommand
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	INC	L
	DEC	L
	JR	Z,?0045
?0044:
; 281.	                   {
; 282.	                    g_music_vars.BreakPTDisTime.hour = time_buf.TimeHour;
	LD	A,(IX-2)
	LD	(g_music_vars+75),A
; 283.	                    g_music_vars.BreakPTDisTime.minute = time_buf.TimeMinute;
	LD	A,(IX-3)
	LD	(g_music_vars+76),A
; 284.	                    g_music_vars.BreakPTDisTime.second = time_buf.TimeSecond;
	LD	B,(IX-4)
	LD	A,B
	LD	(g_music_vars+77),A
; 285.	                    ShowNowTime(TRUE);    
	LD	E,1
	LD	A,BYTE3 ShowNowTime
	LD	HL,LWRD ShowNowTime
	CALL	LWRD ?BANK_CALL_DIRECT_L08
?0045:
; 286.	                   }  
; 287.	                 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
; 288.	                 break;
	JR	?0034
?0046:
; 289.	               }  
; 290.	              //  UpDisplayFlag = UpDisplayFlag | up_musiccurrenttime | up_musicbattery;
; 291.	              //  need_draw = TRUE;
; 292.	                //break;
; 293.	
; 294.	            default:
; 295.	                key = ap_handle_hotkey(key);
	PUSH	IY
	POP	HL
	LD	E,L
	CALL	LWRD ap_handle_hotkey
	LD	C,A
	PUSH	BC
	POP	IY
; 296.	                if (key == RESULT_REDRAW)
	LD	A,50
	XOR	C
	JR	NZ,?0048
?0047:
; 297.	                {
; 298.	                    //ui_auto_update = TRUE;
; 299.	                    SetFullInterface();
	LD	(ui_auto_update),A
	LD	HL,UpDisplayFlag
	LD	A,(HL)
	OR	193
	LD	(HL),A
	INC	HL
	LD	(HL),255
; 300.	                    need_draw = TRUE;
?0068:
	LD	A,1
	LD	(need_draw),A
	JR	?0034
?0048:
; 301.	                   // return_to_play=1;
; 302.	                }
; 303.	                else if(key != 0) return key;
	PUSH	IY
	POP	HL
	LD	A,L
	OR	H
	JR	NZ,?0054
?0050:
; 304.	                break;
?0051:
?0049:
?0034:
; 305.	        } //switch(key)
; 306.	
; 307.	        musicpSendCommand(MC_GETSTATUS, (int)& status_buf);
	LD	HL,4
	ADD	HL,SP
	LD	C,L
	LD	B,H
	LD	E,131
	LD	A,BYTE3 musicpSendCommand
	LD	HL,LWRD musicpSendCommand
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 308.	        if (status_buf.signal == SIGNAL_REACH_B)
	LD	B,(IX-13)
	DEC	B
	DEC	B
	JR	NZ,?0053
?0052:
; 309.	        {
; 310.	            Show_time_FC(); //显示比特率
	CALL	LWRD ?0080
; 311.	            RefreshMainScreen();
	CALL	LWRD ?0081
; 312.	            need_draw = FALSE;
	XOR	A
	LD	(need_draw),A
; 313.	
; 314.	            musicpSendCommand(MC_STOP, NULL);
	LD	C,B
	LD	E,6
	LD	A,BYTE3 musicpSendCommand
	LD	HL,LWRD musicpSendCommand
	CALL	LWRD ?0077
; 315.	            musicpSendCommand(MC_CLOSE, NULL);
	LD	E,2
	LD	A,BYTE3 musicpSendCommand
	LD	HL,LWRD musicpSendCommand
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 316.	            RePlayStatus = ComparePlay;
	LD	A,6
?0065:
	LD	(RePlayStatus),A
; 317.	            return NULL;
	LD	HL,0
; 318.	        }
?0054:
	POP	IY
	JP	LWRD ?BANK_LEAVE_DIRECT_L08
?0053:
; 319.	    } //while(1)
; 320.	}     //ui_compareAB
	JP	LWRD ?0030
	RSEG	CSTR
?0005:
	DEFB	'$$TEMP$$WAV'
	DEFB	0
	END

⌨️ 快捷键说明

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