📄 ui_play.lst
字号:
\ 0467 D204 DEFW ?0084
\ 0469 E404 DEFW ?0088
\ 046B 9705 DEFW ?0118
\ 046D 6D05 DEFW ?0110
\ 046F CA05 DEFW ?0126
\ 0471 8304 DEFW ?0074
\ 0473 0D05 DEFW ?0092
\ 0475 2E05 DEFW ?0101
\ 0477 A504 DEFW ?0080
\ 0479 9C06 DEFW ?0160
\ 047B DC05 DEFW ?0129
\ 047D DC05 DEFW ?0129
\ 047F 9705 DEFW ?0118
\ 0481 6D05 DEFW ?0110
\ 0483 ?0073:
409 {
410 //overwrite this hotkey
411 case AP_MSG_STANDBY:
412 //do nothing
413
414 break;
\ 0483 ?0074:
415
416 case AP_KEY_MODE| AP_KEY_UP:
417 ///if( g_card_in_using == TRUE)
418 /// result = show_play_menu_card();
419 ///else
420 result = show_play_menu_flash();
\ 0483 3E00 LD A,BYTE3 show_play_menu_flash
\ 0485 214103 LD HL,LWRD show_play_menu_flash
\ 0488 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
421 if(result != 0) return result;
\ 048B 7D LD A,L
\ 048C B4 OR H
\ 048D C2D905 JP NZ,?0204
\ 0490 ?0075:
\ 0490 ?0076:
422
423 //check if changed to intro mode, handle current file
424 if(g_voice_vars.repeat_mode == FSEL_DIR_INTRO)
\ 0490 3A0300 LD A,(g_voice_vars+3)
\ 0493 FE06 CP 6
\ 0495 2007 JR NZ,?0078
\ 0497 ?0077:
425 {
426 intro_counter = 1;
\ 0497 DD36F401 LD (IX-12),1
\ 049B C38A06 JP LWRD ?0203
\ 049E ?0078:
427 }
428 else intro_counter = 0;
\ 049E DD36F400 LD (IX-12),0
\ 04A2 ?0079:
429
430 need_draw = TRUE;
\ 04A2 C38A06 JP LWRD ?0203
431 break;
\ 04A5 ?0080:
432
433
434 case AP_KEY_PLAY | AP_KEY_UP:
435 if(!play_pause)
\ 04A5 3A0100 LD A,(play_pause)
\ 04A8 B7 OR A
\ 04A9 2022 JR NZ,?0082
\ 04AB ?0081:
436 {
437 play_pause = TRUE;
\ 04AB 3E01 LD A,1
\ 04AD 320100 LD (play_pause),A
438 Cur_Status=2;
\ 04B0 3E02 LD A,2
\ 04B2 320000 LD (Cur_Status),A
439 main_ResShowPic(PAUSEICN,5,3);
\ 04B5 0E03 LD C,3
\ 04B7 C5 PUSH BC
\ 04B8 0E05 LD C,5
\ 04BA 11DE00 LD DE,222
\ 04BD CDCC02 CALL LWRD ?0227
\ 04C0 F1 POP AF
440
441 g_volcounter = 0;
\ 04C1 AF XOR A
\ 04C2 320200 LD (g_volcounter),A
442 g_rSetPlayStatus = TRUE;
\ 04C5 3E01 LD A,1
\ 04C7 320300 LD (g_rSetPlayStatus),A
443 }
444 else
\ 04CA C39C06 JP LWRD ?0160
\ 04CD ?0082:
445 {
446 voiceSendCommand(MC_PLAY, 0);
\ 04CD CD5A07 CALL LWRD ?0220
447 play_pause = FALSE;
448
449 //fade in on resume
450 fade_ok = fade_in(g_voice_vars.volume);
\ 04D0 1874 JR ?0214
\ 04D2 ?0083:
451 }
452 break;
\ 04D2 ?0084:
453
454
455 case AP_KEY_NEXT | AP_KEY_HOLD:
456 #ifndef __6KEYMODE__
457 if(g_volcounter>0)
458 {
459 g_volcounter = 6;
460
461 if(g_voice_vars.volume<31)
462 {
463 vol_callback(++g_voice_vars.volume);
464 ///-ui_show_vol(g_voice_vars.volume);
465 if(g_volcounter>0)
466 main_ResShowPic(VOL_00+g_voice_vars.volume,0,106);
467 }
468 }
469 else
470 #endif
471 {
472 if(is_ff_rw == 0)
\ 04D2 3A0000 LD A,(is_ff_rw)
\ 04D5 B7 OR A
\ 04D6 2022 JR NZ,?0090
\ 04D8 ?0085:
473 {
474 voiceSendCommand(MC_STEP, 4);
\ 04D8 010400 LD BC,4
\ 04DB 1E07 LD E,7
\ 04DD CD2500 CALL LWRD ?0221
475
476 is_ff_rw = 1;
\ 04E0 3E01 LD A,1
\ 04E2 1810 JR ?0210
477 }
478 else
\ 04E4 ?0086:
479 {
480 time_t time;
481
482 //get the playing time
483 voiceSendCommand(MC_GETTIME, (int)&time);
484
485 time_draw(&time, 1);
\ 04E4 ?0087:
486 }
487 }
488 break;
\ 04E4 ?0088:
489
490
491 case AP_KEY_PREV | AP_KEY_HOLD:
492 #ifndef __6KEYMODE__
493 if(g_volcounter>0)
494 {
495 g_volcounter = 6;
496
497 if(g_voice_vars.volume>0)
498 {
499 vol_callback(--g_voice_vars.volume);
500 ///-ui_show_vol(g_voice_vars.volume);
501 if(g_volcounter>0)
502 main_ResShowPic(VOL_00+g_voice_vars.volume,0,106);
503 }
504 }
505 else
506 #endif
507 {
508 if(is_ff_rw == 0)
\ 04E4 3A0000 LD A,(is_ff_rw)
\ 04E7 B7 OR A
\ 04E8 2010 JR NZ,?0090
\ 04EA ?0089:
509 {
510 voiceSendCommand(MC_STEP, -4);
\ 04EA 01FCFF LD BC,65532
\ 04ED 1E07 LD E,7
\ 04EF CD2500 CALL LWRD ?0221
511
512 is_ff_rw = 2;
\ 04F2 3E02 LD A,2
\ 04F4 ?0210:
\ 04F4 320000 LD (is_ff_rw),A
513 }
514 else
\ 04F7 C39C06 JP LWRD ?0160
\ 04FA ?0090:
515 {
516 time_t time;
517
518 //get the playing time
519 voiceSendCommand(MC_GETTIME, (int)&time);
\ 04FA 210600 LD HL,6
\ 04FD 39 ADD HL,SP
\ 04FE CD2100 CALL LWRD ?0222
520
521 time_draw(&time, 1);
\ 0501 0E01 LD C,1
\ 0503 210600 LD HL,6
\ 0506 39 ADD HL,SP
\ 0507 CD3803 CALL LWRD ?0225
\ 050A ?0091:
522 }
523 }
524 break;
\ 050A C39C06 JP LWRD ?0160
\ 050D ?0092:
\ 050D ?0094:
525
526
527 //when key release, restore normal play
528 case AP_KEY_NEXT | AP_KEY_UP:
529 while(ap_get_message()!=NULL); //clear rtc message.
\ 050D CD0000 CALL LWRD ap_get_message
\ 0510 B7 OR A
\ 0511 20FA JR NZ,?0092
\ 0513 ?0095:
530 #ifndef __6KEYMODE__
531 if(g_volcounter>0)
532 {
533 g_volcounter = 6;
534
535 if(g_voice_vars.volume<31)
536 {
537 vol_callback(++g_voice_vars.volume);
538 ///-ui_show_vol(g_voice_vars.volume);
539 if(g_volcounter>0)
540 main_ResShowPic(VOL_00+g_voice_vars.volume,0,106);
541 }
542 }
543 else
544 #endif
545 {
\ 0513 ?0093:
546 if(is_ff_rw != 0)
\ 0513 3A0000 LD A,(is_ff_rw)
\ 0516 B7 OR A
\ 0517 2021 JR NZ,?0218
\ 0519 ?0096:
547 {
548 voiceSendCommand(MC_STEP, 0);
549 is_ff_rw = 0;
550
551 fade_ok = fade_in(g_voice_vars.volume);
552 }
553 else
\ 0519 ?0097:
554 {
555 //next file
556 if(play_pause) return RESULT_NEXT_PAUSE;
\ 0519 3A0100 LD A,(play_pause)
\ 051C B7 OR A
\ 051D 2806 JR Z,?0100
\ 051F ?0099:
\ 051F 216C00 LD HL,108
557 else
\ 0522 C34E07 JP LWRD ?0180
\ 0525 ?0100:
558 {
559 fade_out(g_voice_vars.volume);
\ 0525 CD8507 CALL LWRD ?0230
560 return RESULT_NEXT;
\ 0528 216700 LD HL,103
561 }
\ 052B C34E07 JP LWRD ?0180
\ 052E ?0098:
562 }
563 }
564 break;
\ 052E ?0101:
\ 052E ?0103:
565
566
567 case AP_KEY_PREV | AP_KEY_UP:
568 while(ap_get_message()!=NULL); //clear rtc message.
\ 052E CD0000 CALL LWRD ap_get_message
\ 0531 B7 OR A
\ 0532 20FA JR NZ,?0101
\ 0534 ?0104:
569 #ifndef __6KEYMODE__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -