sub_function1.lst

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

LST
1,380
字号
   \   00BC            ?0009:
     77              {
     78                  DisInFBHead( DisMod );//到头显示
   \   00BC  3E00              LD      A,BYTE3 DisInFBHead
   \   00BE  210000            LD      HL,LWRD DisInFBHead
   \   00C1  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   00C4            ?0012:
     79                  while ( ap_get_message() != (AP_KEY_PREV | AP_KEY_UP) );
   \   00C4  CD0000            CALL    LWRD ap_get_message
   \   00C7  FE25              CP      37
   \   00C9  20F9              JR      NZ,?0012
   \   00CB            ?0013:
   \   00CB            ?0011:
     80                  SelectCurMusic();
   \   00CB  3E00              LD      A,BYTE3 SelectCurMusic
   \   00CD  214305            LD      HL,LWRD SelectCurMusic
   \   00D0  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   00D3  1851              JR      ?0028
   \   00D5            ?0010:
     81          
     82              }
     83              else if (PlayStatus == FFPlaySta)
   \   00D5  FE03              CP      3
   \   00D7  202F              JR      NZ,?0016
   \   00D9            ?0015:
     84              {
     85                  DisInFFEnd( DisMod );//到尾显示
   \   00D9  3E00              LD      A,BYTE3 DisInFFEnd
   \   00DB  214000            LD      HL,LWRD DisInFFEnd
   \   00DE  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   00E1            ?0018:
     86                  while ( ap_get_message() != (AP_KEY_NEXT | AP_KEY_UP) );
   \   00E1  CD0000            CALL    LWRD ap_get_message
   \   00E4  FE26              CP      38
   \   00E6  20F9              JR      NZ,?0018
   \   00E8            ?0019:
   \   00E8            ?0017:
     87                  g_result = ToNextMusic(Play_play);
   \   00E8  CD2D01            CALL    LWRD ?0218
     88                  if(DisMod == 0)
   \   00EB  39                ADD     HL,SP
   \   00EC  AF                XOR     A
   \   00ED  B6                OR      (HL)
   \   00EE  200D              JR      NZ,?0021
   \   00F0            ?0020:
     89                  {
     90                      SetFullInterface();
   \   00F0  320000            LD      (ui_auto_update),A
   \   00F3  210000            LD      HL,UpDisplayFlag
   \   00F6  7E                LD      A,(HL)
   \   00F7  F6C1              OR      193
   \   00F9  77                LD      (HL),A
   \   00FA  23                INC     HL
   \   00FB  36FF              LD      (HL),255
   \   00FD            ?0021:
     91                  }
     92                  if(g_result == RESULT_UI_STOP) return g_result;
   \   00FD  2A0000            LD      HL,(g_result)
   \   0100  3E66              LD      A,102
   \   0102  AD                XOR     L
   \   0103  B4                OR      H
   \   0104  2020              JR      NZ,?0028
   \   0106            ?0022:
   \   0106  1821              JR      ?0029
     93              }
   \   0108            ?0023:
     94          
     95              else
   \   0108            ?0016:
     96              {
     97                  g_result = ToNextMusic(Play_play);
   \   0108  CD2D01            CALL    LWRD ?0218
     98                  if(DisMod == 0)
   \   010B  39                ADD     HL,SP
   \   010C  AF                XOR     A
   \   010D  B6                OR      (HL)
   \   010E  200D              JR      NZ,?0026
   \   0110            ?0025:
     99                  {
    100                      SetFullInterface();
   \   0110  320000            LD      (ui_auto_update),A
   \   0113  210000            LD      HL,UpDisplayFlag
   \   0116  7E                LD      A,(HL)
   \   0117  F6C1              OR      193
   \   0119  77                LD      (HL),A
   \   011A  23                INC     HL
   \   011B  36FF              LD      (HL),255
   \   011D            ?0026:
    101                  }
    102                  if(g_result == RESULT_UI_STOP) return g_result;
   \   011D  2A0000            LD      HL,(g_result)
   \   0120  3E66              LD      A,102
   \   0122  AD                XOR     L
   \   0123  B4                OR      H
   \   0124  2803              JR      Z,?0029
   \   0126            ?0027:
    103              }
   \   0126            ?0028:
   \   0126            ?0024:
   \   0126            ?0014:
    104              return NULL;
   \   0126  210000            LD      HL,0
    105          }
   \   0129            ?0029:
   \   0129  F1                POP     AF
   \   012A  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   012D            ?0218:
   \   012D  1E01              LD      E,1
   \   012F  3E00              LD      A,BYTE3 ToNextMusic
   \   0131  210000            LD      HL,LWRD ToNextMusic
   \   0134  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0137  220000            LD      (g_result),HL
   \   013A  210000            LD      HL,0
   \   013D  C9                RET
   \   013E            ChangeMusic:
    106          //================================================
    107          
    108          
    109          /*
    110          *******************************************************************************
    111          * Description : 换曲时要做的选曲,初始化动作
    112          * Arguments  :
    113          * Returns     :真时表示可继续放,假时表示要停止放(播放状态)
    114          * Notes       :
    115          *******************************************************************************
    116          */
    117          bool ChangeMusic( BYTE Direct, Music_sel_mod_t mod )
    118          {
   \   013E  CD0000            CALL    LWRD ?ENT_AUTO_DIRECT_L09
   \   0141  FEFF              DEFW    65534
    119              bool result;
    120          
    121              //清 WATCH_DOG
    122              output8(REG4E_RTC_WATCH_DOG, input8(REG4E_RTC_WATCH_DOG) | 0x08);
   \   0143  DB4E              IN      A,(78)
   \   0145  CBDF              SET     3,A
   \   0147  D34E              OUT     (78),A
    123          
    124              //选文件
    125              RePlayStatus = NormalPlay;
   \   0149  AF                XOR     A
   \   014A  320000            LD      (RePlayStatus),A
    126              ClearTimePara();
   \   014D  3E00              LD      A,BYTE3 ClearTimePara
   \   014F  210000            LD      HL,LWRD ClearTimePara
   \   0152  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    127              g_TagInfoBuf[0] = 0x0;
   \   0155  AF                XOR     A
   \   0156  320000            LD      (g_TagInfoBuf),A
    128              BankSwitch((unsigned long)FSELInit >> 16);
   \   0159  1E00              LD      E,BYTE3 fselInit
   \   015B  EB                EX      DE,HL
   \   015C  5D                LD      E,L
   \   015D  CD0000            CALL    LWRD BankSwitch
    129              if(fsel_mode_change_flag)                 //退出playlist 模式时要重新初始化文件选择器
   \   0160  3A0000            LD      A,(fsel_mode_change_flag)
   \   0163  B7                OR      A
   \   0164  2818              JR      Z,?0031
   \   0166            ?0030:
    130              { 
    131               fsel_mode_change_flag = FALSE;            
   \   0166  AF                XOR     A
   \   0167  320000            LD      (fsel_mode_change_flag),A
    132               FSELInit(FSEL_TYPE_MUSIC, g_music_vars.repeat_mode, g_music_vars.fselmod ,g_music_vars.location.disk);//初始化文件选择器    
   \   016A  210700            LD      HL,g_music_vars+7
   \   016D  4E                LD      C,(HL)
   \   016E  C5                PUSH    BC
   \   016F  215100            LD      HL,g_music_vars+81
   \   0172  4E                LD      C,(HL)
   \   0173  C5                PUSH    BC
   \   0174  ED4B0100          LD      BC,(g_music_vars+1)
   \   0178  5F                LD      E,A
   \   0179  CDCE02            CALL    LWRD ?0220
   \   017C  F1                POP     AF
   \   017D  F1                POP     AF
   \   017E            ?0031:
    133              }
    134             if(g_music_vars.file_list_type==0xff)
   \   017E  3A5C00            LD      A,(g_music_vars+92)
   \   0181  3C                INC     A
   \   0182  C22D02            JP      NZ,?0033
   \   0185            ?0032:
    135             { 
    136              if (mod == Play_key)
   \   0185  DD4604            LD      B,(IX+4)
   \   0188  05                DEC     B
   \   0189  05                DEC     B
   \   018A  2009              JR      NZ,?0035
   \   018C            ?0034:
    137              {//play 按键的情况
    138                  switch (g_music_vars.repeat_mode)
   \   018C  3A0100            LD      A,(g_music_vars+1)
   \   018F  FE01              CP      1
   \   0191  200B              JR      NZ,?0041
   \   0193            ?0037:
    139                  {
    140                  case FSEL_ALL_REPEATONE:
    141                      FSELSetMode( FSEL_ALL_REPEATALL );//PLAY 时按键
   \   0193  1805              JR      ?0193
    142                      break;
   \   0195            ?0038:
    143          
    144          
    145                  default:
    146                      FSELSetMode(g_music_vars.repeat_mode);//
    147                      break;
   \   0195            ?0036:
   \   0195            ?0035:
    148                  }
    149              }
    150              else if (mod == Stop_key)
   \   0195  DDB604            OR      (IX+4)
   \   0198  2004              JR      NZ,?0041
   \   019A            ?0040:
    151              {//
    152                  FSELSetMode(FSEL_ALL_REPEATALL);//STOP时按键
   \   019A            ?0193:
   \   019A  1E04              LD      E,4
   \   019C  1804              JR      ?0183
    153              }
    154              else
   \   019E            ?0041:
    155              {//正常播放的情况
    156                  FSELSetMode(g_music_vars.repeat_mode);
   \   019E  ED5B0100          LD      DE,(g_music_vars+1)
   \   01A2            ?0183:
   \   01A2  CDDA02            CALL    LWRD ?0222
   \   01A5            ?0042:
   \   01A5            ?0039:
    157              }
    158          
    159              switch (Direct)
   \   01A5  DD5E02            LD      E,(IX+2)
   \   01A8  CD0000            CALL    LWRD ?C_S_SWITCH_L06
   \   01AB  00                DEFB    0
   \   01AC  0500              DEFW    5
   \   01AE  9A02              DEFW    ?0190
   \   01B0  FC01              DEFW    ?0043
   \   01B2  FC01              DEFW    ?0043
   \   01B4  BA01              DEFW    ?0046
   \   01B6  C001              DEFW    ?0047
   \   01B8  E501              DEFW    ?0052
   \   01BA            ?0044:
    160              {
    161                  case Music_Reset_Head:
    162                      break;
   \   01BA            ?0045:
    163          
    164                  case Music_Reset_End:
    165                      break;
   \   01BA            ?0046:
    166          
    167                  case Music_Cur:
    168                      result = TRUE;
   \   01BA  DD36FE01          LD      (IX-2),1
    169                      break;
   \   01BE  183C              JR      ?0043
   \   01C0            ?0047:
    170          
    171                  case Music_Next:
    172                      if(mod==list_key)                //从播放列表选择文件模式             
   \   01C0  DD7E04            LD      A,(IX+4)
   \   01C3  FE03              CP      3
   \   01C5  2010              JR      NZ,?0049
   \   01C7            ?0048:
    173                      { 
    174                       result = TRUE;   
   \   01C7  DD36FE01          LD      (IX-2),1
    175                       if(!fselSetLocation(& g_music_vars.location))        //重新选择文件
   \   01CB  CDF802            CALL    LWRD ?0226
   \   01CE  2C                INC     L
   \   01CF  2D                DEC     L
   \   01D0  202A              JR      NZ,?0043
   \   01D2            ?0050:
    176                       {
    177                         DisplayErrMsg(MFILEOUT);                      //没有文件  

⌨️ 快捷键说明

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