📄 main.lst
字号:
226 break;
\ 01C1 18FE JR ?0054
\ 01C3 ?0055:
\ 01C3 ?0060:
227 case 16:
228 case 17: //捷克 波兰
229 if(!DRV_Install("UI_6B33B.DRV",1)) while(1) {;}
\ 01C3 010100 LD BC,1
\ 01C6 114C00 LD DE,?0063
\ 01C9 CD0000 CALL LWRD DRV_Install
\ 01CC B7 OR A
\ 01CD 2048 JR NZ,?0032
\ 01CF ?0061:
\ 01CF ?0065:
230 break;
\ 01CF 18FE JR ?0061
\ 01D1 ?0062:
\ 01D1 ?0067:
231 case 13: //俄文
232 if(!DRV_Install("UI_6B33R.DRV",1)) while(1) {;}
\ 01D1 010100 LD BC,1
\ 01D4 115900 LD DE,?0070
\ 01D7 CD0000 CALL LWRD DRV_Install
\ 01DA B7 OR A
\ 01DB 203A JR NZ,?0032
\ 01DD ?0068:
\ 01DD ?0072:
233 break;
\ 01DD 18FE JR ?0068
\ 01DF ?0069:
\ 01DF ?0074:
234 case 14: //泰文
235 if(!DRV_Install("UI_6B33H.DRV",1)) while(1) {;}
\ 01DF 010100 LD BC,1
\ 01E2 116600 LD DE,?0077
\ 01E5 CD0000 CALL LWRD DRV_Install
\ 01E8 B7 OR A
\ 01E9 202C JR NZ,?0032
\ 01EB ?0075:
\ 01EB ?0079:
236 break;
\ 01EB 18FE JR ?0075
\ 01ED ?0076:
\ 01ED ?0081:
237 case 15: //希伯来文
238 if(!DRV_Install("UI_6B33X.DRV",1)) while(1) {;}
\ 01ED 010100 LD BC,1
\ 01F0 117300 LD DE,?0084
\ 01F3 CD0000 CALL LWRD DRV_Install
\ 01F6 B7 OR A
\ 01F7 201E JR NZ,?0032
\ 01F9 ?0082:
\ 01F9 ?0086:
239 break;
\ 01F9 18FE JR ?0082
\ 01FB ?0083:
\ 01FB ?0088:
240 case LAN_ID_ENGLISH: //1
241 if(!DRV_Install("UI_6B33L.DRV",1)) while(1) {;}
\ 01FB 010100 LD BC,1
\ 01FE 118000 LD DE,?0091
\ 0201 CD0000 CALL LWRD DRV_Install
\ 0204 B7 OR A
\ 0205 2010 JR NZ,?0032
\ 0207 ?0089:
\ 0207 ?0093:
242 break;
\ 0207 18FE JR ?0089
\ 0209 ?0090:
\ 0209 ?0095:
243 default: // 拉丁
244 if(!DRV_Install("UI_6B33L.DRV",1)) while(1) {;}
\ 0209 010100 LD BC,1
\ 020C 118000 LD DE,?0091
\ 020F CD0000 CALL LWRD DRV_Install
\ 0212 B7 OR A
\ 0213 2002 JR NZ,?0032
\ 0215 ?0096:
\ 0215 ?0099:
245 break;
\ 0215 18FE JR ?0096
\ 0217 ?0097:
\ 0217 ?0032:
246 }
247 /*
248 SetBackgdColor(Color_BLACK_def);
249 SetPenColor(Color_WHITE_def);
250 ClearScreen(NULL);
251 */
252
253 StandbyScreen(TRUE);
\ 0217 1E01 LD E,1
\ 0219 CD0000 CALL LWRD StandbyScreen
254 //TODO: support other language
255
256 //初始化资源文件
257 res_fp = ResOpen("ui30.res");
\ 021C 118D00 LD DE,?0101
\ 021F 3E00 LD A,BYTE3 ResOpen
\ 0221 210000 LD HL,LWRD ResOpen
\ 0224 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0227 220000 LD (res_fp),HL
258 ASSERT( res_fp != NULL);
259
260 ///-SetTextOutMode(1); //设字体透明 1;
261 SetPenColor(Color_BLACK_def);
\ 022A 010000 LD BC,0
\ 022D 59 LD E,C
\ 022E 50 LD D,B
\ 022F CD0000 CALL LWRD SetPenColor
262 SetBackgdColor(Color_MENU_def);
\ 0232 010000 LD BC,0
\ 0235 11FFFF LD DE,65535
\ 0238 CD0000 CALL LWRD SetBackgdColor
263 SetAsciiFont(FONT_TYPE_LARGE);
\ 023B 1E04 LD E,4
\ 023D CD0000 CALL LWRD SetAsciiFont
264
265 result = NULL;//RESULT_MAIN;
\ 0240 FD210000 LD IY,0
\ 0244 ?0103:
266
267 //clear the message pool
268 while(GetSysMsg() != Msg_KeyNull) {;}
\ 0244 CD0000 CALL LWRD GetSysMsg
\ 0247 B7 OR A
\ 0248 20FA JR NZ,?0103
\ 024A ?0104:
\ 024A ?0102:
269
270 //show logo 1s
271 //ResShowLogo(BOOTLOGO);
272 //ap_sleep(2);
273 draw_logo(FALSE);
\ 024A 5F LD E,A
\ 024B 3E00 LD A,BYTE3 draw_logo
\ 024D 210000 LD HL,LWRD draw_logo
\ 0250 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
274
275 #ifdef MAIN_DEBUG
276 test();
277 #endif /* MAIN_DEBUG*/
278
279 IsUDisk = g_comval.Onlinedev;
280 //check if usb plugin
281 if(GetUsbCableStatus())
\ 0253 CD0000 CALL LWRD GetUsbCableStatus
\ 0256 B7 OR A
\ 0257 2804 JR Z,?0106
\ 0259 ?0105:
282 {
283 result = RESULT_UDISK; //or RESULT_PDDRM
\ 0259 FD210400 LD IY,4
\ 025D ?0106:
284 }
285
286 //check if fm exists, 0表示有fm, 比较奇怪
287 with_fm = !g_comval.FMBuildInFlag;
\ 025D 3A1000 LD A,(g_comval+16)
\ 0260 B7 OR A
\ 0261 2004 JR NZ,?0308
\ 0263 3E01 LD A,1
\ 0265 1801 JR ?0309
\ 0267 ?0308:
\ 0267 AF XOR A
\ 0268 ?0309:
\ 0268 DD77F2 LD (IX-14),A
288 if(with_fm) item_count = MAIN_ITEMCOUNT;
\ 026B B7 OR A
\ 026C 2806 JR Z,?0108
\ 026E ?0107:
\ 026E DD36EF08 LD (IX-17),8
\ 0272 1804 JR ?0109
\ 0274 ?0108:
289 else item_count = MAIN_ITEMCOUNT-1;
\ 0274 DD36EF07 LD (IX-17),7
\ 0278 ?0109:
290 //result=RESULT_VIEW; //zxs for test
291 SetBackgdColor(Color_BLACK_def);
\ 0278 010000 LD BC,0
\ 027B 59 LD E,C
\ 027C 50 LD D,B
\ 027D CD0000 CALL LWRD SetBackgdColor
292 ClearScreen(NULL);
\ 0280 110000 LD DE,0
\ 0283 CD0000 CALL LWRD ClearScreen
293 SetBackgdColor(Color_MENU_def);
\ 0286 010000 LD BC,0
\ 0289 11FFFF LD DE,65535
\ 028C CD0000 CALL LWRD SetBackgdColor
294
295 output8(0x70, input8(0x70)&0xbf|0xb8); //mcu pll enable & 48mhz
\ 028F DB70 IN A,(112)
\ 0291 CBB7 RES 6,A
\ 0293 F6B8 OR 184
\ 0295 D370 OUT (112),A
296 delay1();
\ 0297 CD030A CALL LWRD ?0362
297 output8(0x00, input8(0x00)&0xef|0x20); //select mcu pll
298 delay1();
\ 029A CDFB09 CALL LWRD ?0363
299
300 if(with_fm)
\ 029D AF XOR A
\ 029E DDB6F2 OR (IX-14)
\ 02A1 2809 JR Z,?0111
\ 02A3 ?0110:
301 {
302 output8(0x00, 0x10); //mcu跑回24m
\ 02A3 3E10 LD A,16
303 delay1();
\ 02A5 CD010A CALL LWRD ?0364
304
305 result = RESULT_RADIO1;
\ 02A8 FD21CB00 LD IY,203
\ 02AC ?0111:
\ 02AC ?0113:
306 }
307
308 while(1)
309 {
310 tregion.x = 3;
\ 02AC DD36F703 LD (IX-9),3
311 tregion.y = 19;
\ 02B0 DD36F813 LD (IX-8),19
312 tregion.width = 160;
\ 02B4 DD36F9A0 LD (IX-7),160
313 tregion.height = 157;
\ 02B8 DD36FA9D LD (IX-6),157
314
315 SetBackgdColor(Color_MENU_def);
\ 02BC 010000 LD BC,0
\ 02BF 11FFFF LD DE,65535
\ 02C2 CD0000 CALL LWRD SetBackgdColor
316 output8(0x4e,input8(0x4e) | 0x38);
\ 02C5 DB4E IN A,(78)
\ 02C7 F638 OR 56
\ 02C9 D34E OUT (78),A
317 //check if ap_main.ap started with param
318 if(result == RESULT_NULL || result == RESULT_MAIN)
\ 02CB FDE5 PUSH IY
\ 02CD E1 POP HL
\ 02CE 7D LD A,L
\ 02CF B4 OR H
\ 02D0 2807 JR Z,?0117
\ 02D2 3E0A LD A,10
\ 02D4 AD XOR L
\ 02D5 B4 OR H
\ 02D6 C2AA06 JP NZ,?0116
\ 02D9 ?0117:
\ 02D9 ?0118:
\ 02D9 ?0115:
319 {
320 result_bak = RESULT_NULL;
\ 02D9 AF XOR A
\ 02DA DD77EA LD (IX-22),A
\ 02DD DD77EB LD (IX-21),A
321 if(result == RESULT_FIRST_BOOT)
\ 02E0 3E0B LD A,11
\ 02E2 AD XOR L
\ 02E3 B4 OR H
\ 02E4 2008 JR NZ,?0120
\ 02E6 ?0119:
322 {
323 result = RESULT_MAIN;
324 need_draw=TRUE;
\ 02E6 FD210A00 LD IY,10
\ 02EA DD36EC01 LD (IX-20),1
\ 02EE ?0120:
325 }
326 if(need_draw_all)
\ 02EE AF XOR A
\ 02EF DDB6ED OR (IX-19)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -