📄 ui_play.lst
字号:
\ 0298 ?0094:
317 {
318 if(MusicEditSelStatus==MusicEditSelSta_WaitStart)
\ 0298 3A0000 LD A,(MusicEditSelStatus)
\ 029B 3D DEC A
\ 029C 0E14 LD C,20
\ 029E C5 PUSH BC
\ 029F 0E4F LD C,79
\ 02A1 2005 JR NZ,?0097
\ 02A3 ?0096:
319 main_ResShowPic(MRPLSELA,79,20);
\ 02A3 11D900 LD DE,217
\ 02A6 1803 JR ?0168
320 else
\ 02A8 ?0097:
321 main_ResShowPic(MRPLSELB,79,20);
\ 02A8 11DA00 LD DE,218
\ 02AB ?0168:
\ 02AB CDBE02 CALL LWRD ?0189
\ 02AE F1 POP AF
\ 02AF ?0098:
\ 02AF ?0095:
\ 02AF ?0092:
\ 02AF ?0089:
322 }
323 }
324 }
325 //***************************************************
326 return NULL;
\ 02AF 210000 LD HL,0
327 }
\ 02B2 ?0099:
\ 02B2 D1 POP DE
\ 02B3 C1 POP BC
\ 02B4 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 02B7 ?0190:
\ 02B7 7B LD A,E
\ 02B8 C608 ADD A,8
\ 02BA 4F LD C,A
\ 02BB 119900 LD DE,153
\ 02BE ?0189:
\ 02BE 3E00 LD A,BYTE3 main_ResShowPic
\ 02C0 210000 LD HL,LWRD main_ResShowPic
\ 02C3 C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 02C6 musicpSendCommand:
328 /*
329 ********************************************************************************
330 * bool musicpSendCommand( BYTE cmd, int param )
331 *
332 * Description : 根据不同的文件类型来选择发的命令(对MODULE)
333 *
334 * Arguments : cmd 命令 param 参数
335 *
336 * Returns : success/fail
337 *
338 * Notes :
339 *
340 ********************************************************************************
341 */
342 bool musicpSendCommand(BYTE cmd, int param)
343 {
\ 02C6 DDE5 PUSH IX
\ 02C8 D5 PUSH DE
344 //清 WATCH_DOG
345 output8(REG4E_RTC_WATCH_DOG, input8(REG4E_RTC_WATCH_DOG) | 0x08);
\ 02C9 DB4E IN A,(78)
\ 02CB CBDF SET 3,A
\ 02CD D34E OUT (78),A
346
347 switch ( cmd )
\ 02CF 7B LD A,E
\ 02D0 FE0D CP 13
\ 02D2 280C JR Z,?0101
\ 02D4 FE80 CP 128
\ 02D6 3844 JR C,?0102
\ 02D8 FE84 CP 132
\ 02DA 2840 JR Z,?0102
\ 02DC FE86 CP 134
\ 02DE 303C JR NC,?0102
\ 02E0 ?0101:
348 {//这几个命令由于经常调用,所以不要切BANK
349 case MC_GETTIME:
350 case MC_GETSAPLE:
351 case MC_GETSTATUS:
352 case MC_GETAUDIOFMT:
353 case MC_FADEINOUT:
354 case MC_GETPOWERVALUE:
355 switch ( g_currentMusicType )
\ 02E0 ED5B0000 LD DE,(g_currentMusicType)
\ 02E4 CD0000 CALL LWRD ?C_S_SWITCH_L06
\ 02E7 01 DEFB 1
\ 02E8 0600 DEFW 6
\ 02EA 1803 DEFW ?0107
\ 02EC F802 DEFW ?0103
\ 02EE 0003 DEFW ?0104
\ 02F0 0003 DEFW ?0104
\ 02F2 0003 DEFW ?0104
\ 02F4 0803 DEFW ?0105
\ 02F6 1003 DEFW ?0106
\ 02F8 ?0103:
356 {
357 case Music_MP3: //mp3
358 return mp3pSendCommand(cmd, param);
\ 02F8 5F LD E,A
\ 02F9 3E00 LD A,BYTE3 mp3pSendCommand
\ 02FB 210000 LD HL,LWRD mp3pSendCommand
\ 02FE 1821 JR ?0183
359
360 case Music_WMA: //wma
\ 0300 ?0104:
361 case Music_ASF: //asf
362 case Music_WMV: //wmv
363 {
364 return wmapSendCommand(cmd, param);
\ 0300 5F LD E,A
\ 0301 3E00 LD A,BYTE3 wmapSendCommand
\ 0303 210000 LD HL,LWRD wmapSendCommand
\ 0306 1819 JR ?0183
365 }
\ 0308 ?0105:
366 case Music_OGG:
367 return oggpSendCommand(cmd, param);
\ 0308 5F LD E,A
\ 0309 3E00 LD A,BYTE3 oggpSendCommand
\ 030B 210000 LD HL,LWRD oggpSendCommand
\ 030E 1811 JR ?0183
368 case Music_APE:
\ 0310 ?0106:
369 return apepSendCommand(cmd, param);
\ 0310 5F LD E,A
\ 0311 3E00 LD A,BYTE3 apepSendCommand
\ 0313 210000 LD HL,LWRD apepSendCommand
\ 0316 1809 JR ?0183
370
371 default:
\ 0318 ?0107:
372 return FALSE;
\ 0318 2E00 LD L,0
373 }
\ 031A 1808 JR ?0109
\ 031C ?0102:
\ 031C ?0108:
374
375 default:
376 //下面函数放在别的 BANK 里,
377 return musicpSendCommand_bank( cmd, param );
\ 031C 3E00 LD A,BYTE3 musicpSendCommand_bank
\ 031E 210000 LD HL,LWRD musicpSendCommand_bank
\ 0321 ?0183:
\ 0321 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
378 }
\ 0324 ?0100:
379 return FALSE;
380
381
382 }
\ 0324 ?0109:
\ 0324 F1 POP AF
\ 0325 DDE1 POP IX
\ 0327 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 032A BackupCurrentTime:
383 /*
384 ********************************************************************************
385 * void Show_Bitrate( void )
386 *
387 * Description : 显示比特率
388 *
389 * Arguments : void
390 *
391 * Returns : void
392 *
393 * Notes :
394 *
395 ********************************************************************************
396 */
397
398 void BackupCurrentTime(void)
399 {
\ 032A CD0000 CALL LWRD ?ENT_AUTO_DIRECT_L09
\ 032D FAFF DEFW 65530
400 Full_time_t time_buf;
401 if ( musicpSendCommand(MC_GETTIME, (int)& time_buf) )
\ 032F 210000 LD HL,0
\ 0332 39 ADD HL,SP
\ 0333 4D LD C,L
\ 0334 44 LD B,H
\ 0335 1E80 LD E,128
\ 0337 CDB401 CALL LWRD ?0187
\ 033A 2C INC L
\ 033B 2D DEC L
\ 033C 2812 JR Z,?0111
\ 033E ?0110:
402 {
403 g_music_vars.BreakPTDisTime.hour = time_buf.TimeHour;
\ 033E DD7EFE LD A,(IX-2)
\ 0341 324D00 LD (g_music_vars+77),A
404 g_music_vars.BreakPTDisTime.minute = time_buf.TimeMinute;
\ 0344 DD7EFD LD A,(IX-3)
\ 0347 324E00 LD (g_music_vars+78),A
405 g_music_vars.BreakPTDisTime.second = time_buf.TimeSecond;
\ 034A DD7EFC LD A,(IX-4)
\ 034D 324F00 LD (g_music_vars+79),A
\ 0350 ?0111:
406 }
407 }
\ 0350 C30000 JP LWRD ?BANK_LEAVE_DIRECT_L08
\ 0353 ShowNowTime:
408
409
410 void ShowNowTime(bool para) //zxs change for guage display
411 {
\ 0353 CD0000 CALL LWRD ?ENT_AUTO_DIRECT_L09
\ 0356 F0FF DEFW -16
\ 0358 FDE5 PUSH IY
412 long int totaltime,nowtime;
413 int num;
414 int i;
415 music_play_status_t status_buf;
416
417 if(g_rSetPlayStatus)
\ 035A 3A0000 LD A,(g_rSetPlayStatus)
\ 035D B7 OR A
\ 035E 2807 JR Z,?0113
\ 0360 ?0112:
418 {
419 para = FALSE;
420 g_rSetPlayStatus = FALSE;
\ 0360 AF XOR A
\ 0361 320000 LD (g_rSetPlayStatus),A
\ 0364 DD7702 LD (IX+2),A
\ 0367 ?0113:
421 }
422
423 if (ifSelBuffToltalTimeFlag || (!CaltimeFlag))
\ 0367 3A0000 LD A,(ifSelBuffToltalTimeFlag)
\ 036A B7 OR A
\ 036B 2006 JR NZ,?0116
\ 036D 3A0000 LD A,(CaltimeFlag)
\ 0370 B7 OR A
\ 0371 2014 JR NZ,?0115
\ 0373 ?0116:
\ 0373 ?0117:
\ 0373 ?0114:
424 {
425 //用 buffer 里的总时间数据
426 status_buf.total_time.hour = TimeRateData_sav.TotalTime_sav[0];
\ 0373 3A0300 LD A,(TimeRateData_sav+3)
\ 0376 DD77F3 LD (IX-13),A
427 status_buf.total_time.minute = TimeRateData_sav.TotalTime_sav[1];
\ 0379 3A0400 LD A,(TimeRateData_sav+4)
\ 037C DD77F4 LD (IX-12),A
428 status_buf.total_time.second = TimeRateData_sav.TotalTime_sav[2];
\ 037F 3A0500 LD A,(TimeRateData_sav+5)
\ 0382 DD77F5 LD (IX-11),A
429 }
430 else
\ 0385 181E JR ?0118
\ 0387 ?0115:
431 {
432 musicpSendCommand(MC_GETSTATUS, (int)(& status_buf));
\ 0387 210200 LD HL,2
\ 038A 39 ADD HL,SP
\ 038B CDB001 CALL LWRD ?0186
433 //暂存现在的总时间数据到 buffer
434 TimeRateData_sav.TotalTime_sav[0] = status_buf.total_time.hour;
\ 038E DD7EF3 LD A,(IX-13)
\ 0391 320300 LD (TimeRateData_sav+3),A
435 TimeRateData_sav.TotalTime_sav[1] = status_buf.total_time.minute;
\ 0394 DD7EF4 LD A,(IX-12)
\ 0397 320400 LD (TimeRateData_sav+4),A
436 TimeRateData_sav.TotalTime_sav[2] = status_buf.total_time.second;
\ 039A DD7EF5 LD A,(IX-11)
\ 039D 320500 LD (TimeRateData_sav+5),A
437 ifSelBuffToltalTimeFlag=1;
\ 03A0 3E01 LD A,1
\ 03A2 320000 LD (ifSelBuffToltalTimeFlag),A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -