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

📄 ui_stop.s01

📁 MP3 整个 SDK
💻 S01
📖 第 1 页 / 共 2 页
字号:
	POP	HL
; 138.	               g_comval.LightTime = 0;
	XOR	A
	LD	(g_comval+9),A
; 139.	               SetContrast(g_comval.DisplayContrast);
	LD	DE,(g_comval+8)
	CALL	LWRD SetContrast
; 140.	               ap_message_init(&g_comval);
	LD	DE,g_comval
	CALL	LWRD ?0141
; 141.	               SetBackgdColor(Color_BLACK_def);
	LD	BC,0
	LD	E,C
	LD	D,B
	CALL	LWRD SetBackgdColor
; 142.	               g_result = ui_play();
	LD	A,BYTE3 ui_play
	LD	HL,LWRD ui_play
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	LD	(g_result),HL
; 143.	               SetBackgdColor(Color_MENU_def);
	LD	BC,0
	LD	DE,64704
	CALL	LWRD SetBackgdColor
; 144.	               VMRead(& g_comval, VM_SYSTEM, sizeof(g_comval));
	LD	HL,32
	PUSH	HL
	LD	BC,512
	LD	DE,g_comval
	CALL	LWRD VMRead
	POP	HL
; 145.	               ap_message_init(&g_comval);
	LD	DE,g_comval
	CALL	LWRD ?0141
; 146.	            }                        
; 147.	/////////////////////////////////////////////               
; 148.	           //安装驱动
; 149.	 
; 150.	            if(g_comval.langid == 0)    //简体
	LD	A,(g_comval+12)
	OR	A
	JR	NZ,?0035
?0034:
; 151.	             {
; 152.	              if(!DRV_Install("UI_S0724.DRV",1)) while(1) {;}
	LD	BC,1
	LD	DE,?0038
	CALL	LWRD DRV_Install
	OR	A
	JR	NZ,?0062
?0036:
?0040:
; 153.	             }
	JR	?0036
?0037:
?0035:
; 154.	            else if(g_comval.langid == 2)    //繁体
	DEC	A
	DEC	A
	JR	NZ,?0044
?0043:
; 155.	             {
; 156.	              if(!DRV_Install("UI_T0724.DRV",1)) while(1) {;}
	LD	BC,1
	LD	DE,?0047
	CALL	LWRD DRV_Install
	OR	A
	JR	NZ,?0062
?0045:
?0049:
; 157.	             }
	JR	?0045
?0046:
?0044:
; 158.	             else if(g_comval.langid == LAN_ID_ENGLISH)   //LAN_ID_ENGLISH=1: EN ASCII & Latin1. add by ccm
	LD	A,(g_comval+12)
	DEC	A
	LD	BC,1
	JR	NZ,?0053
?0052:
; 159.	             {
; 160.	              if(!DRV_Install("UI_L0724.DRV",1)) while(1) {;}  //UI_L0724.DRV->ASCII & Latin1 Driver.
	LD	DE,?0056
	CALL	LWRD DRV_Install
	OR	A
	JR	NZ,?0062
?0054:
?0058:
; 161.	             }
	JR	?0054
?0055:
; 162.	 
; 163.	            else                //其他
?0053:
; 164.	             {
; 165.	               if(!DRV_Install("UI_S0724.DRV",1)) while(1) {;}
	LD	DE,?0038
	CALL	LWRD DRV_Install
	OR	A
	JR	NZ,?0062
?0061:
?0064:
; 166.	             }
	JR	?0061
?0062:
?0060:
?0051:
?0042:
; 167.	             //打开lcd
; 168.	              StandbyScreen(TRUE);
	LD	E,1
	CALL	LWRD StandbyScreen
; 169.	              SetBackgdColor(Color_BLACK_def);
	LD	BC,0
	LD	E,C
	LD	D,B
	CALL	LWRD SetBackgdColor
; 170.	              SetContrast(g_comval.DisplayContrast);               
	LD	DE,(g_comval+8)
	CALL	LWRD SetContrast
; 171.	/////////////////////////////////////// 退出播放状态 重新安装一下显示驱动               
; 172.	
; 173.	                ap_message_init(NULL);//开始算STANDBY 时间
	CALL	LWRD ?0140
; 174.	                ui_run_realtime = FALSE;
	XOR	A
	LD	(ui_run_realtime),A
; 175.	                if(g_result==0)  
	LD	HL,(g_result)
	LD	A,L
	OR	H
	JR	Z,?0132
?0066:
; 176.	                 { 
; 177.	                   need_draw=TRUE;                   
; 178.	                   return g_result;
; 179.	                 }
?0067:
; 180.	             
; 181.	                else if(g_result==RESULT_UI_STOP2)   
	LD	A,103
	XOR	L
	OR	H
	JR	NZ,?0080
?0068:
; 182.	                 {
; 183.	                   //byte Reg_27h=input8(0x27);
; 184.	                   output8(0x27,input8(0x27)&0xfe);            //关Dsp中断 防止花屏  zxs add
	IN	A,(39)
	RES	0,A
	OUT	(39),A
; 185.	                   ui_show_msg (CARDPULL, CARDPULL, g_langid);                            
	LD	BC,(g_langid)
	LD	B,0
	PUSH	BC
	LD	BC,401
	LD	E,C
	LD	D,B
	LD	A,BYTE3 ui_show_msg
	LD	HL,LWRD ui_show_msg
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	POP	AF
?0071:
; 186.	                   while( ap_get_message() != NULL ); //清空消息池
	CALL	LWRD ap_get_message
	OR	A
	JR	NZ,?0071
?0072:
?0070:
; 187.	                   ap_sleep(4);
	LD	DE,4
	LD	A,BYTE3 ap_sleep
	LD	HL,LWRD ap_sleep
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 188.	                   need_draw = TRUE;  
?0132:
	LD	A,1
	LD	(need_draw),A
; 189.	                   return g_result; 
	JR	?0080
; 190.	                
; 191.	                 }
?0069:
; 192.	                
; 193.	                else return g_result;
; 194.	        
; 195.	         case  AP_KEY_MODE: 
?0073:
; 196.	               g_menu_active=TRUE;   
; 197.	               break;     
?0074:
; 198.	         case AP_KEY_MODE | AP_KEY_UP: //短按MODE
; 199.	              if(g_menu_active)
	LD	A,(g_menu_active)
	OR	A
	JR	Z,?0076
?0075:
; 200.	               {
; 201.	                 g_result = ui_stop_menu();
	LD	A,BYTE3 ui_stop_menu
	LD	HL,LWRD ui_stop_menu
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	LD	(g_result),HL
; 202.	
; 203.	                 if (g_result == RESULT_SD_OUT)
	LD	A,54
	XOR	L
	OR	H
	JP	Z,?0136
?0077:
; 204.	                 {
; 205.	                     return RESULT_CURR_UI;
; 206.	                 }
?0078:
; 207.	                 if (g_result == RESULT_IGNORE)
	LD	A,52
	XOR	L
	OR	H
	JP	Z,?0139
?0079:
; 208.	                 {
; 209.	                    need_draw = TRUE;
; 210.	                    break;
?0080:
; 211.	                 }
; 212.	                return g_result;//热键或等于0时返回
	LD	HL,(g_result)
; 213.	              }
	JP	LWRD ?0112
?0076:
; 214.	           else
; 215.	               g_menu_active=TRUE;
	LD	A,1
	LD	(g_menu_active),A
; 216.	               break;
	JP	LWRD ?0025
?0081:
?0083:
; 217.	
; 218.	        //break;
; 219.	       //     case AP_KEY_MODE | AP_KEY_HOLD: //长按MODE
; 220.	       //         return RESULT_MAIN;         //返回main ap
; 221.	
; 222.	            case AP_KEY_PREV | AP_KEY_UP:
; 223.	                while(ap_get_message() != 0);
	CALL	LWRD ap_get_message
	OR	A
	JP	Z,?0025
?0084:
; 224.	                break;
	JR	?0081
?0082:
?0085:
; 225.	
; 226.	            case AP_KEY_PREV:
; 227.	            case AP_KEY_PREV | AP_KEY_HOLD:
; 228.	            if (g_changevolume&0x01)
	LD	A,(g_changevolume)
	BIT	0,A
	JR	Z,?0087
?0086:
; 229.	            {
; 230.	            g_changevolume|=0x3f;
	OR	63
	LD	(g_changevolume),A
?0087:
; 231.	             // goto vol_sub_lzd;
; 232.	        }
; 233.	                memcpy(g_TagInfoBuf1, g_TagInfoBuf, 20);
	LD	BC,20
	LD	DE,g_TagInfoBuf1
	LD	HL,g_TagInfoBuf
	LDIR
; 234.	                //g_TagInfoBuf1[18]=0;
; 235.	                g_TagInfoBuf1[20]=0;
	XOR	A
	LD	(g_TagInfoBuf1+20),A
; 236.	                g_result = ChangeMusic(Music_Prev, Stop_key);
; 237.	                GetInformation(); //取文件信息
	CALL	LWRD ?0144
; 238.	                need_draw = TRUE;
	LD	A,1
	LD	(need_draw),A
?0089:
; 239.	                //清除多出的HOLD消息,防止按键停了还跳几曲
; 240.	                while(ap_get_message() != 0);
	CALL	LWRD ap_get_message
	OR	A
	JP	Z,?0025
?0090:
; 241.	                break;
	JR	?0089
?0088:
?0091:
?0093:
; 242.	
; 243.	            case AP_KEY_NEXT | AP_KEY_UP:
; 244.	                while(ap_get_message() != 0);
	CALL	LWRD ap_get_message
	OR	A
	JP	Z,?0025
