ui_play.lst

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

LST
1,122
字号
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       25/Dec/106  16:59:36 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  banked                                              #
#       Source file   =  d:\case_i_d90f\ap\ap_dsc2x_dec\ui_play.c            #
#       List file     =  d:\case_i_d90f\ap\ap_dsc2x_dec\list\ui_play.lst     #
#       Object file   =  d:\case_i_d90f\ap\ap_dsc2x_dec\obj\ui_play.r01      #
#       Command line  =  -v0 -mb -OD:\case_i_d90f\ap\Ap_DSC2X_DEC\Obj\ -e    #
#                        -K -w -gA -s9 -RCODE -r0 -DNAPDEBUG -DAMV_JPG_TXT   #
#                        -LD:\case_i_d90f\ap\Ap_DSC2X_DEC\List\ -q -t8       #
#                        -Id:\sdk_i_90f\inc\ -Id:\case_i_d90f\inc\           #
#                        d:\case_i_d90f\ap\ap_dsc2x_dec\ui_play.c            #
#                                                                            #
#                                             (c) Copyright IAR Systems 1996 #
##############################################################################

   \   0000                    NAME    ui_play(17)
   \   0000                    RSEG    CODE_1(0)
   \   0000                    RSEG    CONST(0)
   \   0000                    RSEG    UDATA0(0)
   \   0000                    PUBLIC  Auto_play
   \   0000                    EXTERN  BankSwitch
   \   0000                    PUBLIC  CheckPicType
   \   0000                    EXTERN  ClearScreen
   \   0000                    PUBLIC  Delaytime
   \   0000                    PUBLIC  Dscinf
   \   0000                    EXTERN  FS_FClose
   \   0000                    EXTERN  FS_FOpen
   \   0000                    EXTERN  InitLcmDeviceInfor
   \   0000                    EXTERN  JpegDec
   \   0000                    PUBLIC  Manual_play
   \   0000                    EXTERN  PicViewInit
   \   0000                    PUBLIC  PictureType
   \   0000                    EXTERN  SetBackgdColor
   \   0000                    EXTERN  SetDrawMode
   \   0000                    PUBLIC  Stop_display
   \   0000                    EXTERN  VMRead
   \   0000                    EXTERN  active
   \   0000                    EXTERN  ap_get_message
   \   0000                    EXTERN  ap_handle_hotkey
   \   0000                    EXTERN  ap_message_init
   \   0000                    PUBLIC  count_autoplay
   \   0000                    PUBLIC  do_play
   \   0000                    PUBLIC  err_id
   \   0000                    PUBLIC  fp
   \   0000                    EXTERN  g_comval
   \   0000                    EXTERN  g_file_total
   \   0000                    EXTERN  g_viewpic_vars
   \   0000                    PUBLIC  message_temp
   \   0000                    EXTERN  need_sel_file
   \   0000                    EXTERN  sel_next
   \   0000                    EXTERN  sel_prev
   \   0000                    EXTERN  ui_err_msg
   \   0000                    EXTERN  ?CLZ80B_4_04_L00
   \   0000                    EXTERN  ?S_V_SWITCH_L06
   \   0000                    EXTERN  ?BANK_CALL_DIRECT_L08
   \   0000                    EXTERN  ?BANK_FAST_LEAVE_L08
   \   0000                    EXTERN  ?STRCMP_L11
   \   0000                    RSEG    CODE_1
   \   0000            CheckPicType:
      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:11:51 tangwh Exp $
     10          *******************************************************************************
     11          */ 
     12          #include "actos.h"
     13          #include  "enhanced.h"
     14          #include "ap_common.h"
     15          #include  "display.h"
     16          #include "DSCDec.h"
     17          #include "ap_picdec.h"
     18          
     19          
     20          ColorLcmInfor   Dscinf; 
     21          handle         fp; 
     22          char     err_id;  
     23          char     Stop_display;
     24          char     count_autoplay; 
     25          char    Delaytime;                                   
     26          WORD     message_temp[8]; 
     27          extern   bool  need_sel_file; 
     28          int InitLcmDeviceInfor(ColorLcmInfor *infor);
     29          char PictureType; 
     30          #pragma codeseg(CODE_1)
     31          /*
     32          ********************************************************************************
     33          *
     34          ********************************************************************************
     35          */
     36          
     37          
     38          
     39          Pic_type_t CheckPicType( char * filename )
     40          {
   \   0000  C5                PUSH    BC
   \   0001  DDE5              PUSH    IX
   \   0003  21F0FF            LD      HL,65520
   \   0006  39                ADD     HL,SP
   \   0007  F9                LD      SP,HL
   \   0008  D5                PUSH    DE
   \   0009  DDE1              POP     IX
     41              const char ExtPicstr [] [4] =
     42              {
     43                  "JPG", "BMP", "GIF"
     44              };
   \   000B  210400            LD      HL,4
   \   000E  39                ADD     HL,SP
   \   000F  EB                EX      DE,HL
   \   0010  210000            LD      HL,?0002
   \   0013  010C00            LD      BC,12
   \   0016  EDB0              LDIR
     45          
     46              BYTE ext[4];
     47              memcpy(ext, filename + 8, 3);
   \   0018  69                LD      L,C
   \   0019  60                LD      H,B
   \   001A  39                ADD     HL,SP
   \   001B  EB                EX      DE,HL
   \   001C  210800            LD      HL,8
   \   001F  DDE5              PUSH    IX
   \   0021  C1                POP     BC
   \   0022  09                ADD     HL,BC
   \   0023  010300            LD      BC,3
   \   0026  EDB0              LDIR
     48              ext[0] = (ext[0]>='a' && ext[0]<='z') ? ext[0] - 'a' + 'A' : ext[0];
   \   0028  69                LD      L,C
   \   0029  60                LD      H,B
   \   002A  39                ADD     HL,SP
   \   002B  7E                LD      A,(HL)
   \   002C  FE61              CP      97
   \   002E  380A              JR      C,?0006
   \   0030  3E7A              LD      A,122
   \   0032  BE                CP      (HL)
   \   0033  3805              JR      C,?0006
   \   0035  7E                LD      A,(HL)
   \   0036  C6E0              ADD     A,224
   \   0038  1801              JR      ?0007
   \   003A            ?0006:
   \   003A  7E                LD      A,(HL)
   \   003B            ?0007:
   \   003B  77                LD      (HL),A
     49              ext[1] = (ext[1]>='a' && ext[1]<='z') ? ext[1] - 'a' + 'A' : ext[1];
   \   003C  23                INC     HL
   \   003D  7E                LD      A,(HL)
   \   003E  FE61              CP      97
   \   0040  380A              JR      C,?0012
   \   0042  3E7A              LD      A,122
   \   0044  BE                CP      (HL)
   \   0045  3805              JR      C,?0012
   \   0047  7E                LD      A,(HL)
   \   0048  C6E0              ADD     A,224
   \   004A  1801              JR      ?0013
   \   004C            ?0012:
   \   004C  7E                LD      A,(HL)
   \   004D            ?0013:
   \   004D  77                LD      (HL),A
     50              ext[2] = (ext[2]>='a' && ext[2]<='z') ? ext[2] - 'a' + 'A' : ext[2];
   \   004E  23                INC     HL
   \   004F  7E                LD      A,(HL)
   \   0050  FE61              CP      97
   \   0052  380A              JR      C,?0018
   \   0054  3E7A              LD      A,122
   \   0056  BE                CP      (HL)
   \   0057  3805              JR      C,?0018
   \   0059  7E                LD      A,(HL)
   \   005A  C6E0              ADD     A,224
   \   005C  1801              JR      ?0019
   \   005E            ?0018:
   \   005E  7E                LD      A,(HL)
   \   005F            ?0019:
   \   005F  77                LD      (HL),A
     51              ext[3] = 0;
   \   0060  23                INC     HL
   \   0061  70                LD      (HL),B
     52          
     53              if (strcmp(ext, ExtPicstr[0]) == 0)
   \   0062  2B                DEC     HL
   \   0063  2B                DEC     HL
   \   0064  2B                DEC     HL
   \   0065  EB                EX      DE,HL
   \   0066  210400            LD      HL,4
   \   0069  39                ADD     HL,SP
   \   006A  CD0000            CALL    LWRD ?STRCMP_L11
   \   006D  7D                LD      A,L
   \   006E  B4                OR      H
   \   006F  2004              JR      NZ,?0022
   \   0071            ?0021:
     54              {
     55                  return Pic_JPG;
   \   0071  182D              JR      ?0026
     56              }
   \   0073  182C              JR      ?0027
   \   0075            ?0022:
     57              else if (strcmp(ext, ExtPicstr[1]) == 0)
   \   0075  69                LD      L,C
   \   0076  60                LD      H,B
   \   0077  39                ADD     HL,SP
   \   0078  EB                EX      DE,HL
   \   0079  210400            LD      HL,4
   \   007C  39                ADD     HL,SP
   \   007D  0E04              LD      C,4
   \   007F  09                ADD     HL,BC
   \   0080  CD0000            CALL    LWRD ?STRCMP_L11
   \   0083  7D                LD      A,L
   \   0084  B4                OR      H
   \   0085  2004              JR      NZ,?0024
   \   0087            ?0023:
     58              {
     59                  return Pic_BMP;
   \   0087  2E01              LD      L,1
     60              }
   \   0089  1816              JR      ?0027
   \   008B            ?0024:
     61              else if (strcmp(ext, ExtPicstr[2]) == 0)
   \   008B  68                LD      L,B
   \   008C  60                LD      H,B
   \   008D  39                ADD     HL,SP
   \   008E  EB                EX      DE,HL
   \   008F  69                LD      L,C
   \   0090  60                LD      H,B
   \   0091  39                ADD     HL,SP
   \   0092  0E08              LD      C,8
   \   0094  09                ADD     HL,BC
   \   0095  CD0000            CALL    LWRD ?STRCMP_L11
   \   0098  7D                LD      A,L
   \   0099  B4                OR      H
   \   009A  2004              JR      NZ,?0026
   \   009C            ?0025:
     62              {
     63                  return Pic_GIF;
   \   009C  2E02              LD      L,2
     64              }
   \   009E  1801              JR      ?0027
   \   00A0            ?0026:
     65              else 
     66              {
     67                  return Pic_JPG;
   \   00A0  68                LD      L,B
     68              }
   \   00A1            ?0027:
   \   00A1  EB                EX      DE,HL
   \   00A2  211000            LD      HL,16
   \   00A5  39                ADD     HL,SP
   \   00A6  F9                LD      SP,HL
   \   00A7  EB                EX      DE,HL
   \   00A8  DDE1              POP     IX
   \   00AA  C1                POP     BC
   \   00AB  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
     69          }
   \   00AE            Manual_play:
     70          
     71          /****************************************
     72          *Function Name:Manual_play
     73          *
     74          *****************************************/
     75          
     76          int Manual_play(void)
     77          { 
   \   00AE  C5                PUSH    BC
   \   00AF  D5                PUSH    DE
   \   00B0  FDE5              PUSH    IY
   \   00B2  DDE5              PUSH    IX
   \   00B4  DD210000          LD      IX,0
   \   00B8  DD39              ADD     IX,SP
   \   00BA  F5                PUSH    AF
   \   00BB  F5                PUSH    AF
     78                     bool    need_draw=TRUE;
     79                     char     tmp;      
     80                     int key;
     81                     int result;        
     82                     err_id=0; 

⌨️ 快捷键说明

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