📄 ui_play.lst
字号:
177 DisablePA();
\ 01F3 CD0000 CALL LWRD DisablePA
178 DisplayErrMsg(MFMTERR);//显示格式错
\ 01F6 118E01 LD DE,398
\ 01F9 3E00 LD A,BYTE3 DisplayErrMsg
\ 01FB 210000 LD HL,LWRD DisplayErrMsg
\ 01FE CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
179 return NULL;
\ 0201 210000 LD HL,0
180 }
\ 0204 186A JR ?0082
\ 0206 ?0056:
181 else if(tmp==-1)
\ 0206 46 LD B,(HL)
\ 0207 04 INC B
\ 0208 2071 JR NZ,?0067
\ 020A ?0065:
182 {
183 output8(0x27,input8(0x27)|0x40);
\ 020A DB27 IN A,(39)
\ 020C CBF7 SET 6,A
\ 020E D327 OUT (39),A
184 FS_FClose(fp);
\ 0210 ED5B0000 LD DE,(fp)
\ 0214 CD0000 CALL LWRD FS_FClose
185 switch(PlayStatus)
\ 0217 3A0000 LD A,(PlayStatus)
\ 021A FE02 CP 2
\ 021C 3816 JR C,?0071
\ 021E FE05 CP 5
\ 0220 3012 JR NC,?0071
\ 0222 ?0068:
186 {
187 case PlaySta:
188 case FFPlaySta:
189 case FBPlaySta:
190 g_result = DealMusicFileEnd(0);
\ 0222 58 LD E,B
\ 0223 3E00 LD A,BYTE3 DealMusicFileEnd
\ 0225 210000 LD HL,LWRD DealMusicFileEnd
\ 0228 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 022B 220000 LD (g_result),HL
191 if ( g_result != NULL )
\ 022E 7D LD A,L
\ 022F B4 OR H
\ 0230 282C JR Z,?0076
\ 0232 ?0069:
192 {
193 return g_result;
\ 0232 1839 JR ?0112
194 }
\ 0234 ?0070:
195 need_draw = TRUE;
196 break;
\ 0234 ?0071:
\ 0234 FE05 CP 5
\ 0236 2013 JR NZ,?0074
197 case NextPlaySta:
198 g_result = ToNextMusic(Play_key);
\ 0238 1E02 LD E,2
\ 023A 3E00 LD A,BYTE3 ToNextMusic
\ 023C 214004 LD HL,LWRD ToNextMusic
\ 023F CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0242 220000 LD (g_result),HL
199 if ( g_result != NULL )
\ 0245 7D LD A,L
\ 0246 B4 OR H
\ 0247 2815 JR Z,?0076
\ 0249 ?0072:
200 {
201 return g_result;
\ 0249 1822 JR ?0112
202 }
\ 024B ?0073:
203 need_draw = TRUE;
204 break;
\ 024B ?0074:
\ 024B FE06 CP 6
\ 024D 2016 JR NZ,?0077
205 case PrevPlaySta:
206 g_result = PrevMusicInPlay();
\ 024F 3E00 LD A,BYTE3 PrevMusicInPlay
\ 0251 217004 LD HL,LWRD PrevMusicInPlay
\ 0254 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0257 220000 LD (g_result),HL
207 if ( g_result != NULL )
\ 025A 7D LD A,L
\ 025B B4 OR H
\ 025C 200F JR NZ,?0112
\ 025E ?0075:
208 {
209 return g_result;
210 }
\ 025E ?0076:
211 need_draw = TRUE;
\ 025E 3E01 LD A,1
\ 0260 320000 LD (need_draw),A
212 break;
\ 0263 1816 JR ?0067
\ 0265 ?0077:
213
214 default:
215 AmvDecSetCMD(MC_CLOSE,(int )&g_amv_vars.amvfilebreakpoint);
\ 0265 012E00 LD BC,g_amv_vars+46
\ 0268 1E02 LD E,2
\ 026A CD9302 CALL LWRD ?0126
216 return g_result;
\ 026D ?0112:
\ 026D 2A0000 LD HL,(g_result)
217 }
\ 0270 ?0082:
\ 0270 F1 POP AF
\ 0271 F1 POP AF
\ 0272 F1 POP AF
\ 0273 F1 POP AF
\ 0274 DDE1 POP IX
\ 0276 D1 POP DE
\ 0277 C1 POP BC
\ 0278 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 027B ?0067:
\ 027B ?0066:
218
219 }
220
221 // if(g_amv_vars.location.disk=='H')
222
223 {
224 if((PlayStatus!=FFPlaySta)&&(PlayStatus!=FBPlaySta))
\ 027B 3A0000 LD A,(PlayStatus)
\ 027E FE03 CP 3
\ 0280 CA2400 JP Z,?0003
\ 0283 FE04 CP 4
\ 0285 CA2400 JP Z,?0003
\ 0288 ?0081:
\ 0288 ?0080:
\ 0288 ?0078:
225 ReadOnePageFromDisk(); //判断是否从卡上读数据
\ 0288 CD0000 CALL LWRD ReadOnePageFromDisk
\ 028B ?0079:
226 }
227
228 }/* while(1) */
229
230 }
\ 028B C32400 JP LWRD ?0003
\ 028E ?0127:
\ 028E 010000 LD BC,0
\ 0291 1E06 LD E,6
\ 0293 ?0126:
\ 0293 3E00 LD A,BYTE3 AmvDecSetCMD
\ 0295 210000 LD HL,LWRD AmvDecSetCMD
\ 0298 C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 029B ShowNowTime:
231
232 /*
233 ********************************************************************************
234 * void Show_Bitrate( void )
235 *
236 * Description : 显示比特率
237 *
238 * Arguments : void
239 *
240 * Returns : void
241 *
242 * Notes :
243 *
244 ********************************************************************************
245 */
246
247 void ShowNowTime(bool para)
248 {
\ 029B C5 PUSH BC
\ 029C FDE5 PUSH IY
\ 029E DDE5 PUSH IX
\ 02A0 DD210000 LD IX,0
\ 02A4 DD39 ADD IX,SP
\ 02A6 D5 PUSH DE
\ 02A7 21F6FF LD HL,65526
\ 02AA 39 ADD HL,SP
\ 02AB F9 LD SP,HL
249 long int totaltime,nowtime;
250 int num,i;
251
252 nowtime = g_amv_vars.amvfilebreakpoint.TimeHou*3600+g_amv_vars.amvfilebreakpoint.TimeMin*60
253 + g_amv_vars.amvfilebreakpoint.TimeSec;
\ 02AC ED4B3300 LD BC,(g_amv_vars+51)
\ 02B0 0600 LD B,0
\ 02B2 113C00 LD DE,60
\ 02B5 CD0000 CALL LWRD ?S_MUL_L02
\ 02B8 D5 PUSH DE
\ 02B9 ED4B3400 LD BC,(g_amv_vars+52)
\ 02BD 0600 LD B,0
\ 02BF 11100E LD DE,3600
\ 02C2 CD0000 CALL LWRD ?S_MUL_L02
\ 02C5 EB EX DE,HL
\ 02C6 D1 POP DE
\ 02C7 19 ADD HL,DE
\ 02C8 ED4B3200 LD BC,(g_amv_vars+50)
\ 02CC 0600 LD B,0
\ 02CE 09 ADD HL,BC
\ 02CF 7C LD A,H
\ 02D0 07 RLCA
\ 02D1 9F SBC A,A
\ 02D2 4F LD C,A
\ 02D3 41 LD B,C
\ 02D4 DD75F6 LD (IX-10),L
\ 02D7 DD74F7 LD (IX-9),H
\ 02DA DD71F8 LD (IX-8),C
\ 02DD DD70F9 LD (IX-7),B
254 totaltime = Totaltime.hour*3600+Totaltime.minute*60+Totaltime.second;
\ 02E0 ED5B0100 LD DE,(Totaltime+1)
\ 02E4 1600 LD D,0
\ 02E6 013C00 LD BC,60
\ 02E9 CD0000 CALL LWRD ?S_MUL_L02
\ 02EC D5 PUSH DE
\ 02ED ED4B0000 LD BC,(Totaltime)
\ 02F1 0600 LD B,0
\ 02F3 11100E LD DE,3600
\ 02F6 CD0000 CALL LWRD ?S_MUL_L02
\ 02F9 EB EX DE,HL
\ 02FA D1 POP DE
\ 02FB 19 ADD HL,DE
\ 02FC ED4B0200 LD BC,(Totaltime+2)
\ 0300 0600 LD B,0
\ 0302 09 ADD HL,BC
\ 0303 7C LD A,H
\ 0304 07 RLCA
\ 0305 9F SBC A,A
\ 0306 4F LD C,A
\ 0307 41 LD B,C
255 num=(nowtime*193)/totaltime;
\ 0308 C5 PUSH BC
\ 0309 E5 PUSH HL
\ 030A 210000 LD HL,0
\ 030D E5 PUSH HL
\ 030E 2EC1 LD L,193
\ 0310 E5 PUSH HL
\ 0311 DD4EF8 LD C,(IX-8)
\ 0314 DD46F9 LD B,(IX-7)
\ 0317 DD6EF6 LD L,(IX-10)
\ 031A DD66F7 LD H,(IX-9)
\ 031D CD0000 CALL LWRD ?L_MUL_L03
\ 0320 CD0000 CALL LWRD ?SL_DIV_L03
\ 0323 DD75F4 LD (IX-12),L
\ 0326 DD74F5 LD (IX-11),H
256 itoa_1(g_amv_vars.amvfilebreakpoint.TimeHou, temp_buffer);
\ 0329 010000 LD BC,temp_buffer
\ 032C ED5B3400 LD DE,(g_amv_vars+52)
\ 0330 3E00 LD A,BYTE3 itoa_1
\ 0332 210000 LD HL,LWRD itoa_1
\ 0335 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
257 itoa_2(g_amv_vars.amvfilebreakpoint.TimeMin, & temp_buffer[1]);
\ 0338 010100 LD BC,temp_buffer+1
\ 033B ED5B3300 LD DE,(g_amv_vars+51)
\ 033F 3E00 LD A,BYTE3 itoa_2
\ 0341 210000 LD HL,LWRD itoa_2
\ 0344 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
258 itoa_2(g_amv_vars.amvfilebreakpoint.TimeSec, & temp_buffer[3]);
\ 0347 010300 LD BC,temp_buffer+3
\ 034A ED5B3200 LD DE,(g_amv_vars+50)
\ 034E 3E00 LD A,BYTE3 itoa_2
\ 0350 210000 LD HL,LWRD itoa_2
\ 0353 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
259 temp_buffer[5] = 0x00;
\ 0356 AF XOR A
\ 0357 320500 LD (temp_buffer+5),A
260 ui_show_d(temp_buffer);
\ 035A 110000 LD DE,temp_buffer
\ 035D 3E00 LD A,BYTE3 ui_show_d
\ 035F 210000 LD HL,LWRD ui_show_d
\ 0362 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
261 if(!para)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -