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

📄 ui_play.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 4 页
字号:
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       18/Nov/107  22:39:47 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  banked                                              #
#       Source file   =  d:\case_i_d913f\ap\ap_amv\ui_play.c                 #
#       List file     =  d:\case_i_d913f\ap\ap_amv\list\ui_play.lst          #
#       Object file   =  d:\case_i_d913f\ap\ap_amv\obj\ui_play.r01           #
#       ASM file      =  d:\case_i_d913f\ap\ap_amv\list\ui_play.s01          #
#       Command line  =  -v0 -mb -OD:\case_i_d913f\ap\ap_amv\Obj\ -e -K -w   #
#                        -gA -s9 -RCODE -r0 -DNAPDEBUG -DAMV_JPG_TXT         #
#                        -LD:\case_i_d913f\ap\ap_amv\List\ -q -t8            #
#                        -AD:\case_i_d913f\ap\ap_amv\List\                   #
#                        -ND:\case_i_d913f\ap\ap_amv\List\ -X                #
#                        -Id:\sdk_i_913f\inc\ -Id:\case_i_d913f\inc\         #
#                        d:\case_i_d913f\ap\ap_amv\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    UDATA0(0)
   \   0000                    EXTERN  AmvDecModPolling
   \   0000                    EXTERN  AmvDecSetCMD
   \   0000                    EXTERN  AmvDecStart
   \   0000                    EXTERN  AmvRegion
   \   0000                    EXTERN  ChangeMusic
   \   0000                    EXTERN  ClearScreen
   \   0000                    EXTERN  DRV_DetectUD
   \   0000                    EXTERN  DealMusicFileEnd
   \   0000                    EXTERN  DisablePA
   \   0000                    EXTERN  DisplayErrMsg
   \   0000                    PUBLIC  Dscinf
   \   0000                    EXTERN  FS_FClose
   \   0000                    EXTERN  FS_FOpen
   \   0000                    EXTERN  GetInformation
   \   0000                    PUBLIC  InitLcmDeviceInfor
   \   0000                    EXTERN  PlayStatus
   \   0000                    PUBLIC  PrevMusicInPlay
   \   0000                    PUBLIC  SetAmvWin
   \   0000                    EXTERN  SetPAVolume
   \   0000                    EXTERN  SetWindow
   \   0000                    PUBLIC  ShowNowTime
   \   0000                    PUBLIC  Show_Bitrate
   \   0000                    PUBLIC  ToNextMusic
   \   0000                    EXTERN  Totaltime
   \   0000                    EXTERN  ap_get_message
   \   0000                    EXTERN  ap_handle_hotkey
   \   0000                    EXTERN  fp
   \   0000                    EXTERN  g_amv_vars
   \   0000                    EXTERN  g_comval
   \   0000                    EXTERN  g_introCNT
   \   0000                    EXTERN  g_rSetPlayStatus
   \   0000                    EXTERN  g_result
   \   0000                    EXTERN  g_volcounter
   \   0000                    EXTERN  itoa_2
   \   0000                    EXTERN  main_ResShowPic
   \   0000                    EXTERN  need_draw
   \   0000                    EXTERN  openPA
   \   0000                    EXTERN  temp_buffer
   \   0000                    PUBLIC  ui_play
   \   0000                    EXTERN  ui_show_d
   \   0000                    EXTERN  ?CLZ80B_4_04_L00
   \   0000                    EXTERN  ?S_MUL_L02
   \   0000                    EXTERN  ?L_MUL_L03
   \   0000                    EXTERN  ?SL_DIV_L03
   \   0000                    EXTERN  ?C_V_SWITCH_L06
   \   0000                    EXTERN  ?BANK_CALL_DIRECT_L08
   \   0000                    EXTERN  ?BANK_FAST_LEAVE_L08
   \   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.1.1.1 2006/05/22 03:24:02 selina Exp $
     10          *******************************************************************************
     11          */
     12          #include "ap_amv.h"
     13          #include  "AMVDec.h"
     14          #define IntCntValDef 10
     15          
     16          #include "display.h"
     17          ColorLcmInfor   Dscinf;
     18          extern  region_t   AmvRegion;
     19          
     20          #pragma codeseg(AP_UI_PLY)
     21          
     22          #pragma memory=constseg(APC_UI_PLY)
     23          #pragma memory=default
     24          
     25          extern bool g_introCntMode; //是从头开始还是从中途开始,TRUE 为从头开始
     26          extern region_t AmvRegion; 
     27          ///extern BYTE BankCount;
     28          int InitLcmDeviceInfor(ColorLcmInfor *infor);
     29          
     30          extern char g_volcounter;
     31          extern bool     g_rSetPlayStatus;
     32          /*
     33          ********************************************************************************
     34          *             int ui_play( void )
     35          *
     36          * Description : 显示时间,滚屏,AB闪
     37          *
     38          * Arguments   : void
     39          *
     40          * Returns     : void
     41          *
     42          * Notes       :
     43          *
     44          ********************************************************************************
     45          */
     46          int ui_play( void )
     47          {
   \   0000  C5                PUSH    BC
   \   0001  D5                PUSH    DE
   \   0002  DDE5              PUSH    IX
   \   0004  F5                PUSH    AF
   \   0005  F5                PUSH    AF
   \   0006  F5                PUSH    AF
   \   0007  F5                PUSH    AF
     48                  char key;
     49                  int i;
     50                  signed char  tmp;
     51                  int result;
     52          
     53                  need_draw = TRUE;/* need play file */
   \   0008  3E01              LD      A,1
   \   000A  320000            LD      (need_draw),A
     54          
     55                          InitLcmDeviceInfor(&Dscinf);
   \   000D  110000            LD      DE,Dscinf
   \   0010  3E00              LD      A,BYTE3 InitLcmDeviceInfor
   \   0012  218104            LD      HL,LWRD InitLcmDeviceInfor
   \   0015  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
     56                          openPA(g_amv_vars.volume);
   \   0018  ED5B0200          LD      DE,(g_amv_vars+2)
   \   001C  3E00              LD      A,BYTE3 openPA
   \   001E  210000            LD      HL,LWRD openPA
   \   0021  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0024            ?0003:
     57                  while (1)
     58                  {
     59          
     60                      if (need_draw)
   \   0024  3A0000            LD      A,(need_draw)
   \   0027  B7                OR      A
   \   0028  2838              JR      Z,?0006
   \   002A            ?0005:
     61                      {
     62                      fp=FS_FOpen(g_amv_vars.location.filename,FS_OPEN_NORMAL);
   \   002A  0E00              LD      C,0
   \   002C  111F00            LD      DE,g_amv_vars+31
   \   002F  CD0000            CALL    LWRD FS_FOpen
   \   0032  220000            LD      (fp),HL
     63                      ClearScreen(NULL);
   \   0035  110000            LD      DE,0
   \   0038  CD0000            CALL    LWRD ClearScreen
     64                      AmvDecStart(&Dscinf,fp,&g_amv_vars.amvfilebreakpoint);
   \   003B  213000            LD      HL,g_amv_vars+48
   \   003E  E5                PUSH    HL
   \   003F  ED4B0000          LD      BC,(fp)
   \   0043  110000            LD      DE,Dscinf
   \   0046  3E00              LD      A,BYTE3 AmvDecStart
   \   0048  210000            LD      HL,LWRD AmvDecStart
   \   004B  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   004E  F1                POP     AF
     65                      g_introCNT=0;
   \   004F  AF                XOR     A
   \   0050  320000            LD      (g_introCNT),A
   \   0053            ?0008:
     66                      while(ap_get_message() != 0);
   \   0053  CD0000            CALL    LWRD ap_get_message
   \   0056  B7                OR      A
   \   0057  20FA              JR      NZ,?0008
   \   0059            ?0009:
   \   0059            ?0007:
     67                      PlayStatus = PlaySta;
   \   0059  3E02              LD      A,2
   \   005B  320000            LD      (PlayStatus),A
     68                      need_draw = FALSE;
   \   005E  AF                XOR     A
   \   005F  320000            LD      (need_draw),A
   \   0062            ?0006:
   \   0062            ?0012:
     69                      }
     70          
     71                  do
     72                  {
     73                     // output8(REG4E_RTC_WATCH_DOG, input8(REG4E_RTC_WATCH_DOG) | 0x08);
     74                      key = ap_get_message(); //读键值
   \   0062  CD0000            CALL    LWRD ap_get_message
   \   0065  210000            LD      HL,0
   \   0068  39                ADD     HL,SP
   \   0069  77                LD      (HL),A
     75                  //这里是处理快退大文件时可能丢掉KEYUP键的问题
     76                  }while(((PlayStatus == FFPlaySta) || (PlayStatus == FBPlaySta))
     77                      &&(key!=0)
     78                      &&(key!=(AP_KEY_PREV | AP_KEY_UP))
     79                      &&(key!=(AP_KEY_NEXT | AP_KEY_UP)));
   \   006A  3A0000            LD      A,(PlayStatus)
   \   006D  FE03              CP      3
   \   006F  2804              JR      Z,?0013
   \   0071  FE04              CP      4
   \   0073  200C              JR      NZ,?0010
   \   0075            ?0013:
   \   0075            ?0014:
   \   0075  AF                XOR     A
   \   0076  B6                OR      (HL)
   \   0077  2808              JR      Z,?0010
   \   0079  FE25              CP      37
   \   007B  2804              JR      Z,?0010
   \   007D  FE26              CP      38
   \   007F  20E1              JR      NZ,?0006
   \   0081            ?0010:
     80                   //   key = ap_get_message(); //读键值
     81                      switch(key)
   \   0081  5E                LD      E,(HL)
   \   0082  CD0000            CALL    LWRD ?C_V_SWITCH_L06
   \   0085  0B00              DEFW    11
   \   0087  03                DEFB    3
   \   0088  04                DEFB    4
   \   0089  1C                DEFB    28
   \   008A  1D                DEFB    29
   \   008B  21                DEFB    33
   \   008C  25                DEFB    37
   \   008D  26                DEFB    38
   \   008E  43                DEFB    67
   \   008F  44                DEFB    68
   \   0090  85                DEFB    133
   \   0091  86                DEFB    134
   \   0092  7201              DEFW    ?0051
   \   0094  D500              DEFW    ?0025
   \   0096  EA00              DEFW    ?0028
   \   0098  B200              DEFW    ?0019
   \   009A  AA00              DEFW    ?0018
   \   009C  1501              DEFW    ?0037
   \   009E  FE00              DEFW    ?0031
   \   00A0  3B01              DEFW    ?0043
   \   00A2  9501              DEFW    ?0056
   \   00A4  4901              DEFW    ?0044
   \   00A6  B200              DEFW    ?0019
   \   00A8  AA00              DEFW    ?0018
   \   00AA            ?0018:
     82                         {
     83                          case AP_KEY_VOLSUB:
     84                          case AP_KEY_VOLSUB | AP_KEY_HOLD:
     85                              g_amv_vars.volume-=2;
   \   00AA  3A0200            LD      A,(g_amv_vars+2)
   \   00AD  C6FE              ADD     A,254
   \   00AF  320200            LD      (g_amv_vars+2),A
   \   00B2            ?0019:
     86                          case AP_KEY_VOLADD:
     87                          case AP_KEY_VOLADD | AP_KEY_HOLD:
     88                              g_amv_vars.volume++;
   \   00B2  210200            LD      HL,g_amv_vars+2
   \   00B5  34                INC     (HL)
     89                          if(g_amv_vars.volume==0xff)g_amv_vars.volume=0;
   \   00B6  3A0200            LD      A,(g_amv_vars+2)
   \   00B9  3C                INC     A
   \   00BA  2003              JR      NZ,?0021
   \   00BC            ?0020:
   \   00BC  320200            LD      (g_amv_vars+2),A
   \   00BF            ?0021:
     90                          if(g_amv_vars.volume>=31)g_amv_vars.volume=31;
   \   00BF  3A0200            LD      A,(g_amv_vars+2)
   \   00C2  FE1F              CP      31
   \   00C4  3805              JR      C,?0023
   \   00C6            ?0022:
   \   00C6  3E1F              LD      A,31
   \   00C8  320200            LD      (g_amv_vars+2),A
   \   00CB            ?0023:
     91                              SetPAVolume(g_amv_vars.volume);
   \   00CB  ED5B0200          LD      DE,(g_amv_vars+2)
   \   00CF  CD0000            CALL    LWRD SetPAVolume
     92                              break;
   \   00D2  C39501            JP      LWRD ?0056
   \   00D5            ?0024:
     93                         case AP_MSG_STANDBY:
     94                              break;
   \   00D5            ?0025:

⌨️ 快捷键说明

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