⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.lst

📁 action mp3 devo,eki e,eikf, kdife l
💻 LST
📖 第 1 页 / 共 5 页
字号:
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       12/Apr/106  09:56:19 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  banked                                              #
#       Source file   =  d:\case_i_d35f\ap\ap_main\main.c                    #
#       List file     =  d:\case_i_d35f\ap\ap_main\list\main.lst             #
#       Object file   =  d:\case_i_d35f\ap\ap_main\release\obj\main.r01      #
#       Command line  =  -v0 -mb -OD:\case_i_d35f\ap\ap_main\release\Obj\    #
#                        -e -K -w -gA -s9 -RCODE -r0 -DNAPDEBUG              #
#                        -LD:\case_i_d35f\ap\ap_main\List\ -q -t8 -X         #
#                        -Id:\sdk_i_35f\inc\ -Id:\case_i_d35f\inc\           #
#                        d:\case_i_d35f\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                    EXTERN  ClearScreen
   \   0000                    EXTERN  DRV_DetectUD
   \   0000                    EXTERN  DRV_Install
   \   0000                    EXTERN  ExecAP
   \   0000                    EXTERN  GetDefaultComval
   \   0000                    EXTERN  GetSysMsg
   \   0000                    EXTERN  GetUsbCableStatus
   \   0000                    EXTERN  ResClose
   \   0000                    EXTERN  ResOpen
   \   0000                    EXTERN  ResShowPic
   \   0000                    EXTERN  SetContrast
   \   0000                    EXTERN  StandbyScreen
   \   0000                    EXTERN  SuppCardFlag
   \   0000                    EXTERN  UpdateScreen
   \   0000                    EXTERN  VMRead
   \   0000                    EXTERN  VMWrite
   \   0000                    PUBLIC  active_id
   \   0000                    PUBLIC  active_id_nofm
   \   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  counter
   \   0000                    EXTERN  draw_logo
   \   0000                    EXTERN  draw_staff
   \   0000                    PUBLIC  g_comval
   \   0000                    PUBLIC  inactive_id
   \   0000                    PUBLIC  inactive_id_nofm
   \   0000                    PUBLIC  inactive_pos
   \   0000                    PUBLIC  inactive_pos_nofm
   \   0000                    PUBLIC  main
   \   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                    EXTERN  ui_auto_update
   \   0000                    EXTERN  ?CLZ80B_4_04_L00
   \   0000                    EXTERN  ?SS_MOD_L02
   \   0000                    EXTERN  ?C_S_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          *******************************************************************************
     10          */
     11          #include "actos.h"
     12          #include "ap_common.h"
     13          
     14          #ifdef  SDK35FD
     15          #include "pdmodule.h"
     16          #endif
     17          
     18          //#define    CAMERA    SYSTEM
     19          //#define    CAMERAA    SYSTEMA
     20          #define        MAIN_ITEMCOUNT    6
     21          
     22          #define CHGVDD
     23          
     24          //用户测试时定义这两个常量
     25          //#define MAIN_DEBUG
     26          //#define YOUR_AP_NAME "ap_voice.AP"
     27          
     28          //#define MY_TEST  //for m-record.ap test by ccm
     29          
     30          #ifdef MY_TEST
     31              #define MY_DUMP(string, value) \
     32              do{ \
     33                  char dump_buf[6]; \
     34                  dump_buf[0] = ','; \
     35                  SetTextPos(0, 16); \
     36                  PutS((string), -1); \
     37                  itoa4((value), &dump_buf[1]); \
     38                  dump_buf[5] = '>'; \
     39                  PutS(dump_buf, 6); \
     40                  UpdateScreen(NULL); \
     41                  while( ap_get_message() != (AP_KEY_EQ| AP_KEY_UP)) {;} \
     42              }while(0)
     43          #else
     44             #define MY_DUMP(string, value)
     45          #endif
     46          
     47          //进入录音, 但不自动开始
     48          #define RESULT_REC_NOSTART    RESULT_USER1
     49          
     50          //进入设定, 关标停留在ADFU
     51          #define RESULT_SYSTEM_ADFU    (RESULT_USER1+1)
     52          
     53          void draw_logo(BOOL wait_key_up);
     54          void draw_staff(void);
     55          
     56          //global
     57          comval_t g_comval;
     58          extern unsigned char SuppCardFlag;
     59          int counter;
     60          
     61          //secrect key sequence
     62          const BYTE sec_tester[] =
     63          {
     64              AP_KEY_PLAY | AP_KEY_UP,
     65              AP_KEY_PLAY | AP_KEY_UP,
     66              AP_KEY_PLAY | AP_KEY_UP,
     67              AP_KEY_PLAY | AP_KEY_UP,
     68              AP_KEY_PLAY | AP_KEY_UP,
     69          };
     70          const BYTE sec_staff[] =
     71          {
     72              AP_KEY_VOLADD | AP_KEY_UP,
     73              AP_KEY_VOLADD | AP_KEY_UP,
     74              AP_KEY_VOLADD | AP_KEY_UP,
     75              AP_KEY_VOLADD | AP_KEY_UP,
     76              AP_KEY_PLAY | AP_KEY_UP
     77          };
     78          
     79          //pic ids
     80          const WORD inactive_id[MAIN_ITEMCOUNT] = {MUSIC, RECORD, VOICE, FM, SYSTEM,DSC};
     81          const WORD active_id[MAIN_ITEMCOUNT] = {MUSICA, RECORDA, VOICEA, FMA, SYSTEMA,DSCOK};
     82          
     83          const WORD inactive_id_nofm[MAIN_ITEMCOUNT-1] = {MUSIC, RECORD, VOICE, SYSTEM,CAMERA};
     84          const WORD active_id_nofm[MAIN_ITEMCOUNT-1] = {MUSICA, RECORDA, VOICEA, SYSTEMA,CAMERAA};
     85          
     86          //pic position
     87          const BYTE inactive_pos[5] = {3, 3+(21+5), 3+(21+5)*2, 3+(21+5)*3, 3+(21+5)*4};
     88          
     89          const BYTE inactive_pos_nofm[5] = {3, 3+(21+5), 3+(21+5)*2, 3+(21+5)*3, 3+(21+5)*4};
     90          
     91          //ap id
     92          const WORD ap_id[MAIN_ITEMCOUNT]={RESULT_MUSIC, RESULT_REC_NOSTART,
     93                  RESULT_VOICE, RESULT_RADIO, RESULT_SYSTEM,RESULT_CAMERA};
     94          
     95          const WORD ap_id_nofm[MAIN_ITEMCOUNT-1]={RESULT_MUSIC, RESULT_REC_NOSTART,
     96                  RESULT_VOICE, RESULT_SYSTEM,RESULT_CAMERA};
     97          
     98          #ifdef MAIN_DEBUG
     99              char lan_id=0;        //for test, language id
    100              function_menu_t menu;
    101              slider_t slider;
    102          //    progress_t progress;
    103          
    104              void test(void);
    105          #endif /* MAIN_DEBUG*/
    106          /*
    107          ********************************************************************************
    108          * Description : 初始化系统设置变量
    109          *
    110          * Arguments   :
    111          *
    112          * Returns     :
    113          *
    114          * Notes       :
    115          *
    116          ********************************************************************************
    117          */
    118          void read_var(void)
    119          {
   \   0000  C5                PUSH    BC
   \   0001  D5                PUSH    DE
   \   0002  F5                PUSH    AF
    120              BOOL result;
    121          
    122              //read comval
    123              result = VMRead(&g_comval, VM_SYSTEM, sizeof(g_comval));
   \   0003  211500            LD      HL,21
   \   0006  E5                PUSH    HL
   \   0007  010002            LD      BC,512
   \   000A  110000            LD      DE,g_comval
   \   000D  CD0000            CALL    LWRD VMRead
   \   0010  E1                POP     HL
    124              ASSERT(result);
    125          
    126              //check if valid
    127              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  280F              JR      Z,?0003
   \   001D            ?0002:
    128              {
    129                  DUMP_STRING("comval init-ed!");
    130          
    131                  //COMVAL_INIT(g_comval);
    132                  GetDefaultComval(&g_comval);
   \   001D  110000            LD      DE,g_comval
   \   0020  CD0000            CALL    LWRD GetDefaultComval
    133          
    134                  //write to vm
    135                  result = VMWrite(&g_comval, VM_SYSTEM);
   \   0023  010002            LD      BC,512
   \   0026  110000            LD      DE,g_comval
   \   0029  CD0000            CALL    LWRD VMWrite
   \   002C            ?0003:
    136                  ASSERT(result);
    137          
    138              }
    139          
    140              if ( g_comval.SuppCard == 1 )
   \   002C  3A1400            LD      A,(g_comval+20)
   \   002F  3D                DEC     A
   \   0030  2005              JR      NZ,?0005
   \   0032            ?0004:
    141              {
    142                  SuppCardFlag = 1;
   \   0032  3E01              LD      A,1
   \   0034  320000            LD      (SuppCardFlag),A
   \   0037            ?0005:
    143              }
    144          
    145              //init ap message
    146              ap_message_init(&g_comval);
   \   0037  110000            LD      DE,g_comval
   \   003A  3E00              LD      A,BYTE3 ap_message_init
   \   003C  210000            LD      HL,LWRD ap_message_init
   \   003F  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    147              //sKY_SetBLightColor(g_comval.BLightColor);         //设置背光颜色。for s2 by ccm
    148          
    149              //set contrast just in main ap
    150              SetContrast(g_comval.DisplayContrast);
   \   0042  ED5B0800          LD      DE,(g_comval+8)
   \   0046  CD0000            CALL    LWRD SetContrast
    151          }
   \   0049  E1                POP     HL
   \   004A  D1                POP     DE
   \   004B  C1                POP     BC
   \   004C  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   004F            main:
    152          /*
    153          ********************************************************************************
    154          * Description : 主函数
    155          *
    156          * Arguments   :
    157          *
    158          * Returns     : 结果消息或0
    159          *
    160          * Notes       :
    161          *
    162          ********************************************************************************
    163          */
    164          int main(int param)
    165          {
   \   004F  DDE5              PUSH    IX
   \   0051  DD210000          LD      IX,0
   \   0055  DD39              ADD     IX,SP
   \   0057  D5                PUSH    DE
   \   0058  21ECFF            LD      HL,65516
   \   005B  39                ADD     HL,SP
   \   005C  F9                LD      SP,HL
    166              int active=0;    //当前活动的项目

⌨️ 快捷键说明

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