ui_stop.lst

来自「MP3 整个 SDK」· LST 代码 · 共 978 行 · 第 1/4 页

LST
978
字号
    220                 //         return RESULT_MAIN;         //返回main ap
    221          
    222                      case AP_KEY_PREV | AP_KEY_UP:
    223                          while(ap_get_message() != 0);
   \   0313  CD0000            CALL    LWRD ap_get_message
   \   0316  B7                OR      A
   \   0317  CA9C01            JP      Z,?0025
   \   031A            ?0084:
    224                          break;
   \   031A  18F7              JR      ?0081
   \   031C            ?0082:
   \   031C            ?0085:
    225          
    226                      case AP_KEY_PREV:
    227                      case AP_KEY_PREV | AP_KEY_HOLD:
    228                      if (g_changevolume&0x01)
   \   031C  3A0000            LD      A,(g_changevolume)
   \   031F  CB47              BIT     0,A
   \   0321  2805              JR      Z,?0087
   \   0323            ?0086:
    229                      {
    230                      g_changevolume|=0x3f;
   \   0323  F63F              OR      63
   \   0325  320000            LD      (g_changevolume),A
   \   0328            ?0087:
    231                       // goto vol_sub_lzd;
    232                  }
    233                          memcpy(g_TagInfoBuf1, g_TagInfoBuf, 20);
   \   0328  011400            LD      BC,20
   \   032B  110000            LD      DE,g_TagInfoBuf1
   \   032E  210000            LD      HL,g_TagInfoBuf
   \   0331  EDB0              LDIR
    234                          //g_TagInfoBuf1[18]=0;
    235                          g_TagInfoBuf1[20]=0;
   \   0333  AF                XOR     A
   \   0334  321400            LD      (g_TagInfoBuf1+20),A
    236                          g_result = ChangeMusic(Music_Prev, Stop_key);
    237                          GetInformation(); //取文件信息
   \   0337  CD4C01            CALL    LWRD ?0144
    238                          need_draw = TRUE;
   \   033A  3E01              LD      A,1
   \   033C  320000            LD      (need_draw),A
   \   033F            ?0089:
    239                          //清除多出的HOLD消息,防止按键停了还跳几曲
    240                          while(ap_get_message() != 0);
   \   033F  CD0000            CALL    LWRD ap_get_message
   \   0342  B7                OR      A
   \   0343  CA9C01            JP      Z,?0025
   \   0346            ?0090:
    241                          break;
   \   0346  18F7              JR      ?0089
   \   0348            ?0088:
   \   0348            ?0091:
   \   0348            ?0093:
    242          
    243                      case AP_KEY_NEXT | AP_KEY_UP:
    244                          while(ap_get_message() != 0);
   \   0348  CD0000            CALL    LWRD ap_get_message
   \   034B  B7                OR      A
   \   034C  CA9C01            JP      Z,?0025
   \   034F            ?0094:
    245                          break;
   \   034F  18F7              JR      ?0091
   \   0351            ?0092:
   \   0351            ?0095:
    246          
    247                      case AP_KEY_NEXT:
    248                      case AP_KEY_NEXT | AP_KEY_HOLD:
    249          
    250                          g_result = ChangeMusic(Music_Next, Stop_key);
   \   0351  0E00              LD      C,0
   \   0353  1E03              LD      E,3
    251                          GetInformation(); //取文件信息
   \   0355  CD4E01            CALL    LWRD ?0145
    252                          g_result = ChangeMusic(Music_Next, Stop_key);
   \   0358  0E00              LD      C,0
   \   035A  1E03              LD      E,3
   \   035C  3E00              LD      A,BYTE3 ChangeMusic
   \   035E  210000            LD      HL,LWRD ChangeMusic
   \   0361  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0364  2600              LD      H,0
   \   0366  220000            LD      (g_result),HL
    253                          GetInformation(); //取文件信息
   \   0369  CD3401            CALL    LWRD ?0142
    254                          memcpy(g_TagInfoBuf1, g_TagInfoBuf, 20);
    255                          //g_TagInfoBuf1[18]=0;
    256                          g_TagInfoBuf1[20]=0;
    257                          g_result = ChangeMusic(Music_Prev, Stop_key);
    258                          GetInformation(); //取文件信息
   \   036C  CD4C01            CALL    LWRD ?0144
    259                          need_draw = TRUE;
   \   036F  3E01              LD      A,1
   \   0371  320000            LD      (need_draw),A
   \   0374            ?0097:
    260                          while(ap_get_message() != 0);
   \   0374  CD0000            CALL    LWRD ap_get_message
   \   0377  B7                OR      A
   \   0378  CA9C01            JP      Z,?0025
   \   037B            ?0098:
    261                          break;
   \   037B  18F7              JR      ?0097
   \   037D            ?0096:
   \   037D            ?0099:
    262          
    263                      case AP_KEY_VOLSUB:
    264                      case AP_KEY_VOLSUB | AP_KEY_HOLD:
    265          
    266          
    267          
    268                      case AP_KEY_VOLADD:
    269                      case AP_KEY_VOLADD | AP_KEY_HOLD:
    270                         result = show_volume(FALSE);
   \   037D  1E00              LD      E,0
   \   037F  3E00              LD      A,BYTE3 show_volume
   \   0381  210000            LD      HL,LWRD show_volume
   \   0384  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    271                         if(result != 0) return result;
   \   0387  7D                LD      A,L
   \   0388  B4                OR      H
   \   0389  205E              JR      NZ,?0112
   \   038B            ?0100:
   \   038B            ?0101:
    272                         need_draw = TRUE;
   \   038B  184C              JR      ?0139
    273                         break;
   \   038D            ?0102:
    274          
    275          
    276          
    277                  case AP_MSG_RTC:
    278                  case AP_MSG_CHARGING:
    279                          ui_show_batt(GetBattery(), g_BatteryType,0);
   \   038D  0E00              LD      C,0
   \   038F  C5                PUSH    BC
   \   0390  ED4B0000          LD      BC,(g_BatteryType)
   \   0394  CD0000            CALL    LWRD GetBattery
   \   0397  5F                LD      E,A
   \   0398  1600              LD      D,0
   \   039A  3E00              LD      A,BYTE3 ui_show_batt
   \   039C  210000            LD      HL,LWRD ui_show_batt
   \   039F  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   03A2  E1                POP     HL
    280          
    281                          break;
   \   03A3  C39C01            JP      LWRD ?0025
   \   03A6            ?0103:
    282                  case AP_MSG_SD_OUT:
    283                          if (g_amv_vars.location.disk == 'H')
   \   03A6  3A0500            LD      A,(g_amv_vars+5)
   \   03A9  FE48              CP      72
   \   03AB  C29C01            JP      NZ,?0025
   \   03AE            ?0104:
    284                          {
    285                              g_amv_vars.location.disk = 'C';
   \   03AE  3E43              LD      A,67
   \   03B0  320500            LD      (g_amv_vars+5),A
    286                              ui_err_msg(CARDPULL,CARDPULL,g_langid);//显示卡拔出
   \   03B3  ED4B0000          LD      BC,(g_langid)
   \   03B7  0600              LD      B,0
   \   03B9  C5                PUSH    BC
   \   03BA  019101            LD      BC,401
   \   03BD  59                LD      E,C
   \   03BE  50                LD      D,B
   \   03BF  3E00              LD      A,BYTE3 ui_err_msg
   \   03C1  210000            LD      HL,LWRD ui_err_msg
   \   03C4  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   03C7  F1                POP     AF
    287                              return RESULT_CURR_UI;
   \   03C8            ?0136:
   \   03C8  210000            LD      HL,0
    288                          }
   \   03CB  181C              JR      ?0112
   \   03CD            ?0105:
    289                          break;
   \   03CD            ?0106:
    290                      default:
    291                          key = ap_handle_hotkey(key);
   \   03CD  CD0000            CALL    LWRD ap_handle_hotkey
   \   03D0  210000            LD      HL,0
   \   03D3  39                ADD     HL,SP
   \   03D4  77                LD      (HL),A
    292                          if (key == RESULT_REDRAW)
   \   03D5  FE32              CP      50
   \   03D7  2008              JR      NZ,?0108
   \   03D9            ?0107:
    293                          {
    294                              need_draw = TRUE;
   \   03D9            ?0139:
   \   03D9  3E01              LD      A,1
   \   03DB  320000            LD      (need_draw),A
   \   03DE  C39C01            JP      LWRD ?0025
   \   03E1            ?0108:
    295                          }
    296                          else if (key != 0)
   \   03E1  AF                XOR     A
   \   03E2  B6                OR      (HL)
   \   03E3  CA9C01            JP      Z,?0025
   \   03E6            ?0110:
    297                          {
    298                              return key;
   \   03E6  6F                LD      L,A
   \   03E7  2600              LD      H,0
    299                          }
   \   03E9            ?0112:
   \   03E9  F1                POP     AF
   \   03EA  DDE1              POP     IX
   \   03EC  D1                POP     DE
   \   03ED  C1                POP     BC
   \   03EE  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   03F1            ?0111:
   \   03F1            ?0109:
    300                          break;
   \   03F1            ?0031:
    301                  } //switch(key)
    302              } //while(1)
    303          }
    304          
    305          
   \   0000                    RSEG    CSTR
   \   0000            ?0038:
   \   0000  55495F53          DEFB    'UI_S0724.DRV'
   \   0004  30373234
   \   0008  2E445256
   \   000C  00                DEFB    0
   \   000D            ?0047:
   \   000D  55495F54          DEFB    'UI_T0724.DRV'
   \   0011  30373234
   \   0015  2E445256
   \   0019  00                DEFB    0
   \   001A            ?0056:
   \   001A  55495F4C          DEFB    'UI_L0724.DRV'
   \   001E  30373234
   \   0022  2E445256
   \   0026  00                DEFB    0
   \   0027                    END

Errors: none
Warnings: none
Code size: 1009
Constant size: 39
Static variable size: Data(0) Iram(0)

⌨️ 快捷键说明

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