📄 main.lst
字号:
\ 00F3 110200 LD DE,?0011
\ 00F6 3E00 LD A,BYTE3 ResOpen
\ 00F8 210000 LD HL,LWRD ResOpen
\ 00FB CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 00FE 220000 LD (res_fp),HL
105 if(!res_fp)
\ 0101 7D LD A,L
\ 0102 B4 OR H
\ 0103 200F JR NZ,?0013
\ 0105 ?0012:
106 {
107 ResClose(res_fp);
\ 0105 EB EX DE,HL
\ 0106 3E00 LD A,BYTE3 ResClose
\ 0108 210000 LD HL,LWRD ResClose
\ 010B CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
108 return RESULT_MAIN;
\ 010E 210A00 LD HL,10
109 }
\ 0111 C35602 JP LWRD ?0035
\ 0114 ?0013:
110 //read var
111 read_var();
\ 0114 3E00 LD A,BYTE3 read_var
\ 0116 210000 LD HL,LWRD read_var
\ 0119 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
112 ActiveDriveOK = DRV_ActiveDrive('C', MODE_SLOW); //04-2-28 16:29
\ 011C 0E01 LD C,1
\ 011E 1E43 LD E,67
\ 0120 CD0000 CALL LWRD DRV_ActiveDrive
\ 0123 328F02 LD (ActiveDriveOK),A
113 if (!ActiveDriveOK)
\ 0126 B7 OR A
\ 0127 202C JR NZ,?0015
\ 0129 ?0014:
114 {
115 ui_show_msg (MREADERR, MREADERR, g_comval.langid); //temp ybfu
\ 0129 ED4B0D00 LD BC,(g_comval+12)
\ 012D 47 LD B,A
\ 012E C5 PUSH BC
\ 012F 01FC01 LD BC,508
\ 0132 59 LD E,C
\ 0133 50 LD D,B
\ 0134 3E00 LD A,BYTE3 ui_show_msg
\ 0136 210000 LD HL,LWRD ui_show_msg
\ 0139 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 013C F1 POP AF
\ 013D ?0017:
116 while( ap_get_message() != NULL );//清空消息池,确保DELAY时间准确
\ 013D CD0000 CALL LWRD ap_get_message
\ 0140 B7 OR A
\ 0141 20FA JR NZ,?0017
\ 0143 ?0018:
\ 0143 ?0016:
117 ap_sleep(4);
\ 0143 110400 LD DE,4
\ 0146 3E00 LD A,BYTE3 ap_sleep
\ 0148 210000 LD HL,LWRD ap_sleep
\ 014B CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
118 g_reader_vars.location.disk='H'; //磁盘出错 从卡上读文件 zxs add
\ 014E 3E48 LD A,72
\ 0150 322700 LD (g_reader_vars+6),A
119 }
120 else
\ 0153 1805 JR ?0019
\ 0155 ?0015:
121 g_DiskStateFlag |= SetDiskOKFlag_def;//标志 flash 已格式化
\ 0155 210000 LD HL,g_DiskStateFlag
\ 0158 CBFE SET 7,(HL)
\ 015A ?0019:
122
123 if (DRV_DetectUD(1) == 0x20)
\ 015A 1E01 LD E,1
\ 015C CD0000 CALL LWRD DRV_DetectUD
\ 015F FE20 CP 32
\ 0161 2049 JR NZ,?0021
\ 0163 ?0020:
124 { //有卡
125 DRV_ActiveUD(1,MODE_SLOW);
\ 0163 0E01 LD C,1
\ 0165 59 LD E,C
\ 0166 CD0000 CALL LWRD DRV_ActiveUD
126 if (!DRV_ActiveDrive('H', MODE_SLOW))
\ 0169 0E01 LD C,1
\ 016B 1E48 LD E,72
\ 016D CD0000 CALL LWRD DRV_ActiveDrive
\ 0170 B7 OR A
\ 0171 2032 JR NZ,?0023
\ 0173 ?0022:
127 {
128 ui_show_msg (CREADERR, CREADERR, g_comval.langid); //temp ybfu
\ 0173 ED4B0D00 LD BC,(g_comval+12)
\ 0177 47 LD B,A
\ 0178 C5 PUSH BC
\ 0179 017602 LD BC,630
\ 017C 59 LD E,C
\ 017D 50 LD D,B
\ 017E 3E00 LD A,BYTE3 ui_show_msg
\ 0180 210000 LD HL,LWRD ui_show_msg
\ 0183 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0186 F1 POP AF
\ 0187 ?0025:
129 while( ap_get_message() != NULL ); //清空消息池,确保DELAY时间准确
\ 0187 CD0000 CALL LWRD ap_get_message
\ 018A B7 OR A
\ 018B 20FA JR NZ,?0025
\ 018D ?0026:
\ 018D ?0024:
130 ap_sleep(4);
\ 018D 110400 LD DE,4
\ 0190 3E00 LD A,BYTE3 ap_sleep
\ 0192 210000 LD HL,LWRD ap_sleep
\ 0195 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
131 g_reader_vars.location.disk='C'; //卡出错从Flash磁盘读文件
\ 0198 3E43 LD A,67
\ 019A 322700 LD (g_reader_vars+6),A
132 if (!ActiveDriveOK)
\ 019D 3A8F02 LD A,(ActiveDriveOK)
\ 01A0 B7 OR A
\ 01A1 2026 JR NZ,?0032
\ 01A3 ?0027:
133 {
134 ResClose(res_fp);
\ 01A3 1812 JR ?0037
135 return 0;
136 }
\ 01A5 ?0028:
137 }
138 else
\ 01A5 ?0023:
139 g_DiskStateFlag |= SetCardOKFlag_def;//标志 card 已格式化
\ 01A5 210000 LD HL,g_DiskStateFlag
\ 01A8 CBDE SET 3,(HL)
\ 01AA ?0029:
140 }
141 else
\ 01AA 181D JR ?0032
\ 01AC ?0021:
142 { //没卡
143 g_reader_vars.location.disk='C'; //卡出错从Flash磁盘读文件
\ 01AC 3E43 LD A,67
\ 01AE 322700 LD (g_reader_vars+6),A
144 if (!ActiveDriveOK)
\ 01B1 3A8F02 LD A,(ActiveDriveOK)
\ 01B4 B7 OR A
\ 01B5 2012 JR NZ,?0032
\ 01B7 ?0031:
145 {
146 ResClose(res_fp);
\ 01B7 ?0037:
\ 01B7 ED5B0000 LD DE,(res_fp)
\ 01BB 3E00 LD A,BYTE3 ResClose
\ 01BD 210000 LD HL,LWRD ResClose
\ 01C0 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
147 return 0;
\ 01C3 210000 LD HL,0
148 }
\ 01C6 C35602 JP LWRD ?0035
\ 01C9 ?0032:
\ 01C9 ?0030:
149 }
150
151 SetPenColor(Color_BLACK_def);
\ 01C9 010000 LD BC,0
\ 01CC 59 LD E,C
\ 01CD 50 LD D,B
\ 01CE CD0000 CALL LWRD SetPenColor
152 SetBackgdColor(Color_MENU_def);
\ 01D1 010000 LD BC,0
\ 01D4 11FFFF LD DE,65535
\ 01D7 CD0000 CALL LWRD SetBackgdColor
153 //show initializing...
154 ClearScreen(NULL);
\ 01DA 110000 LD DE,0
\ 01DD CD0000 CALL LWRD ClearScreen
155 ResShowMultiString(WAITPASS, g_comval.langid, 255, 58);
\ 01E0 0E3A LD C,58
\ 01E2 C5 PUSH BC
\ 01E3 0EFF LD C,255
\ 01E5 C5 PUSH BC
\ 01E6 ED4B0D00 LD BC,(g_comval+12)
\ 01EA 115802 LD DE,600
\ 01ED 3E00 LD A,BYTE3 ResShowMultiString
\ 01EF 210000 LD HL,LWRD ResShowMultiString
\ 01F2 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 01F5 F1 POP AF
\ 01F6 F1 POP AF
156 result = InitFileSelector();
\ 01F7 3E00 LD A,BYTE3 InitFileSelector
\ 01F9 210000 LD HL,LWRD InitFileSelector
\ 01FC CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 01FF E5 PUSH HL
\ 0200 DDE1 POP IX
157 if(result!=0)
\ 0202 7D LD A,L
\ 0203 B4 OR H
\ 0204 280B JR Z,?0034
\ 0206 ?0033:
158 {
159 result=show_stop();
\ 0206 3E00 LD A,BYTE3 show_stop
\ 0208 210000 LD HL,LWRD show_stop
\ 020B CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 020E E5 PUSH HL
\ 020F DDE1 POP IX
\ 0211 ?0034:
160 }
161
162 ap_sleep(4);
\ 0211 110400 LD DE,4
\ 0214 3E00 LD A,BYTE3 ap_sleep
\ 0216 210000 LD HL,LWRD ap_sleep
\ 0219 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
163 output8(0x4e,input8(0x4e)|0x8);
\ 021C DB4E IN A,(78)
\ 021E CBDF SET 3,A
\ 0220 D34E OUT (78),A
164 ResClose(res_fp);
\ 0222 ED5B0000 LD DE,(res_fp)
\ 0226 3E00 LD A,BYTE3 ResClose
\ 0228 210000 LD HL,LWRD ResClose
\ 022B CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
165 fselGetLocation(& g_reader_vars.location);
\ 022E 112700 LD DE,g_reader_vars+6
\ 0231 3E00 LD A,BYTE3 fselGetLocation
\ 0233 210000 LD HL,LWRD fselGetLocation
\ 0236 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
166 VMWrite(&g_reader_vars, VM_AP_READER); //保存前512字节
\ 0239 010044 LD BC,17408
\ 023C 112100 LD DE,g_reader_vars
\ 023F CD0000 CALL LWRD VMWrite
167
168 val_p= (char *)&g_reader_vars;
\ 0242 212100 LD HL,g_reader_vars
\ 0245 228D02 LD (val_p),HL
169
170 VMWrite(val_p+512, VM_AP_READER1); //保存后512字节
\ 0248 010046 LD BC,17920
\ 024B 3E02 LD A,2
\ 024D 84 ADD A,H
\ 024E 67 LD H,A
\ 024F EB EX DE,HL
\ 0250 CD0000 CALL LWRD VMWrite
171 return result;
\ 0253 DDE5 PUSH IX
\ 0255 E1 POP HL
172 }
\ 0256 ?0035:
\ 0256 F1 POP AF
\ 0257 DDE1 POP IX
\ 0259 C1 POP BC
\ 025A 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_menu_active:
\ 0001 DEFS 1
\ 0001 g_comval:
\ 0021 DEFS 32
\ 0021 g_reader_vars:
\ 028D DEFS 620
\ 028D val_p:
\ 028F DEFS 2
\ 028F ActiveDriveOK:
\ 0290 DEFS 1
\ 0000 RSEG IDATA0
\ 0000 g_DiskStateFlag:
\ 0001 DEFS 1
\ 0001 g_from_browser:
\ 0002 DEFS 1
\ 0000 RSEG CDATA0
\ 0000 00 DEFB 0
\ 0001 00 DEFB 0
\ 0002 END
Errors: none
Warnings: none
Code size: 605
Constant size: 13
Static variable size: Data(658) Iram(0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -