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

📄 main.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 5 页
字号:
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       28/Sep/107  08:45:02 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  banked                                              #
#       Source file   =  d:\case_i_d913f\ap\ap_main\main.c                   #
#       List file     =  d:\case_i_d913f\ap\ap_main\list\main.lst            #
#       Object file   =  d:\case_i_d913f\ap\ap_main\release\obj\main.r01     #
#       Command line  =  -v0 -mb -OD:\case_i_d913f\ap\ap_main\release\Obj\   #
#                        -e -K -w -gA -s9 -RCODE -r0 -DNAPDEBUG              #
#                        -LD:\case_i_d913f\ap\ap_main\List\ -q -t8 -X        #
#                        -Id:\sdk_i_913f\inc\ -Id:\case_i_d913f\inc\         #
#                        d:\case_i_d913f\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  GetBattery
   \   0000                    EXTERN  GetDefaultComval
   \   0000                    EXTERN  GetSysMsg
   \   0000                    EXTERN  GetUsbCableStatus
   \   0000                    EXTERN  ResClose
   \   0000                    EXTERN  ResOpen
   \   0000                    EXTERN  ResShowMultiString
   \   0000                    EXTERN  ResShowPic
   \   0000                    EXTERN  SetAsciiFont
   \   0000                    EXTERN  SetBackgdColor
   \   0000                    EXTERN  SetContrast
   \   0000                    EXTERN  SetPenColor
   \   0000                    EXTERN  StandbyScreen
   \   0000                    EXTERN  SuppCardFlag
   \   0000                    EXTERN  TextOutRect
   \   0000                    EXTERN  VMRead
   \   0000                    EXTERN  VMWrite
   \   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  menu_pos
   \   0000                    PUBLIC  name
   \   0000                    PUBLIC  name_nofm
   \   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  ui_show_batt
   \   0000                    EXTERN  ?CLZ80B_4_04_L00
   \   0000                    EXTERN  ?SS_DIV_L02
   \   0000                    EXTERN  ?SS_MOD_L02
   \   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          #include "MenuMode.h"
     16          
     17          #define        MAIN_ITEMCOUNT    8
     18          
     19          #ifdef MY_TEST
     20              #define MY_DUMP(string, value) \
     21              do{ \
     22                  char dump_buf[6]; \
     23                  dump_buf[0] = ','; \
     24                  SetTextPos(0, 16); \
     25                  PutS((string), -1); \
     26                  itoa4((value), &dump_buf[1]); \
     27                  dump_buf[5] = '>'; \
     28                  PutS(dump_buf, 6); \
     29                  UpdateScreen(NULL); \
     30                  while( ap_get_message() != (AP_KEY_EQ| AP_KEY_UP)) {;} \
     31              }while(0)
     32          #else
     33             #define MY_DUMP(string, value)
     34          #endif
     35          
     36          //进入录音, 但不自动开始
     37          #define RESULT_REC_NOSTART    RESULT_USER1
     38          
     39          //进入设定, 关标停留在ADFU
     40          #define RESULT_SYSTEM_ADFU    (RESULT_USER1+1)
     41          
     42          void draw_logo(BOOL wait_key_up);
     43          void draw_staff(void);
     44          void    DisplayDelay();
     45          ///-bool DealList(BYTE lang_id); 
     46          //global
     47          comval_t g_comval;
     48          BYTE charge_flag;
     49          BYTE standby_flag=0; 
     50          extern unsigned char SuppCardFlag; 
     51          const BYTE sec_tester[] =
     52          {
     53              AP_KEY_PLAY | AP_KEY_UP,
     54              AP_KEY_PLAY | AP_KEY_UP,
     55              AP_KEY_PLAY | AP_KEY_UP,
     56              AP_KEY_PLAY | AP_KEY_UP,
     57              AP_KEY_PLAY | AP_KEY_UP,
     58          };
     59          const BYTE sec_staff[] =
     60          {
     61              AP_KEY_VOLADD | AP_KEY_UP,
     62              AP_KEY_VOLADD | AP_KEY_UP,
     63              AP_KEY_VOLADD | AP_KEY_UP,
     64              AP_KEY_VOLADD | AP_KEY_UP,
     65              AP_KEY_PLAY | AP_KEY_UP
     66          };
     67          
     68          const char menu_pos[6]={22,22+18,22+18*2,22+18*3,22+18*4,22+18*5};
     69          
     70          //string ids
     71          //const WORD name[MAIN_ITEMCOUNT]={MUSIC,MOVIE,RECORD,PLAY,RADIO,PICTURE,TEXT,SYSTEM/*,BROWSER*/};
     72          //const WORD name_nofm[MAIN_ITEMCOUNT-1]={MUSIC,MOVIE,RECORD,PLAY,PICTURE,TEXT,SYSTEM/*,BROWSER*/};
     73          const WORD name[MAIN_ITEMCOUNT]={SMUSIC,SMOVIE,SRECORD,SVOICE,SRADIO,SVIEW,SREADER,SSYSTEM};
     74          const WORD name_nofm[MAIN_ITEMCOUNT-1]={SMUSIC,SMOVIE,SRECORD,SVOICE,SVIEW,SREADER,SSYSTEM};
     75          
     76          //ap id
     77          const WORD ap_id[MAIN_ITEMCOUNT]={RESULT_MUSIC,RESULT_MOVIE,  RESULT_REC_NOSTART,
     78                  RESULT_VOICE, RESULT_RADIO, RESULT_VIEW,RESULT_READER, RESULT_SYSTEM/*,RESULT_BROWSER*/};
     79          const WORD ap_id_nofm[MAIN_ITEMCOUNT-1]={RESULT_MUSIC,RESULT_MOVIE,RESULT_REC_NOSTART,
     80                  RESULT_VOICE, RESULT_VIEW,RESULT_READER, RESULT_SYSTEM/*,RESULT_BROWSER*/};
     81          
     82          
     83          
     84          #ifdef MAIN_DEBUG
     85              char lan_id=0;        //for test, language id
     86              function_menu_t menu;
     87              slider_t slider;
     88          
     89              void test(void);
     90          #endif /* MAIN_DEBUG*/
     91          /*
     92          ********************************************************************************
     93          * Description : 初始化系统设置变量
     94          *
     95          * Arguments   :
     96          *
     97          * Returns     :
     98          *
     99          * Notes       :
    100          *
    101          ********************************************************************************
    102          */
    103          void read_var(void)
    104          {
   \   0000  C5                PUSH    BC
   \   0001  D5                PUSH    DE
   \   0002  F5                PUSH    AF
    105              BOOL result;
    106          
    107              //read comval
    108              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
    109              ASSERT(result);
    110          
    111              //check if valid
    112              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  2834              JR      Z,?0003
   \   001D            ?0002:
    113              {
    114                  DUMP_STRING("comval init-ed!");
    115          
    116                  //COMVAL_INIT(g_comval);
    117                  GetDefaultComval(&g_comval);
   \   001D  110000            LD      DE,g_comval
   \   0020  CD0000            CALL    LWRD GetDefaultComval
    118                  g_comval.BatteryType = BATT_TYPE_LITHIUM;
   \   0023  3E02              LD      A,2
   \   0025  320F00            LD      (g_comval+15),A
    119                  g_comval.Lightmode=1;
   \   0028  3E01              LD      A,1
   \   002A  321400            LD      (g_comval+20),A
    120                  g_comval.EarProtect_flag = 0;
   \   002D  AF                XOR     A
   \   002E  321800            LD      (g_comval+24),A
    121                  g_comval.EarProtectThreshold = 22;
   \   0031  3E16              LD      A,22
   \   0033  321900            LD      (g_comval+25),A
    122                  g_comval.attenuation_flag = 0;
   \   0036  AF                XOR     A
   \   0037  321A00            LD      (g_comval+26),A
    123                  g_comval.auto_switchoff_time = 0;
   \   003A  6F                LD      L,A
   \   003B  67                LD      H,A
   \   003C  221B00            LD      (g_comval+27),HL
    124                  g_comval.OnlineMode = 1;        //Jerry Xie Add for test
   \   003F  3E01              LD      A,1
   \   0041  320E00            LD      (g_comval+14),A
    125                  g_comval.KeyTone = 0;           //Jerry Xie Add for test
   \   0044  AF                XOR     A
   \   0045  321D00            LD      (g_comval+29),A
    126                  //write to vm
    127                  result = VMWrite(&g_comval, VM_SYSTEM);
   \   0048  010002            LD      BC,512
   \   004B  110000            LD      DE,g_comval
   \   004E  CD0000            CALL    LWRD VMWrite
   \   0051            ?0003:
    128                  ASSERT(result);
    129          
    130              }
    131          #ifdef SupportCard      
    132              SuppCardFlag=1;         //此变量初始化为1,支持插卡; 为0,不支持插卡 ,可在方案中选择
    133          #else
    134              SuppCardFlag=0; 
   \   0051  AF                XOR     A
   \   0052  320000            LD      (SuppCardFlag),A
    135          #endif   
    136              //init ap message
    137              ap_message_init(&g_comval);
   \   0055  110000            LD      DE,g_comval
   \   0058  3E00              LD      A,BYTE3 ap_message_init
   \   005A  210000            LD      HL,LWRD ap_message_init
   \   005D  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    138              //sKY_SetBLightColor(g_comval.BLightColor);         //设置背光颜色。for s2 by ccm
    139          
    140              //set contrast just in main ap
    141              SetContrast(g_comval.DisplayContrast);
   \   0060  ED5B0800          LD      DE,(g_comval+8)
   \   0064  CD0000            CALL    LWRD SetContrast
    142          }
   \   0067  E1                POP     HL
   \   0068  D1                POP     DE
   \   0069  C1                POP     BC
   \   006A  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   006D            delay1:
    143          

⌨️ 快捷键说明

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