main.lst

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

LST
1,391
字号
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       28/Dec/106  17:17:02 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  banked                                              #
#       Source file   =  d:\case_i_d90f\ap\ap_main\main.c                    #
#       List file     =  d:\case_i_d90f\ap\ap_main\list\main.lst             #
#       Object file   =  d:\case_i_d90f\ap\ap_main\release\obj\main.r01      #
#       Command line  =  -v0 -mb -OD:\case_i_d90f\ap\ap_main\release\Obj\    #
#                        -e -K -w -gA -s9 -RCODE -r0 -DNAPDEBUG              #
#                        -LD:\case_i_d90f\ap\ap_main\List\ -q -t8 -X         #
#                        -Id:\sdk_i_90f\inc\ -Id:\case_i_d90f\inc\           #
#                        d:\case_i_d90f\AP\AP_MAIN\main.c                    #
#                                                                            #
#                                             (c) Copyright IAR Systems 1996 #
##############################################################################

   \   0000                    NAME    main(17)
   \   0000                    RSEG    CODE(0)
   \   0000                    RSEG    CSTR(0)
   \   0000                    RSEG    CONST(0)
   \   0000                    RSEG    UDATA0(0)
   \   0000                    RSEG    IDATA0(0)
   \   0000                    RSEG    CDATA0(0)
   \   0000                    EXTERN  ClearScreen
   \   0000                    EXTERN  DRV_DetectUD
   \   0000                    EXTERN  DRV_Install
   \   0000                    PUBLIC  DisplayDelay
   \   0000                    EXTERN  ExecAP
   \   0000                    EXTERN  GetDefaultComval
   \   0000                    EXTERN  GetSysMsg
   \   0000                    EXTERN  GetUsbCableStatus
   \   0000                    EXTERN  ResClose
   \   0000                    EXTERN  ResOpen
   \   0000                    EXTERN  ResShowMultiString
   \   0000                    EXTERN  ResShowPic
   \   0000                    EXTERN  SetBackgdColor
   \   0000                    EXTERN  SetContrast
   \   0000                    EXTERN  SetPenColor
   \   0000                    EXTERN  SetTextOutMode
   \   0000                    EXTERN  StandbyScreen
   \   0000                    EXTERN  SuppCardFlag
   \   0000                    EXTERN  UpdateScreen
   \   0000                    EXTERN  VMRead
   \   0000                    EXTERN  VMWrite
   \   0000                    PUBLIC  active_id
   \   0000                    PUBLIC  active_id_bottom
   \   0000                    EXTERN  ap_get_message
   \   0000                    EXTERN  ap_handle_hotkey
   \   0000                    PUBLIC  ap_id
   \   0000                    PUBLIC  ap_id_nofm
   \   0000                    EXTERN  ap_message_init
   \   0000                    PUBLIC  charge_flag
   \   0000                    PUBLIC  delay1
   \   0000                    EXTERN  draw_logo
   \   0000                    PUBLIC  g_comval
   \   0000                    PUBLIC  main
   \   0000                    PUBLIC  name
   \   0000                    PUBLIC  read_var
   \   0000                    EXTERN  res_fp
   \   0000                    EXTERN  sKY_CloseBacklight
   \   0000                    EXTERN  sKY_OpenBacklight
   \   0000                    PUBLIC  sec_staff
   \   0000                    PUBLIC  sec_tester
   \   0000                    PUBLIC  standby_flag
   \   0000                    EXTERN  ?CLZ80B_4_04_L00
   \   0000                    EXTERN  ?C_S_SWITCH_L06
   \   0000                    EXTERN  ?C_V_SWITCH_L06
   \   0000                    EXTERN  ?S_V_SWITCH_L06
   \   0000                    EXTERN  ?BANK_CALL_DIRECT_L08
   \   0000                    EXTERN  ?BANK_FAST_LEAVE_L08
   \   0000                    RSEG    CODE
   \   0000            read_var:
      1          /*
      2          *******************************************************************************
      3          *                ACTOS AP
      4          *        main ap of sdk 3.0
      5          *
      6          *        (c) Copyright, Actions Co,Ld.
      7          *             All Right Reserved
      8          *
      9          *  $Id: main.c,v 1.2 2006/06/26 01:13:37 tangwh Exp $
     10          *******************************************************************************
     11          */
     12          #include "actos.h"
     13          #include "ap_common.h"
     14          #include "pdmodule.h"
     15          
     16          //#define    CAMERA    SYSTEM
     17          //#define    CAMERAA    SYSTEMA
     18          #define        MAIN_ITEMCOUNT    8
     19          //#define CHGVDD
     20          
     21          //用户测试时定义这两个常量
     22          //#define MAIN_DEBUG
     23          //#define YOUR_AP_NAME "ap_voice.AP"
     24          
     25          //#define MY_TEST  //for m-record.ap test by ccm
     26          
     27          #ifdef MY_TEST
     28              #define MY_DUMP(string, value) \
     29              do{ \
     30                  char dump_buf[6]; \
     31                  dump_buf[0] = ','; \
     32                  SetTextPos(0, 16); \
     33                  PutS((string), -1); \
     34                  itoa4((value), &dump_buf[1]); \
     35                  dump_buf[5] = '>'; \
     36                  PutS(dump_buf, 6); \
     37                  UpdateScreen(NULL); \
     38                  while( ap_get_message() != (AP_KEY_EQ| AP_KEY_UP)) {;} \
     39              }while(0)
     40          #else
     41             #define MY_DUMP(string, value)
     42          #endif
     43          
     44          //进入录音, 但不自动开始
     45          #define RESULT_REC_NOSTART    RESULT_USER1
     46          
     47          //进入设定, 关标停留在ADFU
     48          #define RESULT_SYSTEM_ADFU    (RESULT_USER1+1)
     49          
     50          void draw_logo(BOOL wait_key_up);
     51          void draw_staff(void);
     52          void    DisplayDelay();
     53          //global
     54          comval_t g_comval;
     55          BYTE charge_flag;
     56          BYTE standby_flag=0; 
     57          extern unsigned char SuppCardFlag; 
     58          const BYTE sec_tester[] =
     59          {
     60              AP_KEY_PLAY | AP_KEY_UP,
     61              AP_KEY_PLAY | AP_KEY_UP,
     62              AP_KEY_PLAY | AP_KEY_UP,
     63              AP_KEY_PLAY | AP_KEY_UP,
     64              AP_KEY_PLAY | AP_KEY_UP,
     65          };
     66          const BYTE sec_staff[] =
     67          {
     68              AP_KEY_VOLADD | AP_KEY_UP,
     69              AP_KEY_VOLADD | AP_KEY_UP,
     70              AP_KEY_VOLADD | AP_KEY_UP,
     71              AP_KEY_VOLADD | AP_KEY_UP,
     72              AP_KEY_PLAY | AP_KEY_UP
     73          };
     74          
     75          //pic ids
     76          //const WORD inactive_id[MAIN_ITEMCOUNT] = {MUSIC, RECORD, VOICE, FM, SYSTEM};
     77          const WORD active_id[MAIN_ITEMCOUNT] = {MUSIC1,MOVIE1,RECORD1,
     78                      PLAY1,RADIO1,PIC1,TEXT1,SETTING1};
     79          //const WORD inactive_id_nofm[MAIN_ITEMCOUNT-1] = {MUSIC, RECORD, VOICE, SYSTEM};
     80          const WORD active_id_bottom[MAIN_ITEMCOUNT] = {MUSQ,MOVQ,RECQ,
     81                     PLAQ,RADQ,PICQ,TEXQ,SETQ};
     82          const WORD name[MAIN_ITEMCOUNT]={MUSIC,MOVIE,RECORD,PLAY,RADIO,PICTURE,TEXT,SYSTEM};
     83          
     84          
     85          
     86          //ap id
     87          const WORD ap_id[MAIN_ITEMCOUNT]={RESULT_MUSIC,RESULT_MOVIE,  RESULT_REC_NOSTART,
     88                  RESULT_VOICE, RESULT_RADIO, RESULT_VIEW,RESULT_READER, RESULT_SYSTEM};
     89          
     90          const WORD ap_id_nofm[MAIN_ITEMCOUNT-1]={RESULT_MUSIC,RESULT_MOVIE,RESULT_REC_NOSTART,
     91                  RESULT_VOICE, RESULT_VIEW,RESULT_READER, RESULT_SYSTEM};
     92          
     93          
     94          
     95          
     96          
     97          #ifdef MAIN_DEBUG
     98              char lan_id=0;        //for test, language id
     99              function_menu_t menu;
    100              slider_t slider;
    101          //    progress_t progress;
    102          
    103              void test(void);
    104          #endif /* MAIN_DEBUG*/
    105          /*
    106          ********************************************************************************
    107          * Description : 初始化系统设置变量
    108          *
    109          * Arguments   :
    110          *
    111          * Returns     :
    112          *
    113          * Notes       :
    114          *
    115          ********************************************************************************
    116          */
    117          void read_var(void)
    118          {
   \   0000  C5                PUSH    BC
   \   0001  D5                PUSH    DE
   \   0002  F5                PUSH    AF
    119              BOOL result;
    120          
    121              //read comval
    122              result = VMRead(&g_comval, VM_SYSTEM, sizeof(g_comval));
   \   0003  212000            LD      HL,32
   \   0006  E5                PUSH    HL
   \   0007  010002            LD      BC,512
   \   000A  110000            LD      DE,g_comval
   \   000D  CD0000            CALL    LWRD VMRead
   \   0010  E1                POP     HL
    123              ASSERT(result);
    124          
    125              //check if valid
    126              if(g_comval.magic != MAGIC_COMVAL)
   \   0011  21ADDE            LD      HL,57005
   \   0014  ED4B0000          LD      BC,(g_comval)
   \   0018  A7                AND     A
   \   0019  ED42              SBC     HL,BC
   \   001B  2819              JR      Z,?0003
   \   001D            ?0002:
    127              {
    128                  DUMP_STRING("comval init-ed!");
    129          
    130                  //COMVAL_INIT(g_comval);
    131                  GetDefaultComval(&g_comval);
   \   001D  110000            LD      DE,g_comval
   \   0020  CD0000            CALL    LWRD GetDefaultComval
    132                  g_comval.BatteryType = BATT_TYPE_LITHIUM;
   \   0023  3E02              LD      A,2
   \   0025  320F00            LD      (g_comval+15),A
    133                  g_comval.Lightmode=1;
   \   0028  3E01              LD      A,1
   \   002A  321600            LD      (g_comval+22),A
    134          //        g_comval.chargeflag=0;
    135                  //write to vm
    136                  result = VMWrite(&g_comval, VM_SYSTEM);
   \   002D  010002            LD      BC,512
   \   0030  110000            LD      DE,g_comval
   \   0033  CD0000            CALL    LWRD VMWrite
   \   0036            ?0003:
    137                  ASSERT(result);
    138          
    139              }
    140          
    141              SuppCardFlag=1;         //此变量初始化为1,支持插卡; 为0,不支持插卡 ,可在方案中选择
   \   0036  3E01              LD      A,1
   \   0038  320000            LD      (SuppCardFlag),A
    142              //init ap message
    143              ap_message_init(&g_comval);
   \   003B  110000            LD      DE,g_comval
   \   003E  3E00              LD      A,BYTE3 ap_message_init
   \   0040  210000            LD      HL,LWRD ap_message_init
   \   0043  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    144              //sKY_SetBLightColor(g_comval.BLightColor);         //设置背光颜色。for s2 by ccm
    145          
    146              //set contrast just in main ap
    147              SetContrast(g_comval.DisplayContrast);
   \   0046  ED5B0800          LD      DE,(g_comval+8)
   \   004A  CD0000            CALL    LWRD SetContrast
    148          }
   \   004D  E1                POP     HL
   \   004E  D1                POP     DE
   \   004F  C1                POP     BC
   \   0050  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   0053            delay1:
    149          
    150          void delay1(void)
    151          {
   \   0053  C5                PUSH    BC
   \   0054  D5                PUSH    DE
    152              unsigned int i;
    153              for(i=0;i<10000;i++) {;}
   \   0055  110000            LD      DE,0
   \   0058            ?0005:
   \   0058  011027            LD      BC,10000
   \   005B  6B                LD      L,E
   \   005C  62                LD      H,D
   \   005D  A7                AND     A
   \   005E  ED42              SBC     HL,BC
   \   0060  3003              JR      NC,?0004
   \   0062            ?0006:
   \   0062  13                INC     DE

⌨️ 快捷键说明

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