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

📄 ui_follow.s01

📁 MP3 整个 SDK
💻 S01
📖 第 1 页 / 共 2 页
字号:
; 245.	                SetFullInterface();
	XOR	A
?0101:
	LD	(ui_auto_update),A
	LD	HL,UpDisplayFlag
	LD	A,(HL)
	OR	193
	LD	(HL),A
	INC	HL
	LD	(HL),255
; 246.	                need_draw = TRUE;
	JR	?0099
; 247.	                return NULL;
; 248.	
; 249.	            case AP_MSG_RTC:
?0038:
; 250.	                g_result = GetBattery();
	CALL	LWRD GetBattery
	LD	C,A
	LD	(g_result),BC
; 251.	                if ( g_result <= DEF_RecLowBatt )
	LD	HL,5
	CALL	LWRD ?SS_CMP_L02
	JR	C,?0040
?0039:
; 252.	                {
; 253.	                    if ( ++LowBatt_CNT > DEF_RecLowBatTime )
	INC	(IX-6)
	LD	B,(IX-6)
	LD	A,L
	CP	B
	JR	NC,?0043
?0041:
; 254.	                    {
; 255.	                        DealForExitRec();
	LD	A,BYTE3 DealForExitRec
	LD	HL,LWRD DealForExitRec
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 256.	                        DisplayErrMsg(MPWROUT);
	LD	DE,396
?0100:
	CALL	LWRD ?0135
; 257.	                        OpenMusic();
; 258.	                        //RePlayStatus = ABLoopPlay;
; 259.	                        RePlayStatus = NormalPlay;
; 260.	                        UpDisplayFlag = UpDisplayFlag | up_MPRLmode;
; 261.	                        need_draw = TRUE;
?0099:
	LD	A,1
	LD	(need_draw),A
; 262.	                        return NULL;
	JR	?0080
; 263.	                    }
?0042:
; 264.	                }
; 265.	                else
?0040:
; 266.	                {
; 267.	                    LowBatt_CNT = 0;
	LD	(IX-6),B
?0043:
; 268.	                }
; 269.	
; 270.	                UpDisplayFlag = UpDisplayFlag | up_musiccurrenttime;
	LD	HL,UpDisplayFlag
	INC	HL
	SET	1,(HL)
; 271.	                Show_time_FC();
	LD	A,BYTE3 Show_time_FC
	LD	HL,LWRD Show_time_FC
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 272.	                //ShowNowTime(TRUE);
; 273.	                ui_show_batt( GetBattery(), g_comval.BatteryType,0);
	LD	C,D
	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
; 274.	                break;
	JR	?0032
?0044:
; 275.	
; 276.	            default:
; 277.	                key = ap_handle_hotkey(key);
	CALL	LWRD ?0140
; 278.	                if (key == RESULT_REDRAW)
	JR	NZ,?0046
?0045:
; 279.	                {
; 280.	                    SetFullInterface();
	LD	(ui_auto_update),A
	LD	HL,UpDisplayFlag
	LD	A,(HL)
	OR	193
	LD	(HL),A
	INC	HL
	LD	(HL),255
; 281.	                     return_to_play=1;
	LD	A,1
	LD	(return_to_play),A
; 282.	                    need_draw = TRUE;
	LD	(need_draw),A
	JR	?0032
?0046:
; 283.	                }
; 284.	                else if (key != 0)
	PUSH	IY
	POP	HL
	LD	A,L
	OR	H
	JR	Z,?0032
