📄 ui_pop_up_list.lst
字号:
\ 014C 010600 LD BC,6
\ 014F CD0000 CALL LWRD ?SS_MOD_L02
\ 0152 ?0002:
\ 0152 ?0003:
76 GetDCStatus(&oldDC_sav);
\ 0152 69 LD L,C
\ 0153 60 LD H,B
\ 0154 39 ADD HL,SP
\ 0155 EB EX DE,HL
\ 0156 CD0000 CALL LWRD GetDCStatus
77
78 SetTextOutMode(1); //设字体透明
\ 0159 1E01 LD E,1
\ 015B CD0000 CALL LWRD SetTextOutMode
\ 015E ?0005:
79
80 while(1)
81 {
82 if(need_drawall)
\ 015E AF XOR A
\ 015F DDB6FF OR (IX-1)
\ 0162 2808 JR Z,?0008
\ 0164 ?0007:
83 {
84
85 need_drawall=FALSE;
86 need_draw=TRUE;
\ 0164 DD36FF00 LD (IX-1),0
\ 0168 DD36FC01 LD (IX-4),1
\ 016C ?0008:
87 }
88
89 if(need_draw)
\ 016C AF XOR A
\ 016D DDB6FC OR (IX-4)
\ 0170 CAF902 JP Z,?0010
\ 0173 ?0009:
90 {
91 old_active=active;
92 cur_group = active / LIST_NUM_ONE_PAGE;
\ 0173 010600 LD BC,6
\ 0176 DD5EE8 LD E,(IX-24)
\ 0179 DD56E9 LD D,(IX-23)
\ 017C CD0000 CALL LWRD ?SS_DIV_L02
\ 017F DD73F6 LD (IX-10),E
\ 0182 DD72F7 LD (IX-9),D
93 n = cur_group*LIST_NUM_ONE_PAGE;
\ 0185 EB EX DE,HL
\ 0186 29 ADD HL,HL
\ 0187 4D LD C,L
\ 0188 44 LD B,H
\ 0189 29 ADD HL,HL
\ 018A 09 ADD HL,BC
\ 018B DD75F4 LD (IX-12),L
\ 018E DD74F5 LD (IX-11),H
94 ResShowPic(MENUTWO,0,0);
\ 0191 0E00 LD C,0
\ 0193 C5 PUSH BC
\ 0194 116D00 LD DE,109
\ 0197 CD0D01 CALL LWRD ?0067
\ 019A F1 POP AF
95 ResShowPic(DHT,194,8);
\ 019B 0E08 LD C,8
\ 019D C5 PUSH BC
\ 019E 0EC2 LD C,194
\ 01A0 112D00 LD DE,45
\ 01A3 CD0D01 CALL LWRD ?0067
\ 01A6 F1 POP AF
96 SetPenColor(Color_WHITE_def);
\ 01A7 CD1501 CALL LWRD ?0069
97 ResShowMultiString(list->headid, list->string_id,
98 list_str_x_def, list_str_y_def);
\ 01AA 0E94 LD C,148
\ 01AC C5 PUSH BC
\ 01AD 0E16 LD C,22
\ 01AF C5 PUSH BC
\ 01B0 FD4E08 LD C,(IY+8)
\ 01B3 FD5E06 LD E,(IY+6)
\ 01B6 FD5607 LD D,(IY+7)
\ 01B9 3E00 LD A,BYTE3 ResShowMultiString
\ 01BB 210000 LD HL,LWRD ResShowMultiString
\ 01BE CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 01C1 F1 POP AF
\ 01C2 F1 POP AF
99
100 SetPenColor(Color_WHITE_def);
\ 01C3 CD1501 CALL LWRD ?0069
101 if(callback != NULL)
\ 01C6 DD6EE8 LD L,(IX-24)
\ 01C9 DD66E9 LD H,(IX-23)
\ 01CC DD75F8 LD (IX-8),L
\ 01CF DD74F9 LD (IX-7),H
\ 01D2 DD7E0A LD A,(IX+10)
\ 01D5 DDB60B OR (IX+11)
\ 01D8 DDB60C OR (IX+12)
\ 01DB 2804 JR Z,?0012
\ 01DD ?0011:
102 callback(active);
\ 01DD EB EX DE,HL
\ 01DE CD9904 CALL LWRD ?0072
\ 01E1 ?0012:
103
104 for(i=0; i<LIST_NUM_ONE_PAGE; i++)
\ 01E1 AF XOR A
\ 01E2 DD77EA LD (IX-22),A
\ 01E5 DD77EB LD (IX-21),A
\ 01E8 ?0014:
\ 01E8 010680 LD BC,32774
\ 01EB DD6EEA LD L,(IX-22)
\ 01EE DD66EB LD H,(IX-21)
\ 01F1 78 LD A,B
\ 01F2 AC XOR H
\ 01F3 67 LD H,A
\ 01F4 ED42 SBC HL,BC
\ 01F6 D2F502 JP NC,?0013
\ 01F9 ?0015:
105 {
106 if(n+i >= list->total) break; //处理不足LIST_NUM_ONE_PAGE个的情况
\ 01F9 FD4E02 LD C,(IY+2)
\ 01FC FD4603 LD B,(IY+3)
\ 01FF DD6EEA LD L,(IX-22)
\ 0202 DD66EB LD H,(IX-21)
\ 0205 DD5EF4 LD E,(IX-12)
\ 0208 DD56F5 LD D,(IX-11)
\ 020B 19 ADD HL,DE
\ 020C CD0000 CALL LWRD ?SS_CMP_L02
\ 020F D2F502 JP NC,?0013
\ 0212 ?0017:
\ 0212 ?0018:
107 if(n+i==active)
\ 0212 DD6EEA LD L,(IX-22)
\ 0215 DD66EB LD H,(IX-21)
\ 0218 4B LD C,E
\ 0219 42 LD B,D
\ 021A 09 ADD HL,BC
\ 021B DD4EE8 LD C,(IX-24)
\ 021E DD46E9 LD B,(IX-23)
\ 0221 A7 AND A
\ 0222 ED42 SBC HL,BC
\ 0224 210000 LD HL,menu_pos_list
\ 0227 DD4EEA LD C,(IX-22)
\ 022A DD46EB LD B,(IX-21)
\ 022D 09 ADD HL,BC
\ 022E 2071 JR NZ,?0020
\ 0230 ?0019:
108 {
109 {
110 ResShowPic(MENUBCK, menu_bck_x_def, menu_pos_list[i]-4);
\ 0230 7E LD A,(HL)
\ 0231 C6FC ADD A,252
\ 0233 5F LD E,A
\ 0234 D5 PUSH DE
\ 0235 CD0801 CALL LWRD ?0068
\ 0238 F1 POP AF
111 ResShowPic(DHTHK,194, menu_pos_list[i]+6);
\ 0239 210000 LD HL,menu_pos_list
\ 023C DD4EEA LD C,(IX-22)
\ 023F DD46EB LD B,(IX-21)
\ 0242 09 ADD HL,BC
\ 0243 7E LD A,(HL)
\ 0244 C606 ADD A,6
\ 0246 5F LD E,A
\ 0247 D5 PUSH DE
\ 0248 0EC2 LD C,194
\ 024A 112E00 LD DE,46
\ 024D CD0D01 CALL LWRD ?0067
\ 0250 F1 POP AF
112 ResShowPic(MENURARR, menu_ptr_x_def, menu_pos_list[i]);
\ 0251 210000 LD HL,menu_pos_list
\ 0254 DD4EEA LD C,(IX-22)
\ 0257 DD46EB LD B,(IX-21)
\ 025A 09 ADD HL,BC
\ 025B 5E LD E,(HL)
\ 025C D5 PUSH DE
\ 025D 0E0A LD C,10
\ 025F 116C00 LD DE,108
\ 0262 CD0D01 CALL LWRD ?0067
\ 0265 F1 POP AF
113 }
114
115
116 SetPenColor(Color_WHITE_def);
\ 0266 CD1501 CALL LWRD ?0069
117 ResShowMultiString(list->strid[active], list->string_id,
118 menu_str_x_def, menu_pos_list[i]-1);
\ 0269 210000 LD HL,menu_pos_list
\ 026C DD4EEA LD C,(IX-22)
\ 026F DD46EB LD B,(IX-21)
\ 0272 09 ADD HL,BC
\ 0273 7E LD A,(HL)
\ 0274 C6FF ADD A,255
\ 0276 4F LD C,A
\ 0277 C5 PUSH BC
\ 0278 0E20 LD C,32
\ 027A C5 PUSH BC
\ 027B FD4E08 LD C,(IY+8)
\ 027E FD6E00 LD L,(IY+0)
\ 0281 FD6601 LD H,(IY+1)
\ 0284 E5 PUSH HL
\ 0285 DD6EE8 LD L,(IX-24)
\ 0288 DD66E9 LD H,(IX-23)
\ 028B 29 ADD HL,HL
\ 028C EB EX DE,HL
\ 028D E1 POP HL
\ 028E 19 ADD HL,DE
\ 028F 5E LD E,(HL)
\ 0290 23 INC HL
\ 0291 56 LD D,(HL)
\ 0292 3E00 LD A,BYTE3 ResShowMultiString
\ 0294 210000 LD HL,LWRD ResShowMultiString
\ 0297 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 029A F1 POP AF
\ 029B F1 POP AF
119 SetPenColor(Color_WHITE_def);
\ 029C CD1501 CALL LWRD ?0069
120
121 }
122 else
\ 029F 1849 JR ?0021
\ 02A1 ?0020:
123 {
124 ResShowPic(MENUARR1+i, menu_ptr_x_def, menu_pos_list[i]);
\ 02A1 5E LD E,(HL)
\ 02A2 D5 PUSH DE
\ 02A3 0E0A LD C,10
\ 02A5 215E00 LD HL,94
\ 02A8 DD5EEA LD E,(IX-22)
\ 02AB 50 LD D,B
\ 02AC 19 ADD HL,DE
\ 02AD EB EX DE,HL
\ 02AE CD0D01 CALL LWRD ?0067
\ 02B1 F1 POP AF
125 ResShowMultiString(list->strid[n+i], list->string_id,
126 menu_str_x_def, menu_pos_list[i]-3);
\ 02B2 210000 LD HL,menu_pos_list
\ 02B5 DD4EEA LD C,(IX-22)
\ 02B8 DD46EB LD B,(IX-21)
\ 02BB 09 ADD HL,BC
\ 02BC 7E LD A,(HL)
\ 02BD C6FD ADD A,253
\ 02BF 5F LD E,A
\ 02C0 D5 PUSH DE
\ 02C1 1E20 LD E,32
\ 02C3 D5 PUSH DE
\ 02C4 FD4E08 LD C,(IY+8)
\ 02C7 FD6E00 LD L,(IY+0)
\ 02CA FD6601 LD H,(IY+1)
\ 02CD E5 PUSH HL
\ 02CE DD6EEA LD L,(IX-22)
\ 02D1 60 LD H,B
\ 02D2 DD5EF4 LD E,(IX-12)
\ 02D5 DD56F5 LD D,(IX-11)
\ 02D8 19 ADD HL,DE
\ 02D9 29 ADD HL,HL
\ 02DA EB EX DE,HL
\ 02DB E1 POP HL
\ 02DC 19 ADD HL,DE
\ 02DD 5E LD E,(HL)
\ 02DE 23 INC HL
\ 02DF 56 LD D,(HL)
\ 02E0 3E00 LD A,BYTE3 ResShowMultiString
\ 02E2 210000 LD HL,LWRD ResShowMultiString
\ 02E5 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 02E8 F1 POP AF
\ 02E9 F1 POP AF
\ 02EA ?0021:
\ 02EA DD34EA INC (IX-22)
\ 02ED 2003 JR NZ,?0061
\ 02EF DD34EB INC (IX-21)
\ 02F2 ?0061:
\ 02F2 C3E801 JP LWRD ?0014
\ 02F5 ?0013:
127 }
128 }
129
130 need_draw = FALSE;
\ 02F5 DD36FC00 LD (IX-4),0
\ 02F9 ?0010:
131 }//need draw
132 if(value_changed)
\ 02F9 AF XOR A
\ 02FA DDB6FE OR (IX-2)
\ 02FD 281D JR Z,?0023
\ 02FF ?0022:
133 {
134 show_active_list1(list,old_active,active);
\ 02FF DD6EE8 LD L,(IX-24)
\ 0302 DD66E9 LD H,(IX-23)
\ 0305 E5 PUSH HL
\ 0306 DD4EF8 LD C,(IX-8)
\ 0309 DD46F9 LD B,(IX-7)
\ 030C FDE5 PUSH IY
\ 030E D1 POP DE
\ 030F 3E00 LD A,BYTE3 show_active_list1
\ 0311 210000 LD HL,LWRD show_active_list1
\ 0314 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0317 E1 POP HL
135 value_changed=FALSE;
\ 0318 DD36FE00 LD (IX-2),0
\ 031C ?0023:
136 }
137 key = ap_get_message();
\ 031C CD0000 CALL LWRD ap_get_message
138 //handle message
139 switch( key)
\ 031F 5F LD E,A
\ 0320 CD0000 CALL LWRD ?C_V_SWITCH_L06
\ 0323 0700 DEFW 7
\ 0325 05 DEFB 5
\ 0326 06 DEFB 6
\ 0327 1E DEFB 30
\ 0328 21 DEFB 33
\ 0329 30 DEFB 48
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -