📄 sub_function1.lst
字号:
292
293 case Music_APE:
294 BankSwitch((unsigned long)apepSendCommand >> 16);
\ 031C 1E00 LD E,BYTE3 apepSendCommand
\ 031E CD5204 CALL LWRD ?0172
295 result = apepSendCommand(cmd, param);
\ 0321 3E00 LD A,BYTE3 apepSendCommand
\ 0323 210000 LD HL,LWRD apepSendCommand
\ 0326 CD2404 CALL LWRD ?0164
296 switch(cmd)
\ 0329 202E JR NZ,?0082
\ 032B ?0079:
297 {
298 case MC_LOAD:
299 apepSendCommand(MC_SETVOLUME, g_music_vars.volume);
\ 032B ED4B0000 LD BC,(g_music_vars)
\ 032F 79 LD A,C
\ 0330 07 RLCA
\ 0331 9F SBC A,A
\ 0332 47 LD B,A
\ 0333 1E40 LD E,64
\ 0335 3E00 LD A,BYTE3 apepSendCommand
\ 0337 210000 LD HL,LWRD apepSendCommand
\ 033A CD1604 CALL LWRD ?0163
300 apepSendCommand(MC_SETSPEED, g_music_vars.play_rate);
\ 033D 3E00 LD A,BYTE3 apepSendCommand
\ 033F 210000 LD HL,LWRD apepSendCommand
\ 0342 CD4704 CALL LWRD ?0167
301 if(g_music_vars.eq_type > 0x10)
\ 0345 3005 JR NC,?0081
\ 0347 ?0080:
302 apepSendCommand(MC_SETEQ, 0);
\ 0347 010000 LD BC,0
\ 034A 1803 JR ?0154
303 else
\ 034C ?0081:
304 apepSendCommand(MC_SETEQ, g_music_vars.eq_type);
\ 034C 48 LD C,B
\ 034D 0600 LD B,0
\ 034F ?0154:
\ 034F 1E43 LD E,67
\ 0351 3E00 LD A,BYTE3 apepSendCommand
\ 0353 210000 LD HL,LWRD apepSendCommand
\ 0356 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0359 ?0082:
305 break;
\ 0359 ?0083:
306
307 default:
308 break;
\ 0359 ?0078:
309 }
310 break;
\ 0359 1843 JR ?0058
\ 035B ?0084:
311
312 case Music_OGG:
313 BankSwitch((unsigned long)oggpSendCommand >> 16);
\ 035B 1E00 LD E,BYTE3 oggpSendCommand
\ 035D CD5204 CALL LWRD ?0172
314 result = oggpSendCommand(cmd, param);
\ 0360 3E00 LD A,BYTE3 oggpSendCommand
\ 0362 210000 LD HL,LWRD oggpSendCommand
\ 0365 CD2404 CALL LWRD ?0164
315 switch(cmd)
\ 0368 2034 JR NZ,?0058
\ 036A ?0086:
316 {
317 case MC_LOAD:
318 oggpSendCommand(MC_SETVOLUME, g_music_vars.volume);
\ 036A ED4B0000 LD BC,(g_music_vars)
\ 036E 79 LD A,C
\ 036F 07 RLCA
\ 0370 9F SBC A,A
\ 0371 47 LD B,A
\ 0372 1E40 LD E,64
\ 0374 3E00 LD A,BYTE3 oggpSendCommand
\ 0376 210000 LD HL,LWRD oggpSendCommand
\ 0379 CD1604 CALL LWRD ?0163
319 oggpSendCommand(MC_SETSPEED, g_music_vars.play_rate);
\ 037C 3E00 LD A,BYTE3 oggpSendCommand
\ 037E 210000 LD HL,LWRD oggpSendCommand
\ 0381 CD4704 CALL LWRD ?0167
320 if(g_music_vars.eq_type > 0x10)
\ 0384 3005 JR NC,?0088
\ 0386 ?0087:
321 oggpSendCommand(MC_SETEQ, 0);
\ 0386 010000 LD BC,0
\ 0389 1803 JR ?0155
322 else
\ 038B ?0088:
323 oggpSendCommand(MC_SETEQ, g_music_vars.eq_type);
\ 038B 48 LD C,B
\ 038C 0600 LD B,0
\ 038E ?0155:
\ 038E 1E43 LD E,67
\ 0390 3E00 LD A,BYTE3 oggpSendCommand
\ 0392 210000 LD HL,LWRD oggpSendCommand
\ 0395 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0398 ?0089:
324 break;
\ 0398 1804 JR ?0058
\ 039A ?0090:
325
326 default:
327 break;
\ 039A ?0085:
328 }
329 break;
\ 039A ?0091:
330
331
332 default:
333 return FALSE;
\ 039A 2E00 LD L,0
334 }
\ 039C 1873 JR ?0106
\ 039E ?0058:
335
336
337 //[2]下面是在做完如下命令都要做的事情
338 switch ( cmd )
\ 039E DD5E02 LD E,(IX+2)
\ 03A1 CD0000 CALL LWRD ?C_V_SWITCH_L06
\ 03A4 0400 DEFW 4
\ 03A6 04 DEFB 4
\ 03A7 06 DEFB 6
\ 03A8 13 DEFB 19
\ 03A9 41 DEFB 65
\ 03AA 0E04 DEFW ?0092
\ 03AC B403 DEFW ?0093
\ 03AE 0504 DEFW ?0104
\ 03B0 FF03 DEFW ?0103
\ 03B2 F203 DEFW ?0100
\ 03B4 ?0093:
339 {
340 case MC_SETA_B:
341 if (result == 0)
\ 03B4 AF XOR A
\ 03B5 DDB6FE OR (IX-2)
\ 03B8 2854 JR Z,?0092
\ 03BA ?0094:
342 {
343 break;
\ 03BA ?0095:
344 }
345
346 switch ( param )
\ 03BA FDE5 PUSH IY
\ 03BC C1 POP BC
\ 03BD 3E01 LD A,1
\ 03BF A9 XOR C
\ 03C0 B0 OR B
\ 03C1 200E JR NZ,?0098
\ 03C3 ?0097:
347 {
348 case SetAPoint:
349 g_2HZ_CNT = 0;//开始计AB点时间长度
\ 03C3 6F LD L,A
\ 03C4 67 LD H,A
\ 03C5 220000 LD (g_2HZ_CNT),HL
350 g_ABMinTimeCNT = ABReplayMiniTime_def;//定AB的最小时长为400ms
\ 03C8 3E14 LD A,20
\ 03CA 320000 LD (g_ABMinTimeCNT),A
351 //g_ABMinTimeCNT = 4000/20;//定AB的最小时长为 4000/20 for debug
352 RePlayStatus = WaitSetBPointForAB;
\ 03CD 3E02 LD A,2
\ 03CF 1811 JR ?0156
353 UpDisplayFlag = UpDisplayFlag | up_MPRLmode;
354 need_draw = TRUE;
355 break;
\ 03D1 ?0098:
\ 03D1 3E02 LD A,2
\ 03D3 A9 XOR C
\ 03D4 B0 OR B
\ 03D5 2037 JR NZ,?0092
356
357 case SetBPoint:
358 g_ABPointTimeSize = g_2HZ_CNT;//记下AB点时间长度
\ 03D7 2A0000 LD HL,(g_2HZ_CNT)
\ 03DA 220000 LD (g_ABPointTimeSize),HL
359 g_ReplayTimeCNT = 0;//复读次数清0
\ 03DD 320000 LD (g_ReplayTimeCNT),A
360 RePlayStatus = ABLoopPlay;//自动进入复读模式
\ 03E0 3E03 LD A,3
\ 03E2 ?0156:
\ 03E2 320000 LD (RePlayStatus),A
361 UpDisplayFlag = UpDisplayFlag | up_MPRLmode;//刷新复读图标
\ 03E5 210000 LD HL,UpDisplayFlag
\ 03E8 23 INC HL
\ 03E9 CBDE SET 3,(HL)
362 need_draw = TRUE;
\ 03EB 3E01 LD A,1
\ 03ED 320000 LD (need_draw),A
363 break;
\ 03F0 181C JR ?0092
\ 03F2 ?0099:
364
365 default:
366 break;
\ 03F2 ?0096:
367 }
368 break;
\ 03F2 ?0100:
369
370 case MC_PLAY:
371 if (result)
\ 03F2 AF XOR A
\ 03F3 DDB6FE OR (IX-2)
\ 03F6 2816 JR Z,?0092
\ 03F8 ?0101:
372 {
373 PlayStatus = PlaySta;
\ 03F8 3E02 LD A,2
\ 03FA 320000 LD (PlayStatus),A
\ 03FD ?0102:
374 }
375 break;
\ 03FD 180F JR ?0092
\ 03FF ?0103:
376
377 case MC_STOP:
378 PlayStatus = StopSta;
\ 03FF AF XOR A
\ 0400 320000 LD (PlayStatus),A
379 CaltimeFlag = FALSE;//等待计时间
\ 0403 1802 JR ?0157
380 WaitForCaltimeCNT = 0;
381 break;
\ 0405 ?0104:
382
383 case MC_CALTIME:
384 CaltimeFlag = TRUE;
\ 0405 3E01 LD A,1
\ 0407 ?0157:
\ 0407 320000 LD (CaltimeFlag),A
385 WaitForCaltimeCNT = 0;
\ 040A AF XOR A
\ 040B 320000 LD (WaitForCaltimeCNT),A
386
387 break;
\ 040E ?0105:
388
389 default:
390 break;
\ 040E ?0092:
391 }
392 return result;
\ 040E DD6EFE LD L,(IX-2)
393 }
\ 0411 ?0106:
\ 0411 FDE1 POP IY
\ 0413 C30000 JP LWRD ?BANK_LEAVE_DIRECT_L08
\ 0416 ?0163:
\ 0416 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0419 ED4B0300 LD BC,(g_music_vars+3)
\ 041D 79 LD A,C
\ 041E 07 RLCA
\ 041F 9F SBC A,A
\ 0420 47 LD B,A
\ 0421 1E46 LD E,70
\ 0423 C9 RET
\ 0424 ?0164:
\ 0424 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0427 DD75FE LD (IX-2),L
\ 042A DD7E02 LD A,(IX+2)
\ 042D FE03 CP 3
\ 042F C9 RET
\ 0430 ?0165:
\ 0430 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0433 ED4B0200 LD BC,(g_music_vars+2)
\ 0437 0600 LD B,0
\ 0439 1E43 LD E,67
\ 043B C9 RET
\ 043C ?0166:
\ 043C CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 043F 3A0200 LD A,(g_music_vars+2)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -