ui_stop.lst
来自「炬力方案176*132软件源码,适用于AK1025」· LST 代码 · 共 1,317 行 · 第 1/5 页
LST
1,317 行
\ 0322 AD XOR L
\ 0323 B4 OR H
\ 0324 2007 JR NZ,?0081
\ 0326 ?0080:
252 g_music_vars.fselmod = FSEL_TYPE_USERPL;
\ 0326 3E02 LD A,2
\ 0328 325100 LD (g_music_vars+81),A
253 else
\ 032B 1807 JR ?0082
\ 032D ?0081:
254 {
255 g_music_vars.fselmod = FSEL_TYPE_COMMONDIR;
\ 032D AF XOR A
\ 032E 325100 LD (g_music_vars+81),A
256 bList_Flag = 0;
\ 0331 320000 LD (bList_Flag),A
\ 0334 ?0082:
257 }
258 g_music_vars.file_list_type==0xff;
259 fsel_mode_change_flag = FALSE; //
\ 0334 AF XOR A
\ 0335 320000 LD (fsel_mode_change_flag),A
260 FSELInit(FSEL_TYPE_MUSIC, FSEL_ALL_REPEATALL, g_music_vars.fselmod ,g_music_vars.location.disk);//初始化文件选择器
\ 0338 210700 LD HL,g_music_vars+7
\ 033B 4E LD C,(HL)
\ 033C C5 PUSH BC
\ 033D 215100 LD HL,g_music_vars+81
\ 0340 4E LD C,(HL)
\ 0341 C5 PUSH BC
\ 0342 0E04 LD C,4
\ 0344 5F LD E,A
\ 0345 3E00 LD A,BYTE3 fselInit
\ 0347 210000 LD HL,LWRD fselInit
\ 034A CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 034D F1 POP AF
\ 034E F1 POP AF
261 if(!fselSetLocation(&g_music_vars.location))
\ 034F 110700 LD DE,g_music_vars+7
\ 0352 3E00 LD A,BYTE3 fselSetLocation
\ 0354 210000 LD HL,LWRD fselSetLocation
\ 0357 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 035A 2C INC L
\ 035B 2D DEC L
\ 035C 2012 JR NZ,?0084
\ 035E ?0083:
262 {
263 DisplayErrMsg(MFILEOUT);
\ 035E 111702 LD DE,535
\ 0361 3E00 LD A,BYTE3 DisplayErrMsg
\ 0363 210000 LD HL,LWRD DisplayErrMsg
\ 0366 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
264 bList_Flag = 0;
\ 0369 AF XOR A
\ 036A 320000 LD (bList_Flag),A
265 g_music_vars.fselmod = FSEL_TYPE_COMMONDIR;
\ 036D 325100 LD (g_music_vars+81),A
\ 0370 ?0084:
266 }
267 g_FCexitflag = FALSE;
\ 0370 AF XOR A
\ 0371 320000 LD (g_FCexitflag),A
268 ClearTimePara();
\ 0374 3E00 LD A,BYTE3 ClearTimePara
\ 0376 210000 LD HL,LWRD ClearTimePara
\ 0379 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
269 g_from_browser = TRUE;
\ 037C 3E01 LD A,1
\ 037E 320000 LD (g_from_browser),A
270 return 0;
\ 0381 C37404 JP LWRD ?0170
271 }
\ 0384 ?0077:
272 if(PlayStatus != StopSta)
\ 0384 3A0000 LD A,(PlayStatus)
\ 0387 B7 OR A
\ 0388 2834 JR Z,?0086
\ 038A ?0085:
273 {
274 #ifdef OPT_Sup_FadeOut_fun
275 if (!g_FCexitflag||g_currentMusicType==Music_WMA)
\ 038A 3A0000 LD A,(g_FCexitflag)
\ 038D B7 OR A
\ 038E 2807 JR Z,?0089
\ 0390 3A0000 LD A,(g_currentMusicType)
\ 0393 3D DEC A
\ 0394 3D DEC A
\ 0395 200A JR NZ,?0088
\ 0397 ?0089:
\ 0397 ?0090:
\ 0397 ?0087:
276 { //如从跟读对录音或对比放音出,不淡出
277 FadeOut(FALSE);
\ 0397 1E00 LD E,0
\ 0399 3E00 LD A,BYTE3 FadeOut
\ 039B 21E904 LD HL,LWRD FadeOut
\ 039E CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 03A1 ?0088:
278 }
279 #endif
280 BackupCurrentTime();
\ 03A1 3E00 LD A,BYTE3 BackupCurrentTime
\ 03A3 210000 LD HL,LWRD BackupCurrentTime
\ 03A6 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
281 musicpSendCommand(MC_STOP, NULL);
\ 03A9 010000 LD BC,0
\ 03AC 1E06 LD E,6
\ 03AE CD5201 CALL LWRD ?0177
282 musicpSendCommand(MC_BACKUP, NULL);
\ 03B1 010000 LD BC,0
\ 03B4 1E44 LD E,68
\ 03B6 CD5201 CALL LWRD ?0177
283 g_music_vars.MusicOpenMod = Nor_Break_open;//保证退出后从断点进来
\ 03B9 3E01 LD A,1
\ 03BB 320600 LD (g_music_vars+6),A
\ 03BE ?0086:
284 }
285 g_result = i;
\ 03BE DD6EFE LD L,(IX-2)
\ 03C1 DD66FF LD H,(IX-1)
\ 03C4 220000 LD (g_result),HL
286 }
287 else
\ 03C7 1806 JR ?0092
\ 03C9 ?0075:
\ 03C9 ?0093:
288 while(ap_get_message() != 0); //清空消息池
\ 03C9 CD0000 CALL LWRD ap_get_message
\ 03CC B7 OR A
\ 03CD 20FA JR NZ,?0075
\ 03CF ?0094:
\ 03CF ?0092:
\ 03CF ?0091:
289 g_FCexitflag = FALSE;
\ 03CF AF XOR A
\ 03D0 320000 LD (g_FCexitflag),A
290
291 return g_result;
\ 03D3 184F JR ?0171
292
293 case AP_KEY_EQ | AP_KEY_UP:
\ 03D5 ?0095:
294 break;
\ 03D5 ?0096:
295
296 case AP_KEY_MODE:
297 modekeystore = key;
\ 03D5 DD73FA LD (IX-6),E
298 break;
\ 03D8 C3A604 JP LWRD ?0042
\ 03DB ?0097:
299
300 case AP_KEY_MODE | AP_KEY_UP: //短按MODE
301 if (modekeystore != AP_KEY_MODE)
\ 03DB DD7EFA LD A,(IX-6)
\ 03DE FE10 CP 16
\ 03E0 2807 JR Z,?0099
\ 03E2 ?0098:
302 { //要先按了AP_KEY_MODE 键后up才算有效
303 modekeystore = NULL;
\ 03E2 DD36FA00 LD (IX-6),0
304 break;
\ 03E6 C3A604 JP LWRD ?0042
\ 03E9 ?0099:
305 }
306 g_result = ui_stop_menu();
\ 03E9 3E00 LD A,BYTE3 ui_stop_menu
\ 03EB 210000 LD HL,LWRD ui_stop_menu
\ 03EE CD4701 CALL LWRD ?0176
307
308
309 if (g_result == RESULT_IGNORE)
\ 03F1 3E34 LD A,52
\ 03F3 AD XOR L
\ 03F4 B4 OR H
\ 03F5 CA8304 JP Z,?0174
\ 03F8 ?0100:
310 {
311 SetFullInterface();
312 need_draw = TRUE;
313 break;
\ 03F8 ?0101:
314 }
315 CaltimeFlag = FALSE;
\ 03F8 AF XOR A
\ 03F9 320100 LD (CaltimeFlag),A
316 ifSelBuffToltalTimeFlag = FALSE;
\ 03FC 320000 LD (ifSelBuffToltalTimeFlag),A
317
318 if (g_result == RESULT_SD_OUT)
\ 03FF 3E36 LD A,54
\ 0401 AD XOR L
\ 0402 B4 OR H
\ 0403 286F JR Z,?0170
\ 0405 ?0102:
319 {
320 return RESULT_CURR_UI;
321 }
\ 0405 ?0103:
322 PlayStatus=StopSta;
\ 0405 AF XOR A
\ 0406 320000 LD (PlayStatus),A
323 return g_result;//热键或等于0时返回
\ 0409 1819 JR ?0171
324
325
326
327 case AP_KEY_PREV | AP_KEY_UP:
\ 040B ?0104:
\ 040B ?0106:
328 while(ap_get_message() != 0);
\ 040B CD0000 CALL LWRD ap_get_message
\ 040E B7 OR A
\ 040F 20FA JR NZ,?0104
\ 0411 ?0107:
329 break;
\ 0411 ?0105:
\ 0411 C3A604 JP LWRD ?0042
\ 0414 ?0108:
330
331 case AP_KEY_PREV:
332 case AP_KEY_PREV | AP_KEY_HOLD:
333 musicpSendCommand(MC_CLOSE, NULL);
\ 0414 4F LD C,A
\ 0415 47 LD B,A
\ 0416 1E02 LD E,2
\ 0418 CD5201 CALL LWRD ?0177
334 g_result = ChangeMusic(Music_Prev, Stop_key);
\ 041B 0E00 LD C,0
\ 041D 1E04 LD E,4
\ 041F CDD904 CALL LWRD ?0180
335 if(g_result==FALSE) //选择文件错误
\ 0422 2002 JR NZ,?0110
\ 0424 ?0109:
336 return g_result;
\ 0424 ?0171:
\ 0424 1823 JR ?0172
\ 0426 ?0110:
337 GetInformation(); //取文件信息
\ 0426 CD0101 CALL LWRD ?0175
338 musicpSendCommand( MC_OPEN, (int)& g_Openparam );//这个可不用
339 g_result = musicpSendCommand(MC_LOAD, NULL);
340 CaltimeFlag = FALSE;//等待计时间
341 WaitForCaltimeCNT = 0;
342 SetFullInterface();
343 UpDisplayFlag=UpDisplayFlag & clr_musicBackGDPic ;
344 need_draw = TRUE;
\ 0429 ?0112:
345
346 //清除多出的HOLD消息,防止按键停了还跳几曲
347 while(ap_get_message() != 0);
\ 0429 CD0000 CALL LWRD ap_get_message
\ 042C B7 OR A
\ 042D 20FA JR NZ,?0112
\ 042F ?0113:
348 break;
\ 042F ?0111:
\ 042F 1875 JR ?0042
\ 0431 ?0114:
\ 0431 ?0116:
349
350 case AP_KEY_NEXT | AP_KEY_UP:
351 while(ap_get_message() != 0);
\ 0431 CD0000 CALL LWRD ap_get_message
\ 0434 B7 OR A
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?