ui_follow.lst
来自「炬力方案176*132软件源码,适用于AK1025」· LST 代码 · 共 1,135 行 · 第 1/4 页
LST
1,135 行
346 wma_play_status_t status_buf;
347
348 if (!ReturnNotInit)
\ 0336 3A0000 LD A,(ReturnNotInit)
\ 0339 B7 OR A
\ 033A 2008 JR NZ,?0054
\ 033C ?0053:
349 {
350 OpenMusic();
\ 033C 3E00 LD A,BYTE3 OpenMusic
\ 033E 210000 LD HL,LWRD OpenMusic
\ 0341 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0344 ?0054:
351 }
352 ReturnNotInit = FALSE;
\ 0344 AF XOR A
\ 0345 320000 LD (ReturnNotInit),A
353 UpDisplayFlag = UpDisplayFlag | up_MPRLmode;
\ 0348 210000 LD HL,UpDisplayFlag
\ 034B 23 INC HL
\ 034C CBDE SET 3,(HL)
354 need_draw = TRUE;
\ 034E 3E01 LD A,1
\ 0350 320000 LD (need_draw),A
\ 0353 ?0056:
355
356 while (1)
357 {
358 if (need_draw)
\ 0353 3A0000 LD A,(need_draw)
\ 0356 B7 OR A
\ 0357 2814 JR Z,?0059
\ 0359 ?0058:
359 {
360 Show_time_FC(); //显示比特率
\ 0359 3E00 LD A,BYTE3 Show_time_FC
\ 035B 210000 LD HL,LWRD Show_time_FC
\ 035E CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
361 RefreshMainScreen();
\ 0361 3E00 LD A,BYTE3 RefreshMainScreen
\ 0363 210000 LD HL,LWRD RefreshMainScreen
\ 0366 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
362 need_draw = FALSE;
\ 0369 AF XOR A
\ 036A 320000 LD (need_draw),A
\ 036D ?0059:
363 }
364
365 key = ap_get_message();
\ 036D CD1403 CALL LWRD ?0139
366
367 switch (key)
\ 0370 CD0000 CALL LWRD ?S_V_SWITCH_L06
\ 0373 0900 DEFW 9
\ 0375 0300 DEFW 3
\ 0377 0400 DEFW 4
\ 0379 1C00 DEFW 28
\ 037B 1D00 DEFW 29
\ 037D 2100 DEFW 33
\ 037F 2500 DEFW 37
\ 0381 2600 DEFW 38
\ 0383 3000 DEFW 48
\ 0385 3100 DEFW 49
\ 0387 0804 DEFW ?0070
\ 0389 BA03 DEFW ?0065
\ 038B C403 DEFW ?0066
\ 038D BA03 DEFW ?0065
\ 038F C803 DEFW ?0067
\ 0391 9B03 DEFW ?0062
\ 0393 2B04 DEFW ?0060
\ 0395 D903 DEFW ?0069
\ 0397 CD03 DEFW ?0068
\ 0399 CD03 DEFW ?0068
\ 039B ?0061:
368 {
369 case AP_MSG_STANDBY:
370 break;
\ 039B ?0062:
371
372 case AP_KEY_PLAY | AP_KEY_UP:
373 { //Jerry Xie Add for test
374 g_volcounter = 0;
\ 039B AF XOR A
\ 039C 320000 LD (g_volcounter),A
375 g_rSetPlayStatus = TRUE;
\ 039F 3E01 LD A,1
\ 03A1 320000 LD (g_rSetPlayStatus),A
376 }
377 g_result = DealPlayKey();
\ 03A4 3E00 LD A,BYTE3 DealPlayKey
\ 03A6 210000 LD HL,LWRD DealPlayKey
\ 03A9 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 03AC 220000 LD (g_result),HL
378 if (g_result != 0)
\ 03AF 7D LD A,L
\ 03B0 B4 OR H
\ 03B1 C27604 JP NZ,?0078
\ 03B4 ?0063:
379 {
380 return g_result;
381 }
\ 03B4 ?0064:
382 return RESULT_UI_STOP;
\ 03B4 216600 LD HL,102
383
384 case AP_KEY_AB | AP_KEY_UP:
\ 03B7 C37604 JP LWRD ?0078
\ 03BA ?0065:
385 case AP_KEY_NEXT | AP_KEY_UP:
386 ReturnNotInit = TRUE; //要求进入比较AB时不要初始化
\ 03BA 3E01 LD A,1
\ 03BC 320000 LD (ReturnNotInit),A
387 RePlayStatus = CompareAB;
\ 03BF 3E07 LD A,7
\ 03C1 C37004 JP LWRD ?0125
388 return NULL;
389
390 case AP_KEY_MODE | AP_KEY_UP:
\ 03C4 ?0066:
391 RePlayStatus = NormalPlay;
\ 03C4 AF XOR A
\ 03C5 C37004 JP LWRD ?0125
392 return NULL;
393
394 case AP_KEY_PREV | AP_KEY_UP:
\ 03C8 ?0067:
395 RePlayStatus = ABLoopPlay;
\ 03C8 3E03 LD A,3
\ 03CA C37004 JP LWRD ?0125
396 return NULL;
397
398 case AP_KEY_VOLSUB:
\ 03CD ?0068:
399 case AP_KEY_VOLADD:
400 ChangeVolume();
\ 03CD 3E00 LD A,BYTE3 ChangeVolume
\ 03CF 210000 LD HL,LWRD ChangeVolume
\ 03D2 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
401 //SetFullInterface();
402 need_draw = TRUE;
\ 03D5 3E01 LD A,1
\ 03D7 1846 JR ?0128
403 break;
\ 03D9 ?0069:
404
405 case AP_MSG_RTC:
406 UpDisplayFlag = UpDisplayFlag | up_musiccurrenttime ;
\ 03D9 210000 LD HL,UpDisplayFlag
\ 03DC 23 INC HL
\ 03DD CBCE SET 1,(HL)
407 Show_time_FC(); //显示比特率
\ 03DF 3E00 LD A,BYTE3 Show_time_FC
\ 03E1 210000 LD HL,LWRD Show_time_FC
\ 03E4 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
408 ShowNowTime(TRUE);
\ 03E7 1E01 LD E,1
\ 03E9 3E00 LD A,BYTE3 ShowNowTime
\ 03EB 210000 LD HL,LWRD ShowNowTime
\ 03EE CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
409 ui_show_batt( GetBattery(), g_comval.BatteryType,0);//need_draw = TRUE;
\ 03F1 48 LD C,B
\ 03F2 C5 PUSH BC
\ 03F3 ED4B0F00 LD BC,(g_comval+15)
\ 03F7 CD0000 CALL LWRD GetBattery
\ 03FA 5F LD E,A
\ 03FB 1600 LD D,0
\ 03FD 3E00 LD A,BYTE3 ui_show_batt
\ 03FF 210000 LD HL,LWRD ui_show_batt
\ 0402 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0405 E1 POP HL
410 break;
\ 0406 1823 JR ?0060
\ 0408 ?0070:
411
412 default:
413 key = ap_handle_hotkey(key);
\ 0408 CD2003 CALL LWRD ?0140
414 if (key == RESULT_REDRAW)
\ 040B 2017 JR NZ,?0072
\ 040D ?0071:
415 {
416 SetFullInterface();
\ 040D 320000 LD (ui_auto_update),A
\ 0410 210000 LD HL,UpDisplayFlag
\ 0413 7E LD A,(HL)
\ 0414 F6C1 OR 193
\ 0416 77 LD (HL),A
\ 0417 23 INC HL
\ 0418 36FF LD (HL),255
417 return_to_play=1;
\ 041A 3E01 LD A,1
\ 041C 320000 LD (return_to_play),A
418 need_draw = TRUE;
\ 041F ?0128:
\ 041F 320000 LD (need_draw),A
\ 0422 1807 JR ?0060
\ 0424 ?0072:
419 }
420 else if(key != 0)
\ 0424 FDE5 PUSH IY
\ 0426 E1 POP HL
\ 0427 7D LD A,L
\ 0428 B4 OR H
\ 0429 204B JR NZ,?0078
\ 042B ?0074:
421 {
422 return key;
423 }
\ 042B ?0075:
\ 042B ?0073:
424 break;
\ 042B ?0060:
425 }
426
427 musicpSendCommand(MC_GETSTATUS, (int)& status_buf);
\ 042B 210200 LD HL,2
\ 042E 39 ADD HL,SP
\ 042F 4D LD C,L
\ 0430 44 LD B,H
\ 0431 1E83 LD E,131
\ 0433 3E00 LD A,BYTE3 musicpSendCommand
\ 0435 210000 LD HL,LWRD musicpSendCommand
\ 0438 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
428 if (status_buf.signal == SIGNAL_REACH_B)
\ 043B DD46F9 LD B,(IX-7)
\ 043E 05 DEC B
\ 043F 05 DEC B
\ 0440 2039 JR NZ,?0077
\ 0442 ?0076:
429 {
430 Show_time_FC(); //显示比特率
\ 0442 3E00 LD A,BYTE3 Show_time_FC
\ 0444 210000 LD HL,LWRD Show_time_FC
\ 0447 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
431 RefreshMainScreen();
\ 044A 3E00 LD A,BYTE3 RefreshMainScreen
\ 044C 210000 LD HL,LWRD RefreshMainScreen
\ 044F CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
432 need_draw = FALSE;
\ 0452 AF XOR A
\ 0453 320000 LD (need_draw),A
433
434 musicpSendCommand(MC_STOP, NULL);
\ 0456 48 LD C,B
\ 0457 1E06 LD E,6
\ 0459 3E00 LD A,BYTE3 musicpSendCommand
\ 045B 210000 LD HL,LWRD musicpSendCommand
\ 045E CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
435 musicpSendCommand(MC_CLOSE, NULL);
\ 0461 010000 LD BC,0
\ 0464 1E02 LD E,2
\ 0466 3E00 LD A,BYTE3 musicpSendCommand
\ 0468 210000 LD HL,LWRD musicpSendCommand
\ 046B CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
436 RePlayStatus = FollowRec;
\ 046E 3E04 LD A,4
\ 0470 ?0125:
\ 0470 320000 LD (RePlayStatus),A
437 return NULL;
\ 0473 210000 LD HL,0
438 }
\ 0476 ?0078:
\ 0476 FDE1 POP IY
\ 0478 C30000 JP LWRD ?BANK_LEAVE_DIRECT_L08
\ 047B ?0077:
439 }
440 }
\ 047B C35303 JP LWRD ?0056
\ 0000 RSEG CSTR
\ 0000 ?0004:
\ 0000 24245445 DEFB '$$TEMP$$WAV'
\ 0004 4D502424
\ 0008 574156
\ 000B 00 DEFB 0
\ 000C END
Errors: none
Warnings: none
Code size: 1150
Constant size: 12
Static variable size: Data(0) Iram(0)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?