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

📄 sub_function2.lst

📁 MP3 整个 SDK
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   0481  4E                LD      C,(HL)
   \   0482  C5                PUSH    BC
   \   0483  011E00            LD      BC,30
   \   0486  111E00            LD      DE,g_TagInfoBuf+30
   \   0489  CDE701            CALL    LWRD ?0155
   \   048C  F1                POP     AF
    394                      if ( (g_TagInfoBuf[0] !=0)
    395                              || (g_TagInfoBuf[30] !=0) )
   \   048D  3A0000            LD      A,(g_TagInfoBuf)
   \   0490  B7                OR      A
   \   0491  2006              JR      NZ,?0084
   \   0493  3A1E00            LD      A,(g_TagInfoBuf+30)
   \   0496  B7                OR      A
   \   0497  2809              JR      Z,?0087
   \   0499            ?0084:
   \   0499            ?0085:
   \   0499            ?0082:
    396                      {
    397                          strcpy(g_TagInfoBuf, & g_TagInfoBuf[0]);
   \   0499  CDB905            CALL    LWRD ?0154
    398                          strcat(g_TagInfoBuf, " ");
    399                          strcat(g_TagInfoBuf, & g_TagInfoBuf[30]);
    400                          strcat(g_TagInfoBuf, " ");
   \   049C            ?0083:
    401                      }
    402                  }
    403                  else
   \   049C  1804              JR      ?0087
   \   049E            ?0081:
    404                  {
    405                      g_TagInfoBuf[0] = 0x0;
   \   049E  AF                XOR     A
   \   049F  320000            LD      (g_TagInfoBuf),A
   \   04A2            ?0087:
    406                  }
    407               break;
   \   04A2  1864              JR      ?0078
   \   04A4            ?0088:
   \   04A4  FE01              CP      1
   \   04A6  201F              JR      NZ,?0092
    408          
    409              case  Music_MP3:
    410                  if (mp3GetID3Info(g_music_vars.location.filename, & ID3, g_comval.langid))
   \   04A8  ED4B0C00          LD      BC,(g_comval+12)
   \   04AC  0600              LD      B,0
   \   04AE  C5                PUSH    BC
   \   04AF  210600            LD      HL,6
   \   04B2  39                ADD     HL,SP
   \   04B3  4D                LD      C,L
   \   04B4  44                LD      B,H
   \   04B5  112100            LD      DE,g_music_vars+33
   \   04B8  3E00              LD      A,BYTE3 mp3GetID3Info
   \   04BA  210000            LD      HL,LWRD mp3GetID3Info
   \   04BD  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   04C0  F1                POP     AF
   \   04C1  2C                INC     L
   \   04C2  2D                DEC     L
   \   04C3  283F              JR      Z,?0096
   \   04C5            ?0089:
    411                  {
    412                      strcpy(g_TagInfoBuf, & g_TagInfoBuf[0]);
   \   04C5  1826              JR      ?0146
    413                      strcat(g_TagInfoBuf, " ");
    414                      strcat(g_TagInfoBuf, & g_TagInfoBuf[30]);
    415                      strcat(g_TagInfoBuf, " ");
    416                      strcat(g_TagInfoBuf, & g_TagInfoBuf[60]);
    417                      strcat(g_TagInfoBuf, " ");
    418                  }
    419                  else
   \   04C7            ?0090:
    420                  {
    421                      g_TagInfoBuf[0] = 0x0;
   \   04C7            ?0091:
    422                  }
    423                  break;
   \   04C7            ?0092:
   \   04C7  FE06              CP      6
   \   04C9  2039              JR      NZ,?0096
    424              case Music_APE:
    425                  memset(g_TagInfoBuf,0,90);
   \   04CB  015A00            LD      BC,90
   \   04CE  110000            LD      DE,g_TagInfoBuf
   \   04D1  68                LD      L,B
   \   04D2  60                LD      H,B
   \   04D3  CD0000            CALL    LWRD ?MEMSET_L11
    426                  if (GetAPEInfoByNo(g_music_vars.location.filename, &ID3, 0))
   \   04D6  4C                LD      C,H
   \   04D7  C5                PUSH    BC
   \   04D8  2E06              LD      L,6
   \   04DA  39                ADD     HL,SP
   \   04DB  4D                LD      C,L
   \   04DC  44                LD      B,H
   \   04DD  112100            LD      DE,g_music_vars+33
   \   04E0  3E00              LD      A,BYTE3 GetAPEInfoByNo
   \   04E2  210000            LD      HL,LWRD GetAPEInfoByNo
   \   04E5  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   04E8  F1                POP     AF
   \   04E9  2C                INC     L
   \   04EA  2D                DEC     L
   \   04EB  2817              JR      Z,?0096
   \   04ED            ?0093:
    427                  {
    428                      strcpy(g_TagInfoBuf, & g_TagInfoBuf[0]);
   \   04ED            ?0146:
   \   04ED  CDB905            CALL    LWRD ?0154
    429                      strcat(g_TagInfoBuf, " ");
    430                      strcat(g_TagInfoBuf, & g_TagInfoBuf[30]);
    431                      strcat(g_TagInfoBuf, " ");
    432                      strcat(g_TagInfoBuf, & g_TagInfoBuf[60]);
   \   04F0  113C00            LD      DE,g_TagInfoBuf+60
   \   04F3  210000            LD      HL,g_TagInfoBuf
   \   04F6  CD0000            CALL    LWRD ?STRCAT_L11
    433                      strcat(g_TagInfoBuf, " ");
   \   04F9  110900            LD      DE,?0086
   \   04FC  210000            LD      HL,g_TagInfoBuf
   \   04FF  CD0000            CALL    LWRD ?STRCAT_L11
    434                  }
    435                  else
   \   0502  1804              JR      ?0078
   \   0504            ?0094:
    436                  {
    437                      g_TagInfoBuf[0] = 0x0;
   \   0504            ?0095:
    438                  }
    439                  break;
   \   0504            ?0096:
    440              default:
    441                  g_TagInfoBuf[0] = 0x0;
   \   0504  AF                XOR     A
   \   0505  320000            LD      (g_TagInfoBuf),A
    442                  break;
   \   0508            ?0078:
    443              }
    444          
    445          
    446          
    447          
    448              //  显示信息区
    449              //g_music_vars.location.filename[12] = 0;
    450          
    451              //---处理没有TAG信息的情况
    452              if (g_TagInfoBuf[0] == 0)
   \   0508  3A0000            LD      A,(g_TagInfoBuf)
   \   050B  B7                OR      A
   \   050C  202F              JR      NZ,?0101
   \   050E            ?0097:
    453              {
    454                  memcpy(g_TagInfoBuf, g_music_vars.location.filename, 12);
   \   050E  010C00            LD      BC,12
   \   0511  110000            LD      DE,g_TagInfoBuf
   \   0514  212100            LD      HL,g_music_vars+33
   \   0517  EDB0              LDIR
    455                  {
    456          
    457                      result = FS_GetName(g_TagInfoBuf, 31); //取出长名
   \   0519  0E1F              LD      C,31
   \   051B  110000            LD      DE,g_TagInfoBuf
   \   051E  CD0000            CALL    LWRD FS_GetName
   \   0521  0600              LD      B,0
    458                      if (result != 0)
   \   0523  B7                OR      A
   \   0524  280D              JR      Z,?0100
   \   0526            ?0099:
    459                      {
    460                          unitochar(g_TagInfoBuf, sizeof(g_TagInfoBuf), g_comval.langid);
   \   0526  210C00            LD      HL,g_comval+12
   \   0529  4E                LD      C,(HL)
   \   052A  C5                PUSH    BC
   \   052B  0E5A              LD      C,90
   \   052D  CDE401            CALL    LWRD ?0156
   \   0530  F1                POP     AF
    461                      }
    462                      else
   \   0531  180A              JR      ?0101
   \   0533            ?0100:
    463                      {
    464                          memcpy(g_TagInfoBuf, g_music_vars.location.filename, 12);
   \   0533  0E0C              LD      C,12
   \   0535  110000            LD      DE,g_TagInfoBuf
   \   0538  212100            LD      HL,g_music_vars+33
   \   053B  EDB0              LDIR
   \   053D            ?0101:
   \   053D            ?0098:
    465                      }
    466                  }
    467              }
    468          
    469              //---在TAG信息后加个空格避免滚屏时串在一起
    470              for (result = 0; result<sizeof(g_TagInfoBuf); result++)
   \   053D  AF                XOR     A
   \   053E  DD77F0            LD      (IX-16),A
   \   0541  DD77F1            LD      (IX-15),A
   \   0544            ?0103:
   \   0544  015A80            LD      BC,32858
   \   0547  DD6EF0            LD      L,(IX-16)
   \   054A  DD66F1            LD      H,(IX-15)
   \   054D  78                LD      A,B
   \   054E  AC                XOR     H
   \   054F  67                LD      H,A
   \   0550  ED42              SBC     HL,BC
   \   0552  3025              JR      NC,?0102
   \   0554            ?0104:
    471              {
    472                  if (g_TagInfoBuf[result] == 0)
   \   0554  210000            LD      HL,g_TagInfoBuf
   \   0557  DD4EF0            LD      C,(IX-16)
   \   055A  DD46F1            LD      B,(IX-15)
   \   055D  09                ADD     HL,BC
   \   055E  7E                LD      A,(HL)
   \   055F  B7                OR      A
   \   0560  200D              JR      NZ,?0107
   \   0562            ?0106:
    473                  {
    474                      g_TagInfoBuf[result] = ' ';
   \   0562  210000            LD      HL,g_TagInfoBuf
   \   0565  09                ADD     HL,BC
   \   0566  3620              LD      (HL),32
    475                      g_TagInfoBuf[result + 1] = 0;
   \   0568  210100            LD      HL,g_TagInfoBuf+1
   \   056B  09                ADD     HL,BC
   \   056C  77                LD      (HL),A
    476                      break;
   \   056D  180A              JR      ?0102
   \   056F            ?0107:
   \   056F  DD34F0            INC     (IX-16)
   \   0572  20D0              JR      NZ,?0103
   \   0574  DD34F1            INC     (IX-15)
   \   0577  18CB              JR      ?0103
   \   0579            ?0102:
    477                  }
    478              }
    479          
    480             //清 WATCH_DOG
    481              output8(REG4E_RTC_WATCH_DOG, input8(REG4E_RTC_WATCH_DOG) | 0x08);
   \   0579  DB4E              IN      A,(78)
   \   057B  CBDF              SET     3,A
   \   057D  D34E              OUT     (78),A
    482          
    483          #ifdef OPT_Sup_LRC_fun//支持歌词显示功能
    484          
    485              BankSwitch((unsigned long)lyricQueryExist >> 16);
   \   057F  0E00              LD      C,BYTE3 lyricQueryExist
   \   0581  59                LD      E,C
   \   0582  CD0000            CALL    LWRD BankSwitch
    486              g_lyricflag = lyricQueryExist(g_music_vars.location.filename);
   \   0585  112100            LD      DE,g_music_vars+33
   \   0588  79                LD      A,C
   \   0589  210000            LD      HL,LWRD lyricQueryExist
   \   058C  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   058F  7D                LD      A,L
   \   0590  320000            LD      (g_lyricflag),A
    487          
    488              if (g_lyricflag)
   \   0593  B7                OR      A
   \   0594  2811              JR      Z,?0109
   \   0596            ?0108:
    489              {
    490                  g_lyric_mod = lyricLoad(g_music_vars.location.filename, g_TagInfoBuf);
   \   0596  010000            LD      BC,g_TagInfoBuf
   \   0599  112100            LD      DE,g_music_vars+33
   \   059C  3E00              LD      A,BYTE3 lyricLoad
   \   059E  210000            LD      HL,LWRD lyricLoad
   \   05A1  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   05A4  DD75F2            LD      (IX-14),L
   \   05A7            ?0109:
    491              }
    492              if (g_lyric_mod == 0)
   \   05A7  AF                XOR     A
   \   05A8  DDB6F2            OR      (IX-14)
   \   05AB  2003              JR      NZ,?0111
   \   05AD            ?0110:
    493              {
    494                  g_lyricflag = FALSE;
   \   05AD  320000            LD      (g_lyricflag),A
   \   05B0            ?0111:
    495              }
    496          
    497          #endif //OPT_Sup_LRC_fun
    498        

⌨️ 快捷键说明

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