sub_function2.lst

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

LST
1,392
字号
   \   04C1  210C00            LD      HL,g_comval+12
   \   04C4  4E                LD      C,(HL)
   \   04C5  C5                PUSH    BC
   \   04C6  011E00            LD      BC,30
   \   04C9  111E00            LD      DE,g_TagInfoBuf+30
   \   04CC  CDC301            CALL    LWRD ?0148
   \   04CF  F1                POP     AF
    371                      unitochar(&g_TagInfoBuf[60], 30, g_comval.langid); 
   \   04D0  210C00            LD      HL,g_comval+12
   \   04D3  4E                LD      C,(HL)
   \   04D4  C5                PUSH    BC
   \   04D5  011E00            LD      BC,30
   \   04D8  113C00            LD      DE,g_TagInfoBuf+60
   \   04DB  CDC301            CALL    LWRD ?0148
   \   04DE  F1                POP     AF
    372                      if ( (g_TagInfoBuf[0] !=0)
    373                              || (g_TagInfoBuf[30] !=0)||(g_TagInfoBuf[60]!=0))
   \   04DF  3A0000            LD      A,(g_TagInfoBuf)
   \   04E2  B7                OR      A
   \   04E3  200C              JR      NZ,?0085
   \   04E5  3A1E00            LD      A,(g_TagInfoBuf+30)
   \   04E8  B7                OR      A
   \   04E9  2006              JR      NZ,?0085
   \   04EB  3A3C00            LD      A,(g_TagInfoBuf+60)
   \   04EE  B7                OR      A
   \   04EF  2809              JR      Z,?0088
   \   04F1            ?0085:
   \   04F1            ?0086:
   \   04F1            ?0083:
    374                      {
    375                          strcpy(g_TagInfoBuf, & g_TagInfoBuf[0]);
   \   04F1  CDFF05            CALL    LWRD ?0147
    376                          strcat(g_TagInfoBuf, " ");
    377                          strcat(g_TagInfoBuf, & g_TagInfoBuf[30]);
    378                          strcat(g_TagInfoBuf, " ");                 
    379                          strcat(g_TagInfoBuf, & g_TagInfoBuf[60]);
    380                          strcat(g_TagInfoBuf, " ");
   \   04F4            ?0084:
    381                      }
    382                  }
    383                  else
   \   04F4  1804              JR      ?0088
   \   04F6            ?0082:
    384                  {
    385                      g_TagInfoBuf[0] = 0x0;
   \   04F6  AF                XOR     A
   \   04F7  320000            LD      (g_TagInfoBuf),A
   \   04FA            ?0088:
    386                  }
    387               break;
   \   04FA  1852              JR      ?0079
   \   04FC            ?0089:
   \   04FC  FE01              CP      1
   \   04FE  201F              JR      NZ,?0093
    388          
    389              case  Music_MP3:
    390                  if (mp3GetID3Info(g_music_vars.location.filename, & ID3, g_comval.langid))
   \   0500  ED4B0C00          LD      BC,(g_comval+12)
   \   0504  0600              LD      B,0
   \   0506  C5                PUSH    BC
   \   0507  210600            LD      HL,6
   \   050A  39                ADD     HL,SP
   \   050B  4D                LD      C,L
   \   050C  44                LD      B,H
   \   050D  112100            LD      DE,g_music_vars+33
   \   0510  3E00              LD      A,BYTE3 mp3GetID3Info
   \   0512  210000            LD      HL,LWRD mp3GetID3Info
   \   0515  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0518  F1                POP     AF
   \   0519  2C                INC     L
   \   051A  2D                DEC     L
   \   051B  282D              JR      Z,?0097
   \   051D            ?0090:
    391                  {
    392                      strcpy(g_TagInfoBuf, & g_TagInfoBuf[0]);
   \   051D  1826              JR      ?0140
    393                      strcat(g_TagInfoBuf, " ");
    394                      strcat(g_TagInfoBuf, & g_TagInfoBuf[30]);
    395                      strcat(g_TagInfoBuf, " ");
    396                      strcat(g_TagInfoBuf, & g_TagInfoBuf[60]);
    397                      strcat(g_TagInfoBuf, " ");
    398                  }
    399                  else
   \   051F            ?0091:
    400                  {
    401                      g_TagInfoBuf[0] = 0x0;
   \   051F            ?0092:
    402                  }
    403                  break;
   \   051F            ?0093:
   \   051F  FE06              CP      6
   \   0521  2027              JR      NZ,?0097
    404              case Music_APE:
    405                  memset(g_TagInfoBuf,0,90);
   \   0523  015A00            LD      BC,90
   \   0526  110000            LD      DE,g_TagInfoBuf
   \   0529  68                LD      L,B
   \   052A  60                LD      H,B
   \   052B  CD0000            CALL    LWRD ?MEMSET_L11
    406                  if (GetAPEInfoByNo(g_music_vars.location.filename, &ID3, 0))
   \   052E  4C                LD      C,H
   \   052F  C5                PUSH    BC
   \   0530  2E06              LD      L,6
   \   0532  39                ADD     HL,SP
   \   0533  4D                LD      C,L
   \   0534  44                LD      B,H
   \   0535  112100            LD      DE,g_music_vars+33
   \   0538  3E00              LD      A,BYTE3 GetAPEInfoByNo
   \   053A  210000            LD      HL,LWRD GetAPEInfoByNo
   \   053D  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0540  F1                POP     AF
   \   0541  2C                INC     L
   \   0542  2D                DEC     L
   \   0543  2805              JR      Z,?0097
   \   0545            ?0094:
    407                  {
    408                      strcpy(g_TagInfoBuf, & g_TagInfoBuf[0]);
   \   0545            ?0140:
   \   0545  CDFF05            CALL    LWRD ?0147
    409                      strcat(g_TagInfoBuf, " ");
    410                      strcat(g_TagInfoBuf, & g_TagInfoBuf[30]);
    411                      strcat(g_TagInfoBuf, " ");
    412                      strcat(g_TagInfoBuf, & g_TagInfoBuf[60]);
    413                      strcat(g_TagInfoBuf, " ");
    414                  }
    415                  else
   \   0548  1804              JR      ?0079
   \   054A            ?0095:
    416                  {
    417                      g_TagInfoBuf[0] = 0x0;
   \   054A            ?0096:
    418                  }
    419                  break;
   \   054A            ?0097:
    420              default:
    421                  g_TagInfoBuf[0] = 0x0;
   \   054A  AF                XOR     A
   \   054B  320000            LD      (g_TagInfoBuf),A
    422                  break;
   \   054E            ?0079:
    423              }
    424          
    425          
    426          
    427          
    428              //  显示信息区
    429              //g_music_vars.location.filename[12] = 0;
    430          
    431              //---处理没有TAG信息的情况
    432              if (g_TagInfoBuf[0] == 0)
   \   054E  3A0000            LD      A,(g_TagInfoBuf)
   \   0551  B7                OR      A
   \   0552  202F              JR      NZ,?0102
   \   0554            ?0098:
    433              {
    434                  memcpy(g_TagInfoBuf, g_music_vars.location.filename, 12);
   \   0554  010C00            LD      BC,12
   \   0557  110000            LD      DE,g_TagInfoBuf
   \   055A  212100            LD      HL,g_music_vars+33
   \   055D  EDB0              LDIR
    435                  {
    436          
    437                      result = FS_GetName(g_TagInfoBuf, 31); //取出长名
   \   055F  0E1F              LD      C,31
   \   0561  110000            LD      DE,g_TagInfoBuf
   \   0564  CD0000            CALL    LWRD FS_GetName
   \   0567  0600              LD      B,0
    438                      if (result != 0)
   \   0569  B7                OR      A
   \   056A  280D              JR      Z,?0101
   \   056C            ?0100:
    439                      {
    440                          unitochar(g_TagInfoBuf, sizeof(g_TagInfoBuf), g_comval.langid);
   \   056C  210C00            LD      HL,g_comval+12
   \   056F  4E                LD      C,(HL)
   \   0570  C5                PUSH    BC
   \   0571  0E5A              LD      C,90
   \   0573  CDC001            CALL    LWRD ?0149
   \   0576  F1                POP     AF
    441                      }
    442                      else
   \   0577  180A              JR      ?0102
   \   0579            ?0101:
    443                      {
    444                          memcpy(g_TagInfoBuf, g_music_vars.location.filename, 12);
   \   0579  0E0C              LD      C,12
   \   057B  110000            LD      DE,g_TagInfoBuf
   \   057E  212100            LD      HL,g_music_vars+33
   \   0581  EDB0              LDIR
   \   0583            ?0102:
   \   0583            ?0099:
    445                      }
    446                  }
    447              }
    448          
    449              //---在TAG信息后加个空格避免滚屏时串在一起
    450              for (result = 0; result<sizeof(g_TagInfoBuf); result++)
   \   0583  AF                XOR     A
   \   0584  DD77F0            LD      (IX-16),A
   \   0587  DD77F1            LD      (IX-15),A
   \   058A            ?0104:
   \   058A  015A80            LD      BC,32858
   \   058D  DD6EF0            LD      L,(IX-16)
   \   0590  DD66F1            LD      H,(IX-15)
   \   0593  78                LD      A,B
   \   0594  AC                XOR     H
   \   0595  67                LD      H,A
   \   0596  ED42              SBC     HL,BC
   \   0598  3025              JR      NC,?0103
   \   059A            ?0105:
    451              {
    452                  if (g_TagInfoBuf[result] == 0)
   \   059A  210000            LD      HL,g_TagInfoBuf
   \   059D  DD4EF0            LD      C,(IX-16)
   \   05A0  DD46F1            LD      B,(IX-15)
   \   05A3  09                ADD     HL,BC
   \   05A4  7E                LD      A,(HL)
   \   05A5  B7                OR      A
   \   05A6  200D              JR      NZ,?0108
   \   05A8            ?0107:
    453                  {
    454                      g_TagInfoBuf[result] = ' ';
   \   05A8  210000            LD      HL,g_TagInfoBuf
   \   05AB  09                ADD     HL,BC
   \   05AC  3620              LD      (HL),32
    455                      g_TagInfoBuf[result + 1] = 0;
   \   05AE  210100            LD      HL,g_TagInfoBuf+1
   \   05B1  09                ADD     HL,BC
   \   05B2  77                LD      (HL),A
    456                      break;
   \   05B3  180A              JR      ?0103
   \   05B5            ?0108:
   \   05B5  DD34F0            INC     (IX-16)
   \   05B8  20D0              JR      NZ,?0104
   \   05BA  DD34F1            INC     (IX-15)
   \   05BD  18CB              JR      ?0104
   \   05BF            ?0103:
    457                  }
    458              }
    459          
    460             //清 WATCH_DOG
    461              output8(REG4E_RTC_WATCH_DOG, input8(REG4E_RTC_WATCH_DOG) | 0x08);
   \   05BF  DB4E              IN      A,(78)
   \   05C1  CBDF              SET     3,A
   \   05C3  D34E              OUT     (78),A
    462          
    463          #ifdef OPT_Sup_LRC_fun//支持歌词显示功能
    464          
    465              BankSwitch((unsigned long)lyricQueryExist >> 16);
   \   05C5  0E00              LD      C,BYTE3 lyricQueryExist
   \   05C7  59                LD      E,C
   \   05C8  CD0000            CALL    LWRD BankSwitch
    466              g_lyricflag = lyricQueryExist(g_music_vars.location.filename);
   \   05CB  112100            LD      DE,g_music_vars+33
   \   05CE  79                LD      A,C
   \   05CF  210000            LD      HL,LWRD lyricQueryExist
   \   05D2  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   05D5  7D                LD      A,L
   \   05D6  320000            LD      (g_lyricflag),A
    467          
    468              if (g_lyricflag)
   \   05D9  B7                OR      A
   \   05DA  2811              JR      Z,?0110
   \   05DC            ?0109:
    469              {
    470                  g_lyric_mod = lyricLoad(g_music_vars.location.filename, g_TagInfoBuf);
   \   05DC  010000            LD      BC,g_TagInfoBuf
   \   05DF  112100            LD      DE,g_music_vars+33
   \   05E2  3E00              LD      A,BYTE3 lyricLoad
   \   05E4  210000            LD      HL,LWRD lyricLoad
   \   05E7  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   05EA  DD75F2            LD      (IX-14),L
   \   05ED            ?0110:
    471              }
    472              if (g_lyric_mod == 0)
   

⌨️ 快捷键说明

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