sub_function2.lst

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

LST
1,392
字号
   \   032F  CD0000            CALL    LWRD ?ENT_AUTO_DIRECT_L09
   \   0332  F4FF              DEFW    -12
   \   0334  FDE5              PUSH    IY
    269              wma_play_status_t status_buf;
    270              int key;
    271              slider_t slider; 
    272              return_to_play=1;
   \   0336  3E01              LD      A,1
   \   0338  320000            LD      (return_to_play),A
    273               slider.string_id=g_comval.langid;
   \   033B  3A0C00            LD      A,(g_comval+12)
   \   033E  DD77FE            LD      (IX-2),A
    274              if (RePlayStatus != NormalPlay)
   \   0341  3A0000            LD      A,(RePlayStatus)
   \   0344  B7                OR      A
   \   0345  CAD503            JP      Z,?0069
   \   0348            ?0068:
    275              {
    276                  if (g_currentMusicType == Music_MP3)
   \   0348  3A0000            LD      A,(g_currentMusicType)
   \   034B  3D                DEC     A
   \   034C  C24204            JP      NZ,?0131
   \   034F            ?0070:
    277                  {
    278          
    279                      if (g_music_vars.location.disk != 'C')
   \   034F  3A0700            LD      A,(g_music_vars+7)
   \   0352  FE43              CP      67
   \   0354  C24204            JP      NZ,?0131
   \   0357            ?0072:
    280                      {
    281                          //如不是“C”盘就不进行速度调节
    282                          return 0;
    283                      }
   \   0357            ?0073:
    284                      //show background
    285                      ClearScreen(NULL);
   \   0357  110000            LD      DE,0
   \   035A  CD0000            CALL    LWRD ClearScreen
    286                      slider.max = 8;
   \   035D  DD36F808          LD      (IX-8),8
   \   0361  DD36F900          LD      (IX-7),0
    287                      slider.min = -8;
   \   0365  DD36F6F8          LD      (IX-10),248
   \   0369  DD36F7FF          LD      (IX-9),255
    288                      slider.step = 1;
   \   036D  DD36FC01          LD      (IX-4),1
   \   0371  DD36FD00          LD      (IX-3),0
    289                      slider.title=MPLAY3;
   \   0375  DD36F4D4          LD      (IX-12),212
   \   0379  DD36F501          LD      (IX-11),1
    290                      CheckPlayrateLimit();
   \   037D  3E00              LD      A,BYTE3 CheckPlayrateLimit
   \   037F  212400            LD      HL,LWRD CheckPlayrateLimit
   \   0382  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    291                      slider.value = g_music_vars.play_rate;
   \   0385  ED4B0300          LD      BC,(g_music_vars+3)
   \   0389  79                LD      A,C
   \   038A  07                RLCA
   \   038B  9F                SBC     A,A
   \   038C  47                LD      B,A
   \   038D  DD71FA            LD      (IX-6),C
   \   0390  DD70FB            LD      (IX-5),B
    292                      ui_auto_update=FALSE;
   \   0393  AF                XOR     A
   \   0394  320000            LD      (ui_auto_update),A
    293                      g_result = ui_slider(& slider, speed_callback);
   \   0397  0E00              LD      C,BYTE3 speed_callback
   \   0399  C5                PUSH    BC
   \   039A  210000            LD      HL,LWRD speed_callback
   \   039D  E5                PUSH    HL
   \   039E  210600            LD      HL,6
   \   03A1  39                ADD     HL,SP
   \   03A2  EB                EX      DE,HL
   \   03A3  3E00              LD      A,BYTE3 ui_slider
   \   03A5  210000            LD      HL,LWRD ui_slider
   \   03A8  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   03AB  F1                POP     AF
   \   03AC  F1                POP     AF
   \   03AD  220000            LD      (g_result),HL
    294                      ui_auto_update = TRUE;
    295                      g_music_vars.play_rate = slider.value;
   \   03B0  DD7EFA            LD      A,(IX-6)
   \   03B3  320300            LD      (g_music_vars+3),A
    296          
    297                      SetFullInterface();
   \   03B6  AF                XOR     A
   \   03B7  320000            LD      (ui_auto_update),A
   \   03BA  FD210000          LD      IY,UpDisplayFlag
   \   03BE  FD7E00            LD      A,(IY+0)
   \   03C1  F6C1              OR      193
   \   03C3  FD7700            LD      (IY+0),A
   \   03C6  FD3601FF          LD      (IY+1),255
    298                      need_draw = TRUE;
   \   03CA  3E01              LD      A,1
   \   03CC  320000            LD      (need_draw),A
    299          
    300                          if (g_result != 0)
   \   03CF  7D                LD      A,L
   \   03D0  B4                OR      H
   \   03D1  286F              JR      Z,?0131
   \   03D3            ?0074:
    301                          {
    302                              return g_result;
   \   03D3  1870              JR      ?0078
    303                          }
   \   03D5            ?0075:
   \   03D5            ?0071:
    304          
    305                  }
    306                  return 0;
    307              }
   \   03D5            ?0069:
    308          
    309              //show background
    310              slider.min = 0;
   \   03D5  DD77F6            LD      (IX-10),A
   \   03D8  DD77F7            LD      (IX-9),A
    311              slider.max = 31;
   \   03DB  DD36F81F          LD      (IX-8),31
   \   03DF  DD77F9            LD      (IX-7),A
    312              slider.value = g_music_vars.volume;
   \   03E2  ED4B0000          LD      BC,(g_music_vars)
   \   03E6  79                LD      A,C
   \   03E7  07                RLCA
   \   03E8  9F                SBC     A,A
   \   03E9  47                LD      B,A
   \   03EA  DD71FA            LD      (IX-6),C
   \   03ED  DD70FB            LD      (IX-5),B
    313              slider.step = 1;
   \   03F0  DD36FC01          LD      (IX-4),1
   \   03F4  DD36FD00          LD      (IX-3),0
    314              slider.title=CHANGEVO;
   \   03F8  DD36F489          LD      (IX-12),137
   \   03FC  DD36F501          LD      (IX-11),1
    315              g_result = ui_slider(& slider, volume_callback);
   \   0400  0E00              LD      C,BYTE3 volume_callback
   \   0402  C5                PUSH    BC
   \   0403  210000            LD      HL,LWRD volume_callback
   \   0406  E5                PUSH    HL
   \   0407  210600            LD      HL,6
   \   040A  39                ADD     HL,SP
   \   040B  EB                EX      DE,HL
   \   040C  3E00              LD      A,BYTE3 ui_slider
   \   040E  210000            LD      HL,LWRD ui_slider
   \   0411  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0414  F1                POP     AF
   \   0415  F1                POP     AF
   \   0416  220000            LD      (g_result),HL
    316              ui_auto_update = TRUE;
   \   0419  3E01              LD      A,1
   \   041B  320000            LD      (ui_auto_update),A
    317              StartIntro(FALSE);
   \   041E  AF                XOR     A
   \   041F  320000            LD      (g_introCntMode),A
   \   0422  3A4F00            LD      A,(g_music_vars+79)
   \   0425  320000            LD      (g_OldSecTempBackup),A
   \   0428  AF                XOR     A
   \   0429  320000            LD      (g_introCNT),A
    318          
    319              if (g_result != 0)
   \   042C  7D                LD      A,L
   \   042D  B4                OR      H
   \   042E  2015              JR      NZ,?0078
   \   0430            ?0076:
    320              {
    321                  return g_result;
    322              }
   \   0430            ?0077:
    323              SetFullInterface();
   \   0430  320000            LD      (ui_auto_update),A
   \   0433  210000            LD      HL,UpDisplayFlag
   \   0436  7E                LD      A,(HL)
   \   0437  F6C1              OR      193
   \   0439  77                LD      (HL),A
   \   043A  23                INC     HL
   \   043B  36FF              LD      (HL),255
    324              need_draw = TRUE;
   \   043D  3E01              LD      A,1
   \   043F  320000            LD      (need_draw),A
    325              return 0;
   \   0442            ?0131:
   \   0442  210000            LD      HL,0
    326          }
   \   0445            ?0078:
   \   0445  FDE1              POP     IY
   \   0447  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
   \   044A            GetInformation:
    327          
    328          
    329          /*
    330          ********************************************************************************
    331          *             int GetInformation(void)
    332          *
    333          * Description : 读取歌曲信息,歌词
    334          *
    335          * Arguments   : void
    336          *
    337          * Returns     : int
    338          *
    339          * Notes       :
    340          *
    341          ********************************************************************************
    342          */
    343          int GetInformation( void )
    344          {
   \   044A  CD0000            CALL    LWRD ?ENT_AUTO_DIRECT_L09
   \   044D  F0FF              DEFW    65520
    345              char g_lyric_mod;
    346              int result;
    347              ID3Info_t ID3;
    348          
    349              //清 WATCH_DOG
    350              output8(REG4E_RTC_WATCH_DOG, input8(REG4E_RTC_WATCH_DOG) | 0x08);
   \   044F  DB4E              IN      A,(78)
   \   0451  CBDF              SET     3,A
   \   0453  D34E              OUT     (78),A
    351              g_currentMusicType = CheckMusicType(g_music_vars.location.filename);
   \   0455  112100            LD      DE,g_music_vars+33
   \   0458  3E00              LD      A,BYTE3 CheckMusicType
   \   045A  217F00            LD      HL,LWRD CheckMusicType
   \   045D  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0460  7D                LD      A,L
   \   0461  320000            LD      (g_currentMusicType),A
    352              ID3.TIT2_length = 30;
   \   0464  DD36F41E          LD      (IX-12),30
    353              ID3.TPE1_length = 30;
   \   0468  DD36F71E          LD      (IX-9),30
    354              ID3.TALB_length = 30;
   \   046C  DD36FA1E          LD      (IX-6),30
    355              ID3.TENC_length = 0;
   \   0470  DD36FD00          LD      (IX-3),0
    356              ID3.TIT2_buffer = & g_TagInfoBuf[0];
   \   0474  DD36F500          LD      (IX-11),LOW(g_TagInfoBuf)
   \   0478  DD36F600          LD      (IX-10),HIGH(g_TagInfoBuf)
    357              ID3.TPE1_buffer = & g_TagInfoBuf[30];
   \   047C  DD36F800          LD      (IX-8),LOW(g_TagInfoBuf+30)
   \   0480  DD36F900          LD      (IX-7),HIGH(g_TagInfoBuf+30)
    358              ID3.TALB_buffer = & g_TagInfoBuf[60];
   \   0484  DD36FB00          LD      (IX-5),LOW(g_TagInfoBuf+60)
   \   0488  DD36FC00          LD      (IX-4),HIGH(g_TagInfoBuf+60)
    359              ID3.TENC_buffer = & g_TagInfoBuf[90];
   \   048C  DD36FE00          LD      (IX-2),LOW(g_TagInfoBuf+90)
   \   0490  DD36FF00          LD      (IX-1),HIGH(g_TagInfoBuf+90)
    360          
    361                  switch (g_currentMusicType)
   \   0494  FE02              CP      2
   \   0496  3864              JR      C,?0089
   \   0498  FE05              CP      5
   \   049A  3060              JR      NC,?0089
   \   049C            ?0080:
    362              {
    363              case  Music_WMA:
    364              case  Music_WMV:
    365              case  Music_ASF:
    366                  ID3.TALB_length = 30;
   \   049C  DD36FA1E          LD      (IX-6),30
    367                  if (wmaGetTAGInfo(g_music_vars.location.filename, &ID3))
   \   04A0  210400            LD      HL,4
   \   04A3  39                ADD     HL,SP
   \   04A4  4D                LD      C,L
   \   04A5  44                LD      B,H
   \   04A6  112100            LD      DE,g_music_vars+33
   \   04A9  3E00              LD      A,BYTE3 wmaGetTAGInfo
   \   04AB  210000            LD      HL,LWRD wmaGetTAGInfo
   \   04AE  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   04B1  2C                INC     L
   \   04B2  2D                DEC     L
   \   04B3  2841              JR      Z,?0082
   \   04B5            ?0081:
    368                  {
    369                      unitochar(g_TagInfoBuf, 30, g_comval.langid);
   \   04B5  210C00            LD      HL,g_comval+12
   \   04B8  4E                LD      C,(HL)
   \   04B9  C5                PUSH    BC
   \   04BA  011E00            LD      BC,30
   \   04BD  CDC001            CALL    LWRD ?0149
   \   04C0  F1                POP     AF
    370                      unitochar(&g_TagInfoBuf[30], 30, g_comval.langid);

⌨️ 快捷键说明

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