📄 ui_pop_up_list.lst
字号:
\ 0455 DD56E1 LD D,(IX-31)
\ 0458 CD0000 CALL LWRD ?SS_MOD_L02
\ 045B DD73E2 LD (IX-30),E
\ 045E DD72E3 LD (IX-29),D
207 ResShowPic(resID, 0, menu_pos_list[tmp]-1);
\ 0461 210000 LD HL,menu_pos_list
\ 0464 19 ADD HL,DE
\ 0465 7E LD A,(HL)
\ 0466 C6FF ADD A,255
\ 0468 4F LD C,A
\ 0469 C5 PUSH BC
\ 046A 0E00 LD C,0
\ 046C DD5EF8 LD E,(IX-8)
\ 046F DD56F9 LD D,(IX-7)
\ 0472 3E00 LD A,BYTE3 ResShowPic
\ 0474 210000 LD HL,LWRD ResShowPic
\ 0477 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 047A F1 POP AF
208 ResShowPic(MENUARR1, constX, menu_pos_list[tmp]-1);
\ 047B 210000 LD HL,menu_pos_list
\ 047E DD4EE2 LD C,(IX-30)
\ 0481 DD46E3 LD B,(IX-29)
\ 0484 09 ADD HL,BC
\ 0485 7E LD A,(HL)
\ 0486 C6FF ADD A,255
\ 0488 5F LD E,A
\ 0489 D5 PUSH DE
\ 048A DD4EFC LD C,(IX-4)
\ 048D 11B300 LD DE,179
\ 0490 3E00 LD A,BYTE3 ResShowPic
\ 0492 210000 LD HL,LWRD ResShowPic
\ 0495 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0498 F1 POP AF
209
210 SetPenColor(Color_WHITE_def);
\ 0499 010000 LD BC,0
\ 049C 11FFFF LD DE,65535
\ 049F CD0000 CALL LWRD SetPenColor
211 SetBackgdColor(0x00003358);
\ 04A2 010000 LD BC,0
\ 04A5 115833 LD DE,13144
\ 04A8 CD0000 CALL LWRD SetBackgdColor
212
213 TextOutRect(&tregion ,1);
\ 04AB 0E01 LD C,1
\ 04AD 210400 LD HL,4
\ 04B0 39 ADD HL,SP
\ 04B1 5D LD E,L
\ 04B2 54 LD D,H
\ 04B3 CD0000 CALL LWRD TextOutRect
214 ResShowMultiString(list->strid[active],list->string_id, 3, menu_pos_list[tmp]);
\ 04B6 210000 LD HL,menu_pos_list
\ 04B9 DD4EE2 LD C,(IX-30)
\ 04BC DD46E3 LD B,(IX-29)
\ 04BF 09 ADD HL,BC
\ 04C0 4E LD C,(HL)
\ 04C1 C5 PUSH BC
\ 04C2 0E03 LD C,3
\ 04C4 C5 PUSH BC
\ 04C5 FD4E08 LD C,(IY+8)
\ 04C8 FD6E00 LD L,(IY+0)
\ 04CB FD6601 LD H,(IY+1)
\ 04CE E5 PUSH HL
\ 04CF DD6EE0 LD L,(IX-32)
\ 04D2 DD66E1 LD H,(IX-31)
\ 04D5 29 ADD HL,HL
\ 04D6 EB EX DE,HL
\ 04D7 E1 POP HL
\ 04D8 19 ADD HL,DE
\ 04D9 5E LD E,(HL)
\ 04DA 23 INC HL
\ 04DB 56 LD D,(HL)
\ 04DC 3E00 LD A,BYTE3 ResShowMultiString
\ 04DE 210000 LD HL,LWRD ResShowMultiString
\ 04E1 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 04E4 F1 POP AF
\ 04E5 F1 POP AF
215 TextOutRect(&tregion ,0);
\ 04E6 0E00 LD C,0
\ 04E8 210400 LD HL,4
\ 04EB 39 ADD HL,SP
\ 04EC 5D LD E,L
\ 04ED 54 LD D,H
\ 04EE CD0000 CALL LWRD TextOutRect
216
217 if(list->total > LIST_NUM_ONE_PAGE)
\ 04F1 FD4E02 LD C,(IY+2)
\ 04F4 FD4603 LD B,(IY+3)
\ 04F7 210600 LD HL,6
\ 04FA F680 OR 128
\ 04FC ED42 SBC HL,BC
\ 04FE E20205 JP PO,?0081
\ 0501 AC XOR H
\ 0502 ?0081:
\ 0502 F2D205 JP P,?0037
\ 0505 ?0033:
218 {
219 ResShowPic(MENUPTR, 166, 19);
\ 0505 0E13 LD C,19
\ 0507 C5 PUSH BC
\ 0508 0EA6 LD C,166
\ 050A 11B900 LD DE,185
\ 050D 3E00 LD A,BYTE3 ResShowPic
\ 050F 210000 LD HL,LWRD ResShowPic
\ 0512 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0515 F1 POP AF
220 key = (list->total-LIST_NUM_ONE_PAGE-1)/LIST_NUM_ONE_PAGE;
\ 0516 FD6E02 LD L,(IY+2)
\ 0519 FD6603 LD H,(IY+3)
\ 051C 01F9FF LD BC,65529
\ 051F 09 ADD HL,BC
\ 0520 EB EX DE,HL
\ 0521 010600 LD BC,6
\ 0524 CD0000 CALL LWRD ?SS_DIV_L02
\ 0527 DD73FA LD (IX-6),E
221 tmp = 113-menuptr_height_list[key]; //注意,最多九级!!!
\ 052A 1600 LD D,0
\ 052C 211200 LD HL,menuptr_height_list
\ 052F 19 ADD HL,DE
\ 0530 4E LD C,(HL)
\ 0531 0600 LD B,0
\ 0533 217100 LD HL,113
\ 0536 A7 AND A
\ 0537 ED42 SBC HL,BC
\ 0539 DD75E2 LD (IX-30),L
\ 053C DD74E3 LD (IX-29),H
222 if(tmp%(list->total-1)>=active)
\ 053F FD4E02 LD C,(IY+2)
\ 0542 FD4603 LD B,(IY+3)
\ 0545 0B DEC BC
\ 0546 EB EX DE,HL
\ 0547 CD0000 CALL LWRD ?SS_MOD_L02
\ 054A EB EX DE,HL
\ 054B DD4EE0 LD C,(IX-32)
\ 054E DD46E1 LD B,(IX-31)
\ 0551 F680 OR 128
\ 0553 ED42 SBC HL,BC
\ 0555 E25905 JP PO,?0082
\ 0558 AC XOR H
\ 0559 ?0082:
\ 0559 FA9105 JP M,?0036
\ 055C ?0035:
223 ResShowPic(MENUPTR1+key, 166, 19+active+(tmp/(list->total-1))*active);
\ 055C FD4E02 LD C,(IY+2)
\ 055F FD4603 LD B,(IY+3)
\ 0562 0B DEC BC
\ 0563 DD5EE2 LD E,(IX-30)
\ 0566 DD56E3 LD D,(IX-29)
\ 0569 CD0000 CALL LWRD ?SS_DIV_L02
\ 056C 43 LD B,E
\ 056D DD7EE0 LD A,(IX-32)
\ 0570 CD0000 CALL LWRD ?C_MUL_L01
\ 0573 DD86E0 ADD A,(IX-32)
\ 0576 C613 ADD A,19
\ 0578 4F LD C,A
\ 0579 C5 PUSH BC
\ 057A 0EA6 LD C,166
\ 057C DD5EFA LD E,(IX-6)
\ 057F 1600 LD D,0
\ 0581 21BA00 LD HL,186
\ 0584 19 ADD HL,DE
\ 0585 EB EX DE,HL
\ 0586 3E00 LD A,BYTE3 ResShowPic
\ 0588 210000 LD HL,LWRD ResShowPic
\ 058B CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 058E F1 POP AF
224 else
\ 058F 1841 JR ?0037
\ 0591 ?0036:
225 ResShowPic(MENUPTR1+key, 166, 19+tmp%(list->total-1)+(tmp/(list->total-1))*active);
\ 0591 FD4E02 LD C,(IY+2)
\ 0594 FD4603 LD B,(IY+3)
\ 0597 0B DEC BC
\ 0598 DD5EE2 LD E,(IX-30)
\ 059B DD56E3 LD D,(IX-29)
\ 059E CD0000 CALL LWRD ?SS_DIV_L02
\ 05A1 43 LD B,E
\ 05A2 DD7EE0 LD A,(IX-32)
\ 05A5 CD0000 CALL LWRD ?C_MUL_L01
\ 05A8 FD4E02 LD C,(IY+2)
\ 05AB FD4603 LD B,(IY+3)
\ 05AE 0B DEC BC
\ 05AF DD5EE2 LD E,(IX-30)
\ 05B2 DD56E3 LD D,(IX-29)
\ 05B5 CD0000 CALL LWRD ?SS_MOD_L02
\ 05B8 83 ADD A,E
\ 05B9 C613 ADD A,19
\ 05BB 4F LD C,A
\ 05BC C5 PUSH BC
\ 05BD 0EA6 LD C,166
\ 05BF DD5EFA LD E,(IX-6)
\ 05C2 1600 LD D,0
\ 05C4 21BA00 LD HL,186
\ 05C7 19 ADD HL,DE
\ 05C8 EB EX DE,HL
\ 05C9 3E00 LD A,BYTE3 ResShowPic
\ 05CB 210000 LD HL,LWRD ResShowPic
\ 05CE CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 05D1 F1 POP AF
\ 05D2 ?0037:
\ 05D2 ?0034:
226 }
227 //---------------------//
228
229 value_changed=FALSE;
\ 05D2 DD36FD00 LD (IX-3),0
\ 05D6 ?0029:
230 }
231 key = ap_get_message();
\ 05D6 CD0000 CALL LWRD ap_get_message
\ 05D9 DD77FA LD (IX-6),A
232 //handle message
233 switch( key)
\ 05DC 5F LD E,A
\ 05DD CD0000 CALL LWRD ?C_V_SWITCH_L06
\ 05E0 0700 DEFW 7
\ 05E2 05 DEFB 5
\ 05E3 06 DEFB 6
\ 05E4 1E DEFB 30
\ 05E5 21 DEFB 33
\ 05E6 30 DEFB 48
\ 05E7 45 DEFB 69
\ 05E8 46 DEFB 70
\ 05E9 7C07 DEFW ?0068
\ 05EB F905 DEFW ?0039
\ 05ED 7A06 DEFW ?0051
\ 05EF 2507 DEFW ?0064
\ 05F1 0207 DEFW ?0063
\ 05F3 5307 DEFW ?0065
\ 05F5 F905 DEFW ?0039
\ 05F7 7A06 DEFW ?0051
\ 05F9 ?0039:
234 {
235 case AP_KEY_NEXT:
236 case AP_KEY_NEXT | AP_KEY_HOLD:
237 if(active < list->total - 1)
\ 05F9 FD4E02 LD C,(IY+2)
\ 05FC FD4603 LD B,(IY+3)
\ 05FF 0B DEC BC
\ 0600 DD6EE0 LD L,(IX-32)
\ 0603 DD66E1 LD H,(IX-31)
\ 0606 F680 OR 128
\ 0608 ED42 SBC HL,BC
\ 060A E20E06 JP PO,?0083
\ 060D AC XOR H
\ 060E ?0083:
\ 060E F24906 JP P,?0041
\ 0611 ?0040:
238 {
239 active++;
\ 0611 DD34E0 INC (IX-32)
\ 0614 2003 JR NZ,?0084
\ 0616 DD34E1 INC (IX-31)
\ 0619 ?0084:
240 if(active/LIST_NUM_ONE_PAGE==cur_group)
\ 0619 010600 LD BC,6
\ 061C DD5EE0 LD E,(IX-32)
\ 061F DD56E1 LD D,(IX-31)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -