⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sub_function1.lst

📁 MP3 整个 SDK
💻 LST
📖 第 1 页 / 共 5 页
字号:
    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 + -