ui_stop.lst
来自「炬力方案176*132软件源码,适用于AK1025」· LST 代码 · 共 1,055 行 · 第 1/4 页
LST
1,055 行
\ 030F 4F LD C,A
\ 0310 1E03 LD E,3
276 GetInformation(); //取文件信息
\ 0312 CD4E01 CALL LWRD ?0127
277 g_result = ChangeMusic(Music_Next, Stop_key);
\ 0315 0E00 LD C,0
\ 0317 1E03 LD E,3
\ 0319 3E00 LD A,BYTE3 ChangeMusic
\ 031B 210000 LD HL,LWRD ChangeMusic
\ 031E CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0321 2600 LD H,0
\ 0323 220000 LD (g_result),HL
278 GetInformation(); //取文件信息
\ 0326 CD3401 CALL LWRD ?0124
279 memcpy(g_TagInfoBuf1, g_TagInfoBuf, 20);
280 //g_TagInfoBuf1[18]=0;
281 g_TagInfoBuf1[20]=0;
282 g_result = ChangeMusic(Music_Prev, Stop_key);
283 GetInformation(); //取文件信息
\ 0329 CD4C01 CALL LWRD ?0126
284 need_draw = TRUE;
\ 032C 3E01 LD A,1
\ 032E 320000 LD (need_draw),A
\ 0331 ?0069:
285 }
286 while(ap_get_message() != 0);
\ 0331 CD0000 CALL LWRD ap_get_message
\ 0334 B7 OR A
\ 0335 CA9A01 JP Z,?0025
\ 0338 ?0070:
287 break;
\ 0338 18F7 JR ?0069
\ 033A ?0068:
\ 033A ?0071:
288
289 #ifdef __6KEYMODE__
290 case AP_KEY_VOLSUB:
291 case AP_KEY_VOLSUB | AP_KEY_HOLD:
292 if(g_volcounter>0)
\ 033A 3A0100 LD A,(g_volcounter)
\ 033D B7 OR A
\ 033E 3E06 LD A,6
\ 0340 320100 LD (g_volcounter),A
\ 0343 283E JR Z,?0079
\ 0345 ?0072:
293 {
294 g_volcounter = 6;
295
296 if(g_amv_vars.volume>0)
\ 0345 3A0200 LD A,(g_amv_vars+2)
\ 0348 B7 OR A
\ 0349 CA9A01 JP Z,?0025
\ 034C ?0074:
297 {
298 vol_callback(--g_amv_vars.volume);
\ 034C 210200 LD HL,g_amv_vars+2
\ 034F 35 DEC (HL)
\ 0350 1817 JR ?0119
299 ui_show_vol(g_amv_vars.volume);
\ 0352 ?0075:
300 }
301 }
302 else
\ 0352 ?0073:
303 {
304 g_volcounter = 6;
305 main_ResShowPic(VOL_00+g_amv_vars.volume,0,106);
\ 0352 ?0076:
306 }
307 break;
\ 0352 ?0077:
308 case AP_KEY_VOLADD:
309 case AP_KEY_VOLADD | AP_KEY_HOLD:
310 if(g_volcounter>0)
\ 0352 3A0100 LD A,(g_volcounter)
\ 0355 B7 OR A
\ 0356 3E06 LD A,6
\ 0358 320100 LD (g_volcounter),A
\ 035B 2826 JR Z,?0079
\ 035D ?0078:
311 {
312 g_volcounter = 6;
313
314 if(g_amv_vars.volume<31)
\ 035D 3A0200 LD A,(g_amv_vars+2)
\ 0360 FE1F CP 31
\ 0362 D29A01 JP NC,?0025
\ 0365 ?0080:
315 {
316 vol_callback(++g_amv_vars.volume);
\ 0365 210200 LD HL,g_amv_vars+2
\ 0368 34 INC (HL)
\ 0369 ?0119:
\ 0369 5E LD E,(HL)
\ 036A 1600 LD D,0
\ 036C 3E00 LD A,BYTE3 vol_callback
\ 036E 210000 LD HL,LWRD vol_callback
\ 0371 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
317 ui_show_vol(g_amv_vars.volume);
\ 0374 ED5B0200 LD DE,(g_amv_vars+2)
\ 0378 3E00 LD A,BYTE3 ui_show_vol
\ 037A 210000 LD HL,LWRD ui_show_vol
\ 037D CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0380 ?0081:
318 }
319 }
320 else
\ 0380 C39A01 JP LWRD ?0025
\ 0383 ?0079:
321 {
322 g_volcounter = 6;
323 main_ResShowPic(VOL_00+g_amv_vars.volume,0,106);
\ 0383 0E6A LD C,106
\ 0385 C5 PUSH BC
\ 0386 0E00 LD C,0
\ 0388 ED5B0200 LD DE,(g_amv_vars+2)
\ 038C 51 LD D,C
\ 038D 211901 LD HL,281
\ 0390 19 ADD HL,DE
\ 0391 EB EX DE,HL
\ 0392 3E00 LD A,BYTE3 main_ResShowPic
\ 0394 210000 LD HL,LWRD main_ResShowPic
\ 0397 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 039A F1 POP AF
\ 039B ?0082:
324 }
325 break;
\ 039B C39A01 JP LWRD ?0025
\ 039E ?0083:
326 #endif
327
328 #ifndef __6KEYMODE__
329 case AP_KEY_VOL | AP_KEY_UP:
330 if(g_volcounter > 0)
331 {
332 g_volcounter = 0;
333 g_rSetPlayStatus = TRUE;
334
335 ShowNowTime(FALSE);
336 }
337 else
338 {
339 g_volcounter = 6;
340 main_ResShowPic(VOL_00+g_amv_vars.volume,0,106);
341 }
342 break;
343 #endif
344
345 case AP_MSG_RTC:
346 case AP_MSG_CHARGING:
347 if(g_volcounter>0)
\ 039E 3A0100 LD A,(g_volcounter)
\ 03A1 B7 OR A
\ 03A2 2819 JR Z,?0087
\ 03A4 ?0084:
348 {
349 g_volcounter--;
\ 03A4 210100 LD HL,g_volcounter
\ 03A7 35 DEC (HL)
350 if(g_volcounter==0)
\ 03A8 3A0100 LD A,(g_volcounter)
\ 03AB B7 OR A
\ 03AC 200F JR NZ,?0087
\ 03AE ?0086:
351 {
352 g_rSetPlayStatus = TRUE;
\ 03AE 3E01 LD A,1
\ 03B0 320200 LD (g_rSetPlayStatus),A
353
354 ShowNowTime(FALSE);
\ 03B3 1E00 LD E,0
\ 03B5 3E00 LD A,BYTE3 ShowNowTime
\ 03B7 210000 LD HL,LWRD ShowNowTime
\ 03BA CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 03BD ?0087:
\ 03BD ?0085:
355 }
356 }
357
358 ui_show_batt(GetBattery(), g_BatteryType,0);
\ 03BD 0E00 LD C,0
\ 03BF C5 PUSH BC
\ 03C0 ED4B0000 LD BC,(g_BatteryType)
\ 03C4 CD0000 CALL LWRD GetBattery
\ 03C7 5F LD E,A
\ 03C8 1600 LD D,0
\ 03CA 3E00 LD A,BYTE3 ui_show_batt
\ 03CC 210000 LD HL,LWRD ui_show_batt
\ 03CF CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 03D2 E1 POP HL
359 break;
\ 03D3 C39A01 JP LWRD ?0025
\ 03D6 ?0088:
360 /*
361 case AP_MSG_SD_OUT:
362 if (g_amv_vars.location.disk == 'H')
363 {
364 g_amv_vars.location.disk = 'C';
365 ui_err_msg(CARDPULL,CARDPULL,g_langid);//显示卡拔出
366 return RESULT_CURR_UI;
367 }
368 break;
369 */
370 default:
371 key = ap_handle_hotkey(key);
\ 03D6 CD0000 CALL LWRD ap_handle_hotkey
\ 03D9 210000 LD HL,0
\ 03DC 39 ADD HL,SP
\ 03DD 77 LD (HL),A
372 if (key == RESULT_REDRAW)
\ 03DE FE32 CP 50
\ 03E0 2008 JR NZ,?0090
\ 03E2 ?0089:
373 {
374 need_draw = TRUE;
\ 03E2 ?0120:
\ 03E2 3E01 LD A,1
\ 03E4 320000 LD (need_draw),A
\ 03E7 C39A01 JP LWRD ?0025
\ 03EA ?0090:
375 }
376 else if (key != 0)
\ 03EA AF XOR A
\ 03EB B6 OR (HL)
\ 03EC CA9A01 JP Z,?0025
\ 03EF ?0092:
377 {
378 return key;
\ 03EF 6F LD L,A
\ 03F0 2600 LD H,0
379 }
\ 03F2 ?0094:
\ 03F2 F1 POP AF
\ 03F3 D1 POP DE
\ 03F4 C1 POP BC
\ 03F5 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 03F8 ?0093:
\ 03F8 ?0091:
380 break;
\ 03F8 ?0033:
381 } //switch(key)
382 } //while(1)
383 }
\ 0000 RSEG IDATA0
\ 0000 g_firstplay_flag:
\ 0001 DEFS 1
\ 0001 g_volcounter:
\ 0002 DEFS 1
\ 0002 g_rSetPlayStatus:
\ 0003 DEFS 1
\ 0000 RSEG CDATA0
\ 0000 01 DEFB 1
\ 0001 00 DEFB 0
\ 0002 00 DEFB 0
\ 0003 END
Errors: none
Warnings: none
Code size: 1016
Constant size: 3
Static variable size: Data(3) Iram(0)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?