sub_function1.lst

来自「炬力方案176*132软件源码,适用于AK1025」· LST 代码 · 共 1,380 行 · 第 1/5 页

LST
1,380
字号
    383                  break;
   \   0440  1843              JR      ?0087
   \   0442            ?0113:
    384                  
    385              case Music_OGG:
    386                  BankSwitch((unsigned long)oggpSendCommand >> 16);
   \   0442  1E00              LD      E,BYTE3 oggpSendCommand
   \   0444  CD3905            CALL    LWRD ?0219
    387                  result = oggpSendCommand(cmd, param);
   \   0447  3E00              LD      A,BYTE3 oggpSendCommand
   \   0449  210000            LD      HL,LWRD oggpSendCommand
   \   044C  CD0B05            CALL    LWRD ?0210
    388                  switch(cmd)
   \   044F  2034              JR      NZ,?0087
   \   0451            ?0115:
    389                  {
    390                  case MC_LOAD:
    391                      oggpSendCommand(MC_SETVOLUME, g_music_vars.volume);
   \   0451  ED4B0000          LD      BC,(g_music_vars)
   \   0455  79                LD      A,C
   \   0456  07                RLCA
   \   0457  9F                SBC     A,A
   \   0458  47                LD      B,A
   \   0459  1E40              LD      E,64
   \   045B  3E00              LD      A,BYTE3 oggpSendCommand
   \   045D  210000            LD      HL,LWRD oggpSendCommand
   \   0460  CDFD04            CALL    LWRD ?0208
    392                      oggpSendCommand(MC_SETSPEED, g_music_vars.play_rate);
   \   0463  3E00              LD      A,BYTE3 oggpSendCommand
   \   0465  210000            LD      HL,LWRD oggpSendCommand
   \   0468  CD2E05            CALL    LWRD ?0213
    393                      if(g_music_vars.eq_type > 0x10)
   \   046B  3005              JR      NC,?0117
   \   046D            ?0116:
    394                          oggpSendCommand(MC_SETEQ, 0);
   \   046D  010000            LD      BC,0
   \   0470  1803              JR      ?0196
    395                      else
   \   0472            ?0117:
    396                      oggpSendCommand(MC_SETEQ, g_music_vars.eq_type);
   \   0472  48                LD      C,B
   \   0473  0600              LD      B,0
   \   0475            ?0196:
   \   0475  1E43              LD      E,67
   \   0477  3E00              LD      A,BYTE3 oggpSendCommand
   \   0479  210000            LD      HL,LWRD oggpSendCommand
   \   047C  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   047F            ?0118:
    397                      break;
   \   047F  1804              JR      ?0087
   \   0481            ?0119:
    398          
    399                  default:
    400                      break;
   \   0481            ?0114:
    401                  }
    402                  break;
   \   0481            ?0120:
    403          
    404          
    405              default:
    406                  return FALSE;
   \   0481  2E00              LD      L,0
    407              }
   \   0483  1873              JR      ?0135
   \   0485            ?0087:
    408          
    409          
    410              //[2]下面是在做完如下命令都要做的事情
    411              switch ( cmd )
   \   0485  DD5E02            LD      E,(IX+2)
   \   0488  CD0000            CALL    LWRD ?C_V_SWITCH_L06
   \   048B  0400              DEFW    4
   \   048D  04                DEFB    4
   \   048E  06                DEFB    6
   \   048F  13                DEFB    19
   \   0490  41                DEFB    65
   \   0491  F504              DEFW    ?0121
   \   0493  9B04              DEFW    ?0122
   \   0495  EC04              DEFW    ?0133
   \   0497  E604              DEFW    ?0132
   \   0499  D904              DEFW    ?0129
   \   049B            ?0122:
    412              {
    413              case MC_SETA_B:
    414                  if (result == 0)
   \   049B  AF                XOR     A
   \   049C  DDB6FE            OR      (IX-2)
   \   049F  2854              JR      Z,?0121
   \   04A1            ?0123:
    415                  {
    416                      break;
   \   04A1            ?0124:
    417                  }
    418          
    419                  switch ( param )
   \   04A1  FDE5              PUSH    IY
   \   04A3  C1                POP     BC
   \   04A4  3E01              LD      A,1
   \   04A6  A9                XOR     C
   \   04A7  B0                OR      B
   \   04A8  200E              JR      NZ,?0127
   \   04AA            ?0126:
    420                  {
    421                  case SetAPoint:
    422                      g_2HZ_CNT = 0;//开始计AB点时间长度
   \   04AA  6F                LD      L,A
   \   04AB  67                LD      H,A
   \   04AC  220000            LD      (g_2HZ_CNT),HL
    423                      g_ABMinTimeCNT = ABReplayMiniTime_def;//定AB的最小时长为400ms
   \   04AF  3E14              LD      A,20
   \   04B1  320000            LD      (g_ABMinTimeCNT),A
    424                      //g_ABMinTimeCNT = 4000/20;//定AB的最小时长为  4000/20 for debug
    425                      RePlayStatus = WaitSetBPointForAB;
   \   04B4  3E02              LD      A,2
   \   04B6  1811              JR      ?0197
    426                      UpDisplayFlag = UpDisplayFlag | up_MPRLmode;
    427                      need_draw = TRUE;
    428                      break;
   \   04B8            ?0127:
   \   04B8  3E02              LD      A,2
   \   04BA  A9                XOR     C
   \   04BB  B0                OR      B
   \   04BC  2037              JR      NZ,?0121
    429          
    430                  case SetBPoint:
    431                      g_ABPointTimeSize = g_2HZ_CNT;//记下AB点时间长度
   \   04BE  2A0000            LD      HL,(g_2HZ_CNT)
   \   04C1  220000            LD      (g_ABPointTimeSize),HL
    432                      g_ReplayTimeCNT = 0;//复读次数清0
   \   04C4  320000            LD      (g_ReplayTimeCNT),A
    433                      RePlayStatus = ABLoopPlay;//自动进入复读模式
   \   04C7  3E03              LD      A,3
   \   04C9            ?0197:
   \   04C9  320000            LD      (RePlayStatus),A
    434                      UpDisplayFlag = UpDisplayFlag | up_MPRLmode;//刷新复读图标
   \   04CC  210000            LD      HL,UpDisplayFlag
   \   04CF  23                INC     HL
   \   04D0  CBDE              SET     3,(HL)
    435                      need_draw = TRUE;
   \   04D2  3E01              LD      A,1
   \   04D4  320000            LD      (need_draw),A
    436                      break;
   \   04D7  181C              JR      ?0121
   \   04D9            ?0128:
    437          
    438                  default:
    439                      break;
   \   04D9            ?0125:
    440                  }
    441                  break;
   \   04D9            ?0129:
    442          
    443              case MC_PLAY:
    444                  if (result)
   \   04D9  AF                XOR     A
   \   04DA  DDB6FE            OR      (IX-2)
   \   04DD  2816              JR      Z,?0121
   \   04DF            ?0130:
    445                  {
    446                      PlayStatus = PlaySta;
   \   04DF  3E02              LD      A,2
   \   04E1  320000            LD      (PlayStatus),A
   \   04E4            ?0131:
    447                  }
    448                  break;
   \   04E4  180F              JR      ?0121
   \   04E6            ?0132:
    449          
    450              case MC_STOP:
    451                  PlayStatus = StopSta;
   \   04E6  AF                XOR     A
   \   04E7  320000            LD      (PlayStatus),A
    452                  CaltimeFlag = FALSE;//等待计时间
   \   04EA  1802              JR      ?0198
    453                  WaitForCaltimeCNT = 0;
    454                  break;
   \   04EC            ?0133:
    455          
    456              case MC_CALTIME:
    457                  CaltimeFlag = TRUE;
   \   04EC  3E01              LD      A,1
   \   04EE            ?0198:
   \   04EE  320000            LD      (CaltimeFlag),A
    458                  WaitForCaltimeCNT = 0;
   \   04F1  AF                XOR     A
   \   04F2  320000            LD      (WaitForCaltimeCNT),A
    459          
    460                  break;
   \   04F5            ?0134:
    461          
    462              default:
    463                  break;
   \   04F5            ?0121:
    464              }
    465              return result;
   \   04F5  DD6EFE            LD      L,(IX-2)
    466          }
   \   04F8            ?0135:
   \   04F8  FDE1              POP     IY
   \   04FA  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
   \   04FD            ?0208:
   \   04FD  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0500  ED4B0300          LD      BC,(g_music_vars+3)
   \   0504  79                LD      A,C
   \   0505  07                RLCA
   \   0506  9F                SBC     A,A
   \   0507  47                LD      B,A
   \   0508  1E46              LD      E,70
   \   050A  C9                RET
   \   050B            ?0210:
   \   050B  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   050E  DD75FE            LD      (IX-2),L
   \   0511  DD7E02            LD      A,(IX+2)
   \   0514  FE03              CP      3
   \   0516  C9                RET
   \   0517            ?0211:
   \   0517  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   051A  ED4B0200          LD      BC,(g_music_vars+2)
   \   051E  0600              LD      B,0
   \   0520  1E43              LD      E,67
   \   0522  C9                RET
   \   0523            ?0212:
   \   0523  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0526  3A0200            LD      A,(g_music_vars+2)
   \   0529  47                LD      B,A
   \   052A  3E08              LD      A,8
   \   052C  B8                CP      B
   \   052D  C9                RET
   \   052E            ?0213:
   \   052E  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0531  3A0200            LD      A,(g_music_vars+2)
   \   0534  47                LD      B,A
   \   0535  3E10              LD      A,16
   \   0537  B8                CP      B
   \   0538  C9                RET
   \   0539            ?0219:
   \   0539  CD0000            CALL    LWRD BankSwitch
   \   053C  FDE5              PUSH    IY
   \   053E  C1                POP     BC
   \   053F  DD5E02            LD      E,(IX+2)
   \   0542  C9                RET
   \   0543            SelectCurMusic:
    467          
    468          //===================重选当前歌曲=========================
    469          void SelectCurMusic(void)
    470          {
   \   0543  C5                PUSH    BC
   \   0544  D5                PUSH    DE
    471                  musicpSendCommand(MC_STOP, NULL);
   \   0545  CD7B05            CALL    LWRD ?0209
    472                  musicpSendCommand(MC_CLOSE, NULL);
   \   0548  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    473                  ChangeMusic(Music_Cur, Play_play); //播放当前歌曲
   \   054B  0E01              LD      C,1
   \   054D  1E02              LD      E,2
   \   054F  3E00              LD      A,BYTE3 ChangeMusic
   \   0551  213E01            LD      HL,LWRD ChangeMusic
   \   0554  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    474                  GetInformation(); //取文件信息
   \   0557  3E00              LD      A,BYTE3 GetInformation
   \   0559  210000            LD      HL,LWRD GetInformation
   \   055C  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    475                  musicpSendCommand( MC_OPEN,  (int)& g_Openparam );
   \   055F  010000            LD      BC,g_Openparam
   \   0562  1E01              LD      E,1
   \   0564  CD9305            CALL    LWRD ?0214
    476                  musicpSendCommand(MC_LOAD, NULL);
   \   0567  1E03              LD      E,3
   \   0569  CD9305            CALL    LWRD ?0214
    477                  musicpSendCommand(MC_CALTIME, NULL);
   \   056C  1E13              LD      E,19
   \   056E  CD9305            CALL    LWRD ?0214
    478                  musicpSendCommand(MC_PLAY, NULL);
   \   0571  1E04              LD      E,4
   \   0573  CD9500 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?