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

📄 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:39:08 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  banked                                              #
#       Source file   =  d:\case_i_d913f\ap\ap_voice\ui_play.c               #
#       List file     =  d:\case_i_d913f\ap\ap_voice\list\ui_play.lst        #
#       Object file   =  d:\case_i_d913f\ap\ap_voice\obj\ui_play.r01         #
#       Command line  =  -v0 -mb -OD:\case_i_d913f\ap\ap_voice\Obj\ -e -K    #
#                        -w -gA -s9 -RCODE -r0 -DNAPDEBUG                    #
#                        -LD:\case_i_d913f\ap\ap_voice\List\ -q -t8          #
#                        -Id:\sdk_i_913f\inc\ -Id:\case_i_d913f\inc\         #
#                        d:\case_i_d913f\AP\AP_VOICE\ui_play.c               #
#                                                                            #
#                                             (c) Copyright IAR Systems 1996 #
##############################################################################

   \   0000                    NAME    ui_play(17)
   \   0000                    RSEG    CODE(0)
   \   0000                    RSEG    CSTR(0)
   \   0000                    RSEG    CONST(0)
   \   0000                    RSEG    IDATA0(0)
   \   0000                    RSEG    CDATA0(0)
   \   0000                    EXTERN  Cur_Status
   \   0000                    EXTERN  DRV_DetectUD
   \   0000                    EXTERN  GetBattery
   \   0000                    EXTERN  Scroll
   \   0000                    EXTERN  ScrollInit
   \   0000                    EXTERN  SetBackgdColor
   \   0000                    EXTERN  SetPAVolume
   \   0000                    EXTERN  SetPenColor
   \   0000                    EXTERN  ag8pSendCommand
   \   0000                    EXTERN  ap_get_message
   \   0000                    EXTERN  ap_handle_hotkey
   \   0000                    PUBLIC  c_play_string
   \   0000                    PUBLIC  fade_in
   \   0000                    PUBLIC  fade_out
   \   0000                    EXTERN  g_comval
   \   0000                    EXTERN  g_file_name_time
   \   0000                    EXTERN  g_play_status
   \   0000                    PUBLIC  g_rSetPlayStatus
   \   0000                    EXTERN  g_voice_type
   \   0000                    EXTERN  g_voice_vars
   \   0000                    PUBLIC  g_volcounter
   \   0000                    PUBLIC  is_ff_rw
   \   0000                    EXTERN  itoa_2
   \   0000                    EXTERN  list
   \   0000                    EXTERN  main_ResShowPic
   \   0000                    EXTERN  need_sel_file
   \   0000                    EXTERN  numsave
   \   0000                    PUBLIC  play_pause
   \   0000                    PUBLIC  play_string
   \   0000                    EXTERN  show_loop
   \   0000                    PUBLIC  show_play
   \   0000                    PUBLIC  show_play_menu_flash
   \   0000                    EXTERN  show_replay
   \   0000                    EXTERN  show_speed
   \   0000                    PUBLIC  time_draw
   \   0000                    EXTERN  ui_auto_update
   \   0000                    EXTERN  ui_draw
   \   0000                    EXTERN  ui_popup_list
   \   0000                    EXTERN  ui_show_batt
   \   0000                    EXTERN  ui_show_d
   \   0000                    PUBLIC  voiceSendCommand
   \   0000                    PUBLIC  vol_callback
   \   0000                    EXTERN  wavpSendCommand
   \   0000                    EXTERN  ?CLZ80B_4_04_L00
   \   0000                    EXTERN  ?S_MUL_L02
   \   0000                    EXTERN  ?L_MUL_L03
   \   0000                    EXTERN  ?SL_DIV_L03
   \   0000                    EXTERN  ?S_S_SWITCH_L06
   \   0000                    EXTERN  ?C_V_SWITCH_L06
   \   0000                    EXTERN  ?BANK_CALL_DIRECT_L08
   \   0000                    EXTERN  ?BANK_FAST_LEAVE_L08
   \   0000                    EXTERN  ?STRCAT_L11
   \   0000                    RSEG    CODE
   \   0000            vol_callback:
      1          /*
      2          *******************************************************************************
      3          *                ACTOS AP
      4          *        voice player play 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:16:01 tangwh Exp $
     10          *******************************************************************************
     11          */
     12          #include "actos.h"
     13          #include "basal.h"
     14          #include "enhanced.h"
     15          #include "ap_common.h"
     16          #include "ap_voice.h"
     17          #include "define.h"
     18          
     19          //int     FlashCount =0;
     20          BYTE is_ff_rw=0;    //normal: 0, fast frowarding:1, rewinding: 2
     21          
     22          const WORD play_string[4]={VPLAYM1, VPLAYM2, VPLAYM3, VPLAYM4};
     23          
     24          const WORD c_play_string[3]={VPLAYM1, VPLAYM3, VPLAYM4};
     25          
     26          
     27          BOOL    play_pause=TRUE;   // 为了减少BANK的切换,增加这个变量
     28          extern BOOL need_sel_file;
     29          extern BOOL g_card_ok;        //储存卡是否可用
     30          extern  BOOL g_card_in_using;
     31          extern void replay();
     32          ///-extern void Scroll( char * scrollstr, bool mode,char language);
     33          BYTE  GetRightPostion(BYTE CurrentPosition);
     34          void    DisplayMotive(int Count,region_t *picpos,bool Sex);
     35          
     36          char    g_volcounter=0;
     37          bool    g_rSetPlayStatus=FALSE;
     38          /*
     39          ********************************************************************************
     40          * Description : 音量设置回调函数
     41          *
     42          * Arguments   :
     43          *
     44          * Returns     :
     45          *
     46          * Notes       : 注意对0音量的处理
     47          *
     48          ********************************************************************************
     49          */
     50          void vol_callback(int value)
     51          {
   \   0000  C5                PUSH    BC
   \   0001  D5                PUSH    DE
     52              g_voice_vars.volume = (char)value;
   \   0002  7B                LD      A,E
   \   0003  320200            LD      (g_voice_vars+2),A
     53          
     54              if(g_voice_vars.volume == 0)
   \   0006  B7                OR      A
   \   0007  2004              JR      NZ,?0003
   \   0009            ?0002:
     55              {
     56                  voiceSendCommand(MC_SETVOLUME, 0);
   \   0009  4F                LD      C,A
   \   000A  47                LD      B,A
   \   000B  1803              JR      ?0182
     57              }
     58              else
   \   000D            ?0003:
     59              {
     60                  voiceSendCommand(MC_SETVOLUME, 3);
   \   000D  010300            LD      BC,3
   \   0010            ?0182:
   \   0010  1E40              LD      E,64
   \   0012  CD2500            CALL    LWRD ?0221
   \   0015            ?0004:
     61              }
     62              SetPAVolume(g_voice_vars.volume);
   \   0015  ED5B0200          LD      DE,(g_voice_vars+2)
   \   0019  CD0000            CALL    LWRD SetPAVolume
     63          }
   \   001C  E1                POP     HL
   \   001D  C1                POP     BC
   \   001E  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   0021            ?0222:
   \   0021  4D                LD      C,L
   \   0022  44                LD      B,H
   \   0023  1E80              LD      E,128
   \   0025            ?0221:
   \   0025  3E00              LD      A,BYTE3 voiceSendCommand
   \   0027  212D00            LD      HL,LWRD voiceSendCommand
   \   002A  C30000            JP      LWRD ?BANK_CALL_DIRECT_L08
   \   002D            voiceSendCommand:
     64          
     65          /*
     66          ******************************************************************************
     67          * Description : 根据当前文件类型调用适当的basal module 函数
     68          *
     69          * Arguments   :
     70                  全局变量
     71                  g_voice_type = 1, wav
     72                  g_voice_type = 2, act(ag8)
     73          *
     74          * Returns     :
     75          *
     76          * Notes       :
     77          *
     78          ********************************************************************************
     79          */
     80          BOOL voiceSendCommand(BYTE cmd, int param)
     81          {
   \   002D  DDE5              PUSH    IX
   \   002F  D5                PUSH    DE
     82              if(g_voice_type == 1 )
   \   0030  3A0000            LD      A,(g_voice_type)
   \   0033  3D                DEC     A
   \   0034  2007              JR      NZ,?0006
   \   0036            ?0005:
     83              {
     84                  return wavpSendCommand(cmd, param);
   \   0036  3E00              LD      A,BYTE3 wavpSendCommand
   \   0038  210000            LD      HL,LWRD wavpSendCommand
   \   003B  180C              JR      ?0184
     85              }
   \   003D            ?0006:
     86              else if(g_voice_type == 2)
   \   003D  3A0000            LD      A,(g_voice_type)
   \   0040  3D                DEC     A
   \   0041  3D                DEC     A
   \   0042  200A              JR      NZ,?0008
   \   0044            ?0007:
     87              {
     88                  return ag8pSendCommand(cmd, param);
   \   0044  3E00              LD      A,BYTE3 ag8pSendCommand
   \   0046  210000            LD      HL,LWRD ag8pSendCommand
   \   0049            ?0184:
   \   0049  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
     89              }
   \   004C  1802              JR      ?0009
   \   004E            ?0008:
     90              else ASSERT(FALSE);
     91          
     92              return FALSE;    //avoid warning
   \   004E  2E00              LD      L,0
     93          }
   \   0050            ?0009:
   \   0050  F1                POP     AF
   \   0051  DDE1              POP     IX
   \   0053  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   0056            time_draw:
     94          
     95          /*
     96          ********************************************************************************
     97          * Description : 显示时间
     98          *
     99          * Arguments   : part = 0,1, long format: 00:00:00
    100                  part = 2,3, short format: 00:00
    101          *
    102          * Returns     :
    103          *
    104          * Notes       :
    105          *
    106          ********************************************************************************
    107          */
    108          void time_draw(const time_t *time, bool para)
    109          {
   \   0056  FDE5              PUSH    IY
   \   0058  DDE5              PUSH    IX
   \   005A  DD210000          LD      IX,0
   \   005E  DD39              ADD     IX,SP
   \   0060  C5                PUSH    BC
   \   0061  D5                PUSH    DE
   \   0062  21ECFF            LD      HL,65516
   \   0065  39                ADD     HL,SP
   \   0066  F9                LD      SP,HL
    110              char buf[9];    //00:00:00
    111              long int totaltime=0;
    112              long int nowtime=0;   
    113              int i,num;
    114              
    115              if(g_rSetPlayStatus)
   \   0067  3A0300            LD      A,(g_rSetPlayStatus)
   \   006A  B7                OR      A
   \   006B  2807              JR      Z,?0011
   \   006D            ?0010:
    116              {
    117                          para = FALSE;
    118                          g_rSetPlayStatus = FALSE;
   \   006D  AF                XOR     A
   \   006E  320300            LD      (g_rSetPlayStatus),A
   \   0071  DD77FE            LD      (IX-2),A
   \   0074            ?0011:
    119              }
    120              
    121              totaltime=(long int)g_play_status.total_time.hour*3600+(int)g_play_status.total_time.minute*60+g_play_status.total_time.second;
   \   0074  ED4B0400          LD      BC,(g_play_status+4)
   \   0078  47                LD      B,A
   \   0079  113C00            LD      DE,60
   \   007C  CD0000            CALL    LWRD ?S_MUL_L02
   \   007F  EB                EX      DE,HL
   \   0080  7C                LD      A,H
   \   0081  07                RLCA
   \   0082  9F                SBC     A,A
   \   0083  4F                LD      C,A

⌨️ 快捷键说明

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