📄 ui_lyric.lst
字号:
\ 0278 3E00 LD A,BYTE3 PrevMusicInPlay
\ 027A 210000 LD HL,LWRD PrevMusicInPlay
\ 027D CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0280 220000 LD (g_result),HL
219 //main_ResShowPic(FMHEAD,0,107);
220 if (g_result != 0) return g_result;
\ 0283 7D LD A,L
\ 0284 B4 OR H
\ 0285 2803 JR Z,?0051
\ 0287 ?0050:
\ 0287 ?0098:
\ 0287 C33703 JP LWRD ?0090
\ 028A ?0051:
221
222 if (!g_lyricflag)return NULL;
\ 028A 3A0000 LD A,(g_lyricflag)
\ 028D B7 OR A
\ 028E 2051 JR NZ,?0024
\ 0290 ?0052:
\ 0290 C33403 JP LWRD ?0093
223 //RefreshMainScreen();
224 }
\ 0293 ?0053:
225 else
\ 0293 ?0049:
226 {
227 musicpSendCommand(MC_STEP, 0);
\ 0293 CD4600 CALL LWRD ?0105
228 PlayStatus = PlaySta;
\ 0296 3E02 LD A,2
\ 0298 320000 LD (PlayStatus),A
\ 029B ?0054:
229 }
230 break;
\ 029B 1844 JR ?0024
\ 029D ?0055:
231
232 case AP_KEY_MODE | AP_KEY_HOLD: //MODE键没抬起时不响应
233 if (!KeyUpFlag)continue;
\ 029D AF XOR A
\ 029E DDB6FF OR (IX-1)
\ 02A1 203E JR NZ,?0024
\ 02A3 ?0056:
\ 02A3 C34A03 JP LWRD ?0083
\ 02A6 ?0057:
234 break;
\ 02A6 ?0058:
235
236
237 case AP_MSG_SD_OUT:
238 if (g_music_vars.location.disk == 'H')
\ 02A6 3A0700 LD A,(g_music_vars+7)
\ 02A9 FE48 CP 72
\ 02AB 2034 JR NZ,?0024
\ 02AD ?0059:
239 {
240 musicpSendCommand(MC_STOP, NULL);
\ 02AD 48 LD C,B
\ 02AE 1E06 LD E,6
\ 02B0 CD9803 CALL LWRD ?0102
241 musicpSendCommand(MC_CLOSE, NULL);
\ 02B3 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
242 g_music_vars.location.disk = 'C';
\ 02B6 3E43 LD A,67
\ 02B8 320700 LD (g_music_vars+7),A
243 DisplayErrMsg(CARDPULL);//显示卡拔出
\ 02BB 119101 LD DE,401
\ 02BE 3E00 LD A,BYTE3 DisplayErrMsg
\ 02C0 210000 LD HL,LWRD DisplayErrMsg
\ 02C3 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
244 return RESULT_UI_STOP;
\ 02C6 1832 JR ?0099
245 }
\ 02C8 ?0060:
246 break;
\ 02C8 ?0061:
247
248 default:
249 key = ap_handle_hotkey(key);
\ 02C8 59 LD E,C
\ 02C9 CD0000 CALL LWRD ap_handle_hotkey
\ 02CC 4F LD C,A
250 if (key == RESULT_REDRAW)need_draw = TRUE;
\ 02CD 3E32 LD A,50
\ 02CF A9 XOR C
\ 02D0 2007 JR NZ,?0063
\ 02D2 ?0062:
\ 02D2 3E01 LD A,1
\ 02D4 320000 LD (need_draw),A
\ 02D7 1808 JR ?0024
\ 02D9 ?0063:
251 else if(key != 0) return key;
\ 02D9 79 LD A,C
\ 02DA B7 OR A
\ 02DB 2804 JR Z,?0024
\ 02DD ?0065:
\ 02DD 69 LD L,C
\ 02DE 60 LD H,B
252 break;
\ 02DF 1856 JR ?0090
\ 02E1 ?0066:
\ 02E1 ?0064:
\ 02E1 ?0024:
253 } //switch(key)
254 musicpSendCommand(MC_GETSTATUS, (int)(& status_buf));
\ 02E1 210200 LD HL,2
\ 02E4 39 ADD HL,SP
\ 02E5 4D LD C,L
\ 02E6 44 LD B,H
\ 02E7 1E83 LD E,131
\ 02E9 CD4900 CALL LWRD ?0103
255 //wmapSendCommand(MC_GETSTATUS, (int)(& status_buf));
256
257 if (status_buf.status == PLAYING_REACH_END)
\ 02EC DD7EF6 LD A,(IX-10)
\ 02EF FE06 CP 6
\ 02F1 200F JR NZ,?0072
\ 02F3 ?0067:
258 {
259 //PASS_KEY(0x11);
260 //g_result = DealMusicFileEndInLRC();
261 g_result = DealMusicFileEnd(1);
\ 02F3 1E01 LD E,1
\ 02F5 CDC303 CALL LWRD ?0112
262
263 if (g_result == RESULT_UI_STOP) return RESULT_UI_STOP;
\ 02F8 2002 JR NZ,?0070
\ 02FA ?0069:
\ 02FA ?0099:
\ 02FA 182D JR ?0100
\ 02FC ?0070:
264 if (!g_lyricflag)return NULL;
\ 02FC 3A0000 LD A,(g_lyricflag)
\ 02FF B7 OR A
\ 0300 2832 JR Z,?0093
\ 0302 ?0071:
265 }
\ 0302 ?0072:
\ 0302 ?0068:
266
267 if (status_buf.status == PLAYING_REACH_HEAD)
\ 0302 DD7EF6 LD A,(IX-10)
\ 0305 FE0E CP 14
\ 0307 2031 JR NZ,?0081
\ 0309 ?0073:
268 {
269 //PASS_KEY(0x22);
270 if (PlayStatus == PlaySta)
\ 0309 3A0000 LD A,(PlayStatus)
\ 030C 3D DEC A
\ 030D 3D DEC A
\ 030E 1E01 LD E,1
\ 0310 2012 JR NZ,?0076
\ 0312 ?0075:
271 {
272 DisInFBHead( 1 );//到头显示
\ 0312 3E00 LD A,BYTE3 DisInFBHead
\ 0314 210000 LD HL,LWRD DisInFBHead
\ 0317 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
273 SelectCurMusic();
\ 031A 3E00 LD A,BYTE3 SelectCurMusic
\ 031C 210000 LD HL,LWRD SelectCurMusic
\ 031F CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
274 }
275 else
\ 0322 1816 JR ?0081
\ 0324 ?0076:
276 {
277 g_result = DealMusicFileEnd(1);
\ 0324 CDC303 CALL LWRD ?0112
278 if (g_result == RESULT_UI_STOP) return RESULT_UI_STOP;
\ 0327 2005 JR NZ,?0079
\ 0329 ?0078:
\ 0329 ?0100:
\ 0329 216600 LD HL,102
\ 032C 1809 JR ?0090
\ 032E ?0079:
279 if (!g_lyricflag)return NULL;
\ 032E 3A0000 LD A,(g_lyricflag)
\ 0331 B7 OR A
\ 0332 2006 JR NZ,?0081
\ 0334 ?0080:
\ 0334 ?0093:
\ 0334 210000 LD HL,0
280 }
\ 0337 ?0090:
\ 0337 C30000 JP LWRD ?BANK_LEAVE_DIRECT_L08
\ 033A ?0081:
\ 033A ?0077:
\ 033A ?0074:
281 }
282
283
284 if (g_2HZ_CNT>ExproTimeDef)
\ 033A ED4B0000 LD BC,(g_2HZ_CNT)
\ 033E 210500 LD HL,5
\ 0341 A7 AND A
\ 0342 ED42 SBC HL,BC
\ 0344 3004 JR NC,?0083
\ 0346 ?0082:
285 {
286 ExproFlag = FALSE;
\ 0346 DD36FE00 LD (IX-2),0
\ 034A ?0083:
\ 034A ?0013:
287 }
288
289 } while ( (ExproFlag && (g_2HZ_CNT<=ExproTimeDef))
290 || (PlayStatus == FFPlaySta)
291 || (PlayStatus == FBPlaySta) );
\ 034A AF XOR A
\ 034B DDB6FE OR (IX-2)
\ 034E 280C JR Z,?0085
\ 0350 ED4B0000 LD BC,(g_2HZ_CNT)
\ 0354 210500 LD HL,5
\ 0357 ED42 SBC HL,BC
\ 0359 D22F01 JP NC,?0010
\ 035C ?0085:
\ 035C ?0084:
\ 035C 3A0000 LD A,(PlayStatus)
\ 035F FE03 CP 3
\ 0361 CA2F01 JP Z,?0010
\ 0364 FE04 CP 4
\ 0366 CA2F01 JP Z,?0010
\ 0369 ?0012:
292
293
294 GetNowTime();
\ 0369 3E00 LD A,BYTE3 GetNowTime
\ 036B 210000 LD HL,LWRD GetNowTime
\ 036E CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
295 if (lyricQueryOutof(* (long * )RT_buf))
\ 0371 ED4B0200 LD BC,(RT_buf+2)
\ 0375 ED5B0000 LD DE,(RT_buf)
\ 0379 3E00 LD A,BYTE3 lyricQueryOutof
\ 037B 210000 LD HL,LWRD lyricQueryOutof
\ 037E CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0381 2C INC L
\ 0382 2D DEC L
\ 0383 2810 JR Z,?0089
\ 0385 ?0088:
296 {
297 lyricSeekFor(LyricStrBuf, sizeof(LyricStrBuf), * (long * )RT_buf);
\ 0385 2A0200 LD HL,(RT_buf+2)
\ 0388 E5 PUSH HL
\ 0389 2A0000 LD HL,(RT_buf)
\ 038C E5 PUSH HL
\ 038D CDB603 CALL LWRD ?0111
\ 0390 F1 POP AF
\ 0391 F1 POP AF
298 DisplayLyricStr(LyricStrBuf);
\ 0392 CDAB03 CALL LWRD ?0110
\ 0395 ?0089:
299 }
300
301 }
302 //while(1)
303 } //ui_lyric
\ 0395 C32F01 JP LWRD ?0010
\ 0398 ?0102:
\ 0398 3E00 LD A,BYTE3 musicpSendCommand
\ 039A 210000 LD HL,LWRD musicpSendCommand
\ 039D CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 03A0 010000 LD BC,0
\ 03A3 1E02 LD E,2
\ 03A5 3E00 LD A,BYTE3 musicpSendCommand
\ 03A7 210000 LD HL,LWRD musicpSendCommand
\ 03AA C9 RET
\ 03AB ?0110:
\ 03AB 110000 LD DE,LyricStrBuf
\ 03AE 3E00 LD A,BYTE3 DisplayLyricStr
\ 03B0 215100 LD HL,LWRD DisplayLyricStr
\ 03B3 C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 03B6 ?0111:
\ 03B6 0E58 LD C,88
\ 03B8 110000 LD DE,LyricStrBuf
\ 03BB 3E00 LD A,BYTE3 lyricSeekFor
\ 03BD 210000 LD HL,LWRD lyricSeekFor
\ 03C0 C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 03C3 ?0112:
\ 03C3 3E00 LD A,BYTE3 DealMusicFileEnd
\ 03C5 210000 LD HL,LWRD DealMusicFileEnd
\ 03C8 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 03CB 220000 LD (g_result),HL
\ 03CE 3E66 LD A,102
\ 03D0 AD XOR L
\ 03D1 B4 OR H
\ 03D2 C9 RET
304
305
306
\ 0000 RSEG APD_UI_LRC
\ 0000 LyricStrBuf:
\ 0058 DEFS 88
\ 0000 RSEG APD_UIA_LRC
\ 0000 RT_buf:
\ 0004 DEFS 4
\ 0004 END
Errors: none
Warnings: none
Code size: 979
Constant size: 0
Static variable size: Data(92) Iram(0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -