main.lst

来自「炬力方案176*132软件源码,适用于AK1025」· LST 代码 · 共 569 行 · 第 1/2 页

LST
569
字号
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       27/Sep/107  17:30:41 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  banked                                              #
#       Source file   =  d:\case_i_d913f\ap\ap_dsc2x_dec\main.c              #
#       List file     =  d:\case_i_d913f\ap\ap_dsc2x_dec\list\main.lst       #
#       Object file   =  d:\case_i_d913f\ap\ap_dsc2x_dec\obj\main.r01        #
#       Command line  =  -v0 -mb -OD:\case_i_d913f\ap\Ap_DSC2X_DEC\Obj\ -e   #
#                        -K -w -gA -s9 -RCODE -r0 -DNAPDEBUG -DAMV_JPG_TXT   #
#                        -LD:\case_i_d913f\ap\Ap_DSC2X_DEC\List\ -q -t8      #
#                        -Id:\sdk_i_913f\inc\ -Id:\case_i_d913f\inc\         #
#                        d:\case_i_d913f\ap\ap_dsc2x_dec\main.c              #
#                                                                            #
#                                             (c) Copyright IAR Systems 1996 #
##############################################################################

   \   0000                    NAME    main(17)
   \   0000                    RSEG    CODE(0)
   \   0000                    RSEG    CSTR(0)
   \   0000                    RSEG    UDATA0(0)
   \   0000                    RSEG    IDATA0(0)
   \   0000                    RSEG    CDATA0(0)
   \   0000                    PUBLIC  ActiveDriveOK
   \   0000                    EXTERN  ClearScreen
   \   0000                    EXTERN  DRV_ActiveDrive
   \   0000                    EXTERN  DRV_ActiveUD
   \   0000                    EXTERN  DRV_DetectUD
   \   0000                    EXTERN  GetDefaultComval
   \   0000                    PUBLIC  InitDecoderSystem
   \   0000                    EXTERN  InitFileSelector
   \   0000                    EXTERN  ResClose
   \   0000                    EXTERN  ResOpen
   \   0000                    EXTERN  ResShowMultiString
   \   0000                    EXTERN  SetBackgdColor
   \   0000                    EXTERN  SetPenColor
   \   0000                    EXTERN  VMRead
   \   0000                    EXTERN  VMWrite
   \   0000                    EXTERN  ap_get_message
   \   0000                    EXTERN  ap_message_init
   \   0000                    EXTERN  ap_sleep
   \   0000                    EXTERN  fselGetLocation
   \   0000                    PUBLIC  g_DiskStateFlag
   \   0000                    PUBLIC  g_comval
   \   0000                    PUBLIC  g_from_browser
   \   0000                    PUBLIC  g_menu_active
   \   0000                    PUBLIC  g_viewpic_vars
   \   0000                    PUBLIC  main
   \   0000                    PUBLIC  read_var
   \   0000                    EXTERN  res_fp
   \   0000                    EXTERN  show_stop
   \   0000                    PUBLIC  test
   \   0000                    EXTERN  ui_show_msg
   \   0000                    EXTERN  ?CLZ80B_4_04_L00
   \   0000                    EXTERN  ?BANK_CALL_DIRECT_L08
   \   0000                    EXTERN  ?BANK_FAST_LEAVE_L08
   \   0000                    EXTERN  ?STRCPY_L11
   \   0000                    RSEG    CODE
   \   0000            read_var:
      1          /*********************************
      2          * FileName: JpegdecMain.c
      3          * Write By: JackLee
      4          * Date    : 2004-8-5 8:45
      5          *
      6          *Buglist  :
      7          *2004-8-12 11:48 change the buf locattion
      8          *
      9          **********************************/
     10          
     11          #include "actos.h"
     12          #include  "enhanced.h"
     13          #include "ap_common.h"
     14          #include  "display.h"
     15          #include "DSCDec.h"
     16          #include "ap_picdec.h"
     17          
     18          
     19          comval_t g_comval;
     20          viewpic_vars_t g_viewpic_vars;
     21          BYTE test;
     22          bool g_menu_active; //为1进入MENU菜单,主要用来丢掉从目录选择时长按mode键返回
     23          bool ActiveDriveOK;//磁盘可用标志
     24          bool g_from_browser = FALSE;
     25          BYTE g_DiskStateFlag = 0;
     26          /*************************************
     27          * Function name : ViewApVarRead()
     28          * Author        : Jack lee
     29          * Date          :2004-9-30 17:34
     30          *
     31          *
     32          *
     33          *
     34          ****************************************/
     35          
     36          void read_var(void)
     37          {
   \   0000  C5                PUSH    BC
   \   0001  D5                PUSH    DE
   \   0002  DDE5              PUSH    IX
   \   0004  21D2FF            LD      HL,65490
   \   0007  39                ADD     HL,SP
   \   0008  F9                LD      SP,HL
     38              int result;
     39              browser_vars_t temp_browser_vars;
     40              result = VMRead(&g_comval, VM_SYSTEM, sizeof(g_comval)); // red the information of system
   \   0009  212000            LD      HL,32
   \   000C  E5                PUSH    HL
   \   000D  010002            LD      BC,512
   \   0010  110000            LD      DE,g_comval
   \   0013  CD0000            CALL    LWRD VMRead
   \   0016  E1                POP     HL
     41          
     42             //check if valid
     43              if(g_comval.magic != MAGIC_COMVAL)
   \   0017  21ADDE            LD      HL,57005
   \   001A  ED4B0000          LD      BC,(g_comval)
   \   001E  A7                AND     A
   \   001F  ED42              SBC     HL,BC
   \   0021  2806              JR      Z,?0003
   \   0023            ?0002:
     44              {
     45                  DUMP_STRING("comval init-ed!");
     46          
     47                  GetDefaultComval(&g_comval);
   \   0023  110000            LD      DE,g_comval
   \   0026  CD0000            CALL    LWRD GetDefaultComval
   \   0029            ?0003:
     48              }
     49          
     50              //init message for auto standby
     51              ap_message_init(&g_comval);
   \   0029  110000            LD      DE,g_comval
   \   002C  3E00              LD      A,BYTE3 ap_message_init
   \   002E  210000            LD      HL,LWRD ap_message_init
   \   0031  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
     52          
     53              result = VMRead(&g_viewpic_vars, VM_AP_View, sizeof(g_viewpic_vars)); //read the seting of user
   \   0034  212F00            LD      HL,47
   \   0037  E5                PUSH    HL
   \   0038  010040            LD      BC,16384
   \   003B  112000            LD      DE,g_viewpic_vars
   \   003E  CD0000            CALL    LWRD VMRead
   \   0041  E1                POP     HL
     54          
     55              if(g_viewpic_vars.magic != MAGIC_VIEWPIC)
   \   0042  21504A            LD      HL,19024
   \   0045  ED4B2000          LD      BC,(g_viewpic_vars)
   \   0049  A7                AND     A
   \   004A  ED42              SBC     HL,BC
   \   004C  2821              JR      Z,?0005
   \   004E            ?0004:
     56                  {
     57                      g_viewpic_vars.magic = MAGIC_VIEWPIC;
   \   004E  21504A            LD      HL,19024
   \   0051  222000            LD      (g_viewpic_vars),HL
     58                      g_viewpic_vars.playflag = 0;
   \   0054  AF                XOR     A
   \   0055  322200            LD      (g_viewpic_vars+2),A
     59                      g_viewpic_vars.autoplaytime = 1;
   \   0058  3E01              LD      A,1
   \   005A  322300            LD      (g_viewpic_vars+3),A
     60                      //empty the location
     61                      g_viewpic_vars.location.disk = 'C';
   \   005D  3E43              LD      A,67
   \   005F  322400            LD      (g_viewpic_vars+4),A
     62                      strcpy(g_viewpic_vars.location.path, FS_CD_ROOT);
   \   0062  110000            LD      DE,?0006
   \   0065  213200            LD      HL,g_viewpic_vars+18
   \   0068  CD0000            CALL    LWRD ?STRCPY_L11
     63                      g_viewpic_vars.location.filename[0] = 0;
   \   006B  AF                XOR     A
   \   006C  323E00            LD      (g_viewpic_vars+30),A
   \   006F            ?0005:
     64                  }
     65          //        browser playing  added by zxs 2007.03.21        
     66              if(g_from_browser)
   \   006F  3A0000            LD      A,(g_from_browser)
   \   0072  B7                OR      A
   \   0073  281F              JR      Z,?0008
   \   0075            ?0007:
     67              {
     68                  VMRead(&temp_browser_vars, VM_AP_BROWSER, sizeof(browser_vars_t));
   \   0075  212D00            LD      HL,45
   \   0078  E5                PUSH    HL
   \   0079  01004C            LD      BC,19456
   \   007C  2E02              LD      L,2
   \   007E  39                ADD     HL,SP
   \   007F  EB                EX      DE,HL
   \   0080  CD0000            CALL    LWRD VMRead
   \   0083  E1                POP     HL
     69                  memcpy(&g_viewpic_vars.location, &temp_browser_vars.location, sizeof(file_location_t));
   \   0084  012B00            LD      BC,43
   \   0087  112400            LD      DE,g_viewpic_vars+4
   \   008A  68                LD      L,B
   \   008B  60                LD      H,B
   \   008C  39                ADD     HL,SP
   \   008D  0E02              LD      C,2
   \   008F  09                ADD     HL,BC
   \   0090  0E2B              LD      C,43
   \   0092  EDB0              LDIR
   \   0094            ?0008:
     70              }
     71          
     72          }
   \   0094  212E00            LD      HL,46
   \   0097  39                ADD     HL,SP
   \   0098  F9                LD      SP,HL
   \   0099  DDE1              POP     IX
   \   009B  D1                POP     DE
   \   009C  C1                POP     BC
   \   009D  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   00A0            InitDecoderSystem:
     73          
     74          /*************************************
     75          * Function name : ViewApVarRead()
     76          * Author        : Jack lee
     77          * Date          :2004-9-30 17:34
     78          *
     79          *
     80          *
     81          *
     82          ****************************************/
     83          
     84          
     85          void InitDecoderSystem(void)
     86          {
     87              output8(0x5,0xf7); // set the 05 regsiter
   \   00A0  3EF7              LD      A,247
   \   00A2  D305              OUT     (5),A
     88          }
   \   00A4  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   00A7            main:
     89          
     90          /*****************************************************
     91          *function name:int main(int param)
     92          *write by jacklee
     93          *date  2004-8-6 16:32
     94          *Description:
     95          * this function control the jpeg decoding system
     96          *
     97          *****************************************************/
     98          int main(int param)
     99          {
   \   00A7  C5                PUSH    BC
   \   00A8  DDE5              PUSH    IX
   \   00AA  D5                PUSH    DE
   \   00AB  F5                PUSH    AF
    100                  int result;
    101                  DC  oldDC_sav;
    102                  BYTE status;          //保存05寄存器状态
    103                  if(param)
   \   00AC  7B                LD      A,E
   \   00AD  B2                OR      D
   \   00AE  2805              JR      Z,?0010
   \   00B0            ?0009:
    104                  {
    105                      g_from_browser = TRUE;
   \   00B0  3E01              LD      A,1
   \   00B2  320000            LD      (g_from_browser),A
   \   00B5            ?0010:
    106                  }
    107                  //install drivers
    108                  DRV_ActiveUD(0,MODE_SLOW);
   \   00B5  0E01              LD      C,1
   \   00B7  1E00              LD      E,0
   \   00B9  CD0000            CALL    LWRD DRV_ActiveUD
    109                  res_fp = ResOpen("ui30.res");
   \   00BC  110200            LD      DE,?0011
   \   00BF  3E00              LD      A,BYTE3 ResOpen
   \   00C1  210000            LD      HL,LWRD ResOpen
   \   00C4  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   00C7  220000            LD      (res_fp),HL
    110                  if(!res_fp)
   \   00CA  7D                LD      A,L
   \   00CB  B4                OR      H
   \   00CC  200F              JR      NZ,?0013
   \   00CE            ?0012:
    111                  {
    112                         ResClose(res_fp);
   \   00CE  EB                EX      DE,HL
   \   00CF  3E00              LD      A,BYTE3 ResClose
   \   00D1  210000            LD      HL,LWRD ResClose

⌨️ 快捷键说明

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