main.lst
来自「炬力方案176*132软件源码,适用于AK1025」· LST 代码 · 共 569 行 · 第 1/2 页
LST
569 行
##############################################################################
# #
# IAR Z80/64180 C-Compiler V4.04B/WIN #
# Front End V4.20N 27/Sep/107 17:30:41 #
# Global Optimizer V1.05D #
# #
# Target option = Z80 #
# Memory model = banked #
# Source file = d:\case_i_d913f\ap\ap_dsc2x_dec\main.c #
# List file = d:\case_i_d913f\ap\ap_dsc2x_dec\list\main.lst #
# Object file = d:\case_i_d913f\ap\ap_dsc2x_dec\obj\main.r01 #
# Command line = -v0 -mb -OD:\case_i_d913f\ap\Ap_DSC2X_DEC\Obj\ -e #
# -K -w -gA -s9 -RCODE -r0 -DNAPDEBUG -DAMV_JPG_TXT #
# -LD:\case_i_d913f\ap\Ap_DSC2X_DEC\List\ -q -t8 #
# -Id:\sdk_i_913f\inc\ -Id:\case_i_d913f\inc\ #
# d:\case_i_d913f\ap\ap_dsc2x_dec\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 PUBLIC InitDecoderSystem
\ 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_viewpic_vars
\ 0000 PUBLIC main
\ 0000 PUBLIC read_var
\ 0000 EXTERN res_fp
\ 0000 EXTERN show_stop
\ 0000 PUBLIC test
\ 0000 EXTERN ui_show_msg
\ 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: JpegdecMain.c
3 * Write By: JackLee
4 * Date : 2004-8-5 8:45
5 *
6 *Buglist :
7 *2004-8-12 11:48 change the buf locattion
8 *
9 **********************************/
10
11 #include "actos.h"
12 #include "enhanced.h"
13 #include "ap_common.h"
14 #include "display.h"
15 #include "DSCDec.h"
16 #include "ap_picdec.h"
17
18
19 comval_t g_comval;
20 viewpic_vars_t g_viewpic_vars;
21 BYTE test;
22 bool g_menu_active; //为1进入MENU菜单,主要用来丢掉从目录选择时长按mode键返回
23 bool ActiveDriveOK;//磁盘可用标志
24 bool g_from_browser = FALSE;
25 BYTE g_DiskStateFlag = 0;
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)); // red the information of system
\ 0009 212000 LD HL,32
\ 000C E5 PUSH HL
\ 000D 010002 LD BC,512
\ 0010 110000 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 ED4B0000 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 GetDefaultComval(&g_comval);
\ 0023 110000 LD DE,g_comval
\ 0026 CD0000 CALL LWRD GetDefaultComval
\ 0029 ?0003:
48 }
49
50 //init message for auto standby
51 ap_message_init(&g_comval);
\ 0029 110000 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
52
53 result = VMRead(&g_viewpic_vars, VM_AP_View, sizeof(g_viewpic_vars)); //read the seting of user
\ 0034 212F00 LD HL,47
\ 0037 E5 PUSH HL
\ 0038 010040 LD BC,16384
\ 003B 112000 LD DE,g_viewpic_vars
\ 003E CD0000 CALL LWRD VMRead
\ 0041 E1 POP HL
54
55 if(g_viewpic_vars.magic != MAGIC_VIEWPIC)
\ 0042 21504A LD HL,19024
\ 0045 ED4B2000 LD BC,(g_viewpic_vars)
\ 0049 A7 AND A
\ 004A ED42 SBC HL,BC
\ 004C 2821 JR Z,?0005
\ 004E ?0004:
56 {
57 g_viewpic_vars.magic = MAGIC_VIEWPIC;
\ 004E 21504A LD HL,19024
\ 0051 222000 LD (g_viewpic_vars),HL
58 g_viewpic_vars.playflag = 0;
\ 0054 AF XOR A
\ 0055 322200 LD (g_viewpic_vars+2),A
59 g_viewpic_vars.autoplaytime = 1;
\ 0058 3E01 LD A,1
\ 005A 322300 LD (g_viewpic_vars+3),A
60 //empty the location
61 g_viewpic_vars.location.disk = 'C';
\ 005D 3E43 LD A,67
\ 005F 322400 LD (g_viewpic_vars+4),A
62 strcpy(g_viewpic_vars.location.path, FS_CD_ROOT);
\ 0062 110000 LD DE,?0006
\ 0065 213200 LD HL,g_viewpic_vars+18
\ 0068 CD0000 CALL LWRD ?STRCPY_L11
63 g_viewpic_vars.location.filename[0] = 0;
\ 006B AF XOR A
\ 006C 323E00 LD (g_viewpic_vars+30),A
\ 006F ?0005:
64 }
65 // browser playing added by zxs 2007.03.21
66 if(g_from_browser)
\ 006F 3A0000 LD A,(g_from_browser)
\ 0072 B7 OR A
\ 0073 281F JR Z,?0008
\ 0075 ?0007:
67 {
68 VMRead(&temp_browser_vars, VM_AP_BROWSER, sizeof(browser_vars_t));
\ 0075 212D00 LD HL,45
\ 0078 E5 PUSH HL
\ 0079 01004C LD BC,19456
\ 007C 2E02 LD L,2
\ 007E 39 ADD HL,SP
\ 007F EB EX DE,HL
\ 0080 CD0000 CALL LWRD VMRead
\ 0083 E1 POP HL
69 memcpy(&g_viewpic_vars.location, &temp_browser_vars.location, sizeof(file_location_t));
\ 0084 012B00 LD BC,43
\ 0087 112400 LD DE,g_viewpic_vars+4
\ 008A 68 LD L,B
\ 008B 60 LD H,B
\ 008C 39 ADD HL,SP
\ 008D 0E02 LD C,2
\ 008F 09 ADD HL,BC
\ 0090 0E2B LD C,43
\ 0092 EDB0 LDIR
\ 0094 ?0008:
70 }
71
72 }
\ 0094 212E00 LD HL,46
\ 0097 39 ADD HL,SP
\ 0098 F9 LD SP,HL
\ 0099 DDE1 POP IX
\ 009B D1 POP DE
\ 009C C1 POP BC
\ 009D C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 00A0 InitDecoderSystem:
73
74 /*************************************
75 * Function name : ViewApVarRead()
76 * Author : Jack lee
77 * Date :2004-9-30 17:34
78 *
79 *
80 *
81 *
82 ****************************************/
83
84
85 void InitDecoderSystem(void)
86 {
87 output8(0x5,0xf7); // set the 05 regsiter
\ 00A0 3EF7 LD A,247
\ 00A2 D305 OUT (5),A
88 }
\ 00A4 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 00A7 main:
89
90 /*****************************************************
91 *function name:int main(int param)
92 *write by jacklee
93 *date 2004-8-6 16:32
94 *Description:
95 * this function control the jpeg decoding system
96 *
97 *****************************************************/
98 int main(int param)
99 {
\ 00A7 C5 PUSH BC
\ 00A8 DDE5 PUSH IX
\ 00AA D5 PUSH DE
\ 00AB F5 PUSH AF
100 int result;
101 DC oldDC_sav;
102 BYTE status; //保存05寄存器状态
103 if(param)
\ 00AC 7B LD A,E
\ 00AD B2 OR D
\ 00AE 2805 JR Z,?0010
\ 00B0 ?0009:
104 {
105 g_from_browser = TRUE;
\ 00B0 3E01 LD A,1
\ 00B2 320000 LD (g_from_browser),A
\ 00B5 ?0010:
106 }
107 //install drivers
108 DRV_ActiveUD(0,MODE_SLOW);
\ 00B5 0E01 LD C,1
\ 00B7 1E00 LD E,0
\ 00B9 CD0000 CALL LWRD DRV_ActiveUD
109 res_fp = ResOpen("ui30.res");
\ 00BC 110200 LD DE,?0011
\ 00BF 3E00 LD A,BYTE3 ResOpen
\ 00C1 210000 LD HL,LWRD ResOpen
\ 00C4 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 00C7 220000 LD (res_fp),HL
110 if(!res_fp)
\ 00CA 7D LD A,L
\ 00CB B4 OR H
\ 00CC 200F JR NZ,?0013
\ 00CE ?0012:
111 {
112 ResClose(res_fp);
\ 00CE EB EX DE,HL
\ 00CF 3E00 LD A,BYTE3 ResClose
\ 00D1 210000 LD HL,LWRD ResClose
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?