📄 ui_follow.lst
字号:
\ 0332 F8FF DEFW -8
\ 0334 FDE5 PUSH IY
341 int key;
342
343 wma_play_status_t status_buf;
344
345 if (!ReturnNotInit)
\ 0336 3A0000 LD A,(ReturnNotInit)
\ 0339 B7 OR A
\ 033A 2008 JR NZ,?0054
\ 033C ?0053:
346 {
347 OpenMusic();
\ 033C 3E00 LD A,BYTE3 OpenMusic
\ 033E 210000 LD HL,LWRD OpenMusic
\ 0341 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0344 ?0054:
348 }
349 ReturnNotInit = FALSE;
\ 0344 AF XOR A
\ 0345 320000 LD (ReturnNotInit),A
350 UpDisplayFlag = UpDisplayFlag | up_MPRLmode;
\ 0348 210000 LD HL,UpDisplayFlag
\ 034B 23 INC HL
\ 034C CBDE SET 3,(HL)
351 need_draw = TRUE;
\ 034E 3E01 LD A,1
\ 0350 320000 LD (need_draw),A
\ 0353 ?0056:
352
353 while (1)
354 {
355 if (need_draw)
\ 0353 3A0000 LD A,(need_draw)
\ 0356 B7 OR A
\ 0357 2814 JR Z,?0059
\ 0359 ?0058:
356 {
357 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
358 RefreshMainScreen();
\ 0361 3E00 LD A,BYTE3 RefreshMainScreen
\ 0363 210000 LD HL,LWRD RefreshMainScreen
\ 0366 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
359 need_draw = FALSE;
\ 0369 AF XOR A
\ 036A 320000 LD (need_draw),A
\ 036D ?0059:
360 }
361
362 key = ap_get_message();
\ 036D CD1403 CALL LWRD ?0139
363
364 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 FF03 DEFW ?0070
\ 0389 B103 DEFW ?0065
\ 038B BB03 DEFW ?0066
\ 038D B103 DEFW ?0065
\ 038F BF03 DEFW ?0067
\ 0391 9B03 DEFW ?0062
\ 0393 2204 DEFW ?0060
\ 0395 D003 DEFW ?0069
\ 0397 C403 DEFW ?0068
\ 0399 C403 DEFW ?0068
\ 039B ?0061:
365 {
366 case AP_MSG_STANDBY:
367 break;
\ 039B ?0062:
368
369 case AP_KEY_PLAY | AP_KEY_UP:
370 g_result = DealPlayKey();
\ 039B 3E00 LD A,BYTE3 DealPlayKey
\ 039D 210000 LD HL,LWRD DealPlayKey
\ 03A0 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 03A3 220000 LD (g_result),HL
371 if (g_result != 0)
\ 03A6 7D LD A,L
\ 03A7 B4 OR H
\ 03A8 C26D04 JP NZ,?0078
\ 03AB ?0063:
372 {
373 return g_result;
374 }
\ 03AB ?0064:
375 return RESULT_UI_STOP;
\ 03AB 216600 LD HL,102
376
377 case AP_KEY_AB | AP_KEY_UP:
\ 03AE C36D04 JP LWRD ?0078
\ 03B1 ?0065:
378 case AP_KEY_NEXT | AP_KEY_UP:
379 ReturnNotInit = TRUE; //要求进入比较AB时不要初始化
\ 03B1 3E01 LD A,1
\ 03B3 320000 LD (ReturnNotInit),A
380 RePlayStatus = CompareAB;
\ 03B6 3E07 LD A,7
\ 03B8 C36704 JP LWRD ?0125
381 return NULL;
382
383 case AP_KEY_MODE | AP_KEY_UP:
\ 03BB ?0066:
384 RePlayStatus = NormalPlay;
\ 03BB AF XOR A
\ 03BC C36704 JP LWRD ?0125
385 return NULL;
386
387 case AP_KEY_PREV | AP_KEY_UP:
\ 03BF ?0067:
388 RePlayStatus = ABLoopPlay;
\ 03BF 3E03 LD A,3
\ 03C1 C36704 JP LWRD ?0125
389 return NULL;
390
391 case AP_KEY_VOLSUB:
\ 03C4 ?0068:
392 case AP_KEY_VOLADD:
393 ChangeVolume();
\ 03C4 3E00 LD A,BYTE3 ChangeVolume
\ 03C6 210000 LD HL,LWRD ChangeVolume
\ 03C9 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
394 //SetFullInterface();
395 need_draw = TRUE;
\ 03CC 3E01 LD A,1
\ 03CE 1846 JR ?0128
396 break;
\ 03D0 ?0069:
397
398 case AP_MSG_RTC:
399 UpDisplayFlag = UpDisplayFlag | up_musiccurrenttime ;
\ 03D0 210000 LD HL,UpDisplayFlag
\ 03D3 23 INC HL
\ 03D4 CBCE SET 1,(HL)
400 Show_time_FC(); //显示比特率
\ 03D6 3E00 LD A,BYTE3 Show_time_FC
\ 03D8 210000 LD HL,LWRD Show_time_FC
\ 03DB CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
401 ShowNowTime(TRUE);
\ 03DE 1E01 LD E,1
\ 03E0 3E00 LD A,BYTE3 ShowNowTime
\ 03E2 210000 LD HL,LWRD ShowNowTime
\ 03E5 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
402 ui_show_batt( GetBattery(), g_comval.BatteryType,0);//need_draw = TRUE;
\ 03E8 48 LD C,B
\ 03E9 C5 PUSH BC
\ 03EA ED4B0F00 LD BC,(g_comval+15)
\ 03EE CD0000 CALL LWRD GetBattery
\ 03F1 5F LD E,A
\ 03F2 1600 LD D,0
\ 03F4 3E00 LD A,BYTE3 ui_show_batt
\ 03F6 210000 LD HL,LWRD ui_show_batt
\ 03F9 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 03FC E1 POP HL
403 break;
\ 03FD 1823 JR ?0060
\ 03FF ?0070:
404
405 default:
406 key = ap_handle_hotkey(key);
\ 03FF CD2003 CALL LWRD ?0140
407 if (key == RESULT_REDRAW)
\ 0402 2017 JR NZ,?0072
\ 0404 ?0071:
408 {
409 SetFullInterface();
\ 0404 320000 LD (ui_auto_update),A
\ 0407 210000 LD HL,UpDisplayFlag
\ 040A 7E LD A,(HL)
\ 040B F6C1 OR 193
\ 040D 77 LD (HL),A
\ 040E 23 INC HL
\ 040F 36FF LD (HL),255
410 return_to_play=1;
\ 0411 3E01 LD A,1
\ 0413 320000 LD (return_to_play),A
411 need_draw = TRUE;
\ 0416 ?0128:
\ 0416 320000 LD (need_draw),A
\ 0419 1807 JR ?0060
\ 041B ?0072:
412 }
413 else if(key != 0)
\ 041B FDE5 PUSH IY
\ 041D E1 POP HL
\ 041E 7D LD A,L
\ 041F B4 OR H
\ 0420 204B JR NZ,?0078
\ 0422 ?0074:
414 {
415 return key;
416 }
\ 0422 ?0075:
\ 0422 ?0073:
417 break;
\ 0422 ?0060:
418 }
419
420 musicpSendCommand(MC_GETSTATUS, (int)& status_buf);
\ 0422 210200 LD HL,2
\ 0425 39 ADD HL,SP
\ 0426 4D LD C,L
\ 0427 44 LD B,H
\ 0428 1E83 LD E,131
\ 042A 3E00 LD A,BYTE3 musicpSendCommand
\ 042C 210000 LD HL,LWRD musicpSendCommand
\ 042F CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
421 if (status_buf.signal == SIGNAL_REACH_B)
\ 0432 DD46F9 LD B,(IX-7)
\ 0435 05 DEC B
\ 0436 05 DEC B
\ 0437 2039 JR NZ,?0077
\ 0439 ?0076:
422 {
423 Show_time_FC(); //显示比特率
\ 0439 3E00 LD A,BYTE3 Show_time_FC
\ 043B 210000 LD HL,LWRD Show_time_FC
\ 043E CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
424 RefreshMainScreen();
\ 0441 3E00 LD A,BYTE3 RefreshMainScreen
\ 0443 210000 LD HL,LWRD RefreshMainScreen
\ 0446 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
425 need_draw = FALSE;
\ 0449 AF XOR A
\ 044A 320000 LD (need_draw),A
426
427 musicpSendCommand(MC_STOP, NULL);
\ 044D 48 LD C,B
\ 044E 1E06 LD E,6
\ 0450 3E00 LD A,BYTE3 musicpSendCommand
\ 0452 210000 LD HL,LWRD musicpSendCommand
\ 0455 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
428 musicpSendCommand(MC_CLOSE, NULL);
\ 0458 010000 LD BC,0
\ 045B 1E02 LD E,2
\ 045D 3E00 LD A,BYTE3 musicpSendCommand
\ 045F 210000 LD HL,LWRD musicpSendCommand
\ 0462 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
429 RePlayStatus = FollowRec;
\ 0465 3E04 LD A,4
\ 0467 ?0125:
\ 0467 320000 LD (RePlayStatus),A
430 return NULL;
\ 046A 210000 LD HL,0
431 }
\ 046D ?0078:
\ 046D FDE1 POP IY
\ 046F C30000 JP LWRD ?BANK_LEAVE_DIRECT_L08
\ 0472 ?0077:
432 }
433 }
\ 0472 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: 1141
Constant size: 12
Static variable size: Data(0) Iram(0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -