📄 ui_lyric.lst
字号:
\ 0256 210000 LD HL,LWRD PrevMusicInPlay
\ 0259 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 025C 220000 LD (g_result),HL
215 //main_ResShowPic(FMHEAD,0,107);
216 if (g_result != 0) return g_result;
\ 025F 7D LD A,L
\ 0260 B4 OR H
\ 0261 2803 JR Z,?0051
\ 0263 ?0050:
\ 0263 ?0098:
\ 0263 C31303 JP LWRD ?0090
\ 0266 ?0051:
217
218 if (!g_lyricflag)return NULL;
\ 0266 3A0000 LD A,(g_lyricflag)
\ 0269 B7 OR A
\ 026A 2051 JR NZ,?0024
\ 026C ?0052:
\ 026C C31003 JP LWRD ?0093
219 //RefreshMainScreen();
220 }
\ 026F ?0053:
221 else
\ 026F ?0049:
222 {
223 musicpSendCommand(MC_STEP, 0);
\ 026F CD4600 CALL LWRD ?0105
224 PlayStatus = PlaySta;
\ 0272 3E02 LD A,2
\ 0274 320000 LD (PlayStatus),A
\ 0277 ?0054:
225 }
226 break;
\ 0277 1844 JR ?0024
\ 0279 ?0055:
227
228 case AP_KEY_MODE | AP_KEY_HOLD: //MODE键没抬起时不响应
229 if (!KeyUpFlag)continue;
\ 0279 AF XOR A
\ 027A DDB6FF OR (IX-1)
\ 027D 203E JR NZ,?0024
\ 027F ?0056:
\ 027F C32603 JP LWRD ?0083
\ 0282 ?0057:
230 break;
\ 0282 ?0058:
231
232
233 case AP_MSG_SD_OUT:
234 if (g_music_vars.location.disk == 'H')
\ 0282 3A0700 LD A,(g_music_vars+7)
\ 0285 FE48 CP 72
\ 0287 2034 JR NZ,?0024
\ 0289 ?0059:
235 {
236 musicpSendCommand(MC_STOP, NULL);
\ 0289 48 LD C,B
\ 028A 1E06 LD E,6
\ 028C CD7403 CALL LWRD ?0102
237 musicpSendCommand(MC_CLOSE, NULL);
\ 028F CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
238 g_music_vars.location.disk = 'C';
\ 0292 3E43 LD A,67
\ 0294 320700 LD (g_music_vars+7),A
239 DisplayErrMsg(CARDPULL);//显示卡拔出
\ 0297 118A01 LD DE,394
\ 029A 3E00 LD A,BYTE3 DisplayErrMsg
\ 029C 210000 LD HL,LWRD DisplayErrMsg
\ 029F CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
240 return RESULT_UI_STOP;
\ 02A2 1832 JR ?0099
241 }
\ 02A4 ?0060:
242 break;
\ 02A4 ?0061:
243
244 default:
245 key = ap_handle_hotkey(key);
\ 02A4 59 LD E,C
\ 02A5 CD0000 CALL LWRD ap_handle_hotkey
\ 02A8 4F LD C,A
246 if (key == RESULT_REDRAW)need_draw = TRUE;
\ 02A9 3E32 LD A,50
\ 02AB A9 XOR C
\ 02AC 2007 JR NZ,?0063
\ 02AE ?0062:
\ 02AE 3E01 LD A,1
\ 02B0 320000 LD (need_draw),A
\ 02B3 1808 JR ?0024
\ 02B5 ?0063:
247 else if(key != 0) return key;
\ 02B5 79 LD A,C
\ 02B6 B7 OR A
\ 02B7 2804 JR Z,?0024
\ 02B9 ?0065:
\ 02B9 69 LD L,C
\ 02BA 60 LD H,B
248 break;
\ 02BB 1856 JR ?0090
\ 02BD ?0066:
\ 02BD ?0064:
\ 02BD ?0024:
249 } //switch(key)
250 musicpSendCommand(MC_GETSTATUS, (int)(& status_buf));
\ 02BD 210200 LD HL,2
\ 02C0 39 ADD HL,SP
\ 02C1 4D LD C,L
\ 02C2 44 LD B,H
\ 02C3 1E83 LD E,131
\ 02C5 CD4900 CALL LWRD ?0103
251
252 if (status_buf.status == PLAYING_REACH_END)
\ 02C8 DD7EF6 LD A,(IX-10)
\ 02CB FE06 CP 6
\ 02CD 200F JR NZ,?0072
\ 02CF ?0067:
253 {
254 g_result = DealMusicFileEnd(1);
\ 02CF 1E01 LD E,1
\ 02D1 CD9F03 CALL LWRD ?0111
255
256 if (g_result == RESULT_UI_STOP) return RESULT_UI_STOP;
\ 02D4 2002 JR NZ,?0070
\ 02D6 ?0069:
\ 02D6 ?0099:
\ 02D6 182D JR ?0100
\ 02D8 ?0070:
257 if (!g_lyricflag)return NULL;
\ 02D8 3A0000 LD A,(g_lyricflag)
\ 02DB B7 OR A
\ 02DC 2832 JR Z,?0093
\ 02DE ?0071:
258 }
\ 02DE ?0072:
\ 02DE ?0068:
259
260 if (status_buf.status == PLAYING_REACH_HEAD)
\ 02DE DD7EF6 LD A,(IX-10)
\ 02E1 FE0E CP 14
\ 02E3 2031 JR NZ,?0081
\ 02E5 ?0073:
261 {
262 if (PlayStatus == PlaySta)
\ 02E5 3A0000 LD A,(PlayStatus)
\ 02E8 3D DEC A
\ 02E9 3D DEC A
\ 02EA 1E01 LD E,1
\ 02EC 2012 JR NZ,?0076
\ 02EE ?0075:
263 {
264 DisInFBHead( 1 );//到头显示
\ 02EE 3E00 LD A,BYTE3 DisInFBHead
\ 02F0 210000 LD HL,LWRD DisInFBHead
\ 02F3 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
265 SelectCurMusic();
\ 02F6 3E00 LD A,BYTE3 SelectCurMusic
\ 02F8 210000 LD HL,LWRD SelectCurMusic
\ 02FB CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
266 }
267 else
\ 02FE 1816 JR ?0081
\ 0300 ?0076:
268 {
269 g_result = DealMusicFileEnd(1);
\ 0300 CD9F03 CALL LWRD ?0111
270 if (g_result == RESULT_UI_STOP) return RESULT_UI_STOP;
\ 0303 2005 JR NZ,?0079
\ 0305 ?0078:
\ 0305 ?0100:
\ 0305 216600 LD HL,102
\ 0308 1809 JR ?0090
\ 030A ?0079:
271 if (!g_lyricflag)return NULL;
\ 030A 3A0000 LD A,(g_lyricflag)
\ 030D B7 OR A
\ 030E 2006 JR NZ,?0081
\ 0310 ?0080:
\ 0310 ?0093:
\ 0310 210000 LD HL,0
272 }
\ 0313 ?0090:
\ 0313 C30000 JP LWRD ?BANK_LEAVE_DIRECT_L08
\ 0316 ?0081:
\ 0316 ?0077:
\ 0316 ?0074:
273 }
274
275
276 if (g_2HZ_CNT>ExproTimeDef)
\ 0316 ED4B0000 LD BC,(g_2HZ_CNT)
\ 031A 210500 LD HL,5
\ 031D A7 AND A
\ 031E ED42 SBC HL,BC
\ 0320 3004 JR NC,?0083
\ 0322 ?0082:
277 {
278 ExproFlag = FALSE;
\ 0322 DD36FE00 LD (IX-2),0
\ 0326 ?0083:
\ 0326 ?0013:
279 }
280
281 } while ( (ExproFlag && (g_2HZ_CNT<=ExproTimeDef))
282 || (PlayStatus == FFPlaySta)
283 || (PlayStatus == FBPlaySta) );
\ 0326 AF XOR A
\ 0327 DDB6FE OR (IX-2)
\ 032A 280C JR Z,?0085
\ 032C ED4B0000 LD BC,(g_2HZ_CNT)
\ 0330 210500 LD HL,5
\ 0333 ED42 SBC HL,BC
\ 0335 D21201 JP NC,?0010
\ 0338 ?0085:
\ 0338 ?0084:
\ 0338 3A0000 LD A,(PlayStatus)
\ 033B FE03 CP 3
\ 033D CA1201 JP Z,?0010
\ 0340 FE04 CP 4
\ 0342 CA1201 JP Z,?0010
\ 0345 ?0012:
284
285
286 GetNowTime();
\ 0345 3E00 LD A,BYTE3 GetNowTime
\ 0347 210000 LD HL,LWRD GetNowTime
\ 034A CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
287 if (lyricQueryOutof(* (long * )RT_buf))
\ 034D ED4B0200 LD BC,(RT_buf+2)
\ 0351 ED5B0000 LD DE,(RT_buf)
\ 0355 3E00 LD A,BYTE3 lyricQueryOutof
\ 0357 210000 LD HL,LWRD lyricQueryOutof
\ 035A CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 035D 2C INC L
\ 035E 2D DEC L
\ 035F 2810 JR Z,?0089
\ 0361 ?0088:
288 {
289 lyricSeekFor(LyricStrBuf, sizeof(LyricStrBuf), * (long * )RT_buf);
\ 0361 2A0200 LD HL,(RT_buf+2)
\ 0364 E5 PUSH HL
\ 0365 2A0000 LD HL,(RT_buf)
\ 0368 E5 PUSH HL
\ 0369 CD9203 CALL LWRD ?0110
\ 036C F1 POP AF
\ 036D F1 POP AF
290 DisplayLyricStr(LyricStrBuf);
\ 036E CD8703 CALL LWRD ?0109
\ 0371 ?0089:
291 }
292
293 }
294 //while(1)
295 } //ui_lyric
\ 0371 C31201 JP LWRD ?0010
\ 0374 ?0102:
\ 0374 3E00 LD A,BYTE3 musicpSendCommand
\ 0376 210000 LD HL,LWRD musicpSendCommand
\ 0379 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 037C 010000 LD BC,0
\ 037F 1E02 LD E,2
\ 0381 3E00 LD A,BYTE3 musicpSendCommand
\ 0383 210000 LD HL,LWRD musicpSendCommand
\ 0386 C9 RET
\ 0387 ?0109:
\ 0387 110000 LD DE,LyricStrBuf
\ 038A 3E00 LD A,BYTE3 DisplayLyricStr
\ 038C 215100 LD HL,LWRD DisplayLyricStr
\ 038F C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 0392 ?0110:
\ 0392 0E58 LD C,88
\ 0394 110000 LD DE,LyricStrBuf
\ 0397 3E00 LD A,BYTE3 lyricSeekFor
\ 0399 210000 LD HL,LWRD lyricSeekFor
\ 039C C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 039F ?0111:
\ 039F 3E00 LD A,BYTE3 DealMusicFileEnd
\ 03A1 210000 LD HL,LWRD DealMusicFileEnd
\ 03A4 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 03A7 220000 LD (g_result),HL
\ 03AA 3E66 LD A,102
\ 03AC AD XOR L
\ 03AD B4 OR H
\ 03AE C9 RET
\ 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: 943
Constant size: 0
Static variable size: Data(92) Iram(0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -