📄 ui_pop_up_list.lst
字号:
\ 03B3 B7 OR A
\ 03B4 CA6901 JP Z,?0005
\ 03B7 ?0036:
162 break;
\ 03B7 18F7 JR ?0033
\ 03B9 ?0034:
163
164 break;
\ 03B9 ?0037:
165
166 case AP_KEY_PREV:
167 case AP_KEY_PREV | AP_KEY_HOLD:
168 if(active > 0)
\ 03B9 DD4EE8 LD C,(IX-24)
\ 03BC DD46E9 LD B,(IX-23)
\ 03BF 210000 LD HL,0
\ 03C2 F680 OR 128
\ 03C4 ED42 SBC HL,BC
\ 03C6 E2CA03 JP PO,?0065
\ 03C9 AC XOR H
\ 03CA ?0065:
\ 03CA F2FB03 JP P,?0039
\ 03CD ?0038:
169 {
170 active--;
\ 03CD 69 LD L,C
\ 03CE 60 LD H,B
\ 03CF 2B DEC HL
\ 03D0 DD75E8 LD (IX-24),L
\ 03D3 DD74E9 LD (IX-23),H
171 if(active/LIST_NUM_ONE_PAGE==cur_group)
\ 03D6 010600 LD BC,6
\ 03D9 EB EX DE,HL
\ 03DA CD0000 CALL LWRD ?SS_DIV_L02
\ 03DD DD6EF6 LD L,(IX-10)
\ 03E0 DD66F7 LD H,(IX-9)
\ 03E3 A7 AND A
\ 03E4 ED52 SBC HL,DE
\ 03E6 2020 JR NZ,?0068
\ 03E8 ?0040:
172 {
173 old_active=active+1;
\ 03E8 DD6EE8 LD L,(IX-24)
\ 03EB DD66E9 LD H,(IX-23)
\ 03EE 23 INC HL
\ 03EF DD75F8 LD (IX-8),L
\ 03F2 DD74F9 LD (IX-7),H
174 value_changed=TRUE;
\ 03F5 DD36FE01 LD (IX-2),1
175 }
176 else
\ 03F9 1811 JR ?0043
\ 03FB ?0041:
177 need_draw = TRUE;
\ 03FB ?0042:
178 }
179 else
\ 03FB ?0039:
180 {
181 active = list->total - 1;
\ 03FB FD6E02 LD L,(IY+2)
\ 03FE FD6603 LD H,(IY+3)
\ 0401 2B DEC HL
\ 0402 DD75E8 LD (IX-24),L
\ 0405 DD74E9 LD (IX-23),H
182 need_draw = TRUE;
\ 0408 ?0068:
\ 0408 DD36FC01 LD (IX-4),1
\ 040C ?0043:
183 }
184 if(callback != NULL)
\ 040C DD7E0A LD A,(IX+10)
\ 040F DDB60B OR (IX+11)
\ 0412 DDB60C OR (IX+12)
\ 0415 2803 JR Z,?0045
\ 0417 ?0044:
185 callback(active);
\ 0417 CDB804 CALL LWRD ?0074
\ 041A ?0045:
\ 041A ?0047:
186 while(ap_get_message() != 0);
\ 041A CD0000 CALL LWRD ap_get_message
\ 041D B7 OR A
\ 041E CA6901 JP Z,?0005
\ 0421 ?0048:
187 break;
\ 0421 18F7 JR ?0045
\ 0423 ?0046:
\ 0423 ?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: //确认退出
\ 0423 ?0050:
198 list->active = active;
\ 0423 DD6EE8 LD L,(IX-24)
\ 0426 FD7504 LD (IY+4),L
\ 0429 DD66E9 LD H,(IX-23)
\ 042C FD7405 LD (IY+5),H
199 SetPenColor(oldDC_sav.PenColor);
\ 042F DD4EEE LD C,(IX-18)
\ 0432 DD46EF LD B,(IX-17)
\ 0435 DD5EEC LD E,(IX-20)
\ 0438 DD56ED LD D,(IX-19)
\ 043B CD0000 CALL LWRD SetPenColor
200 SetBackgdColor(oldDC_sav.BackgdColor);
\ 043E 210800 LD HL,8
\ 0441 39 ADD HL,SP
201 SetTextOutMode(0); //设字体不透明
\ 0442 CDA904 CALL LWRD ?0072
202 return 0;
\ 0445 210000 LD HL,0
203
204 case AP_MSG_WAIT_TIMEOUT:
\ 0448 1855 JR ?0060
\ 044A ?0051:
205 if(ui_auto_select)
\ 044A 3A0000 LD A,(ui_auto_select)
\ 044D B7 OR A
\ 044E CA6901 JP Z,?0005
\ 0451 ?0052:
206 {
207 SetPenColor(oldDC_sav.PenColor);
\ 0451 ?0066:
\ 0451 DD4EEE LD C,(IX-18)
\ 0454 DD46EF LD B,(IX-17)
\ 0457 DD5EEC LD E,(IX-20)
\ 045A DD56ED LD D,(IX-19)
\ 045D CD0000 CALL LWRD SetPenColor
208 SetBackgdColor(oldDC_sav.BackgdColor);
\ 0460 210800 LD HL,8
\ 0463 39 ADD HL,SP
209 SetTextOutMode(0); //设字体不透明
\ 0464 CDA904 CALL LWRD ?0072
210 return RESULT_IGNORE;
\ 0467 213400 LD HL,52
211 }
\ 046A 1833 JR ?0060
\ 046C ?0053:
212 break;
\ 046C ?0054:
213
214 default:
215 key = ap_handle_hotkey(key);
\ 046C CD0000 CALL LWRD ap_handle_hotkey
\ 046F DD77FD LD (IX-3),A
216 if(key == RESULT_REDRAW) need_drawall = TRUE;
\ 0472 FE32 CP 50
\ 0474 2007 JR NZ,?0056
\ 0476 ?0055:
\ 0476 DD36FF01 LD (IX-1),1
217 else
\ 047A C36901 JP LWRD ?0005
\ 047D ?0056:
218 if(key != 0)
\ 047D AF XOR A
\ 047E DDB6FD OR (IX-3)
\ 0481 CA6901 JP Z,?0005
\ 0484 ?0058:
219 {
220 SetPenColor(oldDC_sav.PenColor);
\ 0484 DD4EEE LD C,(IX-18)
\ 0487 DD46EF LD B,(IX-17)
\ 048A DD5EEC LD E,(IX-20)
\ 048D DD56ED LD D,(IX-19)
\ 0490 CD0000 CALL LWRD SetPenColor
221 SetBackgdColor(oldDC_sav.BackgdColor);
\ 0493 210800 LD HL,8
\ 0496 39 ADD HL,SP
222 SetTextOutMode(0); //设字体不透明
\ 0497 CDA904 CALL LWRD ?0072
223 return key;
\ 049A DD6EFD LD L,(IX-3)
\ 049D 2600 LD H,0
224 }
\ 049F ?0059:
\ 049F ?0057:
\ 049F ?0024:
225 }// switch(key)
226
227 }//while(1)
228 SetPenColor(oldDC_sav.PenColor);
229 SetBackgdColor(oldDC_sav.BackgdColor);
230 }
\ 049F ?0060:
\ 049F DDF9 LD SP,IX
\ 04A1 DDE1 POP IX
\ 04A3 FDE1 POP IY
\ 04A5 C1 POP BC
\ 04A6 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 04A9 ?0072:
\ 04A9 5E LD E,(HL)
\ 04AA 23 INC HL
\ 04AB 56 LD D,(HL)
\ 04AC 23 INC HL
\ 04AD 4E LD C,(HL)
\ 04AE 23 INC HL
\ 04AF 46 LD B,(HL)
\ 04B0 CD0000 CALL LWRD SetBackgdColor
\ 04B3 1E00 LD E,0
\ 04B5 C30000 JP LWRD SetTextOutMode
\ 04B8 ?0074:
\ 04B8 DD5EE8 LD E,(IX-24)
\ 04BB DD56E9 LD D,(IX-23)
\ 04BE ?0073:
\ 04BE DD7E0C LD A,(IX+12)
\ 04C1 DD6E0A LD L,(IX+10)
\ 04C4 DD660B LD H,(IX+11)
\ 04C7 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: 1226
Constant size: 18
Static variable size: Data(0) Iram(0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -