📄 ui_pop_up_list.lst
字号:
\ 032A 45 DEFB 69
\ 032B 46 DEFB 70
\ 032C 3C04 DEFW ?0054
\ 032E 3C03 DEFW ?0025
\ 0330 9903 DEFW ?0037
\ 0332 F403 DEFW ?0050
\ 0334 2104 DEFW ?0063
\ 0336 1B04 DEFW ?0051
\ 0338 3C03 DEFW ?0025
\ 033A 9903 DEFW ?0037
\ 033C ?0025:
140 {
141 case AP_KEY_NEXT:
142 case AP_KEY_NEXT | AP_KEY_HOLD:
143 if(active < list->total - 1)
\ 033C FD4E02 LD C,(IY+2)
\ 033F FD4603 LD B,(IY+3)
\ 0342 0B DEC BC
\ 0343 DD6EE8 LD L,(IX-24)
\ 0346 DD66E9 LD H,(IX-23)
\ 0349 CD0000 CALL LWRD ?SS_CMP_L02
\ 034C 3029 JR NC,?0027
\ 034E ?0026:
144 {
145 active++;
\ 034E DD34E8 INC (IX-24)
\ 0351 2003 JR NZ,?0062
\ 0353 DD34E9 INC (IX-23)
\ 0356 ?0062:
146 if(active/LIST_NUM_ONE_PAGE==cur_group)
\ 0356 010600 LD BC,6
\ 0359 DD5EE8 LD E,(IX-24)
\ 035C DD56E9 LD D,(IX-23)
\ 035F CD8604 CALL LWRD ?0071
\ 0362 201A JR NZ,?0064
\ 0364 ?0028:
147 {
148 old_active=active-1;
\ 0364 DD6EE8 LD L,(IX-24)
\ 0367 DD66E9 LD H,(IX-23)
\ 036A 2B DEC HL
\ 036B DD75F8 LD (IX-8),L
\ 036E DD74F9 LD (IX-7),H
149 value_changed=TRUE;
\ 0371 DD36FE01 LD (IX-2),1
150 }
151 else
\ 0375 180B JR ?0031
\ 0377 ?0029:
152 need_draw = TRUE;
\ 0377 ?0030:
153 }
154 else
\ 0377 ?0027:
155 {
156 active = 0;
157 need_draw = TRUE;
\ 0377 AF XOR A
\ 0378 DD77E8 LD (IX-24),A
\ 037B DD77E9 LD (IX-23),A
\ 037E ?0064:
\ 037E DD36FC01 LD (IX-4),1
\ 0382 ?0031:
158 }
159 if(callback != NULL)
\ 0382 DD7E0A LD A,(IX+10)
\ 0385 DDB60B OR (IX+11)
\ 0388 DDB60C OR (IX+12)
\ 038B 2803 JR Z,?0033
\ 038D ?0032:
160 callback(active);
\ 038D CD9304 CALL LWRD ?0073
\ 0390 ?0033:
\ 0390 ?0035:
161 while(ap_get_message() != 0);
\ 0390 CD0000 CALL LWRD ap_get_message
\ 0393 B7 OR A
\ 0394 20FA JR NZ,?0033
\ 0396 ?0036:
162 break;
\ 0396 ?0034:
\ 0396 C35E01 JP LWRD ?0005
163
164 break;
\ 0399 ?0037:
165
166 case AP_KEY_PREV:
167 case AP_KEY_PREV | AP_KEY_HOLD:
168 if(active > 0)
\ 0399 DD4EE8 LD C,(IX-24)
\ 039C DD46E9 LD B,(IX-23)
\ 039F 210000 LD HL,0
\ 03A2 CD0000 CALL LWRD ?SS_CMP_L02
\ 03A5 3025 JR NC,?0039
\ 03A7 ?0038:
169 {
170 active--;
\ 03A7 69 LD L,C
\ 03A8 60 LD H,B
\ 03A9 2B DEC HL
\ 03AA DD75E8 LD (IX-24),L
\ 03AD DD74E9 LD (IX-23),H
171 if(active/LIST_NUM_ONE_PAGE==cur_group)
\ 03B0 010600 LD BC,6
\ 03B3 EB EX DE,HL
\ 03B4 CD8604 CALL LWRD ?0071
\ 03B7 2020 JR NZ,?0065
\ 03B9 ?0040:
172 {
173 old_active=active+1;
\ 03B9 DD6EE8 LD L,(IX-24)
\ 03BC DD66E9 LD H,(IX-23)
\ 03BF 23 INC HL
\ 03C0 DD75F8 LD (IX-8),L
\ 03C3 DD74F9 LD (IX-7),H
174 value_changed=TRUE;
\ 03C6 DD36FE01 LD (IX-2),1
175 }
176 else
\ 03CA 1811 JR ?0043
\ 03CC ?0041:
177 need_draw = TRUE;
\ 03CC ?0042:
178 }
179 else
\ 03CC ?0039:
180 {
181 active = list->total - 1;
\ 03CC FD6E02 LD L,(IY+2)
\ 03CF FD6603 LD H,(IY+3)
\ 03D2 2B DEC HL
\ 03D3 DD75E8 LD (IX-24),L
\ 03D6 DD74E9 LD (IX-23),H
182 need_draw = TRUE;
\ 03D9 ?0065:
\ 03D9 DD36FC01 LD (IX-4),1
\ 03DD ?0043:
183 }
184 if(callback != NULL)
\ 03DD DD7E0A LD A,(IX+10)
\ 03E0 DDB60B OR (IX+11)
\ 03E3 DDB60C OR (IX+12)
\ 03E6 2803 JR Z,?0045
\ 03E8 ?0044:
185 callback(active);
\ 03E8 CD9304 CALL LWRD ?0073
\ 03EB ?0045:
\ 03EB ?0047:
186 while(ap_get_message() != 0);
\ 03EB CD0000 CALL LWRD ap_get_message
\ 03EE B7 OR A
\ 03EF 20FA JR NZ,?0045
\ 03F1 ?0048:
187 break;
\ 03F1 ?0046:
\ 03F1 C35E01 JP LWRD ?0005
\ 03F4 ?0049:
188
189
190
191 case AP_KEY_PLAY | AP_KEY_UP: //取消退出
192 SetPenColor(oldDC_sav.PenColor);
193 SetBackgdColor(oldDC_sav.BackgdColor);
194 SetTextOutMode(0); //设字体不透明
195 return RESULT_IGNORE;
196
197 case AP_KEY_MODE | AP_KEY_UP: //确认退出
\ 03F4 ?0050:
198 list->active = active;
\ 03F4 DD6EE8 LD L,(IX-24)
\ 03F7 FD7504 LD (IY+4),L
\ 03FA DD66E9 LD H,(IX-23)
\ 03FD FD7405 LD (IY+5),H
199 SetPenColor(oldDC_sav.PenColor);
\ 0400 DD4EEE LD C,(IX-18)
\ 0403 DD46EF LD B,(IX-17)
\ 0406 DD5EEC LD E,(IX-20)
\ 0409 DD56ED LD D,(IX-19)
\ 040C CD0000 CALL LWRD SetPenColor
200 SetBackgdColor(oldDC_sav.BackgdColor);
\ 040F 210A00 LD HL,10
\ 0412 39 ADD HL,SP
201 SetTextOutMode(0); //设字体不透明
\ 0413 CD7704 CALL LWRD ?0070
202 return 0;
\ 0416 210000 LD HL,0
203
204 case AP_MSG_WAIT_TIMEOUT:
\ 0419 1857 JR ?0060
\ 041B ?0051:
205 if(ui_auto_select)
\ 041B 3A0000 LD A,(ui_auto_select)
\ 041E B7 OR A
\ 041F 284E JR Z,?0059
\ 0421 ?0052:
206 {
207 SetPenColor(oldDC_sav.PenColor);
\ 0421 ?0063:
\ 0421 DD4EEE LD C,(IX-18)
\ 0424 DD46EF LD B,(IX-17)
\ 0427 DD5EEC LD E,(IX-20)
\ 042A DD56ED LD D,(IX-19)
\ 042D CD0000 CALL LWRD SetPenColor
208 SetBackgdColor(oldDC_sav.BackgdColor);
\ 0430 210A00 LD HL,10
\ 0433 39 ADD HL,SP
209 SetTextOutMode(0); //设字体不透明
\ 0434 CD7704 CALL LWRD ?0070
210 return RESULT_IGNORE;
\ 0437 213400 LD HL,52
211 }
\ 043A 1836 JR ?0060
\ 043C ?0053:
212 break;
\ 043C ?0054:
213
214 default:
215 key = ap_handle_hotkey(key);
\ 043C CD0000 CALL LWRD ap_handle_hotkey
\ 043F DD77FD LD (IX-3),A
216 if(key == RESULT_REDRAW) need_drawall = TRUE;
\ 0442 FE32 CP 50
\ 0444 2006 JR NZ,?0056
\ 0446 ?0055:
\ 0446 DD36FF01 LD (IX-1),1
217 else
\ 044A 1823 JR ?0059
\ 044C ?0056:
218 if(key != 0)
\ 044C AF XOR A
\ 044D DDB6FD OR (IX-3)
\ 0450 281D JR Z,?0059
\ 0452 ?0058:
219 {
220 SetPenColor(oldDC_sav.PenColor);
\ 0452 DD4EEE LD C,(IX-18)
\ 0455 DD46EF LD B,(IX-17)
\ 0458 DD5EEC LD E,(IX-20)
\ 045B DD56ED LD D,(IX-19)
\ 045E CD0000 CALL LWRD SetPenColor
221 SetBackgdColor(oldDC_sav.BackgdColor);
\ 0461 210A00 LD HL,10
\ 0464 39 ADD HL,SP
222 SetTextOutMode(0); //设字体不透明
\ 0465 CD7704 CALL LWRD ?0070
223 return key;
\ 0468 DD6EFD LD L,(IX-3)
\ 046B 2600 LD H,0
224 }
\ 046D 1803 JR ?0060
\ 046F ?0059:
\ 046F ?0057:
\ 046F ?0024:
\ 046F C35E01 JP LWRD ?0005
225 }// switch(key)
226
227 }//while(1)
228 SetPenColor(oldDC_sav.PenColor);
229 SetBackgdColor(oldDC_sav.BackgdColor);
230 }
\ 0472 ?0060:
\ 0472 FDE1 POP IY
\ 0474 C30000 JP LWRD ?BANK_LEAVE_DIRECT_L08
\ 0477 ?0070:
\ 0477 5E LD E,(HL)
\ 0478 23 INC HL
\ 0479 56 LD D,(HL)
\ 047A 23 INC HL
\ 047B 4E LD C,(HL)
\ 047C 23 INC HL
\ 047D 46 LD B,(HL)
\ 047E CD0000 CALL LWRD SetBackgdColor
\ 0481 1E00 LD E,0
\ 0483 C30000 JP LWRD SetTextOutMode
\ 0486 ?0071:
\ 0486 CD0000 CALL LWRD ?SS_DIV_L02
\ 0489 DD6EF6 LD L,(IX-10)
\ 048C DD66F7 LD H,(IX-9)
\ 048F A7 AND A
\ 0490 ED52 SBC HL,DE
\ 0492 C9 RET
\ 0493 ?0073:
\ 0493 DD5EE8 LD E,(IX-24)
\ 0496 DD56E9 LD D,(IX-23)
\ 0499 ?0072:
\ 0499 DD7E0C LD A,(IX+12)
\ 049C DD6E0A LD L,(IX+10)
\ 049F DD660B LD H,(IX+11)
\ 04A2 C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 0000 RSEG CONST
\ 0000 menu_pos_list:
\ 0000 77 DEFB 'w'
\ 0001 62 DEFB 'b'
\ 0002 4D DEFB 'M'
\ 0003 38 DEFB '8'
\ 0004 23 DEFB '#'
\ 0005 0E DEFB 14
\ 0006 menulist_bck_pic:
\ 0006 6A00 DEFW 106
\ 0008 6900 DEFW 105
\ 000A 6800 DEFW 104
\ 000C 6700 DEFW 103
\ 000E 6600 DEFW 102
\ 0010 6500 DEFW 101
\ 0012 END
Errors: none
Warnings: none
Code size: 1189
Constant size: 18
Static variable size: Data(0) Iram(0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -