📄 ui_compare.lst
字号:
\ 01ED 3A0000 LD A,(need_draw)
\ 01F0 B7 OR A
\ 01F1 280A JR Z,?0033
\ 01F3 ?0032:
232 {
233 Show_time_FC(); //显示比特率
\ 01F3 CDB901 CALL LWRD ?0080
234 RefreshMainScreen();
\ 01F6 CDC101 CALL LWRD ?0081
235 need_draw = FALSE;
\ 01F9 AF XOR A
\ 01FA 320000 LD (need_draw),A
\ 01FD ?0033:
236 }
237
238 key = ap_get_message();
\ 01FD CD0000 CALL LWRD ap_get_message
\ 0200 4F LD C,A
\ 0201 0600 LD B,0
\ 0203 C5 PUSH BC
\ 0204 FDE1 POP IY
239
240 switch (key)
\ 0206 59 LD E,C
\ 0207 50 LD D,B
\ 0208 CD0000 CALL LWRD ?S_V_SWITCH_L06
\ 020B 0900 DEFW 9
\ 020D 0300 DEFW 3
\ 020F 0400 DEFW 4
\ 0211 1C00 DEFW 28
\ 0213 1D00 DEFW 29
\ 0215 2100 DEFW 33
\ 0217 2500 DEFW 37
\ 0219 2600 DEFW 38
\ 021B 3000 DEFW 48
\ 021D 3100 DEFW 49
\ 021F B302 DEFW ?0046
\ 0221 4902 DEFW ?0039
\ 0223 4E02 DEFW ?0040
\ 0225 4902 DEFW ?0039
\ 0227 5202 DEFW ?0041
\ 0229 3302 DEFW ?0036
\ 022B DE02 DEFW ?0034
\ 022D 6A02 DEFW ?0043
\ 022F 6002 DEFW ?0042
\ 0231 6002 DEFW ?0042
\ 0233 ?0035:
241 {
242 case AP_MSG_STANDBY:
243 break;
\ 0233 ?0036:
244
245 case AP_KEY_PLAY | AP_KEY_UP:
246 g_result = DealPlayKey();
\ 0233 3E00 LD A,BYTE3 DealPlayKey
\ 0235 210000 LD HL,LWRD DealPlayKey
\ 0238 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 023B 220000 LD (g_result),HL
247 if (g_result != 0)
\ 023E 7D LD A,L
\ 023F B4 OR H
\ 0240 C21C03 JP NZ,?0054
\ 0243 ?0037:
248 {
249 return g_result;
250 }
\ 0243 ?0038:
251 return RESULT_UI_STOP;
\ 0243 216600 LD HL,102
252
253 case AP_KEY_AB | AP_KEY_UP:
\ 0246 C31C03 JP LWRD ?0054
\ 0249 ?0039:
254 case AP_KEY_NEXT | AP_KEY_UP:
255 RePlayStatus = WaitSetAPointForAB;
\ 0249 3E01 LD A,1
\ 024B C31603 JP LWRD ?0065
256 return NULL;
257
258 case AP_KEY_MODE | AP_KEY_UP:
\ 024E ?0040:
259 //musicpSendCommand(MC_SETA_B,0);//clear_ab
260 RePlayStatus = NormalPlay;
\ 024E AF XOR A
\ 024F C31603 JP LWRD ?0065
261 return NULL;
262
263 case AP_KEY_PREV | AP_KEY_UP:
\ 0252 ?0041:
264 ReturnNotInit = TRUE; //要求退回跟读AB时不要初始化
\ 0252 3E01 LD A,1
\ 0254 320000 LD (ReturnNotInit),A
265 Replaytimes_CNT = 0; //重新开始计复读次数
\ 0257 AF XOR A
\ 0258 320000 LD (Replaytimes_CNT),A
266 RePlayStatus = FollowAB;
\ 025B 3E05 LD A,5
\ 025D C31603 JP LWRD ?0065
267 return NULL;
268
269 case AP_KEY_VOLSUB:
\ 0260 ?0042:
270 case AP_KEY_VOLADD:
271 ChangeVolume();
\ 0260 3E00 LD A,BYTE3 ChangeVolume
\ 0262 210000 LD HL,LWRD ChangeVolume
\ 0265 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
272 // SetFullInterface();
273 need_draw = TRUE;
\ 0268 1866 JR ?0068
274 break;
\ 026A ?0043:
275
276 case AP_MSG_RTC:
277
278 {
279 Full_time_t time_buf;
280 if(musicpSendCommand(MC_GETTIME, (int)& time_buf))
\ 026A 210C00 LD HL,12
\ 026D 39 ADD HL,SP
\ 026E 4D LD C,L
\ 026F 44 LD B,H
\ 0270 1E80 LD E,128
\ 0272 3E00 LD A,BYTE3 musicpSendCommand
\ 0274 210000 LD HL,LWRD musicpSendCommand
\ 0277 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 027A 2C INC L
\ 027B 2D DEC L
\ 027C 281D JR Z,?0045
\ 027E ?0044:
281 {
282 g_music_vars.BreakPTDisTime.hour = time_buf.TimeHour;
\ 027E DD7EFE LD A,(IX-2)
\ 0281 324B00 LD (g_music_vars+75),A
283 g_music_vars.BreakPTDisTime.minute = time_buf.TimeMinute;
\ 0284 DD7EFD LD A,(IX-3)
\ 0287 324C00 LD (g_music_vars+76),A
284 g_music_vars.BreakPTDisTime.second = time_buf.TimeSecond;
\ 028A DD46FC LD B,(IX-4)
\ 028D 78 LD A,B
\ 028E 324D00 LD (g_music_vars+77),A
285 ShowNowTime(TRUE);
\ 0291 1E01 LD E,1
\ 0293 3E00 LD A,BYTE3 ShowNowTime
\ 0295 210000 LD HL,LWRD ShowNowTime
\ 0298 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 029B ?0045:
286 }
287 ui_show_batt( GetBattery(), g_comval.BatteryType,0);
\ 029B 0E00 LD C,0
\ 029D C5 PUSH BC
\ 029E ED4B0F00 LD BC,(g_comval+15)
\ 02A2 CD0000 CALL LWRD GetBattery
\ 02A5 5F LD E,A
\ 02A6 1600 LD D,0
\ 02A8 3E00 LD A,BYTE3 ui_show_batt
\ 02AA 210000 LD HL,LWRD ui_show_batt
\ 02AD CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 02B0 E1 POP HL
288 break;
\ 02B1 182B JR ?0034
\ 02B3 ?0046:
289 }
290 // UpDisplayFlag = UpDisplayFlag | up_musiccurrenttime | up_musicbattery;
291 // need_draw = TRUE;
292 //break;
293
294 default:
295 key = ap_handle_hotkey(key);
\ 02B3 FDE5 PUSH IY
\ 02B5 E1 POP HL
\ 02B6 5D LD E,L
\ 02B7 CD0000 CALL LWRD ap_handle_hotkey
\ 02BA 4F LD C,A
\ 02BB C5 PUSH BC
\ 02BC FDE1 POP IY
296 if (key == RESULT_REDRAW)
\ 02BE 3E32 LD A,50
\ 02C0 A9 XOR C
\ 02C1 2014 JR NZ,?0048
\ 02C3 ?0047:
297 {
298 //ui_auto_update = TRUE;
299 SetFullInterface();
\ 02C3 320000 LD (ui_auto_update),A
\ 02C6 210000 LD HL,UpDisplayFlag
\ 02C9 7E LD A,(HL)
\ 02CA F6C1 OR 193
\ 02CC 77 LD (HL),A
\ 02CD 23 INC HL
\ 02CE 36FF LD (HL),255
300 need_draw = TRUE;
\ 02D0 ?0068:
\ 02D0 3E01 LD A,1
\ 02D2 320000 LD (need_draw),A
\ 02D5 1807 JR ?0034
\ 02D7 ?0048:
301 // return_to_play=1;
302 }
303 else if(key != 0) return key;
\ 02D7 FDE5 PUSH IY
\ 02D9 E1 POP HL
\ 02DA 7D LD A,L
\ 02DB B4 OR H
\ 02DC 203E JR NZ,?0054
\ 02DE ?0050:
304 break;
\ 02DE ?0051:
\ 02DE ?0049:
\ 02DE ?0034:
305 } //switch(key)
306
307 musicpSendCommand(MC_GETSTATUS, (int)& status_buf);
\ 02DE 210400 LD HL,4
\ 02E1 39 ADD HL,SP
\ 02E2 4D LD C,L
\ 02E3 44 LD B,H
\ 02E4 1E83 LD E,131
\ 02E6 3E00 LD A,BYTE3 musicpSendCommand
\ 02E8 210000 LD HL,LWRD musicpSendCommand
\ 02EB CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
308 if (status_buf.signal == SIGNAL_REACH_B)
\ 02EE DD46F3 LD B,(IX-13)
\ 02F1 05 DEC B
\ 02F2 05 DEC B
\ 02F3 202C JR NZ,?0053
\ 02F5 ?0052:
309 {
310 Show_time_FC(); //显示比特率
\ 02F5 CDB901 CALL LWRD ?0080
311 RefreshMainScreen();
\ 02F8 CDC101 CALL LWRD ?0081
312 need_draw = FALSE;
\ 02FB AF XOR A
\ 02FC 320000 LD (need_draw),A
313
314 musicpSendCommand(MC_STOP, NULL);
\ 02FF 48 LD C,B
\ 0300 1E06 LD E,6
\ 0302 3E00 LD A,BYTE3 musicpSendCommand
\ 0304 210000 LD HL,LWRD musicpSendCommand
\ 0307 CD9101 CALL LWRD ?0077
315 musicpSendCommand(MC_CLOSE, NULL);
\ 030A 1E02 LD E,2
\ 030C 3E00 LD A,BYTE3 musicpSendCommand
\ 030E 210000 LD HL,LWRD musicpSendCommand
\ 0311 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
316 RePlayStatus = ComparePlay;
\ 0314 3E06 LD A,6
\ 0316 ?0065:
\ 0316 320000 LD (RePlayStatus),A
317 return NULL;
\ 0319 210000 LD HL,0
318 }
\ 031C ?0054:
\ 031C FDE1 POP IY
\ 031E C30000 JP LWRD ?BANK_LEAVE_DIRECT_L08
\ 0321 ?0053:
319 } //while(1)
320 } //ui_compareAB
\ 0321 C3ED01 JP LWRD ?0030
\ 0000 RSEG CSTR
\ 0000 ?0005:
\ 0000 24245445 DEFB '$$TEMP$$WAV'
\ 0004 4D502424
\ 0008 574156
\ 000B 00 DEFB 0
\ 000C END
Errors: none
Warnings: none
Code size: 804
Constant size: 12
Static variable size: Data(0) Iram(0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -