📄 main.lst
字号:
355 fmSendCommand(MC_BACKUP, (int) &radio_param);
\ 04EB 1853 JR ?0164
\ 04ED 1E44 LD E,68
\ 04EF C38A05 JP LWRD ?0153
\ 04F2 210000 LD HL,LWRD fmSendCommand
\ 04F5 C38F05 JP LWRD ?0139
\ 04F8 ?0081:
\ 04F8 C3AF02 JP LWRD ?0040
\ 04FB ?0079:
356 }
357 }
358 //menu.active==2: add for FM record by ccm //电台录音
359 else if (menu.active == 1)
\ 04FB 3E01 LD A,1
\ 04FD AD XOR L
\ 04FE B4 OR H
\ 04FF 2006 JR NZ,?0084
\ 0501 ?0083:
360 {
361 return RESULT_FMREC_NOSTART;
\ 0501 212300 LD HL,35
362 }
\ 0504 C3D806 JP LWRD ?0129
\ 0507 ?0084:
363 else if (menu.active == 2) //删除单个电台
\ 0507 3E02 LD A,2
\ 0509 AD XOR L
\ 050A B4 OR H
\ 050B 2028 JR NZ,?0086
\ 050D ?0085:
364 {
365 if (fmSendCommand(MC_DELONE, 0) != FALSE)
\ 050D 1E55 LD E,85
\ 050F CD4A00 CALL LWRD ?0167
\ 0512 2C INC L
\ 0513 2D DEC L
\ 0514 2808 JR Z,?0088
\ 0516 ?0087:
366 {
367 fmSendCommand(MC_BACKUP, (int) &radio_param);
\ 0516 010200 LD BC,radio_param
\ 0519 1E44 LD E,68
\ 051B CD4A00 CALL LWRD ?0167
\ 051E ?0088:
368 }
369 /*跳到下一个电台 */
370 fmSendCommand(MC_STEP,UP);
\ 051E 010100 LD BC,1
\ 0521 1E07 LD E,7
\ 0523 CD4A00 CALL LWRD ?0167
371 fmSendCommand(MC_GETSTATUS,(int)&FMStatus);
\ 0526 018D00 LD BC,FMStatus
\ 0529 1E83 LD E,131
\ 052B 185D JR ?0153
\ 052D 210000 LD HL,LWRD fmSendCommand
\ 0530 185D JR ?0139
\ 0532 C3AF02 JP LWRD ?0040
\ 0535 ?0086:
372 }
373 else if (menu.active == 3) //删除全部电台
\ 0535 3E03 LD A,3
\ 0537 AD XOR L
\ 0538 B4 OR H
\ 0539 2014 JR NZ,?0091
\ 053B ?0090:
374 {
375 fmSendCommand(MC_DELALL, 0);
\ 053B 1E56 LD E,86
\ 053D CD4A00 CALL LWRD ?0167
376 fmSendCommand(MC_BACKUP, (int) &radio_param);
\ 0540 ?0164:
\ 0540 010200 LD BC,radio_param
\ 0543 1E44 LD E,68
\ 0545 1843 JR ?0153
\ 0547 210000 LD HL,LWRD fmSendCommand
\ 054A 1843 JR ?0139
\ 054C C3AF02 JP LWRD ?0040
\ 054F ?0091:
377 }
378 else if (menu.active == 4) //全自动搜台.
\ 054F 3E04 LD A,4
\ 0551 AD XOR L
\ 0552 B4 OR H
\ 0553 2040 JR NZ,?0094
\ 0555 ?0093:
379 {
380 result = AutoSearchHandle(10);
\ 0555 1E0A LD E,10
\ 0557 3E00 LD A,BYTE3 AutoSearchHandle
\ 0559 210000 LD HL,LWRD AutoSearchHandle
\ 055C CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 055F E5 PUSH HL
\ 0560 FDE1 POP IY
381 if (result == RESULT_IGNORE)
\ 0562 3E30 LD A,48
\ 0564 AD XOR L
\ 0565 B4 OR H
\ 0566 2004 JR NZ,?0096
\ 0568 ?0095:
382 result = 0;
\ 0568 FD210000 LD IY,0
\ 056C ?0096:
383 if (result != 0)
\ 056C FDE5 PUSH IY
\ 056E E1 POP HL
\ 056F 7D LD A,L
\ 0570 B4 OR H
\ 0571 2806 JR Z,?0098
\ 0573 ?0097:
384 return result;
\ 0573 C3D506 JP LWRD ?0128
\ 0576 C3D806 JP LWRD ?0129
\ 0579 ?0098:
385 if(FMStatus.volume)
\ 0579 3A9300 LD A,(FMStatus+6)
\ 057C B7 OR A
\ 057D 2803 JR Z,?0100
\ 057F ?0099:
386 fmSendCommand(MC_MUTE, releaseMUTE);
\ 057F CD4800 CALL LWRD ?0168
\ 0582 ?0100:
387 fmSendCommand(MC_SETVOLUME, FMStatus.volume);
\ 0582 ED4B9300 LD BC,(FMStatus+6)
\ 0586 0600 LD B,0
\ 0588 1E40 LD E,64
\ 058A ?0153:
\ 058A 3E00 LD A,BYTE3 fmSendCommand
\ 058C 210000 LD HL,LWRD fmSendCommand
\ 058F ?0139:
\ 058F CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0592 C3AF02 JP LWRD ?0040
\ 0595 ?0094:
388 }
389 else if (menu.active == 5) //选择日本频段
\ 0595 3E05 LD A,5
\ 0597 AD XOR L
\ 0598 B4 OR H
\ 0599 2022 JR NZ,?0103
\ 059B ?0102:
390 {
391 if (FMStatus.mode == 1)
\ 059B 3A9200 LD A,(FMStatus+5)
\ 059E 3D DEC A
\ 059F C2AF02 JP NZ,?0040
\ 05A2 ?0104:
392 {
393 memcpy(&FMStatusJP, &FMStatus, sizeof(FMStatus));
\ 05A2 0E09 LD C,9
\ 05A4 119F00 LD DE,FMStatusJP
\ 05A7 218D00 LD HL,FMStatus
\ 05AA EDB0 LDIR
394 memcpy(&FMStatus, &FMStatusUS, sizeof(FMStatus));
\ 05AC 0E09 LD C,9
\ 05AE 118D00 LD DE,FMStatus
\ 05B1 219600 LD HL,FMStatusUS
\ 05B4 1827 JR ?0159
395 BandSwitch = TRUE;
\ 05B6 DD36F301 LD (IX-13),1
\ 05BA ?0105:
\ 05BA C3AF02 JP LWRD ?0040
\ 05BD ?0103:
396 }
397 }
398 else if (menu.active == 6) //选择欧美频段
\ 05BD 3E06 LD A,6
\ 05BF AD XOR L
\ 05C0 B4 OR H
\ 05C1 C2AF02 JP NZ,?0040
\ 05C4 ?0107:
399 {
400 if (FMStatus.mode == 0)
\ 05C4 3A9200 LD A,(FMStatus+5)
\ 05C7 B7 OR A
\ 05C8 C2AF02 JP NZ,?0040
\ 05CB ?0109:
401 {
402 memcpy(&FMStatusUS, &FMStatus, sizeof(FMStatus));
\ 05CB 0E09 LD C,9
\ 05CD 119600 LD DE,FMStatusUS
\ 05D0 218D00 LD HL,FMStatus
\ 05D3 EDB0 LDIR
403 memcpy(&FMStatus, &FMStatusJP, sizeof(FMStatus));
\ 05D5 0E09 LD C,9
\ 05D7 118D00 LD DE,FMStatus
\ 05DA 219F00 LD HL,FMStatusJP
\ 05DD ?0159:
\ 05DD EDB0 LDIR
404 BandSwitch = TRUE;
\ 05DF DD36F301 LD (IX-13),1
\ 05E3 ?0110:
\ 05E3 ?0108:
\ 05E3 ?0106:
\ 05E3 ?0101:
\ 05E3 ?0092:
\ 05E3 ?0089:
\ 05E3 ?0082:
405 }
406 }
407
408 break;
\ 05E3 C3AF02 JP LWRD ?0040
\ 05E6 ?0111:
409 case AP_KEY_PLAY | AP_KEY_UP: //跳到电台表的下一个
410 fmSendCommand(MC_STEP, UP);
\ 05E6 0E01 LD C,1
\ 05E8 1E07 LD E,7
\ 05EA ?0154:
\ 05EA 3E00 LD A,BYTE3 fmSendCommand
\ 05EC ?0146:
\ 05EC CD4C00 CALL LWRD ?0170
411 fmSendCommand(MC_GETSTATUS, (int) &FMStatus);
\ 05EF ?0161:
\ 05EF 018D00 LD BC,FMStatus
\ 05F2 1E83 LD E,131
\ 05F4 ?0156:
\ 05F4 3E00 LD A,BYTE3 fmSendCommand
\ 05F6 210000 LD HL,LWRD fmSendCommand
\ 05F9 ?0163:
\ 05F9 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
412 need_draw = TRUE;
\ 05FC C3B006 JP LWRD ?0147
413 break;
\ 05FF C3AF02 JP LWRD ?0040
\ 0602 ?0112:
414 case AP_KEY_VOLADD:
415 case AP_KEY_VOLSUB:
416 ClearScreen(NULL);
\ 0602 58 LD E,B
\ 0603 50 LD D,B
\ 0604 CD0000 CALL LWRD ClearScreen
417 UpdateScreen(NULL); //刷新
\ 0607 58 LD E,B
\ 0608 50 LD D,B
\ 0609 CD0000 CALL LWRD UpdateScreen
418 ResShowPic(VOLUMEBK, 0, 0);
\ 060C 48 LD C,B
\ 060D C5 PUSH BC
\ 060E 11F801 LD DE,504
\ 0611 3E00 LD A,BYTE3 ResShowPic
\ 0613 210000 LD HL,LWRD ResShowPic
\ 0616 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0619 F1 POP AF
419 slider.max = g_comval.VolumeMax;
\ 061A ED4B3C00 LD BC,(g_comval+31)
\ 061E 0600 LD B,0
\ 0620 ED430800 LD (slider+2),BC
420 slider.min = 0;
\ 0624 68 LD L,B
\ 0625 60 LD H,B
\ 0626 220600 LD (slider),HL
421 slider.step = 1;
\ 0629 23 INC HL
\ 062A 220C00 LD (slider+6),HL
422 FMStatus.volume = FMStatus.vol_display * 31 / g_comval.VolumeMax;
\ 062D ED4B9500 LD BC,(FMStatus+8)
\ 0631 44 LD B,H
\ 0632 111F00 LD DE,31
\ 0635 CD0000 CALL LWRD ?S_MUL_L02
\ 0638 ED4B3C00 LD BC,(g_comval+31)
\ 063C 44 LD B,H
\ 063D CD3D00 CALL LWRD ?0166
423 slider.value = FMStatus.vol_display;
\ 0640 ED4B9500 LD BC,(FMStatus+8)
\ 0644 44 LD B,H
\ 0645 ED430A00 LD (slider+4),BC
424 ui_auto_update = FALSE;
\ 0649 AF XOR
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -