basal_dsc_dec.lst

来自「MP3 整个 SDK」· LST 代码 · 共 501 行 · 第 1/2 页

LST
501
字号
##############################################################################
#                                                                            #
# 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\basal_dsc_dec.c      #
#       List file     =  d:\case_i_d90f\ap\ap_dsc2x_dec\list\basal_dsc_dec.lst#
#       Object file   =  d:\case_i_d90f\ap\ap_dsc2x_dec\obj\basal_dsc_dec.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\basal_dsc_dec.c      #
#                                                                            #
#                                             (c) Copyright IAR Systems 1996 #
##############################################################################

   \   0000                    NAME    basal_dsc_dec(17)
   \   0000                    RSEG    DSCDecPM(0)
   \   0000                    RSEG    UDATA0(0)
   \   0000                    EXTERN  DSCPicSetParament
   \   0000                    PUBLIC  GifDec_Play
   \   0000                    PUBLIC  JpegDec
   \   0000                    EXTERN  JpegRegion
   \   0000                    EXTERN  PicViewExit
   \   0000                    EXTERN  PicViewInit
   \   0000                    EXTERN  PicViewOrder
   \   0000                    EXTERN  SetDrawMode
   \   0000                    EXTERN  SetStartLine
   \   0000                    EXTERN  SetWindow
   \   0000                    EXTERN  StartDsp
   \   0000                    EXTERN  StopDsp
   \   0000                    PUBLIC  TmpReg
   \   0000                    EXTERN  WindowModeH2V
   \   0000                    EXTERN  ap_get_message
   \   0000                    EXTERN  ap_handle_hotkey
   \   0000                    EXTERN  ui_run_realtime
   \   0000                    EXTERN  ?CLZ80B_4_04_L00
   \   0000                    EXTERN  ?S_V_SWITCH_L06
   \   0000                    RSEG    DSCDecPM
   \   0000            JpegDec:
      1          /************************************
      2          *FILE Name: JpegDec.c
      3          *Write by : Jack lee
      4          *Date     :2004-8-3 9:56
      5          *BugList  :
      6          *
      7          *
      8          *
      9          **********************************/
     10          #include  "DSCDec.h"
     11          #include  "device.h"
     12          #include "actos.h"
     13          #include "display.h"
     14          #include "ap_common.h"
     15          #define   S16
     16          #pragma codeseg(DSCDecPM)
     17          
     18          /**********************
     19          *function name :JpegDec
     20          *Write by      : jack lee
     21          *Date          :2004-8-4 10:03
     22          *
     23          ************************/
     24          
     25          
     26          extern bool ui_run_realtime;
     27          extern region_t   JpegRegion;
     28          extern  unsigned char PicViewOrder;
     29          #ifdef   S16
     30          extern  unsigned char WindowModeH2V;
     31          region_t TmpReg;
     32          #endif
     33          non_banked void SetStartLine(); 
     34          non_banked  char  GifDec_Play(ColorLcmInfor *PicInfor,handle fp,char Playtype);
     35          
     36          non_banked  char  JpegDec(ColorLcmInfor *PicInfor,char type,handle fp,char Playtype)
     37          {
   \   0000  DDE5              PUSH    IX
   \   0002  C5                PUSH    BC
   \   0003  D5                PUSH    DE
   \   0004  DDE1              POP     IX
     38               output8(0x4e,input8(0x4e)|0x8);
   \   0006  DB4E              IN      A,(78)
   \   0008  CBDF              SET     3,A
   \   000A  D34E              OUT     (78),A
     39               if(type==Pic_GIF)return GifDec_Play(PicInfor,fp,Playtype);
   \   000C  41                LD      B,C
   \   000D  05                DEC     B
   \   000E  05                DEC     B
   \   000F  2012              JR      NZ,?0003
   \   0011            ?0002:
   \   0011  210800            LD      HL,8
   \   0014  39                ADD     HL,SP
   \   0015  4E                LD      C,(HL)
   \   0016  C5                PUSH    BC
   \   0017  2B                DEC     HL
   \   0018  2B                DEC     HL
   \   0019  4E                LD      C,(HL)
   \   001A  23                INC     HL
   \   001B  46                LD      B,(HL)
   \   001C  CDC800            CALL    LWRD GifDec_Play
   \   001F  E1                POP     HL
   \   0020  C3B500            JP      LWRD ?0024
   \   0023            ?0003:
     40               
     41               PicViewInit(fp);                   // init the decoder
   \   0023  210600            LD      HL,6
   \   0026  39                ADD     HL,SP
   \   0027  5E                LD      E,(HL)
   \   0028  23                INC     HL
   \   0029  56                LD      D,(HL)
   \   002A  CD0000            CALL    LWRD PicViewInit
     42               DSCPicSetParament(PicInfor);  // set the decoder infor
   \   002D  DDE5              PUSH    IX
   \   002F  D1                POP     DE
   \   0030  CD0000            CALL    LWRD DSCPicSetParament
     43              // SetDspMips(2);
     44               StartDsp(16);                           // set the dsp mips and start   36,mip         
   \   0033  1E10              LD      E,16
   \   0035  CD0000            CALL    LWRD StartDsp
   \   0038            ?0005:
     45                     
     46               while(PicViewOrder!=0xf3)              // if the deoceder don't compelet,it keep going
   \   0038  3A0000            LD      A,(PicViewOrder)
   \   003B  FEF3              CP      243
   \   003D  2868              JR      Z,?0020
   \   003F            ?0006:
     47               {  
     48                   
     49                   // DscDecoderMsg();
     50                   output8(0x4e,input8(0x4e)|0x8);
   \   003F  DB4E              IN      A,(78)
   \   0041  CBDF              SET     3,A
   \   0043  D34E              OUT     (78),A
     51                    if(PicViewOrder==0xf5)
   \   0045  3A0000            LD      A,(PicViewOrder)
   \   0048  FEF5              CP      245
   \   004A  204E              JR      NZ,?0008
   \   004C            ?0007:
     52                       {
     53                         PicViewOrder=0;             
   \   004C  AF                XOR     A
   \   004D  320000            LD      (PicViewOrder),A
     54                            if(WindowModeH2V==0xff) 
   \   0050  3A0000            LD      A,(WindowModeH2V)
   \   0053  3C                INC     A
   \   0054  210000            LD      HL,0
   \   0057  39                ADD     HL,SP
   \   0058  46                LD      B,(HL)
   \   0059  2029              JR      NZ,?0010
   \   005B            ?0009:
     55                            {
     56                                if(type==Pic_BMP)SetDrawMode(DrawModeVPic_def);
   \   005B  05                DEC     B
   \   005C  2004              JR      NZ,?0012
   \   005E            ?0011:
   \   005E  1E03              LD      E,3
   \   0060  1802              JR      ?0054
     57                                else
   \   0062            ?0012:
     58                                    SetDrawMode(DrawModeV_def);
   \   0062  1E01              LD      E,1
   \   0064            ?0054:
   \   0064  CD0000            CALL    LWRD SetDrawMode
   \   0067            ?0013:
     59                                 TmpReg.x=JpegRegion.y;
   \   0067  3A0100            LD      A,(JpegRegion+1)
   \   006A  320000            LD      (TmpReg),A
     60                                 TmpReg.y=JpegRegion.x;
   \   006D  3A0000            LD      A,(JpegRegion)
   \   0070  320100            LD      (TmpReg+1),A
     61                                 TmpReg.width=JpegRegion.height;
   \   0073  3A0300            LD      A,(JpegRegion+3)
   \   0076  320200            LD      (TmpReg+2),A
     62                                 TmpReg.height=JpegRegion.width;
   \   0079  3A0200            LD      A,(JpegRegion+2)
   \   007C  320300            LD      (TmpReg+3),A
     63                                  SetWindow(&TmpReg);    
   \   007F  110000            LD      DE,TmpReg
   \   0082  180A              JR      ?0055
     64                            }
     65                           else
   \   0084            ?0010:
     66                           
     67                           {
     68                               if(type==Pic_BMP)
   \   0084  05                DEC     B
   \   0085  200C              JR      NZ,?0016
   \   0087            ?0015:
     69                                {
     70                                  SetDrawMode(DrawModeH_def);
   \   0087  58                LD      E,B
   \   0088  CD0000            CALL    LWRD SetDrawMode
     71                                  SetWindow(&JpegRegion);
   \   008B  110000            LD      DE,JpegRegion
   \   008E            ?0055:
   \   008E  CD0000            CALL    LWRD SetWindow
     72                                }
     73                               else                         
   \   0091  1803              JR      ?0017
   \   0093            ?0016:
     74                                  {
     75                                     SetDrawMode(DrawModeHPic_def);
   \   0093  CDB900            CALL    LWRD ?0056
     76                                     SetWindow(&JpegRegion); 
     77             ///////////////////////////////////////// for LG 1.8'OLED  JPEG DisPlay    zxs added 2006.03.17    
     78                                   SetStartLine();                        
   \   0096            ?0017:
   \   0096            ?0014:
     79                                  } 
     80                             
     81                           }
     82                           output8(0x35,0xe5);
   \   0096  3EE5              LD      A,229
   \   0098  D335              OUT     (53),A
   \   009A            ?0008:
     83                       }
     84                   
     85                   
     86                   
     87                   if(PicViewOrder==0xff||PicViewOrder==0xf8)
   \   009A  3A0000            LD      A,(PicViewOrder)
   \   009D  3C                INC     A
   \   009E  2807              JR      Z,?0020
   \   00A0  3A0000            LD      A,(PicViewOrder)
   \   00A3  FEF8              CP      248
   \   00A5  2091              JR      NZ,?0005
   \   00A7            ?0020:
   \   00A7            ?0021:
   \   00A7            ?0018:
     88                     {   //PicViewOrder=0;
     89                         //ClearScreen(NULL);     
     90                         //SetTextPos(CSTNPixelWidth/8, CSTNPixelHeight/2);
     91                         //PutS("Jpeg Format Error ", -1);
     92                         break;    
   \   00A7            ?0019:
   \   00A7            ?0004:
     93                     }
     94                        
     95               }
     96              
     97              
     98              
     99              
    100               StopDsp();     
   \   00A7  CD0000            CALL    LWRD StopDsp
    101               PicViewExit();

⌨️ 快捷键说明

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