📄 main.lst
字号:
##############################################################################
# #
# IAR Z80/64180 C-Compiler V4.04B/WIN #
# Front End V4.20N 27/Sep/107 17:39:59 #
# Global Optimizer V1.05D #
# #
# Target option = Z80 #
# Memory model = banked #
# Source file = d:\case_i_d913f\ap\ap_setting\main.c #
# List file = d:\case_i_d913f\ap\ap_setting\list\main.lst #
# Object file = d:\case_i_d913f\ap\ap_setting\release\obj\main.r01 #
# Command line = -v0 -mb #
# -OD:\case_i_d913f\ap\ap_setting\release\Obj\ -e -K #
# -w -gA -s7 -RCODE -r0 -DNAPDEBUG #
# -LD:\case_i_d913f\ap\ap_setting\List\ -q -t8 #
# -Id:\sdk_i_913f\inc\ -Id:\case_i_d913f\inc\ #
# d:\case_i_d913f\AP\AP_SETTING\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_ActiveUD
\ 0000 EXTERN GetDefaultComval
\ 0000 EXTERN ResClose
\ 0000 EXTERN ResOpen
\ 0000 EXTERN VMRead
\ 0000 EXTERN VMWrite
\ 0000 EXTERN ap_message_init
\ 0000 PUBLIC charge_flag
\ 0000 EXTERN ear_protect
\ 0000 PUBLIC entries
\ 0000 PUBLIC g_comval
\ 0000 PUBLIC g_setting_vars
\ 0000 PUBLIC list
\ 0000 PUBLIC main
\ 0000 PUBLIC main_list
\ 0000 PUBLIC main_text
\ 0000 PUBLIC progress
\ 0000 PUBLIC read_var
\ 0000 EXTERN res_fp
\ 0000 EXTERN screen_set
\ 0000 EXTERN show_clock
\ 0000 EXTERN show_firmware
\ 0000 EXTERN show_fmttype
\ 0000 EXTERN show_language
\ 0000 EXTERN show_memory
\ 0000 EXTERN show_powerdown
\ 0000 EXTERN show_rectype
\ 0000 EXTERN show_replay
\ 0000 PUBLIC slider
\ 0000 EXTERN ui_auto_select
\ 0000 EXTERN ui_popup_list
\ 0000 EXTERN upgrade_firmware
\ 0000 EXTERN ?CLZ80B_4_04_L00
\ 0000 EXTERN ?BANK_CALL_DIRECT_L08
\ 0000 EXTERN ?BANK_FAST_LEAVE_L08
\ 0000 RSEG CODE
\ 0000 read_var:
1 /*
2 *******************************************************************************
3 * ACTOS AP
4 * system setting 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/07/14 06:48:01 tangwh Exp $
10 *******************************************************************************
11 */
12 #include "actos.h"
13 #include "enhanced.h"
14 #include "ap_common.h"
15 #include "ap_setting.h"
16 #define MAX_SYSMENUNUM 12
17 //global var
18 comval_t g_comval;
19 setting_vars_t g_setting_vars;
20 slider_t slider;
21 progress_t progress;
22 pop_up_list_t list;
23 pop_up_list_t main_list;
24 BYTE charge_flag;
25
26 const WORD main_text[MAX_SYSMENUNUM]= //add: SMAIN15,SMAIN25(录音类型,背光颜色),by ccm
27 {
28 SMAIN1, SMAIN15, SMAIN11,/*SMAIN2,/* SMAIN25,*/ SMAIN3, SMAIN4, SMAIN5,
29 /*SMAIN6,OLDEV,SMAIN65,*/ SMAIN7, SMAIN8, SMAIN9,DISKFMT,/*DRMTIMEM,SCHARGE,*/EARSET/*,SMAIN16*/,SMAIN10
30 };
31
32
33 //sub function entry
34 typedef int (*show_func)(void);
35 const show_func entries[MAX_SYSMENUNUM-1] = {show_clock, show_rectype, screen_set, /*show_backlight, show_blight_color,*/ show_language,
36
37 show_powerdown, show_replay,/* show_contrast,show_onlined,show_online,*/
38 show_memory, show_firmware, upgrade_firmware,show_fmttype,/*show_clockdrm,show_charge,*/ear_protect/*,show_keytone*/};
39
40 /*
41 ********************************************************************************
42 * Description : 读入系统设定变量
43 *
44 * Arguments :
45 *
46 * Returns :
47 *
48 * Notes :
49 *
50 ********************************************************************************
51 */
52 void read_var(void)
53 {
\ 0000 C5 PUSH BC
\ 0001 D5 PUSH DE
\ 0002 DDE5 PUSH IX
\ 0004 DD210000 LD IX,0
\ 0008 DD39 ADD IX,SP
\ 000A F5 PUSH AF
54 int result;
55
56 //read comval
57 result = VMRead(&g_comval, VM_SYSTEM, sizeof(g_comval));
\ 000B 212000 LD HL,32
\ 000E E5 PUSH HL
\ 000F 010002 LD BC,512
\ 0012 110000 LD DE,g_comval
\ 0015 CD0000 CALL LWRD VMRead
\ 0018 E1 POP HL
\ 0019 4F LD C,A
\ 001A 0600 LD B,0
\ 001C DD71FE LD (IX-2),C
\ 001F DD70FF LD (IX-1),B
58 ASSERT(result);
59
60 //check if valid
61 if(g_comval.magic != MAGIC_COMVAL)
\ 0022 21ADDE LD HL,57005
\ 0025 ED4B0000 LD BC,(g_comval)
\ 0029 A7 AND A
\ 002A ED42 SBC HL,BC
\ 002C 2806 JR Z,?0003
\ 002E ?0002:
62 {
63 DUMP_STRING("comval init-ed!");
64
65 //COMVAL_INIT(g_comval);
66 GetDefaultComval(&g_comval);
\ 002E 110000 LD DE,g_comval
\ 0031 CD0000 CALL LWRD GetDefaultComval
\ 0034 ?0003:
67 }
68
69 //init message for auto standby
70 ap_message_init(&g_comval);
\ 0034 110000 LD DE,g_comval
\ 0037 3E00 LD A,BYTE3 ap_message_init
\ 0039 210000 LD HL,LWRD ap_message_init
\ 003C CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
71 }
\ 003F DDF9 LD SP,IX
\ 0041 DDE1 POP IX
\ 0043 D1 POP DE
\ 0044 C1 POP BC
\ 0045 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0048 main:
72
73
74
75 int main(int param)
76 {
\ 0048 C5 PUSH BC
\ 0049 FDE5 PUSH IY
\ 004B DDE5 PUSH IX
\ 004D DD210000 LD IX,0
\ 0051 DD39 ADD IX,SP
\ 0053 D5 PUSH DE
\ 0054 F5 PUSH AF
\ 0055 F5 PUSH AF
77 #ifdef SysTest
78 char *IRQCounter=(char *)(0x37);
79 #endif
80 int result;
81 int list_active; //main menu's active number,
82 BOOL mc_result;
83 kval_t kval;
84
85 #ifdef SysTest
86 if(!DRV_Install("UI_S0724.DRV",0)) while(1) {;} //缺省简体
87 if(!DRV_Install("ky_hard.drv",0)) while(1) {;}
88 if(!DRV_Install("vm_nanf.drv",0)) while(1) {;}
89
90 //打开lcd
91 UpdateScreen(NULL); //recommended by chliang
92 StandbyScreen(TRUE);
93 *IRQCounter=0;
94 enable_interrupt();
95 #endif
96
97 mc_result= DRV_ActiveUD(0,MODE_SLOW);
\ 0056 0E01 LD C,1
\ 0058 1E00 LD E,0
\ 005A CD0000 CALL LWRD DRV_ActiveUD
\ 005D DD77FC LD (IX-4),A
98 ASSERT(mc_result);
99
100 //open the resource file
101 res_fp = ResOpen("ui30.res");
\ 0060 110000 LD DE,?0004
\ 0063 3E00 LD A,BYTE3 ResOpen
\ 0065 210000 LD HL,LWRD ResOpen
\ 0068 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 006B 220000 LD (res_fp),HL
102 ASSERT(res_fp != NULL);
103
104 //read valaue from vm
105 read_var();
\ 006E 3E00 LD A,BYTE3 read_var
\ 0070 210000 LD HL,LWRD read_var
\ 0073 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
106
107 //check param
108 if(param == 1) //adfu
\ 0076 3E01 LD A,1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -