ui_stop_menu.s01

来自「炬力方案176*132软件源码,适用于AK1025」· S01 代码 · 共 1,223 行 · 第 1/3 页

S01
1,223
字号
	CALL	LWRD ?0139
; 361.	                        tmpflag = TRUE;
?0059:
; 362.	                    }
; 363.	                    //fselGetLocation(&g_music_vars.location); 
; 364.	                    //g_music_vars.file_list_type = 0xff;                                           
; 365.	                    result = ui_directory(& g_music_vars.location, FSEL_TYPE_MUSIC, g_comval.langid);
	LD	HL,g_comval+12
	LD	C,(HL)
	PUSH	BC
	CALL	LWRD ?0145
	POP	AF
; 366.	                    FSELSetMode(FSEL_ALL_SEQUENCE);      
	CALL	LWRD ?0146
; 367.	                    if (result == 0)
	JR	NZ,?0065
?0064:
; 368.	                    {   
; 369.	                        if (tmpflag)
?0066:
; 370.	                        {
; 371.	                            tmpflag = FALSE;
?0067:
; 372.	                        }
; 373.	                        //fselGetLocation(&g_music_vars.location); 
; 374.	                        //当选中目录后用普通模式播放
; 375.	                        g_music_vars.play_listmod = mlistnor;
	LD	A,5
	LD	(g_music_vars+80),A
; 376.	                        g_music_vars.file_list_type = 0xff;                         
	LD	A,255
	LD	(g_music_vars+92),A
?0065:
; 377.	                    }
; 378.	
; 379.	                    if (result == RESULT_SD_OUT)
	LD	A,54
	XOR	(IX-4)
	OR	(IX-3)
	JR	NZ,?0069
?0068:
; 380.	                    {
; 381.	                        DisplayErrMsg(CARDPULL);//显示卡拔出
	CALL	LWRD ?0140
; 382.	                        g_music_vars.location.disk = 'C';        
	LD	A,67
	LD	(g_music_vars+7),A
; 383.	                        result = RESULT_IGNORE;
	LD	(IX-4),52
	LD	(IX-3),0
?0069:
; 384.	                    }
; 385.	                    if(g_music_vars.play_rate!=0&&g_music_vars.location.disk == 'H')
	LD	A,(g_music_vars+3)
	OR	A
	JR	Z,?0071
	LD	A,(g_music_vars+7)
	CP	72
	JR	NZ,?0071
?0073:
?0072:
?0070:
; 386.	                    g_music_vars.play_rate=0; 
	XOR	A
	LD	(g_music_vars+3),A
?0071:
; 387.	                    break;
	JR	?0081
?0074:
; 388.	            
; 389.	                case 2: //删除文件                   
; 390.	                    if(g_music_vars.fselmod == FSEL_TYPE_PLAYLIST||g_music_vars.fselmod ==FSEL_TYPE_USERPL)
	LD	A,(g_music_vars+81)
	DEC	A
	JR	Z,?0077
	LD	A,(g_music_vars+81)
	DEC	A
	DEC	A
	JR	NZ,?0076
?0077:
?0078:
?0075:
; 391.	                    {
; 392.	                     fselPlayListExit();
	LD	A,BYTE3 fselPlayListExit
	LD	HL,LWRD fselPlayListExit
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 393.	                     g_music_vars.fselmod = FSEL_TYPE_COMMONDIR;
	XOR	A
	LD	(g_music_vars+81),A
; 394.	                     FSELInit(FSEL_TYPE_MUSIC, FSEL_ALL_REPEATALL, FSEL_TYPE_COMMONDIR,g_music_vars.location.disk);//初始化文件选择器
	LD	HL,g_music_vars+7
	LD	C,(HL)
	PUSH	BC
	LD	C,A
	PUSH	BC
	LD	C,4
	LD	E,A
	CALL	LWRD ?0142
	POP	AF
	POP	AF
; 395.	                     FSELGetNext(g_music_vars.location.filename);
	LD	DE,g_music_vars+33
	LD	A,BYTE3 fselGetNextFile
	LD	HL,LWRD fselGetNextFile
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 396.	                     g_music_vars.play_listmod = mlistnor;//改为普通目录模式
	LD	A,5
	LD	(g_music_vars+80),A
; 397.	                     fselGetLocation(&g_music_vars.location);
	CALL	LWRD ?0139
?0076:
; 398.	                    }
; 399.	                    result = ui_delete_Music(DELETE_FILE);  
	LD	DE,0
	JR	?0110
; 400.	                    g_music_vars.file_list_type = 0xff;                      
; 401.	                    break;
?0079:
; 402.	            
; 403.	                case 3: //删除全部
; 404.	                    g_music_vars.fselmod = FSEL_TYPE_COMMONDIR;
	XOR	A
	LD	(g_music_vars+81),A
; 405.	                    result = ui_delete_Music(DELETE_MUSIC);  
	LD	DE,1
?0110:
	LD	A,BYTE3 ui_delete_Music
	LD	HL,LWRD ui_delete_Music
	CALL	LWRD ?0137
; 406.	                    g_music_vars.file_list_type = 0xff;                      
	LD	A,255
	LD	(g_music_vars+92),A
; 407.	                    break;
	JR	?0081
?0080:
; 408.	            
; 409.	                default://退出
; 410.	                    //return 0;                
; 411.	                    result = RESULT_IGNORE;
	LD	(IX-4),52
	LD	(IX-3),0
; 412.	                    break;
?0049:
; 413.	            }
; 414.	        }
; 415.	        else
	JR	?0081
?0048:
; 416.	        {
; 417.	            //无卡的情况            
; 418.	            result = NoCardCaseInStopMenu(list.active);                            
	LD	A,BYTE3 NoCardCaseInStopMenu
	LD	HL,LWRD NoCardCaseInStopMenu
	CALL	LWRD ?0137
?0081:
; 419.	        } 
; 420.	/*
; 421.	    }
; 422.	*/
; 423.	    if (result == RESULT_IGNORE)
	LD	A,52
	XOR	(IX-4)
	OR	(IX-3)
	JR	NZ,?0083
?0082:
; 424.	    {
; 425.	        result = 0;
	LD	(IX-4),A
	LD	(IX-3),A
?0083:
; 426.	    }
; 427.	
; 428.	    //注,如 result != 0表示退出时一些时间参数不用清0
; 429.	    //      但如果 ==0 则表示退出时目录已改,时间要清0
; 430.	    if (result != 0)
	LD	A,(IX-4)
	OR	(IX-3)
	JR	Z,?0085
?0084:
; 431.	    {
; 432.	        return result;
?0111:
	LD	L,(IX-4)
	LD	H,(IX-3)
; 433.	    }            
	JR	?0086
?0085:
; 434.	    ClearTimePara();//清0时间及断点
	LD	A,BYTE3 ClearTimePara
	LD	HL,LWRD ClearTimePara
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 435.	    return 0;
	LD	HL,0
; 436.	    
; 437.	}
?0086:
	JP	LWRD ?BANK_LEAVE_DIRECT_L08
?0136:
	LD	E,1
?0135:
	CALL	LWRD DRV_DetectUD
	CP	32
	RET
?0137:
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	LD	(IX-4),L
	LD	(IX-3),H
	RET
?0138:
	LD	DE,(g_comval+12)
	LD	A,BYTE3 UI_DeleteAllSelSegment
	LD	HL,LWRD UI_DeleteAllSelSegment
	JP	LWRD ?BANK_CALL_DIRECT_L08
?0139:
	LD	DE,g_music_vars+7
	LD	A,BYTE3 fselGetLocation
	LD	HL,LWRD fselGetLocation
	JP	LWRD ?BANK_CALL_DIRECT_L08
?0140:
	LD	DE,394
	LD	A,BYTE3 DisplayErrMsg
	LD	HL,LWRD DisplayErrMsg
	JP	LWRD ?BANK_CALL_DIRECT_L08
?0141:
	LD	E,C
?0142:
	LD	A,BYTE3 fselInit
	LD	HL,LWRD fselInit
	JP	LWRD ?BANK_CALL_DIRECT_L08
?0145:
	LD	C,0
	LD	DE,g_music_vars+7
	LD	A,BYTE3 ui_directory
	LD	HL,LWRD ui_directory
	JP	LWRD ?BANK_CALL_DIRECT_L08
?0146:
	LD	(IX-4),L
	LD	(IX-3),H
	LD	E,0
	LD	A,BYTE3 fselSetMode
	LD	HL,LWRD fselSetMode
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	LD	A,(IX-4)
	OR	(IX-3)
	RET
UI_DeleteAllSelSegment:
; 438.	
; 439.	 
; 440.	void UI_DeleteAllSelSegment(BYTE lang_id)
; 441.	{
	CALL	LWRD ?ENT_AUTO_DIRECT_L09
	DEFW	65534
; 442.	    char key;
; 443.	    char delete_flag=0;
; 444.	    ClearScreen(NULL);
	LD	DE,0
	CALL	LWRD ClearScreen
; 445.	    ResShowPic(DELNO,56,32); 
	LD	C,32
	PUSH	BC
	LD	C,56
	CALL	LWRD ?0143
	POP	AF
; 446.	    ResShowMultiString(DELSELLS,lang_id, 255, 100);                                                  
	LD	C,100
	PUSH	BC
	LD	C,255
	PUSH	BC
	LD	C,(IX+2)
	LD	DE,418
	LD	A,BYTE3 ResShowMultiString
	LD	HL,LWRD ResShowMultiString
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	POP	AF
?0131:
	POP	AF
	LD	(IX-2),0
?0088:
; 447.	    while(1)
; 448.	    {
; 449.	        key = ap_get_message();                          //获取消息
	CALL	LWRD ap_get_message
; 450.	        switch(key)
	LD	E,A
	CALL	LWRD ?C_V_SWITCH_L06
	DEFW	7
	DEFB	5
	DEFB	6
	DEFB	30
	DEFB	33
	DEFB	48
	DEFB	69
	DEFB	70
	DEFW	?0088
	DEFW	?0091
	DEFW	?0091
	DEFW	?0095
	DEFW	?BANK_LEAVE_DIRECT_L08
	DEFW	?BANK_LEAVE_DIRECT_L08
	DEFW	?0091
	DEFW	?0091
?0091:
; 451.	        {
; 452.	            case AP_KEY_NEXT:                            //YES和NO之间切换
; 453.	            case AP_KEY_PREV:
; 454.	            case AP_KEY_NEXT | AP_KEY_HOLD:
; 455.	            case AP_KEY_PREV | AP_KEY_HOLD:
; 456.	            if(delete_flag==0)
	XOR	A
	OR	(IX-2)
	LD	C,32
	PUSH	BC
	LD	C,56
	JR	NZ,?0093
?0092:
; 457.	            {
; 458.	                delete_flag=1;
; 459.	                ResShowPic(DELYES,56,32);
	LD	DE,2
	CALL	LWRD ?0144
	POP	AF
	LD	(IX-2),1
; 460.	            }
; 461.	            else
	JR	?0088
?0093:
; 462.	            {
; 463.	                delete_flag=0;
; 464.	                ResShowPic(DELNO,56,32);
	CALL	LWRD ?0143
	JR	?0131
?0094:
; 465.	            }
; 466.	            break; 
?0095:
; 467.	                
; 468.	            case AP_KEY_MODE | AP_KEY_UP:
; 469.	                if(delete_flag==1)
	LD	B,(IX-2)
	DEC	B
	JR	NZ,?0099
?0096:
; 470.	                {
; 471.	                      DeleteAllSelSegment();             
	LD	A,BYTE3 DeleteAllSelSegment
	LD	HL,LWRD DeleteAllSelSegment
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 472.	                    return;   
; 473.	                }     
?0097:
; 474.	                else 
; 475.	                    return;
; 476.	            
; 477.	            case AP_MSG_WAIT_TIMEOUT:                        //8秒退出    
?0098:
; 478.	                return;        
; 479.	            
; 480.	            case AP_KEY_PLAY | AP_KEY_UP:
?0099:
; 481.	                return;
; 482.	            
; 483.	            default:  
?0101:
	JP	LWRD ?BANK_LEAVE_DIRECT_L08
?0143:
	LD	DE,1
?0144:
	LD	A,BYTE3 ResShowPic
	LD	HL,LWRD ResShowPic
	JP	LWRD ?BANK_CALL_DIRECT_L08
?0100:
; 484.	                break; 
?0090:
; 485.	        }  //swith
; 486.	    }   //while  
; 487.	}
	RSEG	IDATA0
?0015:
	DEFS	1
	RSEG	CDATA0
	DEFB	0
	RSEG	APC_UI_MNU_STOP
PLFileName:
	DEFB	'MYLIST  A3L'
	DEFB	0
	DEFB	'ARTIST  A3L'
	DEFB	0
	DEFB	'ALBUM   A3L'
	DEFB	0
	DEFB	'GENRE   A3L'
	DEFB	0
	DEFB	'COMPOSERA3L'
	DEFB	0
dir_string_card:
	DEFW	461
	DEFW	462
	DEFW	463
	DEFW	464
	DEFW	465
dir_string:
	DEFW	461
	DEFW	463
	DEFW	464
	DEFW	465
	END

⌨️ 快捷键说明

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