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

📄 sub_playstatuskey.lst

📁 MP3 整个 SDK
💻 LST
📖 第 1 页 / 共 5 页
字号:
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       25/Dec/106  17:00:51 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  banked                                              #
#       Source file   =  d:\case_i_d90f\ap\ap_music\sub_playstatuskey.c      #
#       List file     =  d:\case_i_d90f\ap\ap_music\list\sub_playstatuskey.lst#
#       Object file   =  d:\case_i_d90f\ap\ap_music\obj\sub_playstatuskey.r01#
#       ASM file      =  d:\case_i_d90f\ap\ap_music\list\sub_playstatuskey.s01#
#       Command line  =  -v0 -mb -OD:\case_i_d90f\ap\ap_music\Obj\ -e -K -w  #
#                        -gA -z9 -RCODE -r0 -DNAPDEBUG                       #
#                        -LD:\case_i_d90f\ap\ap_music\List\ -q -t8           #
#                        -AD:\case_i_d90f\ap\ap_music\List\                  #
#                        -ND:\case_i_d90f\ap\ap_music\List\ -X               #
#                        -Id:\sdk_i_90f\inc\ -Id:\case_i_d90f\inc\           #
#                        d:\case_i_d90f\AP\AP_MUSIC\sub_playstatuskey.c      #
#                                                                            #
#                                             (c) Copyright IAR Systems 1996 #
##############################################################################

   \   0000                    NAME    sub_playstatuskey(17)
   \   0000                    RSEG    CODE(0)
   \   0000                    EXTERN  ChangeMusic
   \   0000                    EXTERN  ChangeVolume
   \   0000                    EXTERN  DRV_DetectUD
   \   0000                    PUBLIC  DealKeyForPlayStatus
   \   0000                    EXTERN  DealMusicFileEnd
   \   0000                    PUBLIC  DealPlayKey
   \   0000                    PUBLIC  Deal_Error_Playing
   \   0000                    EXTERN  DisplayErrMsg
   \   0000                    EXTERN  DisplayTimeRollback
   \   0000                    PUBLIC  ErrReport
   \   0000                    EXTERN  FadeOut
   \   0000                    EXTERN  GetBattery
   \   0000                    EXTERN  GetInformation
   \   0000                    EXTERN  OutPutVolume
   \   0000                    EXTERN  PlayStatus
   \   0000                    PUBLIC  PrevMusicInPlay
   \   0000                    EXTERN  RePlayStatus
   \   0000                    PUBLIC  ToNextMusic
   \   0000                    EXTERN  UpDisplayFlag
   \   0000                    EXTERN  VMRead
   \   0000                    EXTERN  ap_get_message
   \   0000                    EXTERN  ap_handle_hotkey
   \   0000                    EXTERN  ap_message_init
   \   0000                    EXTERN  fselGetLocation
   \   0000                    EXTERN  fselGetNextFile
   \   0000                    EXTERN  fselGetPrevFile
   \   0000                    EXTERN  fselSetMode
   \   0000                    EXTERN  g_ABMinTimeCNT
   \   0000                    EXTERN  g_AVSetFlag
   \   0000                    EXTERN  g_FCexitflag
   \   0000                    EXTERN  g_Openparam
   \   0000                    EXTERN  g_PowerOffFlag
   \   0000                    EXTERN  g_ReplayTimeCNT
   \   0000                    EXTERN  g_TagInfoBuf
   \   0000                    EXTERN  g_TagInfoBuf1
   \   0000                    EXTERN  g_comval
   \   0000                    EXTERN  g_lyricflag
   \   0000                    EXTERN  g_music_vars
   \   0000                    EXTERN  g_result
   \   0000                    EXTERN  ifSelBuffToltalTimeFlag
   \   0000                    EXTERN  main_ResShowPic
   \   0000                    EXTERN  musicpSendCommand
   \   0000                    EXTERN  need_draw
   \   0000                    PUBLIC  play_key_next
   \   0000                    PUBLIC  play_key_prev
   \   0000                    EXTERN  return_to_play
   \   0000                    EXTERN  ui_EQ_menu
   \   0000                    EXTERN  ui_auto_update
   \   0000                    EXTERN  ui_follow_compare
   \   0000                    EXTERN  ui_loop_menu
   \   0000                    EXTERN  ui_lyric
   \   0000                    EXTERN  ui_play_menu
   \   0000                    EXTERN  ui_run_realtime
   \   0000                    EXTERN  ui_show_batt
   \   0000                    EXTERN  ?CLZ80B_4_04_L00
   \   0000                    EXTERN  ?C_S_SWITCH_L06
   \   0000                    EXTERN  ?C_V_SWITCH_L06
   \   0000                    EXTERN  ?BANK_CALL_DIRECT_L08
   \   0000                    EXTERN  ?BANK_LEAVE_DIRECT_L08
   \   0000                    EXTERN  ?BANK_FAST_LEAVE_L08
   \   0000                    EXTERN  ?ENT_AUTO_DIRECT_L09
   \   0000                    RSEG    CODE
   \   0000            DealKeyForPlayStatus:
      1          /*
      2          *******************************************************************************
      3          *                ACTOS AP
      4          *        This program demostrates how to build an AP
      5          *
      6          *        (c) Copyright Actions Co,Ld.
      7          *
      8          *  $Id: sub_playstatuskey.c,v 1.1.1.1 2006/05/22 03:24:01 selina Exp $
      9          *******************************************************************************
     10          */
     11          
     12          #include "ap_music.h"
     13          
     14          
     15          extern bool g_FCexitflag;
     16          extern char return_to_play;
     17          void ui_show_vol(BYTE volume);
     18          void OutPutVolume(int vol);
     19          void ErrReport(Play_status_t status);
     20          extern bool DisplayTimeRollback(void);
     21          
     22          /*
     23          ********************************************************************************
     24          * Description :  处理在播放状态下对按键的判断处理(因为ui_play.c空间太紧张了)
     25          *
     26          * input : 键值 key
     27          *
     28          * output: 返回值 == 0: 正常返回
     29          *                != 0: 不是正常返回(如热键)
     30          * Notes       :
     31          ********************************************************************************
     32          */
     33          
     34          int DealKeyForPlayStatus(char key)
     35          {
   \   0000  CD0000            CALL    LWRD ?ENT_AUTO_DIRECT_L09
   \   0003  F4FF              DEFW    65524
   \   0005  FDE5              PUSH    IY
     36          
     37              int g_result_bak;
     38              music_play_status_t status_buf;
     39              switch (key)
   \   0007  DD5E02            LD      E,(IX+2)
   \   000A  CD0000            CALL    LWRD ?C_V_SWITCH_L06
   \   000D  0E00              DEFW    14
   \   000F  02                DEFB    2
   \   0010  03                DEFB    3
   \   0011  04                DEFB    4
   \   0012  12                DEFB    18
   \   0013  1B                DEFB    27
   \   0014  1D                DEFB    29
   \   0015  21                DEFB    33
   \   0016  25                DEFB    37
   \   0017  26                DEFB    38
   \   0018  30                DEFB    48
   \   0019  31                DEFB    49
   \   001A  85                DEFB    133
   \   001B  86                DEFB    134
   \   001C  90                DEFB    144
   \   001D  5D02              DEFW    ?0066
   \   001F  AE01              DEFW    ?0047
   \   0021  3B00              DEFW    ?0004
   \   0023  5600              DEFW    ?0007
   \   0025  F400              DEFW    ?0029
   \   0027  0201              DEFW    ?0033
   \   0029  F000              DEFW    ?0028
   \   002B  DB00              DEFW    ?0024
   \   002D  0402              DEFW    ?0054
   \   002F  8A02              DEFW    ?0002
   \   0031  4502              DEFW    ?0065
   \   0033  7100              DEFW    ?0010
   \   0035  0E02              DEFW    ?0055
   \   0037  0E02              DEFW    ?0055
   \   0039  9D00              DEFW    ?0017
   \   003B            ?0003:
     40              {
     41                  case AP_MSG_STANDBY:
     42                      break;
   \   003B            ?0004:
     43          
     44                  case AP_KEY_NEXT | AP_KEY_LONG: //快进
     45          
     46                      ui_run_realtime=TRUE;
   \   003B  3E01              LD      A,1
   \   003D  320000            LD      (ui_run_realtime),A
     47                      //if (g_music_vars.location.disk == 'C')
     48                      {
     49                          //只有在"C"盘时才能快进退
     50                          if (RePlayStatus == NormalPlay)
   \   0040  3A0000            LD      A,(RePlayStatus)
   \   0043  B7                OR      A
   \   0044  200D              JR      NZ,?0006
   \   0046            ?0005:
     51                          {
     52                              PlayStatus = FFPlaySta;
   \   0046  3E03              LD      A,3
   \   0048  320000            LD      (PlayStatus),A
     53                              musicpSendCommand(MC_STEP, 4);
   \   004B  010400            LD      BC,4
   \   004E  1E07              LD      E,7
   \   0050  CDB802            CALL    LWRD ?0221
   \   0053            ?0006:
     54                          }
     55                      }
     56                      break;
   \   0053  C38A02            JP      LWRD ?0002
   \   0056            ?0007:
     57          
     58                  case AP_KEY_PREV | AP_KEY_LONG: //快退
     59                       ui_run_realtime=TRUE;
   \   0056  3E01              LD      A,1
   \   0058  320000            LD      (ui_run_realtime),A
     60                      //if (g_music_vars.location.disk == 'C')
     61                      {
     62                          //只有在"C"盘时才能快进退
     63                          if (RePlayStatus == NormalPlay)
   \   005B  3A0000            LD      A,(RePlayStatus)
   \   005E  B7                OR      A
   \   005F  200D              JR      NZ,?0009
   \   0061            ?0008:
     64                          {
     65                              PlayStatus = FBPlaySta;
   \   0061  3E04              LD      A,4
   \   0063  320000            LD      (PlayStatus),A
     66                              musicpSendCommand(MC_STEP, -4);
   \   0066  01FCFF            LD      BC,65532
   \   0069  1E07              LD      E,7
   \   006B  CDB802            CALL    LWRD ?0221
   \   006E            ?0009:
     67                          }
     68          
     69                      }
     70                      break;
   \   006E  C38A02            JP      LWRD ?0002
   \   0071            ?0010:
     71          
     72                  case AP_KEY_EQ:
     73                      if (RePlayStatus == NormalPlay)
   \   0071  3A0000            LD      A,(RePlayStatus)
   \   0074  B7                OR      A
   \   0075  2023              JR      NZ,?0012
   \   0077            ?0011:
     74                      {
     75                          g_result = ui_EQ_menu();
   \   0077  3E00              LD      A,BYTE3 ui_EQ_menu
   \   0079  210000            LD      HL,LWRD ui_EQ_menu
   \   007C  CDC002            CALL    LWRD ?0225
     76          
     77                          if (g_result == RESULT_RECORD )//响应AB键
   \   007F  282C              JR      Z,?0163
   \   0081            ?0013:
     78                          {
     79                              SetFullInterface();
     80                              return play_key_next(AP_KEY_AB | AP_KEY_UP);
     81                          }
   \   0081            ?0014:
     82                          else
     83                          {
     84                              if (g_result != 0)
   \   0081  7D                LD      A,L
   \   0082  B4                OR      H
   \   0083  203C              JR      NZ,?0165
   \   0085            ?0015:
     85                              {
     86                                  return g_result;
     87                              }
   \   0085            ?0016:
     88                          }
     89          
     90                          SetFullInterface();
   \   0085  320000            LD      (ui_auto_update),A
   \   0088  210000            LD      HL,UpDisplayFlag
   \   008B  7E                LD      A,(HL)
   \   008C  F6C1              OR      193
   \   008E  77                LD      (HL),A
   \   008F  23                INC     HL
   \   0090  36FF              LD      (HL),255
     91                          return_to_play = 1;
   \   0092  3E01              LD      A,1
   \   0094  320000            LD      (return_to_play),A
     92                          need_draw = TRUE;
   \   0097  320000            LD      (need_draw),A
   \   009A            ?0012:
     93                      }

⌨️ 快捷键说明

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