?0094:
; 245.	                break;
	JR	?0091
?0092:
?0095:
; 246.	
; 247.	            case AP_KEY_NEXT:
; 248.	            case AP_KEY_NEXT | AP_KEY_HOLD:
; 249.	
; 250.	                g_result = ChangeMusic(Music_Next, Stop_key);
	LD	C,0
	LD	E,3
; 251.	                GetInformation(); //取文件信息
	CALL	LWRD ?0145
; 252.	                g_result = ChangeMusic(Music_Next, Stop_key);
	LD	C,0
	LD	E,3
	LD	A,BYTE3 ChangeMusic
	LD	HL,LWRD ChangeMusic
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	LD	H,0
	LD	(g_result),HL
; 253.	                GetInformation(); //取文件信息
	CALL	LWRD ?0142
; 254.	                memcpy(g_TagInfoBuf1, g_TagInfoBuf, 20);
; 255.	                //g_TagInfoBuf1[18]=0;
; 256.	                g_TagInfoBuf1[20]=0;
; 257.	                g_result = ChangeMusic(Music_Prev, Stop_key);
; 258.	                GetInformation(); //取文件信息
	CALL	LWRD ?0144
; 259.	                need_draw = TRUE;
	LD	A,1
	LD	(need_draw),A
?0097:
; 260.	                while(ap_get_message() != 0);
	CALL	LWRD ap_get_message
	OR	A
	JP	Z,?0025
?0098:
; 261.	                break;
	JR	?0097
?0096:
?0099:
; 262.	
; 263.	            case AP_KEY_VOLSUB:
; 264.	            case AP_KEY_VOLSUB | AP_KEY_HOLD:
; 265.	
; 266.	
; 267.	
; 268.	            case AP_KEY_VOLADD:
; 269.	            case AP_KEY_VOLADD | AP_KEY_HOLD:
; 270.	               result = show_volume(FALSE);
	LD	E,0
	LD	A,BYTE3 show_volume
	LD	HL,LWRD show_volume
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 271.	               if(result != 0) return result;
	LD	A,L
	OR	H
	JR	NZ,?0112
?0100:
?0101:
; 272.	               need_draw = TRUE;
	JR	?0139
; 273.	               break;
?0102:
; 274.	
; 275.	
; 276.	
; 277.	        case AP_MSG_RTC:
; 278.	        case AP_MSG_CHARGING:
; 279.	                ui_show_batt(GetBattery(), g_BatteryType,0);
	LD	C,0
	PUSH	BC
	LD	BC,(g_BatteryType)
	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
; 280.	
; 281.	                break;
	JP	LWRD ?0025
?0103:
; 282.	        case AP_MSG_SD_OUT:
; 283.	                if (g_amv_vars.location.disk == 'H')
	LD	A,(g_amv_vars+5)
	CP	72
	JP	NZ,?0025
?0104:
; 284.	                {
; 285.	                    g_amv_vars.location.disk = 'C';
	LD	A,67
	LD	(g_amv_vars+5),A
; 286.	                    ui_err_msg(CARDPULL,CARDPULL,g_langid);//显示卡拔出
	LD	BC,(g_langid)
	LD	B,0
	PUSH	BC
	LD	BC,401
	LD	E,C
	LD	D,B
	LD	A,BYTE3 ui_err_msg
	LD	HL,LWRD ui_err_msg
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	POP	AF
; 287.	                    return RESULT_CURR_UI;
?0136:
	LD	HL,0
; 288.	                }
	JR	?0112
?0105:
; 289.	                break;
?0106:
; 290.	            default:
; 291.	                key = ap_handle_hotkey(key);
	CALL	LWRD ap_handle_hotkey
	LD	HL,0
	ADD	HL,SP
	LD	(HL),A
; 292.	                if (key == RESULT_REDRAW)
	CP	50
	JR	NZ,?0108
?0107:
; 293.	                {
; 294.	                    need_draw = TRUE;
?0139:
	LD	A,1
	LD	(need_draw),A
	JP	LWRD ?0025
?0108:
; 295.	                }
; 296.	                else if (key != 0)
	XOR	A
	OR	(HL)
	JP	Z,?0025
?0110:
; 297.	                {
; 298.	                    return key;
	LD	L,A
	LD	H,0
; 299.	                }
?0112:
	POP	AF
	POP	IX
	POP	DE
	POP	BC
	JP	LWRD ?BANK_FAST_LEAVE_L08
?0111:
?0109:
; 300.	                break;
?0031:
; 301.	        } //switch(key)
; 302.	    } //while(1)
; 303.	}
; 304.	
; 305.	
	RSEG	CSTR
?0038:
	DEFB	'UI_S0724.DRV'
	DEFB	0
?0047:
	DEFB	'UI_T0724.DRV'
	DEFB	0
?0056:
	DEFB	'UI_L0724.DRV'
	DEFB	0
	END

⌨️ 快捷键说明

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