autosearchhandle.lst
来自「MP3 整个 SDK」· LST 代码 · 共 1,436 行 · 第 1/5 页
LST
1,436 行
272
273 AutoTabNum = 0; // 全自动搜索,从极值开始.
\ 03AE AF XOR A
\ 03AF 322800 LD (AutoTabNum),A
274 fmSendCommand(MC_BACKUP,(int)&radio_param);
\ 03B2 010000 LD BC,radio_param
\ 03B5 1E44 LD E,68
\ 03B7 CD7103 CALL LWRD ?0175
275 if(FMStatus.mode==0)
\ 03BA DD36F801 LD (IX-8),1
\ 03BE DD36F905 LD (IX-7),5
\ 03C2 DD36FA01 LD (IX-6),1
\ 03C6 3A0500 LD A,(FMStatus+5)
\ 03C9 B7 OR A
\ 03CA DD7EFE LD A,(IX-2)
\ 03CD 200E JR NZ,?0050
\ 03CF ?0049:
276 {
277 if(Direct==10) // US频段
\ 03CF FE0A CP 10
\ 03D1 2005 JR NZ,?0052
\ 03D3 ?0051:
278 {
279 FMStatus.freq = 0x53d8;
\ 03D3 21D853 LD HL,21464
\ 03D6 1811 JR ?0163
280 }
281 else
\ 03D8 ?0052:
282 {
283 FMStatus.freq = 0xa5e0;
\ 03D8 21E0A5 LD HL,42464
\ 03DB 180C JR ?0163
\ 03DD ?0053:
284 }
285 }
286 else
\ 03DD ?0050:
287 { // JP频段
288 if(Direct==10)
\ 03DD FE0A CP 10
\ 03DF 2005 JR NZ,?0056
\ 03E1 ?0055:
289 {
290 FMStatus.freq = 0x28e0;
\ 03E1 21E028 LD HL,10464
\ 03E4 1803 JR ?0163
291 }
292 else
\ 03E6 ?0056:
293 {
294 FMStatus.freq = 0x5f90;
\ 03E6 21905F LD HL,24464
\ 03E9 ?0163:
\ 03E9 220100 LD (FMStatus+1),HL
\ 03EC ?0057:
\ 03EC ?0054:
295 }
296 }
297
298 temp = FMStatus.station_count;
\ 03EC 3A0400 LD A,(FMStatus+4)
\ 03EF DD77FB LD (IX-5),A
\ 03F2 ?0059:
299 while(loop)
\ 03F2 AF XOR A
\ 03F3 DDB6FA OR (IX-6)
\ 03F6 CAA705 JP Z,?0058
\ 03F9 ?0060:
300 {
301 if(Direct!=0)
\ 03F9 AF XOR A
\ 03FA DDB6FE OR (IX-2)
\ 03FD CA3505 JP Z,?0112
\ 0400 ?0061:
302 {
303 if(Direct==10) //NEXT搜索处理
\ 0400 FE0A CP 10
\ 0402 C29204 JP NZ,?0064
\ 0405 ?0063:
304 {
305 if(((FMStatus.freq+100)>0xa5e0)&&(FMStatus.mode==0))
\ 0405 2A0100 LD HL,(FMStatus+1)
\ 0408 016400 LD BC,100
\ 040B 09 ADD HL,BC
\ 040C 4D LD C,L
\ 040D 44 LD B,H
\ 040E 21E0A5 LD HL,42464
\ 0411 A7 AND A
\ 0412 ED42 SBC HL,BC
\ 0414 300B JR NC,?0066
\ 0416 3A0500 LD A,(FMStatus+5)
\ 0419 B7 OR A
\ 041A 2005 JR NZ,?0066
\ 041C ?0068:
\ 041C ?0067:
\ 041C ?0065:
306 {
307 FMStatus.freq=0x53d8;
\ 041C 21D853 LD HL,21464
\ 041F 181A JR ?0164
308 Search_Level--; // 以不同门限搜索.
309 loop = RestartSearch(Search_Level);
\ 0421 ?0066:
310 }
311 else if(((FMStatus.freq+100)>0x5f90)&&(FMStatus.mode==1))
\ 0421 2A0100 LD HL,(FMStatus+1)
\ 0424 016400 LD BC,100
\ 0427 09 ADD HL,BC
\ 0428 4D LD C,L
\ 0429 44 LD B,H
\ 042A 21905F LD HL,24464
\ 042D A7 AND A
\ 042E ED42 SBC HL,BC
\ 0430 301F JR NC,?0071
\ 0432 3A0500 LD A,(FMStatus+5)
\ 0435 3D DEC A
\ 0436 2019 JR NZ,?0071
\ 0438 ?0073:
\ 0438 ?0072:
\ 0438 ?0070:
312 {
313 FMStatus.freq=0x28e0;
\ 0438 21E028 LD HL,10464
\ 043B ?0164:
\ 043B 220100 LD (FMStatus+1),HL
314 Search_Level--;
\ 043E DD35F9 DEC (IX-7)
315 loop = RestartSearch(Search_Level);
\ 0441 DD5EF9 LD E,(IX-7)
\ 0444 3E00 LD A,BYTE3 RestartSearch
\ 0446 217903 LD HL,LWRD RestartSearch
\ 0449 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 044C DD75FA LD (IX-6),L
316 }
317 else
\ 044F 180B JR ?0160
\ 0451 ?0071:
318 FMStatus.freq+=100;
\ 0451 210100 LD HL,FMStatus+1
\ 0454 7E LD A,(HL)
\ 0455 C664 ADD A,100
\ 0457 77 LD (HL),A
\ 0458 3002 JR NC,?0160
\ 045A 23 INC HL
\ 045B 34 INC (HL)
\ 045C ?0160:
\ 045C ?0074:
\ 045C ?0069:
319 if(loop && Search_Show2(UP))
\ 045C AF XOR A
\ 045D DDB6FA OR (IX-6)
\ 0460 CA3505 JP Z,?0112
\ 0463 1E01 LD E,1
\ 0465 3E00 LD A,BYTE3 Search_Show2
\ 0467 21A302 LD HL,LWRD Search_Show2
\ 046A CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 046D 2C INC L
\ 046E 2D DEC L
\ 046F CA3505 JP Z,?0112
\ 0472 ?0078:
\ 0472 ?0077:
\ 0472 ?0075:
320 {
321 ShowStationCount(AutoTabNum + 1);
322 key = TryPlayingHandle();
323 CleanStationCount();
\ 0472 CD3106 CALL LWRD ?0177
324 need_draw = TRUE;
\ 0475 DD36F801 LD (IX-8),1
325 if(key == RESULT_RADIO) // 处理Play,mode键.
\ 0479 FDE5 PUSH IY
\ 047B E1 POP HL
\ 047C 3E07 LD A,7
\ 047E AD XOR L
\ 047F B4 OR H
\ 0480 CA0F05 JP Z,?0171
\ 0483 ?0079:
326 {
327 key = RESULT_IGNORE;
328 loop = FALSE;
329 }
330 else
\ 0483 ?0080:
331 {
332 if(key != RESULT_IGNORE && key != 0) // 处理热键.
\ 0483 3E34 LD A,52
\ 0485 AD XOR L
\ 0486 B4 OR H
\ 0487 CA3505 JP Z,?0112
\ 048A 7D LD A,L
\ 048B B4 OR H
\ 048C CA3505 JP Z,?0112
\ 048F ?0085:
\ 048F ?0084:
\ 048F ?0082:
333 {
334 loop = FALSE;
\ 048F C31F05 JP LWRD ?0167
\ 0492 ?0083:
\ 0492 ?0081:
\ 0492 ?0076:
\ 0492 ?0064:
335 }
336 }
337 }
338 }
339 else if(Direct==20) //LAST搜索处理
\ 0492 FE14 CP 20
\ 0494 C22505 JP NZ,?0088
\ 0497 ?0087:
340 {
341 if(((FMStatus.freq-100)<0x53d8)&&(FMStatus.mode==0))
\ 0497 2A0100 LD HL,(FMStatus+1)
\ 049A 019CFF LD BC,65436
\ 049D 09 ADD HL,BC
\ 049E 01D853 LD BC,21464
\ 04A1 A7 AND A
\ 04A2 ED42 SBC HL,BC
\ 04A4 300B JR NC,?0090
\ 04A6 3A0500 LD A,(FMStatus+5)
\ 04A9 B7 OR A
\ 04AA 2005 JR NZ,?0090
\ 04AC ?0092:
\ 04AC ?0091:
\ 04AC ?0089:
342 {
343 FMStatus.freq=0xa5e0;
\ 04AC 21E0A5 LD HL,42464
\ 04AF 1818 JR ?0166
344 Search_Level--;
345 loop = RestartSearch(Search_Level);
\ 04B1 ?0090:
346 }
347 else if(((FMStatus.freq-100)<0x28e0)&&(FMStatus.mode==1))
\ 04B1 2A0100 LD HL,(FMStatus+1)
\ 04B4 019CFF LD BC,65436
\ 04B7 09 ADD HL,BC
\ 04B8 01E028 LD BC,10464
\ 04BB A7 AND A
\ 04BC ED42 SBC HL,BC
\ 04BE 301F JR NC,?0095
\ 04C0 3A0500 LD A,(FMStatus+5)
\ 04C3 3D DEC A
\ 04C4 2019 JR NZ,?0095
\ 04C6 ?0097:
\ 04C6 ?0096:
\ 04C6 ?0094:
348 {
349 FMStatus.freq=0x5f90;
\ 04C6 21905F LD HL,24464
\ 04C9 ?0166:
\ 04C9 220100 LD (FMStatus+1),HL
350 Search_Level--;
\ 04CC DD35F9 DEC (IX-7)
351 loop = RestartSearch(Search_Level);
\ 04CF DD5EF9 LD E,(IX-7)
\ 04D2 3E00 LD A,BYTE3 RestartSearch
\ 04D4 217903 LD HL,LWRD RestartSearch
\ 04D7 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 04DA DD75FA LD (IX-6),L
352 }
353 else
\ 04DD 180C JR ?0098
\ 04DF ?0095:
354 FMStatus.freq-=100;
\ 04DF 210100 LD HL,FMStatus+1
\ 04E2 7E LD A,(HL)
\ 04E3 C69C ADD A,156
\ 04E5 77 LD (HL),A
\ 04E6 23 INC HL
\ 04E7 7E LD A,(HL)
\ 04E8 CEFF ADC A,255
\ 04EA 77 LD (HL),A
\ 04EB ?0098:
\ 04EB ?0093:
355 if(loop && Search_Show2(DOWN))
\ 04EB AF XOR A
\ 04EC DDB6FA OR (IX-6)
\ 04EF 2844 JR Z,?0112
\ 04F1 1E00 LD E,0
\ 04F3 3E00 LD A,BYTE3 Search_Show2
\ 04F5 21A302 LD HL,LWRD Search_Show2
\ 04F8 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 04FB 2C INC L
\ 04FC 2D DEC L
\ 04FD 2836 JR Z,?0112
\ 04FF ?0102:
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?