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

📄 ui_stop.s01

📁 炬力方案176*132软件源码,适用于AK1025
💻 S01
📖 第 1 页 / 共 2 页
字号:
	LD	(g_comval+9),A
; 155.	               SetContrast(g_comval.DisplayContrast);
	LD	DE,(g_comval+8)
	CALL	LWRD SetContrast
; 156.	               ap_message_init(&g_comval);
	LD	DE,g_comval
	CALL	LWRD ?0123
; 157.	               SetBackgdColor(Color_BLACK_def);
	LD	BC,0
	LD	E,C
	LD	D,B
	CALL	LWRD SetBackgdColor
; 158.	               /*
; 159.	              // tempReg4f = input8(0x4f);
; 160.	               output8(0x4f,0x47);  //VDD 1.8V 
; 161.	               ap_sleep(1);   */
; 162.	               g_result = ui_play();
	LD	A,BYTE3 ui_play
	LD	HL,LWRD ui_play
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	LD	(g_result),HL
; 163.	               /*
; 164.	               output8(0xf4, input8(0xf4) & 0xf7);   //SRAM CE2 Disable    
; 165.	               output8(0x4f, 0x43); 
; 166.	               ap_sleep(1);*/
; 167.	///-               SetBackgdColor(Color_MENU_def);
; 168.	               VMRead(& g_comval, VM_SYSTEM, sizeof(g_comval));
	LD	BC,32
	PUSH	BC
	LD	BC,512
	LD	DE,g_comval
	CALL	LWRD VMRead
	POP	HL
; 169.	               ap_message_init(&g_comval);
	LD	DE,g_comval
	CALL	LWRD ?0123
; 170.	/////////////////////////////////////////////               
; 171.	
; 172.	                ap_message_init(NULL);//开始算STANDBY 时间
	CALL	LWRD ?0122
; 173.	                ui_run_realtime = FALSE;
	XOR	A
	LD	(ui_run_realtime),A
; 174.	                if(g_result==0)  
	LD	HL,(g_result)
	LD	A,L
	OR	H
	JR	Z,?0114
?0038:
; 175.	                { 
; 176.	                   need_draw=TRUE;                   
; 177.	                   return g_result;
; 178.	                }
?0039:
; 179.	                else if(g_result==RESULT_UI_STOP2)   
	LD	A,103
	XOR	L
	OR	H
	JR	NZ,?0052
?0040:
; 180.	                {
; 181.	                   //byte Reg_27h=input8(0x27);
; 182.	                   output8(0x27,input8(0x27)&0xfe);            //关Dsp中断 防止花屏  zxs add
	IN	A,(39)
	RES	0,A
	OUT	(39),A
; 183.	                   ui_show_msg (CARDPULL, CARDPULL, g_langid);                            
	LD	BC,(g_langid)
	LD	B,0
	PUSH	BC
	LD	BC,394
	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
?0043:
; 184.	                   while( ap_get_message() != NULL ); //清空消息池
	CALL	LWRD ap_get_message
	OR	A
	JR	NZ,?0043
?0044:
?0042:
; 185.	                   ap_sleep(4);
	LD	DE,4
	LD	A,BYTE3 ap_sleep
	LD	HL,LWRD ap_sleep
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 186.	                   need_draw = TRUE;  
?0114:
	LD	A,1
	LD	(need_draw),A
; 187.	                   return g_result; 
	JR	?0052
; 188.	                
; 189.	                }
?0041:
; 190.	                else return g_result;
; 191.	         
; 192.	         case  AP_KEY_MODE: 
?0045:
; 193.	               g_menu_active=TRUE;   
; 194.	               break;     
?0046:
; 195.	         case AP_KEY_MODE | AP_KEY_UP: //短按MODE
; 196.	              if(g_menu_active)
	LD	A,(g_menu_active)
	OR	A
	JR	Z,?0048
?0047:
; 197.	               {
; 198.	                 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
; 199.	
; 200.	                 if (g_result == RESULT_SD_OUT)
	LD	A,54
	XOR	L
	OR	H
	JR	NZ,?0050
?0049:
; 201.	                 {
; 202.	                     return RESULT_CURR_UI;
	LD	L,A
	LD	H,A
; 203.	                 }
	JP	LWRD ?0094
?0050:
; 204.	                 if (g_result == RESULT_IGNORE)
	LD	A,52
	XOR	L
	OR	H
	JP	Z,?0120
?0051:
; 205.	                 {
; 206.	                    need_draw = TRUE;
; 207.	                    break;
?0052:
; 208.	                 }
; 209.	                return g_result;//热键或等于0时返回
	LD	HL,(g_result)
; 210.	              }
	JP	LWRD ?0094
?0048:
; 211.	           else
; 212.	               g_menu_active=TRUE;
	LD	A,1
	LD	(g_menu_active),A
; 213.	               break;
	JP	LWRD ?0025
?0053:
?0055:
; 214.	
; 215.	        //break;
; 216.	       //     case AP_KEY_MODE | AP_KEY_HOLD: //长按MODE
; 217.	       //         return RESULT_MAIN;         //返回main ap
; 218.	
; 219.	            case AP_KEY_PREV | AP_KEY_UP:
; 220.	                while(ap_get_message() != 0);
	CALL	LWRD ap_get_message
	OR	A
	JP	Z,?0025
?0056:
; 221.	                break;
	JR	?0053
?0054:
?0057:
; 222.	
; 223.	            case AP_KEY_PREV:
; 224.	            case AP_KEY_PREV | AP_KEY_HOLD:
; 225.	#ifndef __6KEYMODE__
; 226.	                if(g_volcounter>0)
; 227.	                {
; 228.	                        g_volcounter = 6;
; 229.	                                        
; 230.	                                        if(g_amv_vars.volume>0)
; 231.	                                        {
; 232.	                                                vol_callback(--g_amv_vars.volume);
; 233.	                                                ui_show_vol(g_amv_vars.volume);
; 234.	                                        }
; 235.	                }
; 236.	                else
; 237.	#endif
; 238.	                {
; 239.	                        if (g_changevolume&0x01)
	LD	A,(g_changevolume)
	BIT	0,A
	JR	Z,?0059
?0058:
; 240.	                        {
; 241.	                                g_changevolume|=0x3f;
	OR	63
	LD	(g_changevolume),A
?0059:
; 242.	                                // goto vol_sub_lzd;
; 243.	                                        }
; 244.	                memcpy(g_TagInfoBuf1, g_TagInfoBuf, 20);
	LD	BC,20
	LD	DE,g_TagInfoBuf1
	LD	HL,g_TagInfoBuf
	LDIR
; 245.	                //g_TagInfoBuf1[18]=0;
; 246.	                g_TagInfoBuf1[20]=0;
	XOR	A
	LD	(g_TagInfoBuf1+20),A
; 247.	                g_result = ChangeMusic(Music_Prev, Stop_key);
; 248.	                GetInformation(); //取文件信息
	CALL	LWRD ?0126
; 249.	                need_draw = TRUE;
	LD	A,1
	LD	(need_draw),A
?0061:
; 250.	             }
; 251.	             //清除多出的HOLD消息,防止按键停了还跳几曲
; 252.	             while(ap_get_message() != 0);
	CALL	LWRD ap_get_message
	OR	A
	JP	Z,?0025
?0062:
; 253.	             break;
	JR	?0061
?0060:
?0063:
?0065:
; 254.	
; 255.	            case AP_KEY_NEXT | AP_KEY_UP:
; 256.	                while(ap_get_message() != 0);
	CALL	LWRD ap_get_message
	OR	A
	JP	Z,?0025
?0066:
; 257.	                break;
	JR	?0063
?0064:
?0067:
; 258.	
; 259.	            case AP_KEY_NEXT:
; 260.	            case AP_KEY_NEXT | AP_KEY_HOLD:
; 261.	#ifndef __6KEYMODE__
; 262.	                                                        if(g_volcounter>0)
; 263.	                {
; 264.	                        g_volcounter = 6;
; 265.	                                        
; 266.	                                        if(g_amv_vars.volume<31)
; 267.	                                        {
; 268.	                                                vol_callback(++g_amv_vars.volume);
; 269.	                                                ui_show_vol(g_amv_vars.volume);
; 270.	                                        }
; 271.	                }
; 272.	                else
; 273.	#endif
; 274.	              {
; 275.	                g_result = ChangeMusic(Music_Next, Stop_key);
	LD	C,A
	LD	E,3
; 276.	                GetInformation(); //取文件信息
	CALL	LWRD ?0127
; 277.	                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
; 278.	                GetInformation(); //取文件信息
	CALL	LWRD ?0124
; 279.	                memcpy(g_TagInfoBuf1, g_TagInfoBuf, 20);
; 280.	                //g_TagInfoBuf1[18]=0;
; 281.	                g_TagInfoBuf1[20]=0;
; 282.	                g_result = ChangeMusic(Music_Prev, Stop_key);
; 283.	                GetInformation(); //取文件信息
	CALL	LWRD ?0126
; 284.	                need_draw = TRUE;
	LD	A,1
	LD	(need_draw),A
?0069:
; 285.	              }
; 286.	              while(ap_get_message() != 0);
	CALL	LWRD ap_get_message
	OR	A
	JP	Z,?0025
?0070:
; 287.	              break;
	JR	?0069
?0068:
?0071:
; 288.	
; 289.	#ifdef __6KEYMODE__
; 290.	            case AP_KEY_VOLSUB:
; 291.	            case AP_KEY_VOLSUB | AP_KEY_HOLD:
; 292.	                 if(g_volcounter>0)
	LD	A,(g_volcounter)
	OR	A
	LD	A,6
	LD	(g_volcounter),A
	JR	Z,?0079
?0072:
; 293.	                 {
; 294.	                        g_volcounter = 6;
; 295.	                                        
; 296.	                                        if(g_amv_vars.volume>0)
	LD	A,(g_amv_vars+2)
	OR	A
	JP	Z,?0025
?0074:
; 297.	                                        {
; 298.	                                                vol_callback(--g_amv_vars.volume);
	LD	HL,g_amv_vars+2
	DEC	(HL)
	JR	?0119
; 299.	                                                ui_show_vol(g_amv_vars.volume);
?0075:
; 300.	                                        }
; 301.	                 }
; 302.	                 else
?0073:
; 303.	                 {
; 304.	                          g_volcounter = 6;
; 305.	                                                    main_ResShowPic(VOL_00+g_amv_vars.volume,0,106);
?0076:
; 306.	                 }
; 307.	                 break;
?0077:
; 308.	            case AP_KEY_VOLADD:
; 309.	            case AP_KEY_VOLADD | AP_KEY_HOLD:
; 310.	                 if(g_volcounter>0)
	LD	A,(g_volcounter)
	OR	A
	LD	A,6
	LD	(g_volcounter),A
	JR	Z,?0079
?0078:
; 311.	                 {
; 312.	                        g_volcounter = 6;
; 313.	                                        
; 314.	                                        if(g_amv_vars.volume<31)
	LD	A,(g_amv_vars+2)
	CP	31
	JP	NC,?0025
?0080:
; 315.	                                        {
; 316.	                                                vol_callback(++g_amv_vars.volume);
	LD	HL,g_amv_vars+2
	INC	(HL)
?0119:
	LD	E,(HL)
	LD	D,0
	LD	A,BYTE3 vol_callback
	LD	HL,LWRD vol_callback
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 317.	                                                ui_show_vol(g_amv_vars.volume);
	LD	DE,(g_amv_vars+2)
	LD	A,BYTE3 ui_show_vol
	LD	HL,LWRD ui_show_vol
	CALL	LWRD ?BANK_CALL_DIRECT_L08
?0081:
; 318.	                                        }
; 319.	                 }
; 320.	                 else
	JP	LWRD ?0025
?0079:
; 321.	                 {
; 322.	                          g_volcounter = 6;
; 323.	                                                    main_ResShowPic(VOL_00+g_amv_vars.volume,0,106);
	LD	C,106
	PUSH	BC
	LD	C,0
	LD	DE,(g_amv_vars+2)
	LD	D,C
	LD	HL,281
	ADD	HL,DE
	EX	DE,HL
	LD	A,BYTE3 main_ResShowPic
	LD	HL,LWRD main_ResShowPic
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	POP	AF
?0082:
; 324.	                 }
; 325.	               break;
	JP	LWRD ?0025
?0083:
; 326.	#endif
; 327.	
; 328.	#ifndef __6KEYMODE__
; 329.	        case AP_KEY_VOL | AP_KEY_UP:
; 330.	                                          if(g_volcounter > 0)
; 331.	                                          {
; 332.	                                                g_volcounter = 0;
; 333.	                                                g_rSetPlayStatus = TRUE;
; 334.	                                                
; 335.	                                                ShowNowTime(FALSE);
; 336.	                                          }
; 337.	                                          else
; 338.	                                          {
; 339.	                                                g_volcounter = 6;
; 340.	                                                main_ResShowPic(VOL_00+g_amv_vars.volume,0,106);
; 341.	                                          }
; 342.	                                          break;
; 343.	#endif
; 344.	        
; 345.	        case AP_MSG_RTC:
; 346.	        case AP_MSG_CHARGING:
; 347.	                  if(g_volcounter>0)
	LD	A,(g_volcounter)
	OR	A
	JR	Z,?0087
?0084:
; 348.	                        {
; 349.	                                g_volcounter--;
	LD	HL,g_volcounter
	DEC	(HL)
; 350.	                                if(g_volcounter==0)
	LD	A,(g_volcounter)
	OR	A
	JR	NZ,?0087
?0086:
; 351.	                                {
; 352.	                                        g_rSetPlayStatus = TRUE;
	LD	A,1
	LD	(g_rSetPlayStatus),A
; 353.	                                        
; 354.	                                        ShowNowTime(FALSE);
	LD	E,0
	LD	A,BYTE3 ShowNowTime
	LD	HL,LWRD ShowNowTime
	CALL	LWRD ?BANK_CALL_DIRECT_L08
?0087:
?0085:
; 355.	                                }
; 356.	                  }
; 357.	                  
; 358.	            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
; 359.	            break;
	JP	LWRD ?0025
?0088:
; 360.	/*
; 361.	        case AP_MSG_SD_OUT:
; 362.	                if (g_amv_vars.location.disk == 'H')
; 363.	                {
; 364.	                    g_amv_vars.location.disk = 'C';
; 365.	                    ui_err_msg(CARDPULL,CARDPULL,g_langid);//显示卡拔出
; 366.	                    return RESULT_CURR_UI;
; 367.	                }
; 368.	                break;
; 369.	*/
; 370.	            default:
; 371.	                key = ap_handle_hotkey(key);
	CALL	LWRD ap_handle_hotkey
	LD	HL,0
	ADD	HL,SP
	LD	(HL),A
; 372.	                if (key == RESULT_REDRAW)
	CP	50
	JR	NZ,?0090
?0089:
; 373.	                {
; 374.	                    need_draw = TRUE;
?0120:
	LD	A,1
	LD	(need_draw),A
	JP	LWRD ?0025
?0090:
; 375.	                }
; 376.	                else if (key != 0)
	XOR	A
	OR	(HL)
	JP	Z,?0025
?0092:
; 377.	                {
; 378.	                    return key;
	LD	L,A
	LD	H,0
; 379.	                }
?0094:
	POP	AF
	POP	DE
	POP	BC
	JP	LWRD ?BANK_FAST_LEAVE_L08
?0093:
?0091:
; 380.	                break;
?0033:
; 381.	        } //switch(key)
; 382.	    } //while(1)
; 383.	}
	RSEG	IDATA0
g_firstplay_flag:
	DEFS	1
g_volcounter:
	DEFS	1
g_rSetPlayStatus:
	DEFS	1
	RSEG	CDATA0
	DEFB	1
	DEFB	0
	DEFB	0
	END

⌨️ 快捷键说明

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