📄 main.lst
字号:
144 void delay1(void)
145 {
\ 006D C5 PUSH BC
\ 006E D5 PUSH DE
\ 006F DDE5 PUSH IX
146 int i,j=0;
147 for(i=0;i<1000;i++) {;}
\ 0071 110000 LD DE,0
\ 0074 ?0005:
\ 0074 01E883 LD BC,33768
\ 0077 6B LD L,E
\ 0078 62 LD H,D
\ 0079 3E80 LD A,128
\ 007B AC XOR H
\ 007C 67 LD H,A
\ 007D ED42 SBC HL,BC
\ 007F 3003 JR NC,?0004
\ 0081 ?0006:
\ 0081 13 INC DE
\ 0082 18F0 JR ?0005
\ 0084 ?0004:
148 j++;
149 }
\ 0084 DDE1 POP IX
\ 0086 D1 POP DE
\ 0087 C1 POP BC
\ 0088 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 008B main:
150 /*
151 ********************************************************************************
152 * Description : 主函数
153 *
154 * Arguments :
155 *
156 * Returns : 结果消息或0
157 *
158 * Notes :
159 *
160 ********************************************************************************
161 */
162 int main(int param)
163 {
\ 008B DDE5 PUSH IX
\ 008D DD210000 LD IX,0
\ 0091 DD39 ADD IX,SP
\ 0093 D5 PUSH DE
\ 0094 21E0FF LD HL,65504
\ 0097 39 ADD HL,SP
\ 0098 F9 LD SP,HL
164 char *IRQCounter=(char *)(0x37);
\ 0099 DD36DE37 LD (IX-34),55
\ 009D DD36DF00 LD (IX-33),0
165 int active=0,old_active=0; //当前活动的项目
166 int i;
167 char key;
168 char IsUDisk=0;
169 ///- char UdiskFlag=0;
170 int result;
171 int result_bak=0; //关机时把上次执行的ap记在此
172 BOOL need_draw=TRUE;
173 BOOL need_draw_all=TRUE;
174 BOOL value_changed=FALSE;
175 BYTE item_count,n,cur_group; //主界面有几个项目
176 BOOL with_fm; //存在fm模块
177 BOOL FlashFlag=TRUE;
178 int counter;
179 BYTE REG_8_BAK;
180 region_t tregion; //Jerry Xie Add for test
181
182 output8(0x4e,input8(0x4e) | 0x08);
\ 00A1 DB4E IN A,(78)
\ 00A3 CBDF SET 3,A
\ 00A5 D34E OUT (78),A
183 output8(0x3c,((input8(0x3c)&0xf8) | 0x03));
\ 00A7 DB3C IN A,(60)
\ 00A9 E6F8 AND 248
\ 00AB F603 OR 3
\ 00AD D33C OUT (60),A
184
185 output8(0x4f,0x43); //VCC set to 3.0V, VDD set to 1.8V first step
\ 00AF 3E43 LD A,67
\ 00B1 D34F OUT (79),A
186 for (counter=0; counter<0x80; counter++){;}
\ 00B3 AF XOR A
\ 00B4 DD77E0 LD (IX-32),A
\ 00B7 DD77E1 LD (IX-31),A
\ 00BA DD77E2 LD (IX-30),A
\ 00BD DD77E3 LD (IX-29),A
\ 00C0 DD77EA LD (IX-22),A
\ 00C3 DD77EB LD (IX-21),A
\ 00C6 DD36EC01 LD (IX-20),1
\ 00CA DD36ED01 LD (IX-19),1
\ 00CE DD77EE LD (IX-18),A
\ 00D1 DD77F4 LD (IX-12),A
\ 00D4 DD77F5 LD (IX-11),A
\ 00D7 ?0009:
\ 00D7 018080 LD BC,32896
\ 00DA DD6EF4 LD L,(IX-12)
\ 00DD DD66F5 LD H,(IX-11)
\ 00E0 78 LD A,B
\ 00E1 AC XOR H
\ 00E2 67 LD H,A
\ 00E3 ED42 SBC HL,BC
\ 00E5 300A JR NC,?0008
\ 00E7 ?0010:
\ 00E7 DD34F4 INC (IX-12)
\ 00EA 20EB JR NZ,?0009
\ 00EC DD34F5 INC (IX-11)
\ 00EF 18E6 JR ?0009
\ 00F1 ?0008:
187
188 //装显示驱动之前要把USB FIFO切给z80使用
189 output8(0x8c,input8(0x8c) | 0x10);
\ 00F1 DB8C IN A,(140)
\ 00F3 CBE7 SET 4,A
\ 00F5 D38C OUT (140),A
190
191 //安装驱动
192 if(!DRV_Install("UI_6B33S.DRV",0)) while(1) {;} //缺省简体
\ 00F7 010000 LD BC,0
\ 00FA 110000 LD DE,?0014
\ 00FD CD0000 CALL LWRD DRV_Install
\ 0100 B7 OR A
\ 0101 2002 JR NZ,?0013
\ 0103 ?0012:
\ 0103 ?0016:
\ 0103 18FE JR ?0012
\ 0105 ?0013:
193 if(!DRV_Install("ky_hard.drv",0)) while(1) {;}
\ 0105 010000 LD BC,0
\ 0108 110D00 LD DE,?0020
\ 010B CD0000 CALL LWRD DRV_Install
\ 010E B7 OR A
\ 010F 2002 JR NZ,?0019
\ 0111 ?0018:
\ 0111 ?0022:
\ 0111 18FE JR ?0018
\ 0113 ?0019:
194 if(!DRV_Install("vm_nanf.drv",0)) while(1) {;}
\ 0113 010000 LD BC,0
\ 0116 111900 LD DE,?0026
\ 0119 CD0000 CALL LWRD DRV_Install
\ 011C B7 OR A
\ 011D 2002 JR NZ,?0025
\ 011F ?0024:
\ 011F ?0028:
\ 011F 18FE JR ?0024
\ 0121 ?0025:
195
196 output8(REG4E_RTC_WATCH_DOG, input8(REG4E_RTC_WATCH_DOG) | 0x08);
\ 0121 DB4E IN A,(78)
\ 0123 CBDF SET 3,A
\ 0125 D34E OUT (78),A
197 *IRQCounter=0;
\ 0127 DD6EDE LD L,(IX-34)
\ 012A DD66DF LD H,(IX-33)
\ 012D 3600 LD (HL),0
198 enable_interrupt();
\ 012F FB EI
199
200 read_var();
\ 0130 3E00 LD A,BYTE3 read_var
\ 0132 210000 LD HL,LWRD read_var
\ 0135 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
201 if(SuppCardFlag) //支持卡
\ 0138 3A0000 LD A,(SuppCardFlag)
\ 013B B7 OR A
\ 013C 281E JR Z,?0031
\ 013E ?0030:
202 {
203 //////////////////////////// zxs add for card
204 output8(0xef,input8(0xef)&0xef); //b4 GPIO
\ 013E DBEF IN A,(239)
\ 0140 CBA7 RES 4,A
\ 0142 D3EF OUT (239),A
205 output8(0xf0,input8(0xf0)|0x10); //output enable
\ 0144 DBF0 IN A,(240)
\ 0146 CBE7 SET 4,A
\ 0148 D3F0 OUT (240),A
206 output8(0x2f,input8(0x2f)|0x04); //CE3 change to GIOA3
\ 014A DB2F IN A,(47)
\ 014C CBD7 SET 2,A
\ 014E D32F OUT (47),A
207 output8(0xee,input8(0xee)&0xf7);
\ 0150 DBEE IN A,(238)
\ 0152 CB9F RES 3,A
\ 0154 D3EE OUT (238),A
208 output8(0xf2,input8(0xf2)|0x10); // PowerOff
\ 0156 DBF2 IN A,(242)
\ 0158 CBE7 SET 4,A
\ 015A D3F2 OUT (242),A
\ 015C ?0031:
209 //////////////////////////// zxs add for card
210 }
211 REG_8_BAK=input8(0x8b);
\ 015C DB8B IN A,(139)
\ 015E DD77F6 LD (IX-10),A
212 //安装驱动
213 switch (g_comval.langid)
\ 0161 ED5B0C00 LD DE,(g_comval+12)
\ 0165 CD0000 CALL LWRD ?C_V_SWITCH_L06
\ 0168 0A00 DEFW 10
\ 016A 00 DEFB 0
\ 016B 01 DEFB 1
\ 016C 02 DEFB 2
\ 016D 03 DEFB 3
\ 016E 04 DEFB 4
\ 016F 0D DEFB 13
\ 0170 0E DEFB 14
\ 0171 0F DEFB 15
\ 0172 10 DEFB 16
\ 0173 11 DEFB 17
\ 0174 0902 DEFW ?0095
\ 0176 C301 DEFW ?0060
\ 0178 C301 DEFW ?0060
\ 017A ED01 DEFW ?0081
\ 017C DF01 DEFW ?0074
\ 017E D101 DEFW ?0067
\ 0180 B501 DEFW ?0053
\ 0182 A701 DEFW ?0046
\ 0184 9901 DEFW ?0039
\ 0186 FB01 DEFW ?0088
\ 0188 8A01 DEFW ?0033
\ 018A ?0033:
214 {
215 case 0:
216 if(!DRV_Install("UI_6B33S.DRV",1)) while(1) {;}
\ 018A 010100 LD BC,1
\ 018D 110000 LD DE,?0014
\ 0190 CD0000 CALL LWRD DRV_Install
\ 0193 B7 OR A
\ 0194 C21702 JP NZ,?0032
\ 0197 ?0034:
\ 0197 ?0037:
217 break;
\ 0197 18FE JR ?0034
\ 0199 ?0035:
\ 0199 ?0039:
218 case 2:
219 if(!DRV_Install("UI_6B33T.DRV",1)) while(1) {;}
\ 0199 010100 LD BC,1
\ 019C 112500 LD DE,?0042
\ 019F CD0000 CALL LWRD DRV_Install
\ 01A2 B7 OR A
\ 01A3 2072 JR NZ,?0032
\ 01A5 ?0040:
\ 01A5 ?0044:
220 break;
\ 01A5 18FE JR ?0040
\ 01A7 ?0041:
\ 01A7 ?0046:
221 case 3:
222 if(!DRV_Install("UI_6B33J.DRV",1)) while(1) {;}
\ 01A7 010100 LD BC,1
\ 01AA 113200 LD DE,?0049
\ 01AD CD0000 CALL LWRD DRV_Install
\ 01B0 B7 OR A
\ 01B1 2064 JR NZ,?0032
\ 01B3 ?0047:
\ 01B3 ?0051:
223 break;
\ 01B3 18FE JR ?0047
\ 01B5 ?0048:
\ 01B5 ?0053:
224 case 4:
225 if(!DRV_Install("UI_6B33K.DRV",1)) while(1) {;}
\ 01B5 010100 LD BC,1
\ 01B8 113F00 LD DE,?0056
\ 01BB CD0000 CALL LWRD DRV_Install
\ 01BE B7 OR A
\ 01BF 2056 JR NZ,?0032
\ 01C1 ?0054:
\ 01C1 ?0058:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -