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

📄 ui_stop_menu.s01

📁 MP3 整个 SDK
💻 S01
📖 第 1 页 / 共 2 页
字号:
; 183.	                    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
; 184.	                    g_music_vars.fselmod = FSEL_TYPE_COMMONDIR;
	XOR	A
	LD	(g_music_vars+79),A
; 185.	                    g_music_vars.play_listmod = mlistnor;//改为普通目录模式
	LD	A,5
	LD	(g_music_vars+78),A
; 186.	                    result = RESULT_IGNORE;
	LD	(IX-4),52
	LD	(IX-3),0
; 187.	                    goto Lab_dir;
	JR	?0052
?0042:
; 188.	                }
; 189.	                
; 190.	                tmpflag = TRUE;//调过 fselplaylistent 函数后要调用GETNEXT
	LD	(IX-1),1
; 191.	            }
; 192.	            else
	JR	?0045
?0040:
; 193.	            {
; 194.	                //当选中模式与原来模式相同时
; 195.	                fselSetLocation(&g_music_vars.location);                                                 
	LD	DE,g_music_vars+7
	LD	A,BYTE3 fselSetLocation
	LD	HL,LWRD fselSetLocation
	CALL	LWRD ?BANK_CALL_DIRECT_L08
?0045:
; 196.	            }
; 197.	
; 198.	            if (fselGetLocation(&g_music_vars.location))                                 
	CALL	LWRD ?0104
	INC	L
	DEC	L
	JR	Z,?0052
?0046:
; 199.	            {                    
; 200.	                result = ui_playlist(&g_music_vars.location, DIRECTORY_MUSIC,
; 201.	                                 g_comval.langid);  
	LD	HL,g_comval+12
	LD	C,(HL)
	PUSH	BC
	CALL	LWRD ?0108
	POP	AF
	LD	(IX-4),L
	LD	(IX-3),H
; 202.	                output8(REG4E_RTC_WATCH_DOG, input8(REG4E_RTC_WATCH_DOG) | 0x08);
	IN	A,(78)
	SET	3,A
	OUT	(78),A
; 203.	                if ( result != RESULT_IGNORE )
	LD	A,52
	XOR	L
	OR	H
	JR	Z,?0049
?0048:
; 204.	                {
; 205.	                    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
; 206.	                }                                                                  
; 207.	                else
	JR	?0052
?0049:
; 208.	                {   
; 209.	                    if ( tmpflag == TRUE)   //(menu.active != g_music_vars.play_listmod)
	LD	B,(IX-1)
	DEC	B
	JR	Z,?0041
?0051:
; 210.	                    {
; 211.	                        goto listenterr1;
?0052:
?0050:
?0047:
?0038:
?0044:
; 212.	                    }
; 213.	                }
; 214.	            }
; 215.	        }
; 216.	Lab_dir:
; 217.	        
; 218.	        fselGetLocation(&g_music_vars.location);
	CALL	LWRD ?0104
; 219.	
; 220.	        if ((result == 0) || (result == RESULT_IGNORE))
	LD	A,(IX-4)
	OR	(IX-3)
	JR	Z,?0055
	LD	A,52
	XOR	(IX-4)
	OR	(IX-3)
	JR	NZ,?0054
?0055:
?0056:
?0053:
; 221.	        {
; 222.	            //记录当前选中列表的类型,因为                
; 223.	            g_music_vars.play_listmod = list.active;
	LD	A,(list+4)
	LD	(g_music_vars+78),A
?0054:
; 224.	        }                            
; 225.	    }
; 226.	    else
	JP	LWRD ?0084
?0027:
; 227.	    {
; 228.	        
; 229.	        //后面是以前的目录及删除选择
; 230.	        if (DRV_DetectUD(1) == 0x20)
	CALL	LWRD ?0103
	LD	DE,(list+4)
	JP	NZ,?0059
?0058:
; 231.	        {
; 232.	            //有卡的情况
; 233.	            switch (list.active)
	CALL	LWRD ?S_S_SWITCH_L06
	DEFW	6
	DEFW	4
	DEFW	?0083
	DEFW	?0061
	DEFW	?0066
	DEFW	?0081
	DEFW	?0082
?0061:
; 234.	            {
; 235.	
; 236.	                
; 237.	                case 6: //主目录
; 238.	                    if (g_music_vars.location.disk == 'H')
	LD	A,(g_music_vars+7)
	CP	72
	JR	NZ,?0063
?0062:
; 239.	                    {
; 240.	                        g_music_vars.location.disk = 'C';
	LD	A,67
	LD	(g_music_vars+7),A
; 241.	                        FSELInit(FSEL_TYPE_MUSIC, FSEL_ALL_SEQUENCE, FSEL_TYPE_COMMONDIR,g_music_vars.location.disk);
	LD	C,A
	PUSH	BC
	LD	C,0
	PUSH	BC
	LD	E,C
	CALL	LWRD ?0106
	POP	AF
	POP	AF
; 242.	                        fselGetLocation(&g_music_vars.location); 
	CALL	LWRD ?0104
?0063:
; 243.	                    }
; 244.	                     
; 245.	                    result = ui_directory(& g_music_vars.location, DIRECTORY_MUSIC, g_comval.langid);                
	LD	HL,g_comval+12
	LD	C,(HL)
	PUSH	BC
	LD	C,0
	LD	DE,g_music_vars+7
	LD	A,BYTE3 ui_directory
	LD	HL,LWRD ui_directory
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	POP	AF
; 246.	                    FSELSetMode(FSEL_ALL_SEQUENCE);              
	CALL	LWRD ?0109
; 247.	                    if (result == 0)
	JR	NZ,?0065
?0064:
; 248.	                    {   
; 249.	                        //当选中目录后用普通模式播放
; 250.	                        g_music_vars.play_listmod = mlistnor;
	LD	A,5
	LD	(g_music_vars+78),A
?0065:
; 251.	                        //musicpSendCommand(MC_CLOSE, NULL);
; 252.	                    }
; 253.	                    break;            
	JP	LWRD ?0084
?0066:
; 254.	        
; 255.	                case 7: //插卡目录  
; 256.	                    //PASS_KEY(0x12); 
; 257.	                    if (g_music_vars.location.disk == 'C')
	LD	A,(g_music_vars+7)
	CP	67
	JR	NZ,?0068
?0067:
; 258.	                    {
; 259.	                        //PASS_KEY(0x13);
; 260.	                        g_music_vars.location.disk = 'H';
	LD	A,72
	LD	(g_music_vars+7),A
; 261.	                        result=FSELInit(FSEL_TYPE_MUSIC, FSEL_ALL_SEQUENCE, FSEL_TYPE_COMMONDIR,g_music_vars.location.disk);
	LD	C,A
	PUSH	BC
	LD	C,0
	PUSH	BC
	LD	E,C
	CALL	LWRD ?0106
	POP	AF
	POP	AF
	LD	H,0
	LD	(IX-4),L
	LD	(IX-3),H
; 262.	                        if(!result)
	LD	A,L
	OR	A
	LD	HL,g_DiskStateFlag
	JR	NZ,?0070
?0069:
; 263.	                        {
; 264.	                            g_DiskStateFlag=g_DiskStateFlag&ClrCardOKFlag_def;
	RES	3,(HL)
; 265.	                            g_music_vars.location.disk == 'C';
; 266.	                            DisplayErrInfor(CREADERR);//显示卡错  
	LD	DE,404
	LD	A,BYTE3 DisplayErrInfor
	LD	HL,LWRD DisplayErrInfor
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 267.	                            break;
	JR	?0084
?0070:
; 268.	                        }
; 269.	                        g_DiskStateFlag=g_DiskStateFlag|SetCardOKFlag_def;
	SET	3,(HL)
; 270.	                        fselGetLocation(&g_music_vars.location);
	CALL	LWRD ?0104
; 271.	                        tmpflag = TRUE;
?0068:
; 272.	                    }
; 273.	                    //fselGetLocation(&g_music_vars.location);                    
; 274.	                    result = ui_directory(& g_music_vars.location, FSEL_TYPE_MUSIC, g_comval.langid);
	LD	HL,g_comval+12
	LD	C,(HL)
	PUSH	BC
	LD	C,0
	LD	DE,g_music_vars+7
	LD	A,BYTE3 ui_directory
	LD	HL,LWRD ui_directory
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	POP	AF
; 275.	                    FSELSetMode(FSEL_ALL_SEQUENCE);      
	CALL	LWRD ?0109
; 276.	                    if (result == 0)
	JR	NZ,?0072
?0071:
; 277.	                    {   
; 278.	                        if (tmpflag)
?0073:
; 279.	                        {
; 280.	                            tmpflag = FALSE;
?0074:
; 281.	                        }
; 282.	                        //fselGetLocation(&g_music_vars.location); 
; 283.	                        //当选中目录后用普通模式播放
; 284.	                        g_music_vars.play_listmod = mlistnor;
	LD	A,5
	LD	(g_music_vars+78),A
?0072:
; 285.	                    }
; 286.	
; 287.	                    //PASS_KEY(0x16);
; 288.	                    if (result == RESULT_SD_OUT)
	LD	A,54
	XOR	(IX-4)
	OR	(IX-3)
	JR	NZ,?0076
?0075:
; 289.	                    {
; 290.	                        DisplayErrMsg(CARDPULL);//显示卡拔出
	CALL	LWRD ?0105
; 291.	                        g_music_vars.location.disk = 'C';        
	LD	A,67
	LD	(g_music_vars+7),A
; 292.	                        //return RESULT_IGNORE;
; 293.	                        result = RESULT_IGNORE;
	LD	(IX-4),52
	LD	(IX-3),0
?0076:
; 294.	                        //return 0;     
; 295.	                    } 
; 296.	                    if(g_music_vars.play_rate!=0&&g_music_vars.location.disk == 'H')
	LD	A,(g_music_vars+3)
	OR	A
	JR	Z,?0084
	LD	A,(g_music_vars+7)
	CP	72
	JR	NZ,?0084
?0080:
?0079:
?0077:
; 297.	                    g_music_vars.play_rate=0; 
	XOR	A
	LD	(g_music_vars+3),A
?0078:
; 298.	                    break;
	JR	?0084
?0081:
; 299.	            
; 300.	                case 8: //删除文件                   
; 301.	                    result = ui_delete_Music(DELETE_FILE);
	LD	DE,0
	JR	?0094
; 302.	                    break;
?0082:
; 303.	            
; 304.	                case 9: //删除全部
; 305.	                    result = ui_delete_Music(DELETE_MUSIC);
	LD	DE,1
?0094:
	LD	A,BYTE3 ui_delete_Music
	LD	HL,LWRD ui_delete_Music
	JR	?0101
; 306.	                    break;
?0083:
; 307.	            
; 308.	                default://退出
; 309.	                    //return 0;                
; 310.	                    result = RESULT_IGNORE;
	LD	(IX-4),52
	LD	(IX-3),0
; 311.	                    break;
?0060:
; 312.	            }
; 313.	        }
; 314.	        else
	JR	?0084
?0059:
; 315.	        {
; 316.	            //无卡的情况            
; 317.	            result = NoCardCaseInStopMenu(list.active);                            
	LD	A,BYTE3 NoCardCaseInStopMenu
	LD	HL,LWRD NoCardCaseInStopMenu
?0101:
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	LD	(IX-4),L
	LD	(IX-3),H
?0084:
?0057:
; 318.	        } 
; 319.	
; 320.	    }
; 321.	
; 322.	    if (result == RESULT_IGNORE)
	LD	A,52
	XOR	(IX-4)
	OR	(IX-3)
	JR	NZ,?0086
?0085:
; 323.	    {
; 324.	        result = 0;
	LD	(IX-4),A
	LD	(IX-3),A
?0086:
; 325.	    }
; 326.	
; 327.	    //注,如 result != 0表示退出时一些时间参数不用清0
; 328.	    //      但如果 ==0 则表示退出时目录已改,时间要清0
; 329.	    if (result != 0)
	LD	A,(IX-4)
	OR	(IX-3)
	JR	Z,?0088
?0087:
; 330.	    {
; 331.	        return result;
?0095:
	LD	L,(IX-4)
	LD	H,(IX-3)
; 332.	    }            
	JR	?0089
?0088:
; 333.	    ClearTimePara();//清0时间及断点
	LD	A,BYTE3 ClearTimePara
	LD	HL,LWRD ClearTimePara
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 334.	    return 0;
	LD	HL,0
; 335.	    
; 336.	}
?0089:
	JP	LWRD ?BANK_LEAVE_DIRECT_L08
?0103:
	LD	E,1
?0102:
	CALL	LWRD DRV_DetectUD
	CP	32
	RET
?0104:
	LD	DE,g_music_vars+7
	LD	A,BYTE3 fselGetLocation
	LD	HL,LWRD fselGetLocation
	JP	LWRD ?BANK_CALL_DIRECT_L08
?0105:
	LD	DE,401
	LD	A,BYTE3 DisplayErrMsg
	LD	HL,LWRD DisplayErrMsg
	JP	LWRD ?BANK_CALL_DIRECT_L08
?0107:
	LD	C,4
	LD	E,0
?0106:
	LD	A,BYTE3 fselInit
	LD	HL,LWRD fselInit
	JP	LWRD ?BANK_CALL_DIRECT_L08
?0108:
	LD	C,0
	LD	DE,g_music_vars+7
	LD	A,BYTE3 ui_playlist
	LD	HL,LWRD ui_playlist
	JP	LWRD ?BANK_CALL_DIRECT_L08
?0109:
	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
; 337.	
; 338.	 
; 339.	
	RSEG	IDATA0
?0002:
	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	426
	DEFW	427
	DEFW	428
	DEFW	429
	DEFW	430
	DEFW	431
	DEFW	281
	DEFW	282
	DEFW	283
	DEFW	284
	DEFW	285
dir_string:
	DEFW	426
	DEFW	427
	DEFW	428
	DEFW	429
	DEFW	430
	DEFW	431
	DEFW	281
	DEFW	283
	DEFW	284
	DEFW	285
	END

⌨️ 快捷键说明

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