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

📄 sub_playstatuskey.lst

📁 MP3 整个 SDK
💻 LST
📖 第 1 页 / 共 5 页
字号:
     94                      break;
   \   009A  C38A02            JP      LWRD ?0002
   \   009D            ?0017:
     95          
     96                  case AP_KEY_LOOP:
     97                      if (RePlayStatus == NormalPlay)
   \   009D  3A0000            LD      A,(RePlayStatus)
   \   00A0  B7                OR      A
   \   00A1  2035              JR      NZ,?0019
   \   00A3            ?0018:
     98                      {
     99                          g_result = ui_loop_menu();
   \   00A3  3E00              LD      A,BYTE3 ui_loop_menu
   \   00A5  210000            LD      HL,LWRD ui_loop_menu
   \   00A8  CDC002            CALL    LWRD ?0225
    100          
    101                          if (g_result == RESULT_RECORD )//不响应AB键
   \   00AB  2010              JR      NZ,?0021
   \   00AD            ?0020:
    102                          {
    103                              SetFullInterface();
   \   00AD            ?0163:
   \   00AD  AF                XOR     A
   \   00AE  320000            LD      (ui_auto_update),A
   \   00B1  210000            LD      HL,UpDisplayFlag
   \   00B4  7E                LD      A,(HL)
   \   00B5  F6C1              OR      193
   \   00B7  77                LD      (HL),A
   \   00B8  23                INC     HL
   \   00B9  36FF              LD      (HL),255
    104                              return play_key_next(AP_KEY_AB | AP_KEY_UP);
   \   00BB  187E              JR      ?0164
    105                          }
   \   00BD            ?0021:
    106                          else
    107                          {
    108                              if (g_result != 0)
   \   00BD  7D                LD      A,L
   \   00BE  B4                OR      H
   \   00BF  2802              JR      Z,?0023
   \   00C1            ?0022:
    109                              {
    110                                  return g_result;
   \   00C1            ?0165:
   \   00C1  183C              JR      ?0030
    111                              }
   \   00C3            ?0023:
    112                          }
    113          
    114                          SetFullInterface();
   \   00C3  320000            LD      (ui_auto_update),A
   \   00C6  210000            LD      HL,UpDisplayFlag
   \   00C9  7E                LD      A,(HL)
   \   00CA  F6C1              OR      193
   \   00CC  77                LD      (HL),A
   \   00CD  23                INC     HL
   \   00CE  36FF              LD      (HL),255
    115                          return_to_play=1;
   \   00D0  3E01              LD      A,1
   \   00D2  320000            LD      (return_to_play),A
    116                          need_draw = TRUE;
   \   00D5  320000            LD      (need_draw),A
   \   00D8            ?0019:
    117                      }
    118                      break;
   \   00D8  C38A02            JP      LWRD ?0002
   \   00DB            ?0024:
    119          
    120                  case AP_KEY_PREV | AP_KEY_UP:
    121                      ui_run_realtime=FALSE;
   \   00DB  AF                XOR     A
   \   00DC  320000            LD      (ui_run_realtime),A
    122                      g_result = play_key_prev(key);
   \   00DF  57                LD      D,A
   \   00E0  3E00              LD      A,BYTE3 play_key_prev
   \   00E2  21F103            LD      HL,LWRD play_key_prev
   \   00E5  CDD002            CALL    LWRD ?0226
   \   00E8            ?0026:
    123                      while(ap_get_message()!=NULL);    //clear rtc message.
   \   00E8  CD0000            CALL    LWRD ap_get_message
   \   00EB  B7                OR      A
   \   00EC  2811              JR      Z,?0030
   \   00EE            ?0027:
   \   00EE  18F8              JR      ?0026
   \   00F0            ?0025:
    124                      return g_result;
    125          
    126          
    127                  case AP_KEY_NEXT | AP_KEY_UP:
   \   00F0            ?0028:
    128                       ui_run_realtime=FALSE;
   \   00F0  AF                XOR     A
   \   00F1  320000            LD      (ui_run_realtime),A
   \   00F4            ?0029:
    129                  case AP_KEY_AB   | AP_KEY_UP: //定AB
    130                      g_result = play_key_next(key);
   \   00F4  1600              LD      D,0
   \   00F6  CDCB02            CALL    LWRD ?0227
   \   00F9            ?0031:
    131                      while(ap_get_message()!=NULL);    //clear rtc message.
   \   00F9  CD0000            CALL    LWRD ap_get_message
   \   00FC  B7                OR      A
   \   00FD  20FA              JR      NZ,?0031
   \   00FF            ?0032:
   \   00FF            ?0030:
    132                      return g_result;
   \   00FF  C34002            JP      LWRD ?0174
    133          
    134                  case AP_KEY_MODE | AP_KEY_UP: //短按 MODE +
   \   0102            ?0033:
    135                      if (RePlayStatus == NormalPlay)
   \   0102  3A0000            LD      A,(RePlayStatus)
   \   0105  B7                OR      A
   \   0106  C29601            JP      NZ,?0035
   \   0109            ?0034:
    136                      {
    137                          BYTE Reg4eBak=input8(0x4e);
   \   0109  DB4E              IN      A,(78)
   \   010B  DD77FE            LD      (IX-2),A
    138                          output8(0x4e,0x22);            //zxs add
   \   010E  3E22              LD      A,34
   \   0110  D34E              OUT     (78),A
    139                          g_result = ui_play_menu(); //播放菜单
   \   0112  3E00              LD      A,BYTE3 ui_play_menu
   \   0114  210000            LD      HL,LWRD ui_play_menu
   \   0117  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   011A  220000            LD      (g_result),HL
    140                          output8(0x4e,Reg4eBak);            //zxs add
   \   011D  DD7EFE            LD      A,(IX-2)
   \   0120  D34E              OUT     (78),A
    141                          if (g_result == RESULT_RECORD )//不响应AB键
   \   0122  3E09              LD      A,9
   \   0124  AD                XOR     L
   \   0125  B4                OR      H
   \   0126  2021              JR      NZ,?0037
   \   0128            ?0036:
    142                          {
    143          
    144                              SetFullInterface();
   \   0128  320000            LD      (ui_auto_update),A
   \   012B  210000            LD      HL,UpDisplayFlag
   \   012E  7E                LD      A,(HL)
   \   012F  F6C1              OR      193
   \   0131  77                LD      (HL),A
   \   0132  23                INC     HL
   \   0133  36FF              LD      (HL),255
    145                              UpDisplayFlag = UpDisplayFlag &clr_musicbitrate;
   \   0135  210000            LD      HL,UpDisplayFlag
   \   0138  23                INC     HL
   \   0139  CBAE              RES     5,(HL)
    146                              return play_key_next(AP_KEY_AB | AP_KEY_UP);
   \   013B            ?0164:
   \   013B  113100            LD      DE,49
   \   013E  3E00              LD      A,BYTE3 play_key_next
   \   0140  21D702            LD      HL,LWRD play_key_next
   \   0143  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    147                          }
   \   0146  C38D02            JP      LWRD ?0072
   \   0149            ?0037:
    148                          else
    149                          {
    150          /////////////////////////////////////////////////////////////////////////////////////
    151                            g_result_bak=g_result;
   \   0149  FD2A0000          LD      IY,(g_result)
    152                             musicpSendCommand(MC_GETSTATUS, (int)(& status_buf));
   \   014D  210400            LD      HL,4
   \   0150  39                ADD     HL,SP
   \   0151  4D                LD      C,L
   \   0152  44                LD      B,H
   \   0153  1E83              LD      E,131
   \   0155  CDB802            CALL    LWRD ?0221
    153                             if (status_buf.status == PLAYING_REACH_END)
   \   0158  DD7EF6            LD      A,(IX-10)
   \   015B  FE06              CP      6
   \   015D  201B              JR      NZ,?0041
   \   015F            ?0038:
    154                              {
    155          
    156                                 g_result=DealMusicFileEnd(0); 
   \   015F  1E00              LD      E,0
   \   0161  3E00              LD      A,BYTE3 DealMusicFileEnd
   \   0163  210000            LD      HL,LWRD DealMusicFileEnd
   \   0166  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0169  220000            LD      (g_result),HL
    157                                 if ( g_result != NULL )
   \   016C  7D                LD      A,L
   \   016D  B4                OR      H
   \   016E  280A              JR      Z,?0041
   \   0170            ?0040:
    158                                  {
    159                                    if(g_result_bak)         //g_result_bak !=0,返回其消息
   \   0170  FDE5              PUSH    IY
   \   0172  E1                POP     HL
   \   0173  7D                LD      A,L
   \   0174  B4                OR      H
   \   0175  280D              JR      Z,?0170
   \   0177            ?0042:
    160                                      return g_result_bak;  
    161                                    else
   \   0177  C38D02            JP      LWRD ?0072
   \   017A            ?0043:
    162                                      return g_result;  
    163                                  } 
   \   017A            ?0041:
   \   017A            ?0039:
    164                              }
    165                              g_result=g_result_bak;
   \   017A  FDE5              PUSH    IY
   \   017C  E1                POP     HL
   \   017D  220000            LD      (g_result),HL
    166          //////////////////////////////////////////////////////////////////////////////////////解决DRM在菜单中长按mode重启问题
    167                              if (g_result != 0)
   \   0180  7D                LD      A,L
   \   0181  B4                OR      H
   \   0182  2803              JR      Z,?0045
   \   0184            ?0044:
    168                              {
    169                                  return g_result;
   \   0184            ?0170:
   \   0184  C34002            JP      LWRD ?0174
    170                              }
   \   0187            ?0045:
    171                          }
    172                          SetFullInterface();
   \   0187  320000            LD      (ui_auto_update),A
   \   018A  210000            LD      HL,UpDisplayFlag
   \   018D  7E                LD      A,(HL)
   \   018E  F6C1              OR      193
   \   0190  77                LD      (HL),A
   \   0191  23                INC     HL
   \   0192  36FF              LD      (HL),255
    173          
    174                      }
    175                      else
   \   0194  1810              JR      ?0046
   \   0196            ?0035:
    176                      {
    177                          musicpSendCommand(MC_SETA_B, ClrABPoint); //clear SET_A_B
   \   0196  CDB302            CALL    LWRD ?0222
    178                          RePlayStatus = NormalPlay;
   \   0199  AF                XOR     A
   \   019A  320000            LD      (RePlayStatus),A
    179                          //main_ResShowPic(BBCK2,0,0);
    180                          UpDisplayFlag = UpDisplayFlag | up_musicbitrate;
   \   019D  210000            LD      HL,UpDisplayFlag
   \   01A0  23                INC     HL
   \   01A1  CBEE              SET     5,(HL)
    181                          g_FCexitflag = FALSE;
   \   01A3  320000            LD      (g_FCexitflag),A
   \   01A6            ?0046:
    182                      }
    183                      return_to_play=1;
   \   01A6  3E01              LD      A,1
   \   01A8  320000            LD      (return_to_play),A
    184                      need_draw = TRUE;
   \   01AB  C33702            JP      LWRD ?0175
    185                      break;
   \   01AE            ?0047:
    186          
    187                  case AP_KEY_MODE | AP_KEY_LONG://长按MODE 进入歌词显示界面
    188          
    189                  #ifdef OPT_Sup_LRC_fun//支持歌词显示功能
    190          
    191                      if (!g_lyricflag)
   \   01AE  3A0000            LD      A,(g_lyricflag)
   \   01B1  B7                OR      A
   \   01B2  2806              JR      Z,?0172
   \   01B4            ?0048:
    192                      {
    193                          return RESULT_MAIN; //没歌词就不进入
    194                      }
   \   01B4            ?0049:

⌨️ 快捷键说明

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