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

📄 sub_function2.lst

📁 MP3 整个 SDK
💻 LST
📖 第 1 页 / 共 5 页
字号:
     95          *             Music_type_t CheckMusicType(char *filename)
     96          *
     97          * Description : 检测当前是哪种类型的MUSIC文件
     98          *
     99          * Arguments   : char *filename  文件名
    100          *
    101          * Returns     : Music_type_t 文件类型
    102          *
    103          * Notes       :
    104          *
    105          ********************************************************************************
    106          */
    107          Music_type_t CheckMusicType( char * filename )
    108          {
   \   007F  C5                PUSH    BC
   \   0080  DDE5              PUSH    IX
   \   0082  21E4FF            LD      HL,65508
   \   0085  39                ADD     HL,SP
   \   0086  F9                LD      SP,HL
   \   0087  D5                PUSH    DE
   \   0088  DDE1              POP     IX
    109              const char ExtMusicstr [] [4] =
    110              {
    111                  "MP3", "WMA", "ASF", "WMV", "OGG", "APE"
    112              };
   \   008A  210400            LD      HL,4
   \   008D  39                ADD     HL,SP
   \   008E  EB                EX      DE,HL
   \   008F  210000            LD      HL,?0018
   \   0092  011800            LD      BC,24
   \   0095  EDB0              LDIR
    113          
    114              BYTE ext[4];
    115              memcpy(ext, filename + 8, 3);
   \   0097  69                LD      L,C
   \   0098  60                LD      H,B
   \   0099  39                ADD     HL,SP
   \   009A  EB                EX      DE,HL
   \   009B  210800            LD      HL,8
   \   009E  DDE5              PUSH    IX
   \   00A0  C1                POP     BC
   \   00A1  09                ADD     HL,BC
   \   00A2  010300            LD      BC,3
   \   00A5  EDB0              LDIR
    116              ext[0] = (ext[0]>='a' && ext[0]<='z') ? ext[0] - 'a' + 'A' : ext[0];
   \   00A7  69                LD      L,C
   \   00A8  60                LD      H,B
   \   00A9  39                ADD     HL,SP
   \   00AA  7E                LD      A,(HL)
   \   00AB  FE61              CP      97
   \   00AD  380A              JR      C,?0022
   \   00AF  3E7A              LD      A,122
   \   00B1  BE                CP      (HL)
   \   00B2  3805              JR      C,?0022
   \   00B4  7E                LD      A,(HL)
   \   00B5  C6E0              ADD     A,224
   \   00B7  1801              JR      ?0023
   \   00B9            ?0022:
   \   00B9  7E                LD      A,(HL)
   \   00BA            ?0023:
   \   00BA  77                LD      (HL),A
    117              ext[1] = (ext[1]>='a' && ext[1]<='z') ? ext[1] - 'a' + 'A' : ext[1];
   \   00BB  23                INC     HL
   \   00BC  7E                LD      A,(HL)
   \   00BD  FE61              CP      97
   \   00BF  380A              JR      C,?0028
   \   00C1  3E7A              LD      A,122
   \   00C3  BE                CP      (HL)
   \   00C4  3805              JR      C,?0028
   \   00C6  7E                LD      A,(HL)
   \   00C7  C6E0              ADD     A,224
   \   00C9  1801              JR      ?0029
   \   00CB            ?0028:
   \   00CB  7E                LD      A,(HL)
   \   00CC            ?0029:
   \   00CC  77                LD      (HL),A
    118              ext[2] = (ext[2]>='a' && ext[2]<='z') ? ext[2] - 'a' + 'A' : ext[2];
   \   00CD  23                INC     HL
   \   00CE  7E                LD      A,(HL)
   \   00CF  FE61              CP      97
   \   00D1  380A              JR      C,?0034
   \   00D3  3E7A              LD      A,122
   \   00D5  BE                CP      (HL)
   \   00D6  3805              JR      C,?0034
   \   00D8  7E                LD      A,(HL)
   \   00D9  C6E0              ADD     A,224
   \   00DB  1801              JR      ?0035
   \   00DD            ?0034:
   \   00DD  7E                LD      A,(HL)
   \   00DE            ?0035:
   \   00DE  77                LD      (HL),A
    119              ext[3] = 0;
   \   00DF  23                INC     HL
   \   00E0  70                LD      (HL),B
    120          
    121              if (strcmp(ext, ExtMusicstr[0]) == 0)
   \   00E1  2B                DEC     HL
   \   00E2  2B                DEC     HL
   \   00E3  2B                DEC     HL
   \   00E4  EB                EX      DE,HL
   \   00E5  210400            LD      HL,4
   \   00E8  39                ADD     HL,SP
   \   00E9  CD5F01            CALL    LWRD ?0152
   \   00EC  2004              JR      NZ,?0038
   \   00EE            ?0037:
    122              {
    123                  return Music_MP3;
   \   00EE  2E01              LD      L,1
    124              }
   \   00F0  185F              JR      ?0049
   \   00F2            ?0038:
    125              else if (strcmp(ext, ExtMusicstr[1]) == 0)
   \   00F2  69                LD      L,C
   \   00F3  60                LD      H,B
   \   00F4  39                ADD     HL,SP
   \   00F5  EB                EX      DE,HL
   \   00F6  210400            LD      HL,4
   \   00F9  39                ADD     HL,SP
   \   00FA  0E04              LD      C,4
   \   00FC  CD5E01            CALL    LWRD ?0153
   \   00FF  2004              JR      NZ,?0040
   \   0101            ?0039:
    126              {
    127                  return Music_WMA;
   \   0101  2E02              LD      L,2
    128              }
   \   0103  184C              JR      ?0049
   \   0105            ?0040:
    129              else if (strcmp(ext, ExtMusicstr[2]) == 0)
   \   0105  68                LD      L,B
   \   0106  60                LD      H,B
   \   0107  39                ADD     HL,SP
   \   0108  EB                EX      DE,HL
   \   0109  69                LD      L,C
   \   010A  60                LD      H,B
   \   010B  39                ADD     HL,SP
   \   010C  0E08              LD      C,8
   \   010E  CD5E01            CALL    LWRD ?0153
   \   0111  2004              JR      NZ,?0042
   \   0113            ?0041:
    130              {
    131                  return Music_ASF;
   \   0113  2E03              LD      L,3
    132              }
   \   0115  183A              JR      ?0049
   \   0117            ?0042:
    133              else if (strcmp(ext, ExtMusicstr[3]) == 0)
   \   0117  68                LD      L,B
   \   0118  60                LD      H,B
   \   0119  39                ADD     HL,SP
   \   011A  EB                EX      DE,HL
   \   011B  210400            LD      HL,4
   \   011E  39                ADD     HL,SP
   \   011F  0E0C              LD      C,12
   \   0121  CD5E01            CALL    LWRD ?0153
   \   0124  2004              JR      NZ,?0044
   \   0126            ?0043:
    134              {
    135                  return Music_WMV;
   \   0126  2E04              LD      L,4
    136              }
   \   0128  1827              JR      ?0049
   \   012A            ?0044:
    137              else if (strcmp(ext, ExtMusicstr[4]) == 0)
   \   012A  68                LD      L,B
   \   012B  60                LD      H,B
   \   012C  39                ADD     HL,SP
   \   012D  EB                EX      DE,HL
   \   012E  210400            LD      HL,4
   \   0131  39                ADD     HL,SP
   \   0132  0E10              LD      C,16
   \   0134  CD5E01            CALL    LWRD ?0153
   \   0137  2004              JR      NZ,?0046
   \   0139            ?0045:
    138              {
    139                  return Music_OGG;
   \   0139  2E05              LD      L,5
    140              }
   \   013B  1814              JR      ?0049
   \   013D            ?0046:
    141              else if (strcmp(ext, ExtMusicstr[5]) == 0)
   \   013D  68                LD      L,B
   \   013E  60                LD      H,B
   \   013F  39                ADD     HL,SP
   \   0140  EB                EX      DE,HL
   \   0141  210400            LD      HL,4
   \   0144  39                ADD     HL,SP
   \   0145  0E14              LD      C,20
   \   0147  CD5E01            CALL    LWRD ?0153
   \   014A  2004              JR      NZ,?0048
   \   014C            ?0047:
    142              {
    143                  return Music_APE;
   \   014C  2E06              LD      L,6
    144              }  
   \   014E  1801              JR      ?0049
   \   0150            ?0048:
    145              else
    146              {
    147                  return Music_NON;
   \   0150  68                LD      L,B
    148              }
   \   0151            ?0049:
   \   0151  EB                EX      DE,HL
   \   0152  211C00            LD      HL,28
   \   0155  39                ADD     HL,SP
   \   0156  F9                LD      SP,HL
   \   0157  EB                EX      DE,HL
   \   0158  DDE1              POP     IX
   \   015A  C1                POP     BC
   \   015B  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   015E            ?0153:
   \   015E  09                ADD     HL,BC
   \   015F            ?0152:
   \   015F  CD0000            CALL    LWRD ?STRCMP_L11
   \   0162  7D                LD      A,L
   \   0163  B4                OR      H
   \   0164  C9                RET
    149          }
   \   0165            make_dirname:
    150          
    151          /*
    152          ********************************************************************************
    153          *             void read_var(void)
    154          *
    155          * Description : 读系统变量和ap局部变量
    156          *
    157          * Arguments   : void
    158          *
    159          * Returns     : void
    160          *
    161          * Notes       :
    162          *
    163          ********************************************************************************
    164          */
    165          void make_dirname(void)
    166          {
   \   0165  CD0000            CALL    LWRD ?ENT_AUTO_DIRECT_L09
   \   0168  DEFF              DEFW    65502
    167              int result;
    168              char Backbuf[32];
    169          
    170              fselGetLocation(&g_music_vars.location);
   \   016A  110700            LD      DE,g_music_vars+7
   \   016D  3E00              LD      A,BYTE3 fselGetLocation
   \   016F  210000            LD      HL,LWRD fselGetLocation
   \   0172  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    171              if(g_music_vars.location.path[0]==':')
   \   0175  3A1500            LD      A,(g_music_vars+21)
   \   0178  FE3A              CP      58
   \   017A  200B              JR      NZ,?0051
   \   017C            ?0050:
    172                  {
    173                      strcpy(dir_name,"ROOT");
   \   017C  110000            LD      DE,?0052
   \   017F  210000            LD      HL,dir_name
   \   0182  CD0000            CALL    LWRD ?STRCPY_L11
    174                  }
    175              else
   \   0185  185A              JR      ?0053
   \   0187            ?0051:
    176                  {
    177          
    178                  FS_Backup(Backbuf,FS_BACKUP_DIRINFO,0);//目录项备份
   \   0187  210000            LD      HL,0
   \   018A  E5                PUSH    HL
   \   018B  0E02              LD      C,2
   \   018D  2E04              LD      L,4
   \   018F  39                ADD     HL,SP
   \   0190  EB                EX      DE,HL
   \   0191  CD0000            CALL    LWRD FS_Backup
   \   0194  E1                POP     HL
    179          
    180          //        dir_name[0] = ':';
    181          //            FS_CD(dir_name);
    182                      FS_CD("\\");
   \   0195  110500            LD      DE,?0054
   \   0198  CD0000            CALL    LWRD FS_CD
    183                  memcpy(dir_name, g_music_vars.location.path, 12);
   \   019B  010C00            LD      BC,12
   \   019E  110000            LD      DE,dir_name
   \   01A1  211500            LD      HL,g_music_vars+21

⌨️ 快捷键说明

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