?0048:
; 285.	                {
; 286.	                    DealForExitRec();
	LD	A,BYTE3 DealForExitRec
	LD	HL,LWRD DealForExitRec
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 287.	                    RePlayStatus = NormalPlay;
; 288.	                    /*
; 289.	                    //************
; 290.	                    //注:因为这里退出时外面要淡出,所以会发出声音,
; 291.	                    //这里把音量设为0就相当于不淡出,这只是权余之计
; 292.	                    //以后希望能改掉
; 293.	                    SetPAVolume(0);
; 294.	                    g_FadeInStatusFlag = 2;
; 295.	                    OpenMusic();
; 296.	                    g_FadeInStatusFlag = 0;
; 297.	                    ClosePA();
; 298.	                    //!!!!!!!!!!!!!!!
; 299.	                    */
; 300.	                    g_FCexitflag = TRUE;
; 301.	                    OpenMusic();
	CALL	LWRD ?0133
; 302.	                    //musicpSendCommand(MC_SETVOLUME, 0);    //让音量为0,这可在淡出时没声
; 303.	
; 304.	                    SetFullInterface();
; 305.	                    need_draw = TRUE;
; 306.	                    return key;
	PUSH	IY
	POP	HL
; 307.	                }
	JR	?0052
?0049:
?0047:
; 308.	                break;
?0032:
; 309.	        }                                //key
; 310.	        if (g_2HZ_CNT > ABPointTimeSize) //check if time out
	LD	BC,(g_2HZ_CNT)
	LD	HL,(ABPointTimeSize)
	AND	A
	SBC	HL,BC
	JR	NC,?0051
?0050:
; 311.	        {
; 312.	            DealForExitRec();
	LD	A,BYTE3 DealForExitRec
	LD	HL,LWRD DealForExitRec
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 313.	            RePlayStatus = FollowAB;
	LD	A,5
?0091:
	LD	(RePlayStatus),A
; 314.	            //need_draw = TRUE;
; 315.	            return NULL;
?0080:
	LD	HL,0
; 316.	        }
?0052:
	POP	IY
	JP	LWRD ?BANK_LEAVE_DIRECT_L08
?0051:
; 317.	    } //while(1)
; 318.	}     //ui_followRec
	JP	LWRD ?0021
?0133:
	XOR	A
	LD	(RePlayStatus),A
	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
?0134:
	LD	A,BYTE3 OpenMusic
	LD	HL,LWRD OpenMusic
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	LD	A,3
	LD	(RePlayStatus),A
	LD	HL,UpDisplayFlag
	INC	HL
	SET	3,(HL)
	RET
?0135:
	LD	A,BYTE3 DisplayErrMsg
	LD	HL,LWRD DisplayErrMsg
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	LD	A,BYTE3 OpenMusic
	LD	HL,LWRD OpenMusic
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	XOR	A
	LD	(RePlayStatus),A
	LD	HL,UpDisplayFlag
	INC	HL
	SET	3,(HL)
	RET
?0136:
	LD	DE,394
?0137:
	LD	A,BYTE3 DisplayErrMsg
	LD	HL,LWRD DisplayErrMsg
	JP	LWRD ?BANK_CALL_DIRECT_L08
?0138:
	LD	A,BYTE3 wavrSendCommand
	LD	HL,LWRD wavrSendCommand
	JP	LWRD ?BANK_CALL_DIRECT_L08
?0139:
	CALL	LWRD ap_get_message
	LD	C,A
	LD	B,0
	PUSH	BC
	POP	IY
	LD	E,C
	LD	D,B
	RET
?0140:
	PUSH	IY
	POP	HL
	LD	E,L
	CALL	LWRD ap_handle_hotkey
	LD	C,A
	PUSH	BC
	POP	IY
	LD	A,50
	XOR	C
	RET
ui_followAB:
; 319.	
; 320.	/*
; 321.	********************************************************************************
; 322.	*             int ui_followAB( void )
; 323.	*
; 324.	* Description : 跟读--------A-B播放子状态
; 325.	*
; 326.	* Arguments   : void
; 327.	*
; 328.	* Returns     : int
; 329.	*               RESULT_UI_STOP: 表示要进入停止状态,此时所有module已关闭
; 330.	*               key: 热健消息
; 331.	*               NULL: 表示正常退出
; 332.	*
; 333.	* Notes       : 在此状态下,按play到stop状态;按mode到play;按NEXT到对比状态;
; 334.	*
; 335.	********************************************************************************
; 336.	*/
; 337.	
; 338.	
; 339.	int ui_followAB( void )
; 340.	{
	CALL	LWRD ?ENT_AUTO_DIRECT_L09
	DEFW	-8
	PUSH	IY
; 341.	    int key;
; 342.	
; 343.	    wma_play_status_t status_buf;
; 344.	
; 345.	    if (!ReturnNotInit)
	LD	A,(ReturnNotInit)
	OR	A
	JR	NZ,?0054
?0053:
; 346.	    {
; 347.	        OpenMusic();
	LD	A,BYTE3 OpenMusic
	LD	HL,LWRD OpenMusic
	CALL	LWRD ?BANK_CALL_DIRECT_L08
?0054:
; 348.	    }
; 349.	    ReturnNotInit = FALSE;
	XOR	A
	LD	(ReturnNotInit),A
; 350.	    UpDisplayFlag = UpDisplayFlag | up_MPRLmode;
	LD	HL,UpDisplayFlag
	INC	HL
	SET	3,(HL)
; 351.	    need_draw = TRUE;
	LD	A,1
	LD	(need_draw),A
?0056:
; 352.	
; 353.	    while (1)
; 354.	    {
; 355.	        if (need_draw)
	LD	A,(need_draw)
	OR	A
	JR	Z,?0059
?0058:
; 356.	        {
; 357.	            Show_time_FC(); //显示比特率
	LD	A,BYTE3 Show_time_FC
	LD	HL,LWRD Show_time_FC
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 358.	            RefreshMainScreen();
	LD	A,BYTE3 RefreshMainScreen
	LD	HL,LWRD RefreshMainScreen
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 359.	            need_draw = FALSE;
	XOR	A
	LD	(need_draw),A
?0059:
; 360.	        }
; 361.	
; 362.	        key = ap_get_message();
	CALL	LWRD ?0139
; 363.	
; 364.	        switch (key)
	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	?0070
	DEFW	?0065
	DEFW	?0066
	DEFW	?0065
	DEFW	?0067
	DEFW	?0062
	DEFW	?0060
	DEFW	?0069
	DEFW	?0068
	DEFW	?0068
?0061:
; 365.	        {
; 366.	            case AP_MSG_STANDBY:
; 367.	                break;
?0062:
; 368.	
; 369.	            case AP_KEY_PLAY | AP_KEY_UP:
; 370.	                g_result = DealPlayKey();
	LD	A,BYTE3 DealPlayKey
	LD	HL,LWRD DealPlayKey
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	LD	(g_result),HL
; 371.	                if (g_result != 0)
	LD	A,L
	OR	H
	JP	NZ,?0078
?0063:
; 372.	                {
; 373.	                    return g_result;
; 374.	                }
?0064:
; 375.	                return RESULT_UI_STOP;
	LD	HL,102
; 376.	
; 377.	            case AP_KEY_AB | AP_KEY_UP:
	JP	LWRD ?0078
?0065:
; 378.	            case AP_KEY_NEXT | AP_KEY_UP:
; 379.	                ReturnNotInit = TRUE; //要求进入比较AB时不要初始化
	LD	A,1
	LD	(ReturnNotInit),A
; 380.	                RePlayStatus = CompareAB;
	LD	A,7
	JP	LWRD ?0125
; 381.	                return NULL;
; 382.	
; 383.	            case AP_KEY_MODE | AP_KEY_UP:
?0066:
; 384.	                RePlayStatus = NormalPlay;
	XOR	A
	JP	LWRD ?0125
; 385.	                return NULL;
; 386.	
; 387.	            case AP_KEY_PREV | AP_KEY_UP:
?0067:
; 388.	                RePlayStatus = ABLoopPlay;
	LD	A,3
	JP	LWRD ?0125
; 389.	                return NULL;
; 390.	
; 391.	            case AP_KEY_VOLSUB:
?0068:
; 392.	            case AP_KEY_VOLADD:
; 393.	                ChangeVolume();
	LD	A,BYTE3 ChangeVolume
	LD	HL,LWRD ChangeVolume
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 394.	                //SetFullInterface();
; 395.	                need_draw = TRUE;
	LD	A,1
	JR	?0128
; 396.	                break;
?0069:
; 397.	
; 398.	            case AP_MSG_RTC:
; 399.	                UpDisplayFlag = UpDisplayFlag | up_musiccurrenttime ;
	LD	HL,UpDisplayFlag
	INC	HL
	SET	1,(HL)
; 400.	                Show_time_FC(); //显示比特率
	LD	A,BYTE3 Show_time_FC
	LD	HL,LWRD Show_time_FC
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 401.	                ShowNowTime(TRUE);
	LD	E,1
	LD	A,BYTE3 ShowNowTime
	LD	HL,LWRD ShowNowTime
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 402.	                ui_show_batt( GetBattery(), g_comval.BatteryType,0);//need_draw = TRUE;
	LD	C,B
	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
; 403.	                break;
	JR	?0060
?0070:
; 404.	
; 405.	            default:
; 406.	                key = ap_handle_hotkey(key);
	CALL	LWRD ?0140
; 407.	                if (key == RESULT_REDRAW)
	JR	NZ,?0072
?0071:
; 408.	                {
; 409.	                    SetFullInterface();
	LD	(ui_auto_update),A
	LD	HL,UpDisplayFlag
	LD	A,(HL)
	OR	193
	LD	(HL),A
	INC	HL
	LD	(HL),255
; 410.	                    return_to_play=1;
	LD	A,1
	LD	(return_to_play),A
; 411.	                    need_draw = TRUE;
?0128:
	LD	(need_draw),A
	JR	?0060
?0072:
; 412.	                }
; 413.	                else if(key != 0)
	PUSH	IY
	POP	HL
	LD	A,L
	OR	H
	JR	NZ,?0078
?0074:
; 414.	                {
; 415.	                    return key;
; 416.	                }
?0075:
?0073:
; 417.	                break;
?0060:
; 418.	        }
; 419.	
; 420.	        musicpSendCommand(MC_GETSTATUS, (int)& status_buf);
	LD	HL,2
	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
; 421.	        if (status_buf.signal == SIGNAL_REACH_B)
	LD	B,(IX-7)
	DEC	B
	DEC	B
	JR	NZ,?0077
?0076:
; 422.	        {
; 423.	            Show_time_FC(); //显示比特率
	LD	A,BYTE3 Show_time_FC
	LD	HL,LWRD Show_time_FC
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 424.	            RefreshMainScreen();
	LD	A,BYTE3 RefreshMainScreen
	LD	HL,LWRD RefreshMainScreen
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 425.	            need_draw = FALSE;
	XOR	A
	LD	(need_draw),A
; 426.	
; 427.	            musicpSendCommand(MC_STOP, NULL);
	LD	C,B
	LD	E,6
	LD	A,BYTE3 musicpSendCommand
	LD	HL,LWRD musicpSendCommand
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 428.	            musicpSendCommand(MC_CLOSE, NULL);
	LD	BC,0
	LD	E,2
	LD	A,BYTE3 musicpSendCommand
	LD	HL,LWRD musicpSendCommand
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 429.	            RePlayStatus = FollowRec;
	LD	A,4
?0125:
	LD	(RePlayStatus),A
; 430.	            return NULL;
	LD	HL,0
; 431.	        }
?0078:
	POP	IY
	JP	LWRD ?BANK_LEAVE_DIRECT_L08
?0077:
; 432.	    }
; 433.	}
	JP	LWRD ?0056
	RSEG	CSTR
?0004:
	DEFB	'$$TEMP$$WAV'
	DEFB	0
	END

⌨️ 快捷键说明

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