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

📄 ui_play.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 5 页
字号:
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       18/Nov/107  22:57:38 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  banked                                              #
#       Source file   =  d:\case_i_d913f\ap\ap_music\ui_play.c               #
#       List file     =  d:\case_i_d913f\ap\ap_music\list\ui_play.lst        #
#       Object file   =  d:\case_i_d913f\ap\ap_music\obj\ui_play.r01         #
#       ASM file      =  d:\case_i_d913f\ap\ap_music\list\ui_play.s01        #
#       Command line  =  -v0 -mb -OD:\case_i_d913f\ap\ap_music\Obj\ -e -K    #
#                        -w -gA -z9 -RCODE -r0 -DNAPDEBUG                    #
#                        -LD:\case_i_d913f\ap\ap_music\List\ -q -t8          #
#                        -AD:\case_i_d913f\ap\ap_music\List\                 #
#                        -ND:\case_i_d913f\ap\ap_music\List\ -X              #
#                        -Id:\sdk_i_913f\inc\ -Id:\case_i_d913f\inc\         #
#                        d:\case_i_d913f\AP\AP_MUSIC\ui_play.c               #
#                                                                            #
#                                             (c) Copyright IAR Systems 1996 #
##############################################################################

   \   0000                    NAME    ui_play(17)
   \   0000                    RSEG    AP_UI_PLY(0)
   \   0000                    RSEG    CSTR(0)
   \   0000                    RSEG    IDATA0(0)
   \   0000                    RSEG    CDATA0(0)
   \   0000                    PUBLIC  BackupCurrentTime
   \   0000                    EXTERN  CaltimeFlag
   \   0000                    PUBLIC  DealForABGap
   \   0000                    EXTERN  DealKeyForPlayStatus
   \   0000                    EXTERN  DealMusicFileEnd
   \   0000                    EXTERN  Deal_Error_Playing
   \   0000                    EXTERN  DisInFBHead
   \   0000                    EXTERN  GetBattery
   \   0000                    EXTERN  MusicEditSelStatus
   \   0000                    EXTERN  MusicEditStatus
   \   0000                    EXTERN  PlayStatus
   \   0000                    EXTERN  RePlayStatus
   \   0000                    PUBLIC  RealDisplay
   \   0000                    EXTERN  RefreshMainScreen
   \   0000                    EXTERN  Scroll
   \   0000                    EXTERN  SelectCurMusic
   \   0000                    EXTERN  SetBackgdColor
   \   0000                    EXTERN  SetPenColor
   \   0000                    PUBLIC  ShowNowTime
   \   0000                    EXTERN  TimeRateData_sav
   \   0000                    EXTERN  UpDisplayFlag
   \   0000                    EXTERN  ap_get_message
   \   0000                    EXTERN  ap_handle_hotkey
   \   0000                    EXTERN  apepSendCommand
   \   0000                    EXTERN  g_2HZFlag
   \   0000                    EXTERN  g_2HZ_CNT
   \   0000                    EXTERN  g_ABMinTimeCNT
   \   0000                    EXTERN  g_AVSetFlag
   \   0000                    EXTERN  g_FCexitflag
   \   0000                    EXTERN  g_FadeInStepFlag
   \   0000                    EXTERN  g_OldSecTempBackup
   \   0000                    EXTERN  g_ReplayTimeCNT
   \   0000                    EXTERN  g_ScrollFlag
   \   0000                    EXTERN  g_TagInfoBuf
   \   0000                    EXTERN  g_comval
   \   0000                    EXTERN  g_currentMusicType
   \   0000                    EXTERN  g_introCNT
   \   0000                    EXTERN  g_introCntMode
   \   0000                    EXTERN  g_music_vars
   \   0000                    PUBLIC  g_rSetPlayStatus
   \   0000                    EXTERN  g_result
   \   0000                    EXTERN  g_volcounter
   \   0000                    EXTERN  ifSelBuffToltalTimeFlag
   \   0000                    EXTERN  itoa_2
   \   0000                    EXTERN  main_ResShowPic
   \   0000                    EXTERN  mp3pSendCommand
   \   0000                    PUBLIC  musicpSendCommand
   \   0000                    EXTERN  musicpSendCommand_bank
   \   0000                    EXTERN  need_draw
   \   0000                    EXTERN  oggpSendCommand
   \   0000                    EXTERN  return_to_play
   \   0000                    EXTERN  savenum
   \   0000                    EXTERN  temp_buffer
   \   0000                    EXTERN  ui_auto_update
   \   0000                    PUBLIC  ui_play
   \   0000                    EXTERN  ui_show_batt
   \   0000                    EXTERN  ui_show_d
   \   0000                    EXTERN  ui_show_vol
   \   0000                    EXTERN  wmapSendCommand
   \   0000                    EXTERN  ?CLZ80B_4_04_L00
   \   0000                    EXTERN  ?S_MUL_L02
   \   0000                    EXTERN  ?SS_CMP_L02
   \   0000                    EXTERN  ?L_MUL_L03
   \   0000                    EXTERN  ?SL_DIV_L03
   \   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_PARM_DIRECT_L09
   \   0000                    EXTERN  ?ENT_AUTO_DIRECT_L09
   \   0000                    EXTERN  ?STRCAT_L11
   \   0000                    RSEG    AP_UI_PLY
   \   0000            ui_play:
      1          /*
      2          *******************************************************************************
      3          *                ACTOS AP
      4          *        voice player stop program.
      5          *
      6          *        (c) Copyright, Actions Co,Ld.
      7          *             All Right Reserved
      8          *
      9          *  $Id: ui_play.c,v 1.2 2006/06/26 01:14:24 tangwh Exp $
     10          *******************************************************************************
     11          */
     12          #include "ap_music.h"
     13          #include "define.h"
     14          
     15          #define IntCntValDef 10
     16          extern bool g_FCexitflag;
     17          extern char return_to_play;
     18          void ErrReport(Play_status_t status);
     19          
     20          #pragma codeseg(AP_UI_PLY)
     21          
     22          extern struct TimeRateData_sav;
     23          extern BYTE Bitrate_sav [];
     24          extern BYTE g_OldSecTempBackup;
     25          extern BYTE g_introCNT;
     26          
     27          extern const char mychar [];
     28          
     29          extern bool g_introCntMode; //是从头开始还是从中途开始,TRUE 为从头开始
     30          
     31          extern EMU_MusicEditSelStatus MusicEditSelStatus;    //music edit add by mzh 2007.1.19
     32          extern EMU_MusicEditStatus MusicEditStatus;    //music edit add by mzh 2007.1.19
     33          void FadeOut( bool DisMod );
     34          
     35          
     36          int main_ResShowPic( WORD id, uchar x, uchar y );
     37          
     38          int DealKeyForPlayStatus( char key);
     39          void DisInFBHead(char DisMod);//快退到头显示
     40          int DealForDRMsong(void);
     41          extern void Deal_Error_Playing(void);
     42          
     43          bool    g_rSetPlayStatus = FALSE;
     44          extern char g_volcounter;
     45          /*
     46          ********************************************************************************
     47          *             int ui_play( void )
     48          *
     49          * Description : 显示时间,滚屏,AB闪
     50          *
     51          * Arguments   : void
     52          *
     53          * Returns     : void
     54          *
     55          * Notes       :
     56          *
     57          ********************************************************************************
     58          */
     59          int ui_play( void )
     60          {
   \   0000  CD0000            CALL    LWRD ?ENT_AUTO_DIRECT_L09
   \   0003  F6FF              DEFW    65526
     61              //int key;
     62              char key;
     63              BYTE result;
     64              //int i;
     65              music_play_status_t status_buf;
     66              PlayStatus = PlaySta;
   \   0005  3E02              LD      A,2
   \   0007  320000            LD      (PlayStatus),A
     67              RePlayStatus = NormalPlay;/* 播放状态 */
   \   000A  AF                XOR     A
   \   000B  320000            LD      (RePlayStatus),A
     68              need_draw = TRUE;/* 需要画screen */
   \   000E  3E01              LD      A,1
   \   0010  320000            LD      (need_draw),A
     69              SetStopToPlayInterface();
   \   0013  AF                XOR     A
   \   0014  320000            LD      (ui_auto_update),A
   \   0017  210000            LD      HL,UpDisplayFlag
   \   001A  CBFE              SET     7,(HL)
   \   001C  23                INC     HL
   \   001D  7E                LD      A,(HL)
   \   001E  F6FC              OR      252
   \   0020  77                LD      (HL),A
     70              g_FadeInStepFlag = FALSE;
   \   0021  AF                XOR     A
   \   0022  320000            LD      (g_FadeInStepFlag),A
   \   0025            ?0003:
     71          
     72              while (1)
     73              {
     74                  if (need_draw)
   \   0025  3A0000            LD      A,(need_draw)
   \   0028  B7                OR      A
   \   0029  280C              JR      Z,?0006
   \   002B            ?0005:
     75                  {
     76                      RefreshMainScreen();
   \   002B  3E00              LD      A,BYTE3 RefreshMainScreen
   \   002D  210000            LD      HL,LWRD RefreshMainScreen
   \   0030  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
     77                      need_draw = FALSE;
   \   0033  AF                XOR     A
   \   0034  320000            LD      (need_draw),A
   \   0037            ?0006:
   \   0037            ?0009:
     78                  }
     79                  
     80                  do 
     81                  {
     82                      //output8(REG4E_RTC_WATCH_DOG, input8(REG4E_RTC_WATCH_DOG) | 0x08);
     83                      key = ap_get_message(); //读键值
   \   0037  CD0000            CALL    LWRD ap_get_message
   \   003A  DD77F6            LD      (IX-10),A
     84          
     85          #ifndef __6KEYMODE__
     86                      if(g_volcounter > 0)        //Jerry Xie Add for test
     87                          break;
     88          #endif
     89          
     90                      //这里是处理快退大文件时可能丢掉KEYUP键的问题
     91                  }while(((PlayStatus == FFPlaySta) || (PlayStatus == FBPlaySta))
     92                      &&(key!=0)
     93                      &&(key!=(AP_KEY_PREV | AP_KEY_UP))
     94                      &&(key!=(AP_KEY_NEXT | AP_KEY_UP)));
   \   003D  3A0000            LD      A,(PlayStatus)
   \   0040  FE03              CP      3
   \   0042  2804              JR      Z,?0010
   \   0044  FE04              CP      4
   \   0046  200E              JR      NZ,?0007
   \   0048            ?0010:
   \   0048            ?0011:
   \   0048  AF                XOR     A
   \   0049  DDB6F6            OR      (IX-10)
   \   004C  2808              JR      Z,?0007
   \   004E  FE25              CP      37
   \   0050  2804              JR      Z,?0007
   \   0052  FE26              CP      38
   \   0054  20E1              JR      NZ,?0006
   \   0056            ?0007:
     95                  switch (key)
   \   0056  DD5EF6            LD      E,(IX-10)
   \   0059  CD0000            CALL    LWRD ?C_V_SWITCH_L06
   \   005C  0700              DEFW    7
   \   005E  00                DEFB    0
   \   005F  01                DEFB    1
   \   0060  05                DEFB    5
   \   0061  06                DEFB    6
   \   0062  1C                DEFB    28
   \   0063  1E                DEFB    30
   \   0064  80                DEFB    128
   \   0065  CD00              DEFW    ?0029
   \   0067  7500              DEFW    ?0015
   \   0069  A300              DEFW    ?0021
   \   006B  7500              DEFW    ?0015
   \   006D  A300              DEFW    ?0021
   \   006F  A300              DEFW    ?0021
   \   0071  A300              DEFW    ?0021
   \   0073  EB00              DEFW    ?0014
   \   0075            ?0015:
     96                  {
     97                  case MSG_RTC2HZ://rtc
     98                  case AP_MSG_RTC:
     99                                  if(g_volcounter>0)
   \   0075  3A0000            LD      A,(g_volcounter)
   \   0078  B7                OR      A
   \   0079  280F              JR      Z,?0019
   \   007B            ?0016:
    100                                  {
    101                                          g_volcounter--;
   \   007B  210000            LD      HL,g_volcounter
   \   007E  35                DEC     (HL)
    102                                          if(g_volcounter==0)

⌨️ 快捷键说明

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