sub_function1.lst
来自「炬力方案176*132软件源码,适用于AK1025」· LST 代码 · 共 1,380 行 · 第 1/5 页
LST
1,380 行
275 switch (cmd)
\ 0313 DD7E02 LD A,(IX+2)
\ 0316 FE04 CP 4
\ 0318 202B JR NZ,?0085
\ 031A ?0078:
276 {
277 case MC_PLAY:
278
279 if (!g_PAOpenFlag)
\ 031A 3A0000 LD A,(g_PAOpenFlag)
\ 031D B7 OR A
\ 031E 2003 JR NZ,?0080
\ 0320 ?0079:
280 {
281 //第一次进入AP时由于要开PA,为了减少噪音,要进行淡入。
282 #ifdef OPT_Sup_FadeIn_fun
283 musicpSendCommand(MC_FADEINOUT, FadeIn_def);
\ 0320 CD9000 CALL LWRD ?0216
\ 0323 ?0080:
284 #endif //OPT_Sup_FadeIn_fun
285 }
286 if (g_FCexitflag)
\ 0323 3A0000 LD A,(g_FCexitflag)
\ 0326 B7 OR A
\ 0327 2804 JR Z,?0082
\ 0329 ?0081:
287 {
288 openPA(0);
\ 0329 1E00 LD E,0
\ 032B 1804 JR ?0194
289 }
290 else
\ 032D ?0082:
291 {
292 openPA(g_music_vars.volume);
\ 032D ED5B0000 LD DE,(g_music_vars)
\ 0331 ?0194:
\ 0331 3E00 LD A,BYTE3 openPA
\ 0333 210000 LD HL,LWRD openPA
\ 0336 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0339 ?0083:
293 }
294
295 if (param == Nor_Break_open)
\ 0339 FDE5 PUSH IY
\ 033B E1 POP HL
\ 033C 3E01 LD A,1
\ 033E AD XOR L
\ 033F B4 OR H
\ 0340 2003 JR NZ,?0085
\ 0342 ?0084:
296 {
297 //断点播放时要淡入
298 #ifdef OPT_Sup_FadeIn_fun
299 musicpSendCommand(MC_FADEINOUT, FadeIn_def);
\ 0342 CD9000 CALL LWRD ?0216
\ 0345 ?0085:
300 #endif //OPT_Sup_FadeIn_fun
301 }
302 break;
\ 0345 ?0086:
303
304 default:
305 break;
\ 0345 ?0077:
306 }
307 switch (g_currentMusicType)
\ 0345 ED5B0000 LD DE,(g_currentMusicType)
\ 0349 CD0000 CALL LWRD ?C_S_SWITCH_L06
\ 034C 01 DEFB 1
\ 034D 0600 DEFW 6
\ 034F 8104 DEFW ?0120
\ 0351 5D03 DEFW ?0088
\ 0353 B003 DEFW ?0097
\ 0355 B003 DEFW ?0097
\ 0357 B003 DEFW ?0097
\ 0359 4204 DEFW ?0113
\ 035B 0304 DEFW ?0106
\ 035D ?0088:
308 {
309 case Music_MP3: //mp3
310 BankSwitch((unsigned long)mp3pSendCommand >> 16);
\ 035D 1E00 LD E,BYTE3 mp3pSendCommand
\ 035F CD3905 CALL LWRD ?0219
311 result = mp3pSendCommand(cmd, param);
\ 0362 3E00 LD A,BYTE3 mp3pSendCommand
\ 0364 210000 LD HL,LWRD mp3pSendCommand
\ 0367 CD0B05 CALL LWRD ?0210
312 switch(cmd)
\ 036A 2041 JR NZ,?0095
\ 036C ?0090:
313 {
314 case MC_LOAD:
315 mp3pSendCommand(MC_SETVOLUME, g_music_vars.volume);
\ 036C ED4B0000 LD BC,(g_music_vars)
\ 0370 79 LD A,C
\ 0371 07 RLCA
\ 0372 9F SBC A,A
\ 0373 47 LD B,A
\ 0374 1E40 LD E,64
\ 0376 3E00 LD A,BYTE3 mp3pSendCommand
\ 0378 210000 LD HL,LWRD mp3pSendCommand
\ 037B CDFD04 CALL LWRD ?0208
316 mp3pSendCommand(MC_SETSPEED, g_music_vars.play_rate);
\ 037E 3E00 LD A,BYTE3 mp3pSendCommand
\ 0380 210000 LD HL,LWRD mp3pSendCommand
\ 0383 CD1705 CALL LWRD ?0211
317 mp3pSendCommand(MC_SETEQ, g_music_vars.eq_type);
\ 0386 3E00 LD A,BYTE3 mp3pSendCommand
\ 0388 210000 LD HL,LWRD mp3pSendCommand
\ 038B CD2305 CALL LWRD ?0212
318 if(g_music_vars.eq_type>8)
\ 038E 301D JR NC,?0095
\ 0390 ?0091:
319 {
320 if(SRSModeFlag)
\ 0390 3A0000 LD A,(SRSModeFlag)
\ 0393 B7 OR A
\ 0394 280F JR Z,?0094
\ 0396 ?0093:
321 {
322 mp3pSendCommand(MC_SETUSEREQ, (int)&(g_music_vars.SRSMod));
\ 0396 015300 LD BC,g_music_vars+83
\ 0399 1E42 LD E,66
\ 039B 3E00 LD A,BYTE3 mp3pSendCommand
\ 039D 210000 LD HL,LWRD mp3pSendCommand
\ 03A0 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
323 }
324 else
\ 03A3 1808 JR ?0095
\ 03A5 ?0094:
325 {
326 srs_default_set();
\ 03A5 3E00 LD A,BYTE3 srs_default_set
\ 03A7 210000 LD HL,LWRD srs_default_set
\ 03AA CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 03AD ?0095:
\ 03AD ?0092:
327 }
328 }
329 break;
\ 03AD ?0096:
330
331 default:
332 break;
\ 03AD ?0089:
333 }
334 break;
\ 03AD C38504 JP LWRD ?0087
\ 03B0 ?0097:
335
336 case Music_WMA: //wma
337 case Music_ASF: //asf
338 case Music_WMV: //wmv
339 BankSwitch((unsigned long)wmapSendCommand >> 16);
\ 03B0 1E00 LD E,BYTE3 wmapSendCommand
\ 03B2 CD3905 CALL LWRD ?0219
340 result = wmapSendCommand(cmd, param);
\ 03B5 3E00 LD A,BYTE3 wmapSendCommand
\ 03B7 210000 LD HL,LWRD wmapSendCommand
\ 03BA CD0B05 CALL LWRD ?0210
341
342 switch(cmd)
\ 03BD 2041 JR NZ,?0104
\ 03BF ?0099:
343 {
344 case MC_LOAD:
345 wmapSendCommand(MC_SETVOLUME, g_music_vars.volume);
\ 03BF ED4B0000 LD BC,(g_music_vars)
\ 03C3 79 LD A,C
\ 03C4 07 RLCA
\ 03C5 9F SBC A,A
\ 03C6 47 LD B,A
\ 03C7 1E40 LD E,64
\ 03C9 3E00 LD A,BYTE3 wmapSendCommand
\ 03CB 210000 LD HL,LWRD wmapSendCommand
\ 03CE CDFD04 CALL LWRD ?0208
346 wmapSendCommand(MC_SETSPEED, g_music_vars.play_rate);
\ 03D1 3E00 LD A,BYTE3 wmapSendCommand
\ 03D3 210000 LD HL,LWRD wmapSendCommand
\ 03D6 CD1705 CALL LWRD ?0211
347 wmapSendCommand(MC_SETEQ, g_music_vars.eq_type);
\ 03D9 3E00 LD A,BYTE3 wmapSendCommand
\ 03DB 210000 LD HL,LWRD wmapSendCommand
\ 03DE CD2305 CALL LWRD ?0212
348 if(g_music_vars.eq_type>8)
\ 03E1 301D JR NC,?0104
\ 03E3 ?0100:
349 {
350 if(SRSModeFlag)
\ 03E3 3A0000 LD A,(SRSModeFlag)
\ 03E6 B7 OR A
\ 03E7 280F JR Z,?0103
\ 03E9 ?0102:
351 {
352 wmapSendCommand(MC_SETUSEREQ, (int)&(g_music_vars.SRSMod));
\ 03E9 015300 LD BC,g_music_vars+83
\ 03EC 1E42 LD E,66
\ 03EE 3E00 LD A,BYTE3 wmapSendCommand
\ 03F0 210000 LD HL,LWRD wmapSendCommand
\ 03F3 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
353 }
354 else
\ 03F6 1808 JR ?0104
\ 03F8 ?0103:
355 {
356 srs_default_set();
\ 03F8 3E00 LD A,BYTE3 srs_default_set
\ 03FA 210000 LD HL,LWRD srs_default_set
\ 03FD CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0400 ?0104:
\ 0400 ?0101:
357 }
358 }
359 break;
\ 0400 ?0105:
360
361 default:
362 break;
\ 0400 ?0098:
363 }
364 break;
\ 0400 C38504 JP LWRD ?0087
\ 0403 ?0106:
365
366 case Music_APE:
367 BankSwitch((unsigned long)apepSendCommand >> 16);
\ 0403 1E00 LD E,BYTE3 apepSendCommand
\ 0405 CD3905 CALL LWRD ?0219
368 result = apepSendCommand(cmd, param);
\ 0408 3E00 LD A,BYTE3 apepSendCommand
\ 040A 210000 LD HL,LWRD apepSendCommand
\ 040D CD0B05 CALL LWRD ?0210
369 switch(cmd)
\ 0410 202E JR NZ,?0111
\ 0412 ?0108:
370 {
371 case MC_LOAD:
372 apepSendCommand(MC_SETVOLUME, g_music_vars.volume);
\ 0412 ED4B0000 LD BC,(g_music_vars)
\ 0416 79 LD A,C
\ 0417 07 RLCA
\ 0418 9F SBC A,A
\ 0419 47 LD B,A
\ 041A 1E40 LD E,64
\ 041C 3E00 LD A,BYTE3 apepSendCommand
\ 041E 210000 LD HL,LWRD apepSendCommand
\ 0421 CDFD04 CALL LWRD ?0208
373 apepSendCommand(MC_SETSPEED, g_music_vars.play_rate);
\ 0424 3E00 LD A,BYTE3 apepSendCommand
\ 0426 210000 LD HL,LWRD apepSendCommand
\ 0429 CD2E05 CALL LWRD ?0213
374 if(g_music_vars.eq_type > 0x10)
\ 042C 3005 JR NC,?0110
\ 042E ?0109:
375 apepSendCommand(MC_SETEQ, 0);
\ 042E 010000 LD BC,0
\ 0431 1803 JR ?0195
376 else
\ 0433 ?0110:
377 apepSendCommand(MC_SETEQ, g_music_vars.eq_type);
\ 0433 48 LD C,B
\ 0434 0600 LD B,0
\ 0436 ?0195:
\ 0436 1E43 LD E,67
\ 0438 3E00 LD A,BYTE3 apepSendCommand
\ 043A 210000 LD HL,LWRD apepSendCommand
\ 043D CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0440 ?0111:
378 break;
\ 0440 ?0112:
379
380 default:
381 break;
\ 0440 ?0107:
382 }
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?