📄 autosearchhandle.lst
字号:
277 Search_Loop--;
\ 03BA DD35FB DEC (IX-5)
278 if (Search_Loop == 0)
\ 03BD DDB6FB OR (IX-5)
\ 03C0 2025 JR NZ,?0072
\ 03C2 ?0063:
279 {
280 loop = FALSE;
\ 03C2 181E JR ?0183
281 }
282 else
\ 03C4 ?0064:
283 {
284 loop = RestartSearch(Search_Level);
\ 03C4 ?0065:
\ 03C4 ?0060:
285 }
286 }
287 else if(((FMStatus.freq+1)>140)&&(FMStatus.mode==1))
\ 03C4 218C00 LD HL,140
\ 03C7 A7 AND A
\ 03C8 ED42 SBC HL,BC
\ 03CA 302B JR NC,?0068
\ 03CC 3A0500 LD A,(FMStatus+5)
\ 03CF 3D DEC A
\ 03D0 2025 JR NZ,?0068
\ 03D2 ?0070:
\ 03D2 ?0069:
\ 03D2 ?0067:
288 {
289 FMStatus.freq=0;
\ 03D2 6F LD L,A
\ 03D3 67 LD H,A
\ 03D4 220100 LD (FMStatus+1),HL
290 Search_Level--;
\ 03D7 DD35F9 DEC (IX-7)
291 Search_Loop--;
\ 03DA DD35FB DEC (IX-5)
292 if (Search_Loop == 0)
\ 03DD DDB6FB OR (IX-5)
\ 03E0 2005 JR NZ,?0072
\ 03E2 ?0071:
293 {
294 loop = FALSE;
\ 03E2 ?0183:
\ 03E2 DD74FA LD (IX-6),H
295 }
296 else
\ 03E5 1815 JR ?0074
\ 03E7 ?0072:
297 {
298 loop = RestartSearch(Search_Level);
\ 03E7 DD5EF9 LD E,(IX-7)
\ 03EA 3E00 LD A,BYTE3 RestartSearch
\ 03EC 211403 LD HL,LWRD RestartSearch
\ 03EF CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 03F2 DD75FA LD (IX-6),L
\ 03F5 ?0073:
299 }
300 }
301 else
\ 03F5 1805 JR ?0074
\ 03F7 ?0068:
302 FMStatus.freq+=1;
\ 03F7 69 LD L,C
\ 03F8 60 LD H,B
\ 03F9 220100 LD (FMStatus+1),HL
\ 03FC ?0074:
\ 03FC ?0066:
303 if (loop && Search_Show2(UP))
\ 03FC AF XOR A
\ 03FD DDB6FA OR (IX-6)
\ 0400 CA8704 JP Z,?0118
\ 0403 1E01 LD E,1
\ 0405 3E00 LD A,BYTE3 Search_Show2
\ 0407 213E02 LD HL,LWRD Search_Show2
\ 040A CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 040D 2C INC L
\ 040E 2D DEC L
\ 040F 2876 JR Z,?0118
\ 0411 ?0078:
\ 0411 ?0077:
\ 0411 ?0075:
304 {
305 ShowStationCount(AutoTabNum + 1);
306 key = TryPlayingHandle();
307 CleanStationCount();
\ 0411 CD8305 CALL LWRD ?0193
308 need_draw = TRUE;
\ 0414 DD36F801 LD (IX-8),1
309 if (key == RESULT_RADIO) // 处理Play,mode键.
\ 0418 FDE5 PUSH IY
\ 041A E1 POP HL
\ 041B 3E05 LD A,5
\ 041D AD XOR L
\ 041E B4 OR H
\ 041F 2840 JR Z,?0187
\ 0421 ?0079:
310 {
311 key = RESULT_IGNORE;
312 loop = FALSE;
313 }
314 else
\ 0421 ?0080:
315 {
316 if (key != RESULT_IGNORE && key != 0) // 处理热键.
\ 0421 3E30 LD A,48
\ 0423 AD XOR L
\ 0424 B4 OR H
\ 0425 2860 JR Z,?0118
\ 0427 7D LD A,L
\ 0428 B4 OR H
\ 0429 285C JR Z,?0118
\ 042B ?0085:
\ 042B ?0084:
\ 042B ?0082:
317 {
318 loop = FALSE;
\ 042B 1844 JR ?0180
\ 042D ?0083:
\ 042D ?0081:
\ 042D ?0076:
\ 042D ?0058:
319 }
320 }
321 }
322 }
323 else if (Direct == 20) //LAST搜索处理
\ 042D FE14 CP 20
\ 042F 2046 JR NZ,?0088
\ 0431 ?0087:
324 {
325 if(((FMStatus.freq-1)<0)&&(FMStatus.mode==0))
\ 0431 ?0092:
\ 0431 ?0091:
\ 0431 ?0089:
326 {
327 FMStatus.freq=0;
328 Search_Loop--;
329 if (Search_Loop == 0)
\ 0431 ?0093:
330 {
331 loop = FALSE;
332 }
333 else
\ 0431 ?0094:
334 {
335 loop = RestartSearch(Search_Level);
\ 0431 ?0095:
\ 0431 ?0090:
336 }
337 }
338 else if(((FMStatus.freq-1)<0)&&(FMStatus.mode==1))
\ 0431 ?0100:
\ 0431 ?0099:
\ 0431 ?0097:
339 {
340 FMStatus.freq=0;
341 Search_Level--;
342 Search_Loop--;
343 if (Search_Loop == 0)
\ 0431 ?0101:
344 {
345 loop = FALSE;
346 }
347 else
\ 0431 ?0102:
348 {
349 loop = RestartSearch(Search_Level);
\ 0431 ?0103:
350 }
351 }
352 else
\ 0431 ?0098:
353 {
354 FMStatus.freq-=1;
\ 0431 210100 LD HL,FMStatus+1
\ 0434 7E LD A,(HL)
\ 0435 C6FF ADD A,255
\ 0437 77 LD (HL),A
\ 0438 23 INC HL
\ 0439 7E LD A,(HL)
\ 043A CEFF ADC A,255
\ 043C 77 LD (HL),A
\ 043D ?0104:
\ 043D ?0096:
355 }
356 if (loop && Search_Show2(DOWN))
\ 043D AF XOR A
\ 043E DDB6FA OR (IX-6)
\ 0441 2844 JR Z,?0118
\ 0443 1E00 LD E,0
\ 0445 3E00 LD A,BYTE3 Search_Show2
\ 0447 213E02 LD HL,LWRD Search_Show2
\ 044A CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 044D 2C INC L
\ 044E 2D DEC L
\ 044F 2836 JR Z,?0118
\ 0451 ?0108:
\ 0451 ?0107:
\ 0451 ?0105:
357 {
358 ShowStationCount(AutoTabNum + 1);
359 key = TryPlayingHandle();
360 CleanStationCount();
\ 0451 CD8305 CALL LWRD ?0193
361 need_draw = TRUE;
\ 0454 DD36F801 LD (IX-8),1
362 if (key == RESULT_RADIO) // 处理Play,mode键.
\ 0458 FDE5 PUSH IY
\ 045A E1 POP HL
\ 045B 3E05 LD A,5
\ 045D AD XOR L
\ 045E B4 OR H
\ 045F 2006 JR NZ,?0110
\ 0461 ?0109:
363 {
364 key = RESULT_IGNORE;
365 loop = FALSE;
\ 0461 ?0187:
\ 0461 FD213000 LD IY,48
\ 0465 180A JR ?0180
366 }
367 else
\ 0467 ?0110:
368 {
369 if (key != RESULT_IGNORE && key != 0) // 处理热键.
\ 0467 3E30 LD A,48
\ 0469 AD XOR L
\ 046A B4 OR H
\ 046B 281A JR Z,?0118
\ 046D 7D LD A,L
\ 046E B4 OR H
\ 046F 2816 JR Z,?0118
\ 0471 ?0115:
\ 0471 ?0114:
\ 0471 ?0112:
370 {
371 loop = FALSE;
\ 0471 ?0180:
\ 0471 DD36FA00 LD (IX-6),0
\ 0475 ?0113:
\ 0475 ?0111:
\ 0475 ?0106:
\ 0475 1810 JR ?0118
\ 0477 ?0088:
372 }
373 }
374 }
375 }
376 else if (Direct == 50)
\ 0477 FE32 CP 50
\ 0479 200C JR NZ,?0118
\ 047B ?0117:
377 {
378 Direct = 0;
379 loop = 0;
380 key = 0;
\ 047B DD36FE00 LD (IX-2),0
\ 047F DD36FA00 LD (IX-6),0
\ 0483 FD210000 LD IY,0
\ 0487 ?0118:
\ 0487 ?0116:
\ 0487 ?0086:
\ 0487 ?0056:
381 }
382 }
383
384 if (loop && need_draw) //显示
\ 0487 AF XOR A
\ 0488 DDB6FA OR (IX-6)
\ 048B 2812 JR Z,?0120
\ 048D AF XOR A
\ 048E DDB6F8 OR (IX-8)
\ 0491 280C JR Z,?0120
\ 0493 ?0122:
\ 0493 ?0121:
\ 0493 ?0119:
385 {
386 ShowFreqInFM2();
\ 0493 3E00 LD A,BYTE3 ShowFreqInFM2
\ 0495 21AB00 LD HL,LWRD ShowFreqInFM2
\ 0498 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
387 need_draw = FALSE;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -