main.lst
来自「MP3 整个 SDK」· LST 代码 · 共 536 行 · 第 1/2 页
LST
536 行
##############################################################################
# #
# IAR Z80/64180 C-Compiler V4.04B/WIN #
# Front End V4.20N 25/Dec/106 16:59:35 #
# Global Optimizer V1.05D #
# #
# Target option = Z80 #
# Memory model = banked #
# Source file = d:\case_i_d90f\ap\ap_dsc2x_dec\main.c #
# List file = d:\case_i_d90f\ap\ap_dsc2x_dec\list\main.lst #
# Object file = d:\case_i_d90f\ap\ap_dsc2x_dec\obj\main.r01 #
# Command line = -v0 -mb -OD:\case_i_d90f\ap\Ap_DSC2X_DEC\Obj\ -e #
# -K -w -gA -s9 -RCODE -r0 -DNAPDEBUG -DAMV_JPG_TXT #
# -LD:\case_i_d90f\ap\Ap_DSC2X_DEC\List\ -q -t8 #
# -Id:\sdk_i_90f\inc\ -Id:\case_i_d90f\inc\ #
# d:\case_i_d90f\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_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 BYTE g_DiskStateFlag = 0;
25 /*************************************
26 * Function name : ViewApVarRead()
27 * Author : Jack lee
28 * Date :2004-9-30 17:34
29 *
30 *
31 *
32 *
33 ****************************************/
34
35 void read_var(void)
36 {
\ 0000 C5 PUSH BC
\ 0001 D5 PUSH DE
\ 0002 DDE5 PUSH IX
37 int result;
38
39 result = VMRead(&g_comval, VM_SYSTEM, sizeof(g_comval)); // red the information of system
\ 0004 212000 LD HL,32
\ 0007 E5 PUSH HL
\ 0008 010002 LD BC,512
\ 000B 110000 LD DE,g_comval
\ 000E CD0000 CALL LWRD VMRead
\ 0011 E1 POP HL
40
41 //check if valid
42 if(g_comval.magic != MAGIC_COMVAL)
\ 0012 21ADDE LD HL,57005
\ 0015 ED4B0000 LD BC,(g_comval)
\ 0019 A7 AND A
\ 001A ED42 SBC HL,BC
\ 001C 2806 JR Z,?0003
\ 001E ?0002:
43 {
44 DUMP_STRING("comval init-ed!");
45
46 GetDefaultComval(&g_comval);
\ 001E 110000 LD DE,g_comval
\ 0021 CD0000 CALL LWRD GetDefaultComval
\ 0024 ?0003:
47 }
48
49 //init message for auto standby
50 ap_message_init(&g_comval);
\ 0024 110000 LD DE,g_comval
\ 0027 3E00 LD A,BYTE3 ap_message_init
\ 0029 210000 LD HL,LWRD ap_message_init
\ 002C CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
51
52 result = VMRead(&g_viewpic_vars, VM_AP_View, sizeof(g_viewpic_vars)); //read the seting of user
\ 002F 212D00 LD HL,45
\ 0032 E5 PUSH HL
\ 0033 010040 LD BC,16384
\ 0036 112000 LD DE,g_viewpic_vars
\ 0039 CD0000 CALL LWRD VMRead
\ 003C E1 POP HL
53
54 if(g_viewpic_vars.magic != MAGIC_VIEWPIC)
\ 003D 21504A LD HL,19024
\ 0040 ED4B2000 LD BC,(g_viewpic_vars)
\ 0044 A7 AND A
\ 0045 ED42 SBC HL,BC
\ 0047 2821 JR Z,?0005
\ 0049 ?0004:
55 {
56 g_viewpic_vars.magic = MAGIC_VIEWPIC;
\ 0049 21504A LD HL,19024
\ 004C 222000 LD (g_viewpic_vars),HL
57 g_viewpic_vars.playflag = 0;
\ 004F AF XOR A
\ 0050 322200 LD (g_viewpic_vars+2),A
58 g_viewpic_vars.autoplaytime = 1;
\ 0053 3E01 LD A,1
\ 0055 322300 LD (g_viewpic_vars+3),A
59 //empty the location
60 g_viewpic_vars.location.disk = 'C';
\ 0058 3E43 LD A,67
\ 005A 322400 LD (g_viewpic_vars+4),A
61 strcpy(g_viewpic_vars.location.path, FS_CD_ROOT);
\ 005D 110000 LD DE,?0006
\ 0060 213200 LD HL,g_viewpic_vars+18
\ 0063 CD0000 CALL LWRD ?STRCPY_L11
62 g_viewpic_vars.location.filename[0] = 0;
\ 0066 AF XOR A
\ 0067 323E00 LD (g_viewpic_vars+30),A
\ 006A ?0005:
63 }
64
65 }
\ 006A DDE1 POP IX
\ 006C D1 POP DE
\ 006D C1 POP BC
\ 006E C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0071 InitDecoderSystem:
66
67 /*************************************
68 * Function name : ViewApVarRead()
69 * Author : Jack lee
70 * Date :2004-9-30 17:34
71 *
72 *
73 *
74 *
75 ****************************************/
76
77
78 void InitDecoderSystem(void)
79 {
80 output8(0x5,0xf7); // set the 05 regsiter
\ 0071 3EF7 LD A,247
\ 0073 D305 OUT (5),A
81 }
\ 0075 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0078 main:
82
83 /*****************************************************
84 *function name:int main(int param)
85 *write by jacklee
86 *date 2004-8-6 16:32
87 *Description:
88 * this function control the jpeg decoding system
89 *
90 *****************************************************/
91 int main(int param)
92 {
\ 0078 C5 PUSH BC
\ 0079 DDE5 PUSH IX
\ 007B D5 PUSH DE
\ 007C F5 PUSH AF
93 int result;
94 DC oldDC_sav;
95 BYTE status; //保存05寄存器状态
96 //install drivers
97 DRV_ActiveUD(0,MODE_SLOW);
\ 007D 0E01 LD C,1
\ 007F 1E00 LD E,0
\ 0081 CD0000 CALL LWRD DRV_ActiveUD
98 res_fp = ResOpen("ui30.res");
\ 0084 110200 LD DE,?0007
\ 0087 3E00 LD A,BYTE3 ResOpen
\ 0089 210000 LD HL,LWRD ResOpen
\ 008C CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 008F 220000 LD (res_fp),HL
99 if(!res_fp)
\ 0092 7D LD A,L
\ 0093 B4 OR H
\ 0094 200F JR NZ,?0009
\ 0096 ?0008:
100 {
101 ResClose(res_fp);
\ 0096 EB EX DE,HL
\ 0097 3E00 LD A,BYTE3 ResClose
\ 0099 210000 LD HL,LWRD ResClose
\ 009C CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
102 return RESULT_MAIN;
\ 009F 210A00 LD HL,10
103 }
\ 00A2 C30D02 JP LWRD ?0030
\ 00A5 ?0009:
104 //GetDCStatus(&oldDC_sav);
105 SetPenColor(Color_WHITE_def);
\ 00A5 010000 LD BC,0
\ 00A8 11FFFF LD DE,65535
\ 00AB CD0000 CALL LWRD SetPenColor
106 SetBackgdColor(Color_BLACK_def);
\ 00AE 010000 LD BC,0
\ 00B1 59 LD E,C
\ 00B2 50 LD D,B
\ 00B3 CD0000 CALL LWRD SetBackgdColor
107 status=input8(0x05);
\ 00B6 DB05 IN A,(5)
\ 00B8 210000 LD HL,0
\ 00BB 39 ADD HL,SP
\ 00BC 77 LD (HL),A
108 InitDecoderSystem();
\ 00BD 3E00 LD A,BYTE3 InitDecoderSystem
\ 00BF 217100 LD HL,LWRD InitDecoderSystem
\ 00C2 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
109 //read var
110 read_var();
\ 00C5 3E00 LD A,BYTE3 read_var
\ 00C7 210000 LD HL,LWRD read_var
\ 00CA CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?