📄 bookmark_list.lst
字号:
\ 02EE 3E00 LD A,BYTE3 show_active_bklist
\ 02F0 213D00 LD HL,LWRD show_active_bklist
\ 02F3 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 02F6 E1 POP HL
177 value_changed=FALSE;
\ 02F7 DD36FE00 LD (IX-2),0
\ 02FB ?0021:
178 }
179 key = ap_get_message();
\ 02FB CD0000 CALL LWRD ap_get_message
180 //handle message
181 switch( key)
\ 02FE 5F LD E,A
\ 02FF CD0000 CALL LWRD ?C_V_SWITCH_L06
\ 0302 0700 DEFW 7
\ 0304 05 DEFB 5
\ 0305 06 DEFB 6
\ 0306 1E DEFB 30
\ 0307 21 DEFB 33
\ 0308 30 DEFB 48
\ 0309 45 DEFB 69
\ 030A 46 DEFB 70
\ 030B 3B04 DEFW ?0046
\ 030D 1B03 DEFW ?0023
\ 030F 7E03 DEFW ?0032
\ 0311 F203 DEFW ?0042
\ 0313 2004 DEFW ?0058
\ 0315 1904 DEFW ?0043
\ 0317 1B03 DEFW ?0023
\ 0319 7E03 DEFW ?0032
\ 031B ?0023:
182 {
183 case AP_KEY_NEXT:
184 case AP_KEY_NEXT | AP_KEY_HOLD:
185 if(active < list->total - 1)
\ 031B FD4E02 LD C,(IY+2)
\ 031E FD4603 LD B,(IY+3)
\ 0321 0B DEC BC
\ 0322 DD6EE8 LD L,(IX-24)
\ 0325 DD66E9 LD H,(IX-23)
\ 0328 F680 OR 128
\ 032A ED42 SBC HL,BC
\ 032C E23003 JP PO,?0055
\ 032F AC XOR H
\ 0330 ?0055:
\ 0330 F26503 JP P,?0025
\ 0333 ?0024:
186 {
187 active++;
\ 0333 DD34E8 INC (IX-24)
\ 0336 2003 JR NZ,?0056
\ 0338 DD34E9 INC (IX-23)
\ 033B ?0056:
188 if(active/LIST_NUM_ONE_PAGE==cur_group)
\ 033B 010600 LD BC,6
\ 033E DD5EE8 LD E,(IX-24)
\ 0341 DD56E9 LD D,(IX-23)
\ 0344 CD0000 CALL LWRD ?SS_DIV_L02
\ 0347 DD6EF6 LD L,(IX-10)
\ 034A DD66F7 LD H,(IX-9)
\ 034D A7 AND A
\ 034E ED52 SBC HL,DE
\ 0350 201A JR NZ,?0060
\ 0352 ?0026:
189 {
190 old_active=active-1;
\ 0352 DD6EE8 LD L,(IX-24)
\ 0355 DD66E9 LD H,(IX-23)
\ 0358 2B DEC HL
\ 0359 DD75F8 LD (IX-8),L
\ 035C DD74F9 LD (IX-7),H
191 value_changed=TRUE;
\ 035F DD36FE01 LD (IX-2),1
192 }
193 else
\ 0363 180B JR ?0029
\ 0365 ?0027:
194 need_draw = TRUE;
\ 0365 ?0028:
195 }
196 else
\ 0365 ?0025:
197 {
198 active = 0;
199 need_draw = TRUE;
\ 0365 AF XOR A
\ 0366 DD77E8 LD (IX-24),A
\ 0369 DD77E9 LD (IX-23),A
\ 036C ?0060:
\ 036C DD36FC01 LD (IX-4),1
\ 0370 ?0029:
200 }
201 if(callback != NULL)
\ 0370 DD7E0A LD A,(IX+10)
\ 0373 DDB60B OR (IX+11)
\ 0376 DDB60C OR (IX+12)
\ 0379 CA7601 JP Z,?0005
\ 037C ?0030:
202 callback(active);
\ 037C 185F JR ?0059
\ 037E ?0031:
203
204 break;
\ 037E ?0032:
205
206 case AP_KEY_PREV:
207 case AP_KEY_PREV | AP_KEY_HOLD:
208 if(active > 0)
\ 037E DD4EE8 LD C,(IX-24)
\ 0381 DD46E9 LD B,(IX-23)
\ 0384 210000 LD HL,0
\ 0387 F680 OR 128
\ 0389 ED42 SBC HL,BC
\ 038B E28F03 JP PO,?0057
\ 038E AC XOR H
\ 038F ?0057:
\ 038F F2C003 JP P,?0034
\ 0392 ?0033:
209 {
210 active--;
\ 0392 69 LD L,C
\ 0393 60 LD H,B
\ 0394 2B DEC HL
\ 0395 DD75E8 LD (IX-24),L
\ 0398 DD74E9 LD (IX-23),H
211 if(active/LIST_NUM_ONE_PAGE==cur_group)
\ 039B 010600 LD BC,6
\ 039E EB EX DE,HL
\ 039F CD0000 CALL LWRD ?SS_DIV_L02
\ 03A2 DD6EF6 LD L,(IX-10)
\ 03A5 DD66F7 LD H,(IX-9)
\ 03A8 A7 AND A
\ 03A9 ED52 SBC HL,DE
\ 03AB 2020 JR NZ,?0061
\ 03AD ?0035:
212 {
213 old_active=active+1;
\ 03AD DD6EE8 LD L,(IX-24)
\ 03B0 DD66E9 LD H,(IX-23)
\ 03B3 23 INC HL
\ 03B4 DD75F8 LD (IX-8),L
\ 03B7 DD74F9 LD (IX-7),H
214 value_changed=TRUE;
\ 03BA DD36FE01 LD (IX-2),1
215 }
216 else
\ 03BE 1811 JR ?0038
\ 03C0 ?0036:
217 need_draw = TRUE;
\ 03C0 ?0037:
218 }
219 else
\ 03C0 ?0034:
220 {
221 active = list->total - 1;
\ 03C0 FD6E02 LD L,(IY+2)
\ 03C3 FD6603 LD H,(IY+3)
\ 03C6 2B DEC HL
\ 03C7 DD75E8 LD (IX-24),L
\ 03CA DD74E9 LD (IX-23),H
222 need_draw = TRUE;
\ 03CD ?0061:
\ 03CD DD36FC01 LD (IX-4),1
\ 03D1 ?0038:
223 }
224 if(callback != NULL)
\ 03D1 DD7E0A LD A,(IX+10)
\ 03D4 DDB60B OR (IX+11)
\ 03D7 DDB60C OR (IX+12)
\ 03DA CA7601 JP Z,?0005
\ 03DD ?0039:
225 callback(active);
\ 03DD ?0059:
\ 03DD DD5EE8 LD E,(IX-24)
\ 03E0 DD56E9 LD D,(IX-23)
\ 03E3 DD7E0C LD A,(IX+12)
\ 03E6 DD6E0A LD L,(IX+10)
\ 03E9 DD660B LD H,(IX+11)
\ 03EC CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 03EF ?0040:
226
227 break;
\ 03EF C37601 JP LWRD ?0005
\ 03F2 ?0041:
228
229 case AP_KEY_PLAY | AP_KEY_UP: //取消退出
230 SetPenColor(oldDC_sav.PenColor);
231 SetBackgdColor(oldDC_sav.BackgdColor);
232 SetTextOutMode(0); //设字体不透明
233 return RESULT_IGNORE;
234
235 case AP_KEY_MODE | AP_KEY_UP: //确认退出
\ 03F2 ?0042:
236 // FIXME::enter function menu??
237 list->active = active;
\ 03F2 DD6EE8 LD L,(IX-24)
\ 03F5 FD7504 LD (IY+4),L
\ 03F8 DD66E9 LD H,(IX-23)
\ 03FB FD7405 LD (IY+5),H
238 SetPenColor(oldDC_sav.PenColor);
\ 03FE DD4EEE LD C,(IX-18)
\ 0401 DD46EF LD B,(IX-17)
\ 0404 DD5EEC LD E,(IX-20)
\ 0407 DD56ED LD D,(IX-19)
\ 040A CD0000 CALL LWRD SetPenColor
239 SetBackgdColor(oldDC_sav.BackgdColor);
\ 040D 210800 LD HL,8
\ 0410 39 ADD HL,SP
240 SetTextOutMode(0); //设字体不透明
\ 0411 CD7804 CALL LWRD ?0065
241 return 0;
\ 0414 210000 LD HL,0
242
243 case AP_MSG_WAIT_TIMEOUT:
\ 0417 1855 JR ?0052
\ 0419 ?0043:
244 if(ui_auto_select)
\ 0419 3A0000 LD A,(ui_auto_select)
\ 041C B7 OR A
\ 041D CA7601 JP Z,?0005
\ 0420 ?0044:
245 {
246 SetPenColor(oldDC_sav.PenColor);
\ 0420 ?0058:
\ 0420 DD4EEE LD C,(IX-18)
\ 0423 DD46EF LD B,(IX-17)
\ 0426 DD5EEC LD E,(IX-20)
\ 0429 DD56ED LD D,(IX-19)
\ 042C CD0000 CALL LWRD SetPenColor
247 SetBackgdColor(oldDC_sav.BackgdColor);
\ 042F 210800 LD HL,8
\ 0432 39 ADD HL,SP
248 SetTextOutMode(0); //设字体不透明
\ 0433 CD7804 CALL LWRD ?0065
249 return RESULT_IGNORE;
\ 0436 213400 LD HL,52
250 }
\ 0439 1833 JR ?0052
\ 043B ?0045:
251 break;
\ 043B ?0046:
252
253 default:
254 key = ap_handle_hotkey(key);
\ 043B CD0000 CALL LWRD ap_handle_hotkey
\ 043E DD77FD LD (IX-3),A
255 if(key == RESULT_REDRAW) need_drawall = TRUE;
\ 0441 FE32 CP 50
\ 0443 2007 JR NZ,?0048
\ 0445 ?0047:
\ 0445 DD36FF01 LD (IX-1),1
256 else
\ 0449 C37601 JP LWRD ?0005
\ 044C ?0048:
257 if(key != 0)
\ 044C AF XOR A
\ 044D DDB6FD OR (IX-3)
\ 0450 CA7601 JP Z,?0005
\ 0453 ?0050:
258 {
259 SetPenColor(oldDC_sav.PenColor);
\ 0453 DD4EEE LD C,(IX-18)
\ 0456 DD46EF LD B,(IX-17)
\ 0459 DD5EEC LD E,(IX-20)
\ 045C DD56ED LD D,(IX-19)
\ 045F CD0000 CALL LWRD SetPenColor
260 SetBackgdColor(oldDC_sav.BackgdColor);
\ 0462 210800 LD HL,8
\ 0465 39 ADD HL,SP
261 SetTextOutMode(0); //设字体不透明
\ 0466 CD7804 CALL LWRD ?0065
262 return key;
\ 0469 DD6EFD LD L,(IX-3)
\ 046C 2600 LD H,0
263 }
\ 046E ?0051:
\ 046E ?0049:
\ 046E ?0022:
264 }// switch(key)
265
266 }//while(1)
267 SetPenColor(oldDC_sav.PenColor);
268 SetBackgdColor(oldDC_sav.BackgdColor);
269 }
\ 046E ?0052:
\ 046E DDF9 LD SP,IX
\ 0470 DDE1 POP IX
\ 0472 FDE1 POP IY
\ 0474 C1 POP BC
\ 0475 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0478 ?0065:
\ 0478 5E LD E,(HL)
\ 0479 23 INC HL
\ 047A 56 LD D,(HL)
\ 047B 23 INC HL
\ 047C 4E LD C,(HL)
\ 047D 23 INC HL
\ 047E 46 LD B,(HL)
\ 047F CD0000 CALL LWRD SetBackgdColor
\ 0482 1E00 LD E,0
\ 0484 C30000 JP LWRD SetTextOutMode
270
271 #pragma function = default
\ 0487 END
Errors: none
Warnings: none
Code size: 1159
Constant size: 0
Static variable size: Data(0) Iram(0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -