main.lst
来自「炬力方案176*132软件源码,适用于AK1025」· LST 代码 · 共 569 行 · 第 1/2 页
LST
569 行
\ 00D4 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
113 return RESULT_MAIN;
\ 00D7 210A00 LD HL,10
114 }
\ 00DA C33302 JP LWRD ?0034
\ 00DD ?0013:
115 //GetDCStatus(&oldDC_sav);
116 SetPenColor(Color_BLACK_def);
\ 00DD 010000 LD BC,0
\ 00E0 59 LD E,C
\ 00E1 50 LD D,B
\ 00E2 CD0000 CALL LWRD SetPenColor
117 SetBackgdColor(Color_MENU_def);
\ 00E5 010000 LD BC,0
\ 00E8 11FFFF LD DE,65535
\ 00EB CD0000 CALL LWRD SetBackgdColor
118 status=input8(0x05);
\ 00EE DB05 IN A,(5)
\ 00F0 210000 LD HL,0
\ 00F3 39 ADD HL,SP
\ 00F4 77 LD (HL),A
119 InitDecoderSystem();
\ 00F5 3E00 LD A,BYTE3 InitDecoderSystem
\ 00F7 21A000 LD HL,LWRD InitDecoderSystem
\ 00FA CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
120 //read var
121 read_var();
\ 00FD 3E00 LD A,BYTE3 read_var
\ 00FF 210000 LD HL,LWRD read_var
\ 0102 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
122
123 ActiveDriveOK = DRV_ActiveDrive('C', MODE_SLOW); //04-2-28 16:29
\ 0105 0E01 LD C,1
\ 0107 1E43 LD E,67
\ 0109 CD0000 CALL LWRD DRV_ActiveDrive
\ 010C 325100 LD (ActiveDriveOK),A
124 if (!ActiveDriveOK)
\ 010F B7 OR A
\ 0110 202A JR NZ,?0015
\ 0112 ?0014:
125 {
126 ui_show_msg (MREADERR, MREADERR, g_comval.langid); //temp ybfu
\ 0112 ED4B0C00 LD BC,(g_comval+12)
\ 0116 47 LD B,A
\ 0117 C5 PUSH BC
\ 0118 01FC01 LD BC,508
\ 011B 59 LD E,C
\ 011C 50 LD D,B
\ 011D 3E00 LD A,BYTE3 ui_show_msg
\ 011F 210000 LD HL,LWRD ui_show_msg
\ 0122 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0125 F1 POP AF
\ 0126 ?0017:
127 while( ap_get_message() != NULL );//清空消息池,确保DELAY时间准确
\ 0126 CD0000 CALL LWRD ap_get_message
\ 0129 B7 OR A
\ 012A 20FA JR NZ,?0017
\ 012C ?0018:
\ 012C ?0016:
128 ap_sleep(4);
\ 012C 110400 LD DE,4
\ 012F 3E00 LD A,BYTE3 ap_sleep
\ 0131 210000 LD HL,LWRD ap_sleep
\ 0134 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
129 g_viewpic_vars.location.disk='H'; //磁盘出错 从卡上读文件 zxs add
\ 0137 3E48 LD A,72
\ 0139 322400 LD (g_viewpic_vars+4),A
\ 013C ?0015:
130
131 }
132 g_DiskStateFlag |= SetDiskOKFlag_def;//标志 flash 已格式化
\ 013C 210100 LD HL,g_DiskStateFlag
\ 013F CBFE SET 7,(HL)
133
134 if (DRV_DetectUD(1) == 0x20)
\ 0141 1E01 LD E,1
\ 0143 CD0000 CALL LWRD DRV_DetectUD
\ 0146 FE20 CP 32
\ 0148 2049 JR NZ,?0020
\ 014A ?0019:
135 { //有卡
136 DRV_ActiveUD(1,MODE_SLOW);
\ 014A 0E01 LD C,1
\ 014C 59 LD E,C
\ 014D CD0000 CALL LWRD DRV_ActiveUD
137 if (!DRV_ActiveDrive('H', MODE_SLOW))
\ 0150 0E01 LD C,1
\ 0152 1E48 LD E,72
\ 0154 CD0000 CALL LWRD DRV_ActiveDrive
\ 0157 B7 OR A
\ 0158 2032 JR NZ,?0022
\ 015A ?0021:
138 {
139 ui_show_msg (CREADERR, CREADERR, g_comval.langid); //temp ybfu
\ 015A ED4B0C00 LD BC,(g_comval+12)
\ 015E 47 LD B,A
\ 015F C5 PUSH BC
\ 0160 017602 LD BC,630
\ 0163 59 LD E,C
\ 0164 50 LD D,B
\ 0165 3E00 LD A,BYTE3 ui_show_msg
\ 0167 210000 LD HL,LWRD ui_show_msg
\ 016A CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 016D F1 POP AF
\ 016E ?0024:
140 while( ap_get_message() != NULL ); //清空消息池,确保DELAY时间准确
\ 016E CD0000 CALL LWRD ap_get_message
\ 0171 B7 OR A
\ 0172 20FA JR NZ,?0024
\ 0174 ?0025:
\ 0174 ?0023:
141 ap_sleep(4);
\ 0174 110400 LD DE,4
\ 0177 3E00 LD A,BYTE3 ap_sleep
\ 0179 210000 LD HL,LWRD ap_sleep
\ 017C CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
142 g_viewpic_vars.location.disk='C'; //卡出错从Flash磁盘读文件
\ 017F 3E43 LD A,67
\ 0181 322400 LD (g_viewpic_vars+4),A
143 if (!ActiveDriveOK)
\ 0184 3A5100 LD A,(ActiveDriveOK)
\ 0187 B7 OR A
\ 0188 2026 JR NZ,?0031
\ 018A ?0026:
144 {
145 ResClose(res_fp);
\ 018A 1812 JR ?0036
146 return 0;
147 }
\ 018C ?0027:
148 }
149 else
\ 018C ?0022:
150 g_DiskStateFlag |= SetCardOKFlag_def;//标志 卡 已格式化
\ 018C 210100 LD HL,g_DiskStateFlag
\ 018F CBDE SET 3,(HL)
\ 0191 ?0028:
151 }
152 else
\ 0191 181D JR ?0031
\ 0193 ?0020:
153 { //没卡
154 g_viewpic_vars.location.disk='C'; //卡出错从Flash磁盘读文件
\ 0193 3E43 LD A,67
\ 0195 322400 LD (g_viewpic_vars+4),A
155 if (!ActiveDriveOK)
\ 0198 3A5100 LD A,(ActiveDriveOK)
\ 019B B7 OR A
\ 019C 2012 JR NZ,?0031
\ 019E ?0030:
156 {
157 ResClose(res_fp);
\ 019E ?0036:
\ 019E ED5B0000 LD DE,(res_fp)
\ 01A2 3E00 LD A,BYTE3 ResClose
\ 01A4 210000 LD HL,LWRD ResClose
\ 01A7 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
158 return 0;
\ 01AA 210000 LD HL,0
159 }
\ 01AD C33302 JP LWRD ?0034
\ 01B0 ?0031:
\ 01B0 ?0029:
160 }
161 SetPenColor(Color_BLACK_def);
\ 01B0 010000 LD BC,0
\ 01B3 59 LD E,C
\ 01B4 50 LD D,B
\ 01B5 CD0000 CALL LWRD SetPenColor
162 SetBackgdColor(Color_MENU_def);
\ 01B8 010000 LD BC,0
\ 01BB 11FFFF LD DE,65535
\ 01BE CD0000 CALL LWRD SetBackgdColor
163 //show initializing...
164 ClearScreen(NULL);
\ 01C1 110000 LD DE,0
\ 01C4 CD0000 CALL LWRD ClearScreen
165 ResShowMultiString(WAITPASS, g_comval.langid, 255, 58);
\ 01C7 0E3A LD C,58
\ 01C9 C5 PUSH BC
\ 01CA 0EFF LD C,255
\ 01CC C5 PUSH BC
\ 01CD ED4B0C00 LD BC,(g_comval+12)
\ 01D1 115802 LD DE,600
\ 01D4 3E00 LD A,BYTE3 ResShowMultiString
\ 01D6 210000 LD HL,LWRD ResShowMultiString
\ 01D9 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 01DC F1 POP AF
\ 01DD F1 POP AF
166 result = InitFileSelector();
\ 01DE 3E00 LD A,BYTE3 InitFileSelector
\ 01E0 210000 LD HL,LWRD InitFileSelector
\ 01E3 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 01E6 E5 PUSH HL
\ 01E7 DDE1 POP IX
167 if(result!=0)
\ 01E9 7D LD A,L
\ 01EA B4 OR H
\ 01EB 280B JR Z,?0033
\ 01ED ?0032:
168 {
169 result=show_stop();
\ 01ED 3E00 LD A,BYTE3 show_stop
\ 01EF 210000 LD HL,LWRD show_stop
\ 01F2 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 01F5 E5 PUSH HL
\ 01F6 DDE1 POP IX
\ 01F8 ?0033:
170 }
171
172 output8(0x05,status); //解决进U盘提示格式化的问题 zxs add
\ 01F8 210000 LD HL,0
\ 01FB 39 ADD HL,SP
\ 01FC 7E LD A,(HL)
\ 01FD D305 OUT (5),A
173 ap_sleep(4);
\ 01FF 110400 LD DE,4
\ 0202 3E00 LD A,BYTE3 ap_sleep
\ 0204 210000 LD HL,LWRD ap_sleep
\ 0207 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
174 output8(0x4e,input8(0x4e)|0x8) ; //modified by jmzhang
\ 020A DB4E IN A,(78)
\ 020C CBDF SET 3,A
\ 020E D34E OUT (78),A
175 ResClose(res_fp);
\ 0210 ED5B0000 LD DE,(res_fp)
\ 0214 3E00 LD A,BYTE3 ResClose
\ 0216 210000 LD HL,LWRD ResClose
\ 0219 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
176 fselGetLocation(& g_viewpic_vars.location);
\ 021C 112400 LD DE,g_viewpic_vars+4
\ 021F 3E00 LD A,BYTE3 fselGetLocation
\ 0221 210000 LD HL,LWRD fselGetLocation
\ 0224 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
177 VMWrite(&g_viewpic_vars, VM_AP_View);
\ 0227 010040 LD BC,16384
\ 022A 112000 LD DE,g_viewpic_vars
\ 022D CD0000 CALL LWRD VMWrite
178 return result;
\ 0230 DDE5 PUSH IX
\ 0232 E1 POP HL
179 }
\ 0233 ?0034:
\ 0233 F1 POP AF
\ 0234 F1 POP AF
\ 0235 DDE1 POP IX
\ 0237 C1 POP BC
\ 0238 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0000 RSEG CSTR
\ 0000 ?0006:
\ 0000 3A DEFB ':'
\ 0001 00 DEFB 0
\ 0002 ?0011:
\ 0002 75693330 DEFB 'ui30.res'
\ 0006 2E726573
\ 000A 00 DEFB 0
\ 0000 RSEG UDATA0
\ 0000 g_comval:
\ 0020 DEFS 32
\ 0020 g_viewpic_vars:
\ 004F DEFS 47
\ 004F test:
\ 0050 DEFS 1
\ 0050 g_menu_active:
\ 0051 DEFS 1
\ 0051 ActiveDriveOK:
\ 0052 DEFS 1
\ 0000 RSEG IDATA0
\ 0000 g_from_browser:
\ 0001 DEFS 1
\ 0001 g_DiskStateFlag:
\ 0002 DEFS 1
\ 0000 RSEG CDATA0
\ 0000 00 DEFB 0
\ 0001 00 DEFB 0
\ 0002 END
Errors: none
Warnings: none
Code size: 571
Constant size: 13
Static variable size: Data(84) Iram(0)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?