📄 ui_play.lst
字号:
\ 021E ?0067:
192 {
193 // output8(0x27,input8(0x27)|0x40);
194 FS_FClose(fp);
\ 021E ED5B0000 LD DE,(fp)
\ 0222 CD0000 CALL LWRD FS_FClose
195 switch(PlayStatus)
\ 0225 3A0000 LD A,(PlayStatus)
\ 0228 FE02 CP 2
\ 022A 3816 JR C,?0073
\ 022C FE05 CP 5
\ 022E 3012 JR NC,?0073
\ 0230 ?0070:
196 {
197 case PlaySta:
198 case FFPlaySta:
199 case FBPlaySta:
200 g_result = DealMusicFileEnd(0);
\ 0230 58 LD E,B
\ 0231 3E00 LD A,BYTE3 DealMusicFileEnd
\ 0233 210000 LD HL,LWRD DealMusicFileEnd
\ 0236 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0239 220000 LD (g_result),HL
201 if ( g_result != NULL )
\ 023C 7D LD A,L
\ 023D B4 OR H
\ 023E 282C JR Z,?0078
\ 0240 ?0071:
202 {
203 return g_result;
\ 0240 183A JR ?0116
204 }
\ 0242 ?0072:
205 need_draw = TRUE;
206 break;
\ 0242 ?0073:
\ 0242 FE05 CP 5
\ 0244 2013 JR NZ,?0076
207 case NextPlaySta:
208 g_result = ToNextMusic(Play_key);
\ 0246 1E02 LD E,2
\ 0248 3E00 LD A,BYTE3 ToNextMusic
\ 024A 21A504 LD HL,LWRD ToNextMusic
\ 024D CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0250 220000 LD (g_result),HL
209 if ( g_result != NULL )
\ 0253 7D LD A,L
\ 0254 B4 OR H
\ 0255 2815 JR Z,?0078
\ 0257 ?0074:
210 {
211 return g_result;
\ 0257 1823 JR ?0116
212 }
\ 0259 ?0075:
213 need_draw = TRUE;
214 break;
\ 0259 ?0076:
\ 0259 FE06 CP 6
\ 025B 2017 JR NZ,?0079
215 case PrevPlaySta:
216 g_result = PrevMusicInPlay();
\ 025D 3E00 LD A,BYTE3 PrevMusicInPlay
\ 025F 21D504 LD HL,LWRD PrevMusicInPlay
\ 0262 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0265 220000 LD (g_result),HL
217 if ( g_result != NULL )
\ 0268 7D LD A,L
\ 0269 B4 OR H
\ 026A 2010 JR NZ,?0116
\ 026C ?0077:
218 {
219 return g_result;
220 }
\ 026C ?0078:
221 need_draw = TRUE;
\ 026C 3E01 LD A,1
\ 026E 320000 LD (need_draw),A
222 break;
\ 0271 C32400 JP LWRD ?0003
\ 0274 ?0079:
223
224 default:
225 AmvDecSetCMD(MC_CLOSE,(int )&g_amv_vars.amvfilebreakpoint);
\ 0274 013000 LD BC,g_amv_vars+48
\ 0277 1E02 LD E,2
\ 0279 CD8F02 CALL LWRD ?0130
226 return g_result;
\ 027C ?0116:
\ 027C 2A0000 LD HL,(g_result)
227 }
\ 027F ?0080:
\ 027F F1 POP AF
\ 0280 F1 POP AF
\ 0281 F1 POP AF
\ 0282 F1 POP AF
\ 0283 DDE1 POP IX
\ 0285 D1 POP DE
\ 0286 C1 POP BC
\ 0287 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 028A ?0131:
\ 028A 010000 LD BC,0
\ 028D 1E06 LD E,6
\ 028F ?0130:
\ 028F 3E00 LD A,BYTE3 AmvDecSetCMD
\ 0291 210000 LD HL,LWRD AmvDecSetCMD
\ 0294 C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 0297 ?0069:
\ 0297 ?0068:
228
229 }
230
231
232 }/* while(1) */
233
234 }
\ 0297 ShowNowTime:
235
236 /*
237 ********************************************************************************
238 * void Show_Bitrate( void )
239 *
240 * Description : 显示比特率
241 *
242 * Arguments : void
243 *
244 * Returns : void
245 *
246 * Notes :
247 *
248 ********************************************************************************
249 */
250
251 void ShowNowTime(bool para)
252 {
\ 0297 C5 PUSH BC
\ 0298 FDE5 PUSH IY
\ 029A DDE5 PUSH IX
\ 029C DD210000 LD IX,0
\ 02A0 DD39 ADD IX,SP
\ 02A2 D5 PUSH DE
\ 02A3 21F6FF LD HL,65526
\ 02A6 39 ADD HL,SP
\ 02A7 F9 LD SP,HL
253 long int totaltime,nowtime;
254 int num,i;
255
256 if(g_rSetPlayStatus)
\ 02A8 3A0000 LD A,(g_rSetPlayStatus)
\ 02AB B7 OR A
\ 02AC 2807 JR Z,?0082
\ 02AE ?0081:
257 {
258 para = FALSE;
259 g_rSetPlayStatus = FALSE;
\ 02AE AF XOR A
\ 02AF 320000 LD (g_rSetPlayStatus),A
\ 02B2 DD77FE LD (IX-2),A
\ 02B5 ?0082:
260 }
261
262 nowtime = g_amv_vars.amvfilebreakpoint.TimeHou*3600+g_amv_vars.amvfilebreakpoint.TimeMin*60
263 + g_amv_vars.amvfilebreakpoint.TimeSec;
\ 02B5 ED4B3500 LD BC,(g_amv_vars+53)
\ 02B9 47 LD B,A
\ 02BA 113C00 LD DE,60
\ 02BD CD0000 CALL LWRD ?S_MUL_L02
\ 02C0 D5 PUSH DE
\ 02C1 ED4B3600 LD BC,(g_amv_vars+54)
\ 02C5 47 LD B,A
\ 02C6 11100E LD DE,3600
\ 02C9 CD0000 CALL LWRD ?S_MUL_L02
\ 02CC EB EX DE,HL
\ 02CD D1 POP DE
\ 02CE 19 ADD HL,DE
\ 02CF ED4B3400 LD BC,(g_amv_vars+52)
\ 02D3 47 LD B,A
\ 02D4 09 ADD HL,BC
\ 02D5 7C LD A,H
\ 02D6 07 RLCA
\ 02D7 9F SBC A,A
\ 02D8 4F LD C,A
\ 02D9 41 LD B,C
\ 02DA DD75F6 LD (IX-10),L
\ 02DD DD74F7 LD (IX-9),H
\ 02E0 DD71F8 LD (IX-8),C
\ 02E3 DD70F9 LD (IX-7),B
264 totaltime = Totaltime.hour*3600+Totaltime.minute*60+Totaltime.second;
\ 02E6 ED5B0100 LD DE,(Totaltime+1)
\ 02EA 1600 LD D,0
\ 02EC 013C00 LD BC,60
\ 02EF CD0000 CALL LWRD ?S_MUL_L02
\ 02F2 D5 PUSH DE
\ 02F3 ED4B0000 LD BC,(Totaltime)
\ 02F7 0600 LD B,0
\ 02F9 11100E LD DE,3600
\ 02FC CD0000 CALL LWRD ?S_MUL_L02
\ 02FF EB EX DE,HL
\ 0300 D1 POP DE
\ 0301 19 ADD HL,DE
\ 0302 ED4B0200 LD BC,(Totaltime+2)
\ 0306 0600 LD B,0
\ 0308 09 ADD HL,BC
\ 0309 7C LD A,H
\ 030A 07 RLCA
\ 030B 9F SBC A,A
\ 030C 4F LD C,A
\ 030D 41 LD B,C
265 num=(nowtime*161)/totaltime;
\ 030E C5 PUSH BC
\ 030F E5 PUSH HL
\ 0310 210000 LD HL,0
\ 0313 E5 PUSH HL
\ 0314 2EA1 LD L,161
\ 0316 E5 PUSH HL
\ 0317 DD4EF8 LD C,(IX-8)
\ 031A DD46F9 LD B,(IX-7)
\ 031D DD6EF6 LD L,(IX-10)
\ 0320 DD66F7 LD H,(IX-9)
\ 0323 CD0000 CALL LWRD ?L_MUL_L03
\ 0326 CD0000 CALL LWRD ?SL_DIV_L03
\ 0329 DD75F4 LD (IX-12),L
\ 032C DD74F5 LD (IX-11),H
266 if(num>161) //防止串烧时出现当前时间大于总时间的bug
\ 032F 4D LD C,L
\ 0330 44 LD B,H
\ 0331 21A100 LD HL,161
\ 0334 B5 OR L
\ 0335 ED42 SBC HL,BC
\ 0337 E23B03 JP PO,?0126
\ 033A AC XOR H
\ 033B ?0126:
\ 033B F24503 JP P,?0084
\ 033E ?0083:
267 num=0;
\ 033E AF XOR A
\ 033F DD77F4 LD (IX-12),A
\ 0342 DD77F5 LD (IX-11),A
\ 0345 ?0084:
268 itoa_2(g_amv_vars.amvfilebreakpoint.TimeHou, temp_buffer);
\ 0345 010000 LD BC,temp_buffer
\ 0348 ED5B3600 LD DE,(g_amv_vars+54)
\ 034C CD1E04 CALL LWRD ?0132
269 strcat(temp_buffer,":");
270 itoa_2(g_amv_vars.amvfilebreakpoint.TimeMin, & temp_buffer[3]);
\ 034F ED5B3500 LD DE,(g_amv_vars+53)
\ 0353 3E00 LD A,BYTE3 itoa_2
\ 0355 210000 LD HL,LWRD itoa_2
\ 0358 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
271 strcat(temp_buffer,":");
\ 035B 110000 LD DE,?0085
\ 035E 210000 LD HL,temp_buffer
\ 0361 CD0000 CALL LWRD ?STRCAT_L11
272 itoa_2(g_amv_vars.amvfilebreakpoint.TimeSec, & temp_buffer[6]);
\ 0364 010600 LD BC,temp_buffer+6
\ 0367 ED5B3400 LD DE,(g_amv_vars+52)
\ 036B 3E00 LD A,BYTE3 itoa_2
\ 036D 210000 LD HL,LWRD itoa_2
\ 0370 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
273 ui_show_d(temp_buffer,0);
\ 0373 0E00 LD C,0
\ 0375 110000 LD DE,temp_buffer
\ 0378 3E00 LD A,BYTE3 ui_show_d
\ 037A 210000 LD HL,LWRD ui_show_d
\ 037D CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
274 if(!para)
\ 0380 AF XOR A
\ 0381 DDB6FE OR (IX-2)
\ 0384 3A0000 LD A,(g_volcounter)
\ 0387 2078 JR NZ,?0087
\ 0389 ?0086:
275 {
276 if(g_volcounter==0)
\ 0389 B7 OR A
\ 038A 2038 JR NZ,?0090
\ 038C ?0088:
277 {
278 main_ResShowPic(GUAGEBG1, 0, 106); //刷新进度条背景
\ 038C 0E6A LD C,106
\ 038E C5 PUSH BC
\ 038F 4F LD C,A
\ 0390 119A00 LD DE,154
\ 0393 CD3B04 CALL LWRD ?0133
\ 0396 F1 POP AF
279 for(i=0;i<num;i++)
\ 0397 FD210000 LD IY,0
\ 039B ?0091:
\ 039B DD4EF4 LD C,(IX-12)
\ 039E DD46F5 LD B,(IX-11)
\ 03A1 FDE5 PUSH IY
\ 03A3 E1 POP HL
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -