bookmarkmenu.s01

来自「炬力方案176*132软件源码,适用于AK1025」· S01 代码 · 共 195 行

S01
195
字号
	NAME	bookmarkmenu(17)
	RSEG	BOOKMARKMENU(0)
	RSEG	BOOKMARKMENU_C(0)
	EXTERN	AddBookMarkItem
	PUBLIC	UI_BookMark
	EXTERN	UI_BookMarkMenu
	PUBLIC	bookmark_string
	EXTERN	g_music_vars
	EXTERN	musicpSendCommand
	EXTERN	ui_popup_list
	EXTERN	?CLZ80B_4_04_L00
	EXTERN	?S_S_SWITCH_L06
	EXTERN	?BANK_CALL_DIRECT_L08
	EXTERN	?BANK_LEAVE_DIRECT_L08
	EXTERN	?BANK_FAST_LEAVE_L08
	EXTERN	?ENT_AUTO_DIRECT_L09
	RSEG	BOOKMARKMENU
UI_BookMark:
; 1.	#include "actos.h"
; 2.	#include "ap_common.h"
; 3.	#include "ap_music.h"
; 4.	#include <MusicBookMark.h>
; 5.	
; 6.	extern music_vars_t g_music_vars;//本AP的公共变量
; 7.	
; 8.	#pragma memory=constseg(BOOKMARKMENU_C)
; 9.	const WORD bookmark_string[4] ={ MEB2,MEB4,MEB3,MSTOP5};
; 10.	#pragma memory=default
; 11.	
; 12.	#pragma memory=dataseg(BOOKMARKMENU_D)
; 13.	//STRU_MusicBreakPoint MusicBreakPT;
; 14.	#pragma memory=default
; 15.	
; 16.	#pragma codeseg(BOOKMARKMENU)
; 17.	int UI_BookMark(BYTE string_id)
; 18.	{
	CALL	LWRD ?ENT_AUTO_DIRECT_L09
	DEFW	65518
	PUSH	IY
; 19.	        int Result;
; 20.	        pop_up_list_t list;
; 21.	        uchar IMK_Reg;
; 22.	        Full_time_t time_buf; 
; 23.	
; 24.	        list.strid = bookmark_string;
	LD	(IX-10),LOW(bookmark_string)
	LD	(IX-9),HIGH(bookmark_string)
; 25.	        list.total = 4;
	LD	(IX-8),4
	LD	(IX-7),0
; 26.	        list.active = 0;
	XOR	A
	LD	(IX-6),A
	LD	(IX-5),A
; 27.	        list.string_id = string_id;
	LD	B,(IX+2)
	LD	(IX-2),B
; 28.	
; 29.	        list.headid=MBMARK;
	LD	(IX-4),174
	LD	(IX-3),1
; 30.	        Result = ui_popup_list(&list, NULL);
	LD	C,A
	PUSH	BC
	LD	L,C
	LD	H,C
	PUSH	HL
	LD	L,14
	ADD	HL,SP
	EX	DE,HL
	LD	A,BYTE3 ui_popup_list
	LD	HL,LWRD ui_popup_list
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	POP	AF
	POP	AF
; 31.	        
; 32.	        if (Result == RESULT_IGNORE)
	LD	A,52
	XOR	L
	OR	H
	JR	Z,?0006
?0002:
; 33.	            return 0;                
?0003:
; 34.	        if (Result != 0)
	LD	A,L
	OR	H
	JR	NZ,?0012
?0004:
; 35.	            return Result;
?0005:
; 36.	
; 37.	        switch(list.active)
	LD	E,(IX-6)
	LD	D,(IX-5)
	CALL	LWRD ?S_S_SWITCH_L06
	DEFW	0
	DEFW	3
	DEFW	?0006
	DEFW	?0007
	DEFW	?0008
	DEFW	?0009
?0007:
; 38.	        {
; 39.	        case 0:        //select
; 40.	            return(UI_BookMarkMenu(&g_music_vars.location,MUSICBOOKMARK_SELECT,string_id));
	LD	L,B
	PUSH	HL
	LD	C,1
	JR	?0014
; 41.	        case 1:        //delete
?0008:
; 42.	            return(UI_BookMarkMenu(&g_music_vars.location,MUSICBOOKMARK_DELETE,string_id));
	LD	L,B
	PUSH	HL
	LD	C,2
?0014:
	LD	DE,g_music_vars+7
	LD	A,BYTE3 UI_BookMarkMenu
	LD	HL,LWRD UI_BookMarkMenu
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	POP	AF
; 43.	
; 44.	//            DeleteBookMark(g_music_vars.location.filename);
; 45.	//            break;
; 46.	        case 2:        //add
	JR	?0012
?0009:
; 47.	            IMK_Reg=input8(0x27);
	IN	A,(39)
	LD	(IX-12),A
; 48.	            output8(0x27,0);
	XOR	A
	OUT	(39),A
; 49.	            musicpSendCommand(MC_BACKUP, NULL);
	LD	B,C
	LD	E,68
	LD	A,BYTE3 musicpSendCommand
	LD	HL,LWRD musicpSendCommand
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 50.	            output8(0x27,IMK_Reg);
	LD	A,(IX-12)
	OUT	(39),A
; 51.	                if(musicpSendCommand(MC_GETTIME, (int)& time_buf)) 
	LD	HL,2
	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,?0011
?0010:
; 52.	                       {
; 53.	                        g_music_vars.BreakPTDisTime.hour = time_buf.TimeHour;
	LD	A,(IX-14)
	LD	(g_music_vars+77),A
; 54.	                        g_music_vars.BreakPTDisTime.minute = time_buf.TimeMinute;
	LD	A,(IX-15)
	LD	(g_music_vars+78),A
; 55.	                        g_music_vars.BreakPTDisTime.second = time_buf.TimeSecond;  
	LD	A,(IX-16)
	LD	(g_music_vars+79),A
?0011:
; 56.	                       }  
; 57.	            AddBookMarkItem((STRU_MusicBreakPoint *)&(g_music_vars.BreakPTSave),&g_music_vars.location);
	LD	BC,g_music_vars+7
	LD	DE,g_music_vars+50
	LD	A,BYTE3 AddBookMarkItem
	LD	HL,LWRD AddBookMarkItem
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 58.	
; 59.	            break;
?0006:
; 60.	        }                
; 61.	        return NULL;
	LD	HL,0
; 62.	}
?0012:
	POP	IY
	JP	LWRD ?BANK_LEAVE_DIRECT_L08
; 63.	
; 64.	
; 65.	
	RSEG	BOOKMARKMENU_C
bookmark_string:
	DEFW	422
	DEFW	424
	DEFW	423
	DEFW	465
	END

⌨️ 快捷键说明

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