📄 ui_play_menu.lst
字号:
393 list_playmenu.strid = music_list_string;
\ 0459 214800 LD HL,music_list_string
\ 045C 220400 LD (list_playmenu),HL
394 list_playmenu.total = sizeof(music_list_string)/2;
\ 045F 210500 LD HL,5
\ 0462 220600 LD (list_playmenu+2),HL
395 if(g_music_vars.file_list_type!=0xff)
\ 0465 3A5C00 LD A,(g_music_vars+92)
\ 0468 3C INC A
\ 0469 280B JR Z,?0081
\ 046B ?0080:
396 list_playmenu.active = g_music_vars.file_list_type;
\ 046B ED4B5C00 LD BC,(g_music_vars+92)
\ 046F 44 LD B,H
\ 0470 ED430800 LD (list_playmenu+4),BC
397 else
\ 0474 1804 JR ?0082
\ 0476 ?0081:
398 list_playmenu.active=0;
\ 0476 6C LD L,H
\ 0477 220800 LD (list_playmenu+4),HL
\ 047A ?0082:
399 list_playmenu.string_id = g_comval.langid;
\ 047A 3A0C00 LD A,(g_comval+12)
\ 047D 320C00 LD (list_playmenu+8),A
400 list_playmenu.headid=MPLAYLS;
\ 0480 219F01 LD HL,415
\ 0483 220A00 LD (list_playmenu+6),HL
401 result = ui_popup_list(&list_playmenu,NULL);
\ 0486 0E00 LD C,0
\ 0488 C5 PUSH BC
\ 0489 69 LD L,C
\ 048A 61 LD H,C
\ 048B E5 PUSH HL
\ 048C CD5E01 CALL LWRD ?0157
\ 048F F1 POP AF
\ 0490 F1 POP AF
402 if(result!=0)
\ 0491 7D LD A,L
\ 0492 B4 OR H
\ 0493 C25705 JP NZ,?0099
\ 0496 ?0083:
403 return result;
\ 0496 ?0084:
404
405 if((list_playmenu.active==4) || (g_file_list_total==0))
\ 0496 2A0800 LD HL,(list_playmenu+4)
\ 0499 3E04 LD A,4
\ 049B AD XOR L
\ 049C B4 OR H
\ 049D 287D JR Z,?0144
\ 049F 2A0000 LD HL,(g_file_list_total)
\ 04A2 7D LD A,L
\ 04A3 B4 OR H
\ 04A4 2876 JR Z,?0144
\ 04A6 ?0087:
\ 04A6 ?0088:
\ 04A6 ?0085:
406 return RESULT_IGNORE;
\ 04A6 ?0086:
407 //记录列表类型
408 IO27Bak = input8(0x27);
\ 04A6 DB27 IN A,(39)
\ 04A8 DD77DE LD (IX-34),A
409 output8(0x27,IO27Bak&0xfe); //关DSP中断
\ 04AB CB87 RES 0,A
\ 04AD D327 OUT (39),A
410 FS_Backup(Backbuf,FS_BACKUP_DIRINFO,0);//目录项备份
\ 04AF 69 LD L,C
\ 04B0 61 LD H,C
\ 04B1 E5 PUSH HL
\ 04B2 0E02 LD C,2
\ 04B4 2E06 LD L,6
\ 04B6 39 ADD HL,SP
\ 04B7 EB EX DE,HL
\ 04B8 CD0000 CALL LWRD FS_Backup
\ 04BB E1 POP HL
411 FS_CD(":"); //返回根目录查找列表
\ 04BC 110000 LD DE,?0089
\ 04BF CD0000 CALL LWRD FS_CD
412 switch(list_playmenu.active)
\ 04C2 ED5B0800 LD DE,(list_playmenu+4)
\ 04C6 CD0000 CALL LWRD ?S_S_SWITCH_L06
\ 04C9 0000 DEFW 0
\ 04CB 0400 DEFW 4
\ 04CD F704 DEFW ?0090
\ 04CF D704 DEFW ?0091
\ 04D1 DE04 DEFW ?0092
\ 04D3 E504 DEFW ?0093
\ 04D5 EC04 DEFW ?0094
\ 04D7 ?0091:
413 {
414 case 0:
415 list_fp = FS_FOpen(TIT2FileName,FS_OPEN_NORMAL);
\ 04D7 0E00 LD C,0
\ 04D9 115200 LD DE,TIT2FileName
\ 04DC 1813 JR ?0142
416 break;
\ 04DE ?0092:
417 case 1:
418 list_fp = FS_FOpen(TPE1FileName,FS_OPEN_NORMAL);
\ 04DE 0E00 LD C,0
\ 04E0 115E00 LD DE,TPE1FileName
\ 04E3 180C JR ?0142
419 break;
\ 04E5 ?0093:
420 case 2:
421 list_fp = FS_FOpen(TALBFileName,FS_OPEN_NORMAL);
\ 04E5 0E00 LD C,0
\ 04E7 116A00 LD DE,TALBFileName
\ 04EA 1805 JR ?0142
422 break;
\ 04EC ?0094:
423 case 3:
424 list_fp = FS_FOpen(FILENAMELSIT,FS_OPEN_NORMAL);
\ 04EC 0E00 LD C,0
\ 04EE 117600 LD DE,FILENAMELSIT
\ 04F1 ?0142:
\ 04F1 CD0000 CALL LWRD FS_FOpen
\ 04F4 220000 LD (list_fp),HL
425 break;
\ 04F7 ?0095:
426 default:
427 break;
\ 04F7 ?0090:
428 }
429 output8(0x27,IO27Bak);
\ 04F7 DD7EDE LD A,(IX-34)
\ 04FA D327 OUT (39),A
430 if(NULL==list_fp) //列表没找到
\ 04FC 2A0000 LD HL,(list_fp)
\ 04FF 7D LD A,L
\ 0500 B4 OR H
\ 0501 201E JR NZ,?0097
\ 0503 ?0096:
431 {
432 // FS_FClose(list_fp);
433 DisplayErrMsg(NOLIST);
\ 0503 11A101 LD DE,417
\ 0506 3E00 LD A,BYTE3 DisplayErrMsg
\ 0508 210000 LD HL,LWRD DisplayErrMsg
\ 050B CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
434 FS_Restore(Backbuf,FS_RESTORE_DIRINFO,0);//目录项恢复
\ 050E 210000 LD HL,0
\ 0511 E5 PUSH HL
\ 0512 0E02 LD C,2
\ 0514 2E06 LD L,6
\ 0516 39 ADD HL,SP
\ 0517 EB EX DE,HL
\ 0518 CD0000 CALL LWRD FS_Restore
\ 051B E1 POP HL
435 return RESULT_IGNORE;
\ 051C ?0144:
\ 051C 213400 LD HL,52
436 }
\ 051F 1836 JR ?0099
\ 0521 ?0097:
437 result = show_music_list(list_playmenu.active,music_list_string[list_playmenu.active]);
\ 0521 2A0800 LD HL,(list_playmenu+4)
\ 0524 29 ADD HL,HL
\ 0525 014800 LD BC,music_list_string
\ 0528 09 ADD HL,BC
\ 0529 4E LD C,(HL)
\ 052A 23 INC HL
\ 052B 46 LD B,(HL)
\ 052C ED5B0800 LD DE,(list_playmenu+4)
\ 0530 3E00 LD A,BYTE3 show_music_list
\ 0532 210000 LD HL,LWRD show_music_list
\ 0535 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0538 E5 PUSH HL
\ 0539 FDE1 POP IY
438 FS_Restore(Backbuf,FS_RESTORE_DIRINFO,0);//目录项恢复
\ 053B 010000 LD BC,0
\ 053E C5 PUSH BC
\ 053F 0E02 LD C,2
\ 0541 210600 LD HL,6
\ 0544 39 ADD HL,SP
\ 0545 EB EX DE,HL
\ 0546 CD0000 CALL LWRD FS_Restore
\ 0549 E1 POP HL
439 if(result==0)
\ 054A FDE5 PUSH IY
\ 054C E1 POP HL
\ 054D 7D LD A,L
\ 054E B4 OR H
\ 054F 2006 JR NZ,?0099
\ 0551 ?0098:
440 g_music_vars.file_list_type = list_playmenu.active;
\ 0551 3A0800 LD A,(list_playmenu+4)
\ 0554 325C00 LD (g_music_vars+92),A
\ 0557 ?0099:
441 return result;
442 }
\ 0557 ?0100:
\ 0557 FDE1 POP IY
\ 0559 C30000 JP LWRD ?BANK_LEAVE_DIRECT_L08
\ 055C ui_relpay_set_menu:
443 int ui_relpay_set_menu(void)
444 {
\ 055C CD0000 CALL LWRD ?ENT_AUTO_DIRECT_L09
\ 055F F4FF DEFW 65524
445 slider_t slider_playmenu;
446 list_playmenu.strid = replay_string;
\ 0561 214200 LD HL,replay_string
\ 0564 220400 LD (list_playmenu),HL
447 list_playmenu.total = 3;
\ 0567 210300 LD HL,3
\ 056A 220600 LD (list_playmenu+2),HL
448 list_playmenu.active = 0;
\ 056D 6C LD L,H
\ 056E 220800 LD (list_playmenu+4),HL
449 list_playmenu.string_id = g_comval.langid;
\ 0571 3A0C00 LD A,(g_comval+12)
\ 0574 320C00 LD (list_playmenu+8),A
450 list_playmenu.headid=SMAIN5;
\ 0577 21F501 LD HL,501
\ 057A 220A00 LD (list_playmenu+6),HL
451 g_result = ui_popup_list(&list_playmenu, srs_callback);
\ 057D 0E00 LD C,BYTE3 srs_callback
\ 057F C5 PUSH BC
\ 0580 210000 LD HL,LWRD srs_callback
\ 0583 E5 PUSH HL
\ 0584 CD5E01 CALL LWRD ?0157
\ 0587 F1 POP AF
\ 0588 F1 POP AF
\ 0589 220000 LD (g_result),HL
452 if (g_result == RESULT_IGNORE)return 0;
\ 058C 3E34 LD A,52
\ 058E AD XOR L
\ 058F B4 OR H
\ 0590 CA3606 JP Z,?0117
\ 0593 ?0101:
\ 0593 ?0102:
453 if (g_result != 0)return g_result;
\ 0593 7D LD A,L
\ 0594 B4 OR H
\ 0595 C23906 JP NZ,?0118
\ 0598 ?0103:
\ 0598 ?0104:
454 if(list_playmenu.active==0)
\ 0598 2A0800 LD HL,(list_playmenu+4)
\ 059B 7D LD A,L
\ 059C B4 OR H
\ 059D 2013 JR NZ,?0106
\ 059F ?0105:
455 {
456 if(musicpSendCommand(MC_SETA_B, ClrABPoint))
\ 059F 4F LD C,A
\ 05A0 47 LD B,A
\ 05A1 1E41 LD E,65
\ 05A3 CD4A04 CALL LWRD ?0158
\ 05A6 2C INC L
\ 05A7 2D DEC L
\ 05A8 2805 JR Z,?0108
\ 05AA ?0107:
457 RePlayStatus = WaitSetAPointForAB;
\ 05AA 3E01 LD A,1
\ 05AC 320000 LD (RePlayStatus),A
\ 05AF ?0108:
458 }
459 else
\ 05AF C33606 JP LWRD ?0117
\ 05B2 ?0106:
460 {
461 slider_playmenu.max = 10;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -