📄 main.lst
字号:
\ 02F2 2804 JR Z,?0122
\ 02F4 ?0121:
327 {
328 // add your code
329 need_draw_all=FALSE;
\ 02F4 DD36ED00 LD (IX-19),0
\ 02F8 ?0122:
330 }
331 //show icons
332 if(need_draw)
\ 02F8 AF XOR A
\ 02F9 DDB6EC OR (IX-20)
\ 02FC CA7D04 JP Z,?0124
\ 02FF ?0123:
333 {
334 old_active=active;
335 cur_group = active / 6;
\ 02FF 010600 LD BC,6
\ 0302 DD5EE0 LD E,(IX-32)
\ 0305 DD56E1 LD D,(IX-31)
\ 0308 CD0000 CALL LWRD ?SS_DIV_L02
\ 030B DD73F1 LD (IX-15),E
336 n = cur_group*6;
\ 030E 7B LD A,E
\ 030F 87 ADD A,A
\ 0310 47 LD B,A
\ 0311 87 ADD A,A
\ 0312 80 ADD A,B
\ 0313 DD77F0 LD (IX-16),A
337
338 #ifdef __MENUMODE__
339 ResShowPic(MAINBAG1,0,0);
\ 0316 0E00 LD C,0
\ 0318 C5 PUSH BC
\ 0319 11A200 LD DE,162
\ 031C CD3A0A CALL LWRD ?0367
\ 031F F1 POP AF
340 #else
341 ResShowPic(MAINBAG,0,0);
342 #endif
343 ui_show_batt( GetBattery(), g_comval.BatteryType,0);
\ 0320 0E00 LD C,0
\ 0322 C5 PUSH BC
\ 0323 ED4B0F00 LD BC,(g_comval+15)
\ 0327 CD0000 CALL LWRD GetBattery
\ 032A 5F LD E,A
\ 032B 1600 LD D,0
\ 032D 3E00 LD A,BYTE3 ui_show_batt
\ 032F 210000 LD HL,LWRD ui_show_batt
\ 0332 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0335 E1 POP HL
344
345 for(i=0; i<6; i++)
\ 0336 DD6EE0 LD L,(IX-32)
\ 0339 DD66E1 LD H,(IX-31)
\ 033C DD75E2 LD (IX-30),L
\ 033F DD74E3 LD (IX-29),H
\ 0342 AF XOR A
\ 0343 DD77E4 LD (IX-28),A
\ 0346 DD77E5 LD (IX-27),A
\ 0349 ?0126:
\ 0349 010680 LD BC,32774
\ 034C DD6EE4 LD L,(IX-28)
\ 034F DD66E5 LD H,(IX-27)
\ 0352 78 LD A,B
\ 0353 AC XOR H
\ 0354 67 LD H,A
\ 0355 ED42 SBC HL,BC
\ 0357 D27904 JP NC,?0125
\ 035A ?0127:
346 {
347 if(n+i >= item_count) break; //处理不足6个的情况
\ 035A DD4EEF LD C,(IX-17)
\ 035D 0600 LD B,0
\ 035F 50 LD D,B
\ 0360 DD5EF0 LD E,(IX-16)
\ 0363 DD6EE4 LD L,(IX-28)
\ 0366 DD66E5 LD H,(IX-27)
\ 0369 19 ADD HL,DE
\ 036A F680 OR 128
\ 036C ED42 SBC HL,BC
\ 036E E27203 JP PO,?0311
\ 0371 AC XOR H
\ 0372 ?0311:
\ 0372 F27904 JP P,?0125
\ 0375 ?0129:
\ 0375 ?0130:
348 if(n+i==active)
\ 0375 4B LD C,E
\ 0376 DD6EE4 LD L,(IX-28)
\ 0379 DD66E5 LD H,(IX-27)
\ 037C 09 ADD HL,BC
\ 037D DD4EE0 LD C,(IX-32)
\ 0380 DD46E1 LD B,(IX-31)
\ 0383 A7 AND A
\ 0384 ED42 SBC HL,BC
\ 0386 2073 JR NZ,?0132
\ 0388 ?0131:
349 {
350 ResShowPic(MENUBCK, 0, menu_pos[i]-1);
\ 0388 210A00 LD HL,menu_pos
\ 038B DD4EE4 LD C,(IX-28)
\ 038E DD46E5 LD B,(IX-27)
\ 0391 09 ADD HL,BC
\ 0392 7E LD A,(HL)
\ 0393 C6FF ADD A,255
\ 0395 5F LD E,A
\ 0396 D5 PUSH DE
\ 0397 4A LD C,D
\ 0398 1EB4 LD E,180
\ 039A CD3A0A CALL LWRD ?0367
\ 039D F1 POP AF
351 ResShowPic(MENUARR1, 163, menu_pos[i]-1);
\ 039E 210A00 LD HL,menu_pos
\ 03A1 DD4EE4 LD C,(IX-28)
\ 03A4 DD46E5 LD B,(IX-27)
\ 03A7 09 ADD HL,BC
\ 03A8 7E LD A,(HL)
\ 03A9 C6FF ADD A,255
\ 03AB 4F LD C,A
\ 03AC C5 PUSH BC
\ 03AD CD350A CALL LWRD ?0368
\ 03B0 F1 POP AF
352
353 SetPenColor(Color_WHITE_def);
\ 03B1 CD1D0A CALL LWRD ?0366
354 SetBackgdColor(0x00003358);
355 TextOutRect(&tregion ,1);
\ 03B4 39 ADD HL,SP
\ 03B5 EB EX DE,HL
\ 03B6 CD0000 CALL LWRD TextOutRect
356 if(with_fm)
\ 03B9 AF XOR A
\ 03BA DDB6F2 OR (IX-14)
\ 03BD 210A00 LD HL,menu_pos
\ 03C0 DD4EE4 LD C,(IX-28)
\ 03C3 DD46E5 LD B,(IX-27)
\ 03C6 09 ADD HL,BC
\ 03C7 4E LD C,(HL)
\ 03C8 C5 PUSH BC
\ 03C9 0E03 LD C,3
\ 03CB C5 PUSH BC
\ 03CC ED4B0C00 LD BC,(g_comval+12)
\ 03D0 DD6EE0 LD L,(IX-32)
\ 03D3 DD66E1 LD H,(IX-31)
\ 03D6 29 ADD HL,HL
\ 03D7 2805 JR Z,?0134
\ 03D9 ?0133:
357 ResShowMultiString(name[active],g_comval.langid, 3, menu_pos[i]);
\ 03D9 111000 LD DE,name
\ 03DC 1803 JR ?0316
358 else
\ 03DE ?0134:
359 ResShowMultiString(name_nofm[active],g_comval.langid, 3, menu_pos[i]);
\ 03DE 112000 LD DE,name_nofm
\ 03E1 ?0316:
\ 03E1 19 ADD HL,DE
\ 03E2 5E LD E,(HL)
\ 03E3 23 INC HL
\ 03E4 56 LD D,(HL)
\ 03E5 3E00 LD A,BYTE3 ResShowMultiString
\ 03E7 210000 LD HL,LWRD ResShowMultiString
\ 03EA CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 03ED F1 POP AF
\ 03EE F1 POP AF
\ 03EF ?0135:
360 TextOutRect(&tregion ,0);
\ 03EF 0E00 LD C,0
\ 03F1 211900 LD HL,25
\ 03F4 39 ADD HL,SP
\ 03F5 EB EX DE,HL
\ 03F6 CD0000 CALL LWRD TextOutRect
361 }
362 else
\ 03F9 1872 JR ?0136
\ 03FB ?0132:
363 {
364 ///ResShowPic(MENUBCK1, 0, menu_pos[i]-1);
365
366 SetPenColor(Color_BLACK_def);
\ 03FB 4A LD C,D
\ 03FC 59 LD E,C
\ 03FD 42 LD B,D
\ 03FE CD0B0A CALL LWRD ?0365
367 SetBackgdColor(Color_MENU_def);
368 TextOutRect(&tregion ,1);
\ 0401 39 ADD HL,SP
\ 0402 EB EX DE,HL
\ 0403 CD0000 CALL LWRD TextOutRect
369 if(with_fm)
\ 0406 AF XOR A
\ 0407 DDB6F2 OR (IX-14)
\ 040A 210A00 LD HL,menu_pos
\ 040D DD4EE4 LD C,(IX-28)
\ 0410 DD46E5 LD B,(IX-27)
\ 0413 09 ADD HL,BC
\ 0414 5E LD E,(HL)
\ 0415 D5 PUSH DE
\ 0416 1E03 LD E,3
\ 0418 D5 PUSH DE
\ 0419 ED4B0C00 LD BC,(g_comval+12)
\ 041D DD5EF0 LD E,(IX-16)
\ 0420 280F JR Z,?0138
\ 0422 ?0137:
370 ResShowMultiString(name[n+i],g_comval.langid, 3, menu_pos[i]);
\ 0422 1600 LD D,0
\ 0424 DD6EE4 LD L,(IX-28)
\ 0427 DD66E5 LD H,(IX-27)
\ 042A 19 ADD HL,DE
\ 042B 29 ADD HL,HL
\ 042C 111000 LD DE,name
\ 042F 180C JR ?0317
371 else
\ 0431 ?0138:
372 ResShowMultiString(name_nofm[n+i],g_comval.langid, 3, menu_pos[i]);
\ 0431 57 LD D,A
\ 0432 DD6EE4 LD L,(IX-28)
\ 0435 DD66E5 LD H,(IX-27)
\ 0438 19 ADD HL,DE
\ 0439 29 ADD HL,HL
\ 043A 112000 LD DE,name_nofm
\ 043D ?0317:
\ 043D 19 ADD HL,DE
\ 043E 5E LD E,(HL)
\ 043F 23 INC HL
\ 0440 56 LD D,(HL)
\ 0441 3E00 LD A,BYTE3 ResShowMultiString
\ 0443 210000 LD HL,LWRD ResShowMultiString
\ 0446 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0449 F1 POP AF
\ 044A F1 POP AF
\ 044B ?0139:
373 TextOutRect(&tregion ,0);
\ 044B 0E00 LD C,0
\ 044D 211900 LD HL,25
\ 0450 39 ADD HL,SP
\ 0451 EB EX DE,HL
\ 0452 CD0000 CALL LWRD TextOutRect
374 ResShowPic(MENUARR, 163, menu_pos[i]-1);
\ 0455 210A00 LD HL,menu_pos
\ 0458 DD4EE4 LD C,(IX-28)
\ 045B DD46E5 LD B,(IX-27)
\ 045E 09 ADD HL,BC
\ 045F 7E LD A,(HL)
\ 0460 C6FF ADD A,255
\ 0462 4F LD C,A
\ 0463 C5 PUSH BC
\ 0464 0EA3 LD C,163
\ 0466 11B200 LD DE,178
\ 0469 CD3A0A CALL LWRD ?0367
\ 046C F1 POP AF
\ 046D ?0136:
\ 046D DD34E4 INC (IX-28)
\ 0470 C24903 JP NZ,?0126
\ 0473 DD34E5 INC (IX-27)
\ 0476 C34903 JP LWRD ?0126
\ 0479 ?0125:
375 }
376 }
377 need_draw= FALSE;
\ 0479 DD36EC00 LD (IX-20),0
\ 047D ?0124:
378 }//need draw
379 if(value_changed)
\ 047D AF XOR A
\ 047E DDB6EE OR (IX-18)
\ 0481 CA6E05 JP Z,?0141
\ 0484 ?0140:
380 {
381 int tmp;
382 //---------------------//
383 //清除旧的活动菜单项
384 tmp = old_active%6;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -