main.lst

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

LST
536
字号
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       25/Dec/106  16:59:35 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  banked                                              #
#       Source file   =  d:\case_i_d90f\ap\ap_dsc2x_dec\main.c               #
#       List file     =  d:\case_i_d90f\ap\ap_dsc2x_dec\list\main.lst        #
#       Object file   =  d:\case_i_d90f\ap\ap_dsc2x_dec\obj\main.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\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_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          BYTE g_DiskStateFlag = 0;
     25          /*************************************
     26          * Function name : ViewApVarRead()
     27          * Author        : Jack lee
     28          * Date          :2004-9-30 17:34
     29          *
     30          *
     31          *
     32          *
     33          ****************************************/
     34          
     35          void read_var(void)
     36          {
   \   0000  C5                PUSH    BC
   \   0001  D5                PUSH    DE
   \   0002  DDE5              PUSH    IX
     37              int result;
     38          
     39              result = VMRead(&g_comval, VM_SYSTEM, sizeof(g_comval)); // red the information of system
   \   0004  212000            LD      HL,32
   \   0007  E5                PUSH    HL
   \   0008  010002            LD      BC,512
   \   000B  110000            LD      DE,g_comval
   \   000E  CD0000            CALL    LWRD VMRead
   \   0011  E1                POP     HL
     40          
     41             //check if valid
     42              if(g_comval.magic != MAGIC_COMVAL)
   \   0012  21ADDE            LD      HL,57005
   \   0015  ED4B0000          LD      BC,(g_comval)
   \   0019  A7                AND     A
   \   001A  ED42              SBC     HL,BC
   \   001C  2806              JR      Z,?0003
   \   001E            ?0002:
     43              {
     44                  DUMP_STRING("comval init-ed!");
     45          
     46                  GetDefaultComval(&g_comval);
   \   001E  110000            LD      DE,g_comval
   \   0021  CD0000            CALL    LWRD GetDefaultComval
   \   0024            ?0003:
     47              }
     48          
     49              //init message for auto standby
     50              ap_message_init(&g_comval);
   \   0024  110000            LD      DE,g_comval
   \   0027  3E00              LD      A,BYTE3 ap_message_init
   \   0029  210000            LD      HL,LWRD ap_message_init
   \   002C  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
     51          
     52              result = VMRead(&g_viewpic_vars, VM_AP_View, sizeof(g_viewpic_vars)); //read the seting of user
   \   002F  212D00            LD      HL,45
   \   0032  E5                PUSH    HL
   \   0033  010040            LD      BC,16384
   \   0036  112000            LD      DE,g_viewpic_vars
   \   0039  CD0000            CALL    LWRD VMRead
   \   003C  E1                POP     HL
     53          
     54              if(g_viewpic_vars.magic != MAGIC_VIEWPIC)
   \   003D  21504A            LD      HL,19024
   \   0040  ED4B2000          LD      BC,(g_viewpic_vars)
   \   0044  A7                AND     A
   \   0045  ED42              SBC     HL,BC
   \   0047  2821              JR      Z,?0005
   \   0049            ?0004:
     55                  {
     56                      g_viewpic_vars.magic = MAGIC_VIEWPIC;
   \   0049  21504A            LD      HL,19024
   \   004C  222000            LD      (g_viewpic_vars),HL
     57                      g_viewpic_vars.playflag = 0;
   \   004F  AF                XOR     A
   \   0050  322200            LD      (g_viewpic_vars+2),A
     58                      g_viewpic_vars.autoplaytime = 1;
   \   0053  3E01              LD      A,1
   \   0055  322300            LD      (g_viewpic_vars+3),A
     59                      //empty the location
     60                      g_viewpic_vars.location.disk = 'C';
   \   0058  3E43              LD      A,67
   \   005A  322400            LD      (g_viewpic_vars+4),A
     61                      strcpy(g_viewpic_vars.location.path, FS_CD_ROOT);
   \   005D  110000            LD      DE,?0006
   \   0060  213200            LD      HL,g_viewpic_vars+18
   \   0063  CD0000            CALL    LWRD ?STRCPY_L11
     62                      g_viewpic_vars.location.filename[0] = 0;
   \   0066  AF                XOR     A
   \   0067  323E00            LD      (g_viewpic_vars+30),A
   \   006A            ?0005:
     63                  }
     64          
     65          }
   \   006A  DDE1              POP     IX
   \   006C  D1                POP     DE
   \   006D  C1                POP     BC
   \   006E  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   0071            InitDecoderSystem:
     66          
     67          /*************************************
     68          * Function name : ViewApVarRead()
     69          * Author        : Jack lee
     70          * Date          :2004-9-30 17:34
     71          *
     72          *
     73          *
     74          *
     75          ****************************************/
     76          
     77          
     78          void InitDecoderSystem(void)
     79          {
     80              output8(0x5,0xf7); // set the 05 regsiter
   \   0071  3EF7              LD      A,247
   \   0073  D305              OUT     (5),A
     81          }
   \   0075  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   0078            main:
     82          
     83          /*****************************************************
     84          *function name:int main(int param)
     85          *write by jacklee
     86          *date  2004-8-6 16:32
     87          *Description:
     88          * this function control the jpeg decoding system
     89          *
     90          *****************************************************/
     91          int main(int param)
     92          {
   \   0078  C5                PUSH    BC
   \   0079  DDE5              PUSH    IX
   \   007B  D5                PUSH    DE
   \   007C  F5                PUSH    AF
     93                  int result;
     94                  DC  oldDC_sav;
     95                  BYTE status;          //保存05寄存器状态
     96                  //install drivers
     97                  DRV_ActiveUD(0,MODE_SLOW);
   \   007D  0E01              LD      C,1
   \   007F  1E00              LD      E,0
   \   0081  CD0000            CALL    LWRD DRV_ActiveUD
     98                  res_fp = ResOpen("ui30.res");
   \   0084  110200            LD      DE,?0007
   \   0087  3E00              LD      A,BYTE3 ResOpen
   \   0089  210000            LD      HL,LWRD ResOpen
   \   008C  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   008F  220000            LD      (res_fp),HL
     99                  if(!res_fp)
   \   0092  7D                LD      A,L
   \   0093  B4                OR      H
   \   0094  200F              JR      NZ,?0009
   \   0096            ?0008:
    100                  {
    101                         ResClose(res_fp);
   \   0096  EB                EX      DE,HL
   \   0097  3E00              LD      A,BYTE3 ResClose
   \   0099  210000            LD      HL,LWRD ResClose
   \   009C  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    102                         return RESULT_MAIN;
   \   009F  210A00            LD      HL,10
    103                  }
   \   00A2  C30D02            JP      LWRD ?0030
   \   00A5            ?0009:
    104                  //GetDCStatus(&oldDC_sav);
    105                  SetPenColor(Color_WHITE_def);
   \   00A5  010000            LD      BC,0
   \   00A8  11FFFF            LD      DE,65535
   \   00AB  CD0000            CALL    LWRD SetPenColor
    106                  SetBackgdColor(Color_BLACK_def);
   \   00AE  010000            LD      BC,0
   \   00B1  59                LD      E,C
   \   00B2  50                LD      D,B
   \   00B3  CD0000            CALL    LWRD SetBackgdColor
    107                  status=input8(0x05);
   \   00B6  DB05              IN      A,(5)
   \   00B8  210000            LD      HL,0
   \   00BB  39                ADD     HL,SP
   \   00BC  77                LD      (HL),A
    108                  InitDecoderSystem();
   \   00BD  3E00              LD      A,BYTE3 InitDecoderSystem
   \   00BF  217100            LD      HL,LWRD InitDecoderSystem
   \   00C2  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    109                  //read var
    110                  read_var();
   \   00C5  3E00              LD      A,BYTE3 read_var
   \   00C7  210000            LD      HL,LWRD read_var
   \   00CA  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08

⌨️ 快捷键说明

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