📄 main.lst
字号:
##############################################################################
# #
# IAR Z80/64180 C-Compiler V4.04B/WIN #
# Front End V4.20N 27/Sep/107 17:35:22 #
# Global Optimizer V1.05D #
# #
# Target option = Z80 #
# Memory model = banked #
# Source file = d:\case_i_d913f\ap\ap_reader\main.c #
# List file = d:\case_i_d913f\ap\ap_reader\list\main.lst #
# Object file = d:\case_i_d913f\ap\ap_reader\obj\main.r01 #
# ASM file = d:\case_i_d913f\ap\ap_reader\list\main.s01 #
# Command line = -v0 -mb -OD:\case_i_d913f\ap\ap_reader\Obj\ -e -K #
# -w -gA -s9 -RCODE -r0 -DNAPDEBUG -DAMV_JPG_TXT #
# -LD:\case_i_d913f\ap\ap_reader\List\ -q -t8 #
# -AD:\case_i_d913f\ap\ap_reader\List\ #
# -ND:\case_i_d913f\ap\ap_reader\List\ -X #
# -Id:\sdk_i_913f\inc\ -Id:\case_i_d913f\inc\ #
# d:\case_i_d913f\AP\AP_READER\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 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_from_browser
\ 0000 PUBLIC g_menu_active
\ 0000 PUBLIC g_reader_vars
\ 0000 PUBLIC main
\ 0000 PUBLIC read_var
\ 0000 EXTERN res_fp
\ 0000 EXTERN show_stop
\ 0000 EXTERN ui_show_msg
\ 0000 PUBLIC val_p
\ 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: Main.c
3 * Write By:
4 * Date : 2006-4-11 18:27
5 *
6 *Buglist :
7 *
8 *
9 **********************************/
10
11
12 #include "actos.h"
13 #include "enhanced.h"
14 #include "ap_common.h"
15 #include "display.h"
16 #include "ap_reader.h"
17
18
19 bool g_menu_active; //为1进入MENU菜单,主要用来丢掉从目录选择时长按mode键返回
20 comval_t g_comval;
21 reader_vars_t g_reader_vars;
22 char *val_p;
23 bool ActiveDriveOK;//磁盘可用标志
24 BYTE g_DiskStateFlag = 0;
25 bool g_from_browser = FALSE;
26 /*************************************
27 * Function name : ViewApVarRead()
28 * Author : Jack lee
29 * Date :2004-9-30 17:34
30 *
31 *
32 *
33 *
34 ****************************************/
35
36 void read_var(void)
37 {
\ 0000 C5 PUSH BC
\ 0001 D5 PUSH DE
\ 0002 DDE5 PUSH IX
\ 0004 21D2FF LD HL,65490
\ 0007 39 ADD HL,SP
\ 0008 F9 LD SP,HL
38 int result;
39 browser_vars_t temp_browser_vars;
40 result = VMRead(&g_comval, VM_SYSTEM, sizeof(g_comval)); // read the information of system
\ 0009 212000 LD HL,32
\ 000C E5 PUSH HL
\ 000D 010002 LD BC,512
\ 0010 110100 LD DE,g_comval
\ 0013 CD0000 CALL LWRD VMRead
\ 0016 E1 POP HL
41
42 //check if valid
43 if(g_comval.magic != MAGIC_COMVAL)
\ 0017 21ADDE LD HL,57005
\ 001A ED4B0100 LD BC,(g_comval)
\ 001E A7 AND A
\ 001F ED42 SBC HL,BC
\ 0021 2806 JR Z,?0003
\ 0023 ?0002:
44 {
45 DUMP_STRING("comval init-ed!");
46
47 //COMVAL_INIT(g_comval);
48 GetDefaultComval(&g_comval);
\ 0023 110100 LD DE,g_comval
\ 0026 CD0000 CALL LWRD GetDefaultComval
\ 0029 ?0003:
49 }
50
51 //init message for auto standby
52 ap_message_init(&g_comval);
\ 0029 110100 LD DE,g_comval
\ 002C 3E00 LD A,BYTE3 ap_message_init
\ 002E 210000 LD HL,LWRD ap_message_init
\ 0031 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
53
54 result = VMRead(&g_reader_vars, VM_AP_READER, sizeof(g_reader_vars)); //read the setting of user part1
\ 0034 216C02 LD HL,620
\ 0037 E5 PUSH HL
\ 0038 010044 LD BC,17408
\ 003B 112100 LD DE,g_reader_vars
\ 003E CD0000 CALL LWRD VMRead
\ 0041 E1 POP HL
55
56 val_p=(char *)&g_reader_vars;
\ 0042 212100 LD HL,g_reader_vars
\ 0045 228D02 LD (val_p),HL
57
58 result = VMRead(val_p+512, VM_AP_READER1, sizeof(g_reader_vars)-512); //read the setting of user part2
\ 0048 116C00 LD DE,108
\ 004B D5 PUSH DE
\ 004C 010046 LD BC,17920
\ 004F 3E02 LD A,2
\ 0051 84 ADD A,H
\ 0052 67 LD H,A
\ 0053 EB EX DE,HL
\ 0054 CD0000 CALL LWRD VMRead
\ 0057 E1 POP HL
59
60 if(g_reader_vars.magic != MAGIC_READER)
\ 0058 217874 LD HL,29816
\ 005B ED4B2100 LD BC,(g_reader_vars)
\ 005F A7 AND A
\ 0060 ED42 SBC HL,BC
\ 0062 2834 JR Z,?0005
\ 0064 ?0004:
61 {
62 g_reader_vars.magic = MAGIC_READER;
\ 0064 217874 LD HL,29816
\ 0067 222100 LD (g_reader_vars),HL
63 g_reader_vars.playflag = 0;
\ 006A AF XOR A
\ 006B 322300 LD (g_reader_vars+2),A
64 g_reader_vars.autoplaytime = 1;
\ 006E 3E01 LD A,1
\ 0070 322400 LD (g_reader_vars+3),A
65
66 g_reader_vars.g_txt.PrevSeek=0;
\ 0073 010000 LD BC,0
\ 0076 69 LD L,C
\ 0077 60 LD H,B
\ 0078 225800 LD (g_reader_vars+55),HL
\ 007B ED435A00 LD (g_reader_vars+57),BC
67 g_reader_vars.g_txt.CurrentSeek=0;
\ 007F 225C00 LD (g_reader_vars+59),HL
\ 0082 ED435E00 LD (g_reader_vars+61),BC
68
69 g_reader_vars.location.disk = 'C';
\ 0086 3E43 LD A,67
\ 0088 322700 LD (g_reader_vars+6),A
70 strcpy(g_reader_vars.location.path, FS_CD_ROOT);
\ 008B 110000 LD DE,?0006
\ 008E 213500 LD HL,g_reader_vars+20
\ 0091 CD0000 CALL LWRD ?STRCPY_L11
71 g_reader_vars.location.filename[0] = 0;
\ 0094 AF XOR A
\ 0095 324100 LD (g_reader_vars+32),A
\ 0098 ?0005:
72 }
73 g_reader_vars.g_txt.langid = g_comval.langid;
\ 0098 3A0D00 LD A,(g_comval+12)
\ 009B 326400 LD (g_reader_vars+67),A
74 if(g_from_browser)
\ 009E 3A0100 LD A,(g_from_browser)
\ 00A1 B7 OR A
\ 00A2 282F JR Z,?0008
\ 00A4 ?0007:
75 {
76 VMRead(&temp_browser_vars, VM_AP_BROWSER, sizeof(browser_vars_t));
\ 00A4 212D00 LD HL,45
\ 00A7 E5 PUSH HL
\ 00A8 01004C LD BC,19456
\ 00AB 2E02 LD L,2
\ 00AD 39 ADD HL,SP
\ 00AE EB EX DE,HL
\ 00AF CD0000 CALL LWRD VMRead
\ 00B2 E1 POP HL
77 memcpy(&g_reader_vars.location, &temp_browser_vars.location, sizeof(file_location_t));
\ 00B3 012B00 LD BC,43
\ 00B6 112700 LD DE,g_reader_vars+6
\ 00B9 68 LD L,B
\ 00BA 60 LD H,B
\ 00BB 39 ADD HL,SP
\ 00BC 0E02 LD C,2
\ 00BE 09 ADD HL,BC
\ 00BF 0E2B LD C,43
\ 00C1 EDB0 LDIR
78 g_reader_vars.g_txt.PrevSeek=0;
\ 00C3 69 LD L,C
\ 00C4 60 LD H,B
\ 00C5 225800 LD (g_reader_vars+55),HL
\ 00C8 ED435A00 LD (g_reader_vars+57),BC
79 g_reader_vars.g_txt.CurrentSeek=0;
\ 00CC 225C00 LD (g_reader_vars+59),HL
\ 00CF ED435E00 LD (g_reader_vars+61),BC
\ 00D3 ?0008:
80 }
81
82 }
\ 00D3 212E00 LD HL,46
\ 00D6 39 ADD HL,SP
\ 00D7 F9 LD SP,HL
\ 00D8 DDE1 POP IX
\ 00DA D1 POP DE
\ 00DB C1 POP BC
\ 00DC C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 00DF main:
83
84
85 /*****************************************************
86 *function name:int main(int param)
87 *write by jacklee
88 *date 2005-3-21 9:29
89 *Description:
90 * this function control the jpeg decoding system
91 *
92 *****************************************************/
93 int main(int param)
94 {
\ 00DF C5 PUSH BC
\ 00E0 DDE5 PUSH IX
\ 00E2 D5 PUSH DE
95 int result;
96 DC oldDC_sav;
97
98 if(param)
\ 00E3 7B LD A,E
\ 00E4 B2 OR D
\ 00E5 2805 JR Z,?0010
\ 00E7 ?0009:
99 {
100 g_from_browser = TRUE;
\ 00E7 3E01 LD A,1
\ 00E9 320100 LD (g_from_browser),A
\ 00EC ?0010:
101 }
102 //install drivers
103 DRV_ActiveUD(0,MODE_SLOW);
\ 00EC 0E01 LD C,1
\ 00EE 1E00 LD E,0
\ 00F0 CD0000 CALL LWRD DRV_ActiveUD
104 res_fp = ResOpen("ui30.res");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -