ui_stop.lst
来自「炬力方案176*132软件源码,适用于AK1025」· LST 代码 · 共 1,317 行 · 第 1/5 页
LST
1,317 行
\ 0435 20FA JR NZ,?0114
\ 0437 ?0117:
352 break;
\ 0437 ?0115:
\ 0437 186D JR ?0042
\ 0439 ?0118:
353
354 case AP_KEY_NEXT:
355 case AP_KEY_NEXT | AP_KEY_HOLD:
356 musicpSendCommand(MC_CLOSE, NULL);
\ 0439 4F LD C,A
\ 043A 47 LD B,A
\ 043B 1E02 LD E,2
\ 043D CD5201 CALL LWRD ?0177
357 g_result = ChangeMusic(Music_Next, Stop_key);
\ 0440 0E00 LD C,0
\ 0442 1E03 LD E,3
\ 0444 CDD904 CALL LWRD ?0180
358 if(g_result==FALSE) //选择文件错误
\ 0447 2005 JR NZ,?0120
\ 0449 ?0119:
359 return g_result;
\ 0449 ?0172:
\ 0449 2A0000 LD HL,(g_result)
\ 044C 1853 JR ?0140
\ 044E ?0120:
360 GetInformation(); //取文件信息
\ 044E CD0101 CALL LWRD ?0175
361 musicpSendCommand(MC_OPEN, (int)& g_Openparam);
362 g_result = musicpSendCommand(MC_LOAD, NULL);
363 CaltimeFlag = FALSE;//等待计时间
364 WaitForCaltimeCNT = 0;
365
366 SetFullInterface();
367 UpDisplayFlag=UpDisplayFlag & clr_musicBackGDPic ;
368
369 need_draw = TRUE;
\ 0451 ?0122:
370 while(ap_get_message() != 0);
\ 0451 CD0000 CALL LWRD ap_get_message
\ 0454 B7 OR A
\ 0455 284F JR Z,?0042
\ 0457 ?0123:
371 break;
\ 0457 18F8 JR ?0122
\ 0459 ?0121:
\ 0459 ?0124:
372 /*
373 case AP_KEY_VOLSUB:
374 case AP_KEY_VOLADD:
375
376 slider.min = 0;
377 slider.max = 31;
378 slider.value = g_music_vars.volume;
379 slider.step = 1;
380 slider.title=CHANGEVO;
381 slider.string_id=g_comval.langid;
382 ui_auto_update = FALSE;
383
384 //在停止状态时调音量没必要实时改变IO号的值
385 g_result = ui_slider(& slider, NULL);
386
387 g_music_vars.volume = slider.value;//退出时再改变音量的值
388 ui_auto_update = TRUE;
389 if (g_result != 0)return g_result;
390 SetFullInterface();
391 need_draw = TRUE;
392 break;
393 */
394 case AP_MSG_SD_OUT:
395 if (g_music_vars.location.disk == 'H')
\ 0459 3A0700 LD A,(g_music_vars+7)
\ 045C FE48 CP 72
\ 045E 2046 JR NZ,?0042
\ 0460 ?0125:
396 {
397 g_music_vars.location.disk = 'C';
\ 0460 3E43 LD A,67
\ 0462 320700 LD (g_music_vars+7),A
398
399 DisplayErrMsg(CARDPULL);//显示卡拔出
\ 0465 118A01 LD DE,394
\ 0468 3E00 LD A,BYTE3 DisplayErrMsg
\ 046A 210000 LD HL,LWRD DisplayErrMsg
\ 046D CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
400 PlayStatus=StopSta;
\ 0470 AF XOR A
\ 0471 320000 LD (PlayStatus),A
401 return RESULT_CURR_UI;
\ 0474 ?0170:
\ 0474 210000 LD HL,0
402
403 }
\ 0477 1828 JR ?0140
\ 0479 ?0126:
404 break;
\ 0479 ?0127:
405
406 case AP_MSG_SD_IN:
407 break;
\ 0479 ?0128:
408
409
410 default:
411 key = ap_handle_hotkey(key);
\ 0479 CD0000 CALL LWRD ap_handle_hotkey
\ 047C DD77F9 LD (IX-7),A
412 if (key == RESULT_REDRAW)
\ 047F FE32 CP 50
\ 0481 2015 JR NZ,?0130
\ 0483 ?0129:
413 {
414 SetFullInterface();
\ 0483 ?0174:
\ 0483 AF XOR A
\ 0484 320000 LD (ui_auto_update),A
\ 0487 210000 LD HL,UpDisplayFlag
\ 048A 7E LD A,(HL)
\ 048B F6C1 OR 193
\ 048D 77 LD (HL),A
\ 048E 23 INC HL
\ 048F 36FF LD (HL),255
415 need_draw = TRUE;
\ 0491 3E01 LD A,1
\ 0493 320000 LD (need_draw),A
\ 0496 180E JR ?0042
\ 0498 ?0130:
416 }
417 else if (key != 0)
\ 0498 AF XOR A
\ 0499 DDB6F9 OR (IX-7)
\ 049C 2808 JR Z,?0042
\ 049E ?0132:
418 {
419 return key;
\ 049E 6F LD L,A
\ 049F 2600 LD H,0
420 }
\ 04A1 ?0140:
\ 04A1 FDE1 POP IY
\ 04A3 C30000 JP LWRD ?BANK_LEAVE_DIRECT_L08
\ 04A6 ?0133:
\ 04A6 ?0131:
421 break;
\ 04A6 ?0042:
422 } //switch(key)
423 if (g_ScrollFlag)
\ 04A6 3A0000 LD A,(g_ScrollFlag)
\ 04A9 B7 OR A
\ 04AA 280E JR Z,?0135
\ 04AC ?0134:
424 {
425 g_ScrollFlag = FALSE;
\ 04AC AF XOR A
\ 04AD 320000 LD (g_ScrollFlag),A
426 UpDisplayFlag = UpDisplayFlag | up_musicbattery;
\ 04B0 210000 LD HL,UpDisplayFlag
\ 04B3 CBFE SET 7,(HL)
427 need_draw = TRUE;
\ 04B5 3E01 LD A,1
\ 04B7 320000 LD (need_draw),A
\ 04BA ?0135:
428 }
429 if ((!CaltimeFlag)) // && (WaitForCaltimeCNT >= CaltimeCNT_def))
\ 04BA 3A0100 LD A,(CaltimeFlag)
\ 04BD B7 OR A
\ 04BE 2016 JR NZ,?0139
\ 04C0 ?0136:
430 {
431 musicpSendCommand(MC_CALTIME, NULL);
\ 04C0 CD4E01 CALL LWRD ?0179
432 if(PlayStatus!=PauseSta)
\ 04C3 3A0000 LD A,(PlayStatus)
\ 04C6 3D DEC A
\ 04C7 280D JR Z,?0139
\ 04C9 ?0138:
433 {
434 UpDisplayFlag = UpDisplayFlag | up_musiccurrenttime | up_musicbitrate|up_musictotaltime;
\ 04C9 210000 LD HL,UpDisplayFlag
\ 04CC 23 INC HL
\ 04CD 7E LD A,(HL)
\ 04CE F623 OR 35
\ 04D0 77 LD (HL),A
435 need_draw = TRUE;
\ 04D1 3E01 LD A,1
\ 04D3 320000 LD (need_draw),A
\ 04D6 ?0139:
\ 04D6 ?0137:
436 }
437 }
438
439 } //while(1)
440 }
\ 04D6 C39401 JP LWRD ?0028
\ 04D9 ?0180:
\ 04D9 3E00 LD A,BYTE3 ChangeMusic
\ 04DB 210000 LD HL,LWRD ChangeMusic
\ 04DE CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 04E1 2600 LD H,0
\ 04E3 220000 LD (g_result),HL
\ 04E6 7D LD A,L
\ 04E7 B7 OR A
\ 04E8 C9 RET
\ 04E9 FadeOut:
441
442 void FadeOut( bool DisMod )
443 {
\ 04E9 CD0000 CALL LWRD ?ENT_AUTO_DIRECT_L09
\ 04EC F6FF DEFW 65526
\ 04EE ?0142:
444 #ifdef OPT_Sup_FadeOut_fun
445 music_play_status_t status_buf;
446
447 while (1)
448 {
449 bool RESULT;
450
451
452 RESULT = musicpSendCommand(MC_FADEINOUT, FadeOut_def);
\ 04EE 010200 LD BC,2
\ 04F1 1E0D LD E,13
\ 04F3 CD5201 CALL LWRD ?0177
453 if (RESULT)
\ 04F6 2C INC L
\ 04F7 2D DEC L
\ 04F8 2043 JR NZ,?0141
\ 04FA ?0144:
454 {
455 break;
\ 04FA ?0145:
456 }
457
458 output8(REG4E_RTC_WATCH_DOG, input8(REG4E_RTC_WATCH_DOG) | 0x08);
\ 04FA DB4E IN A,(78)
\ 04FC CBDF SET 3,A
\ 04FE D34E OUT (78),A
459
460 if ( DisMod )
\ 0500 AF XOR A
\ 0501 DDB602 OR (IX+2)
\ 0504 2808 JR Z,?0147
\ 0506 ?0146:
461 {
462 RealDisplay();
\ 0506 3E00 LD A,BYTE3 RealDisplay
\ 0508 210000 LD HL,LWRD RealDisplay
\ 050B CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 050E ?0147:
463 }
464 musicpSendCommand(MC_GETSTATUS, (int)(& status_buf));
\ 050E 210000 LD HL,0
\ 0511 39 ADD HL,SP
\ 0512 4D LD C,L
\ 0513 44 LD B,H
\ 0514 1E83 LD E,131
\ 0516 CD5201 CALL LWRD ?0177
465 if ((status_buf.status == PLAYING_REACH_END)
466 || (status_buf.status == PLAYING_REACH_HEAD))
\ 0519 DD7EF6 LD A,(IX-10)
\ 051C FE06 CP 6
\ 051E 281D
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?