📄 tryplaying.lst
字号:
\ 0110 ?0017:
91 }
92 if (flash_point) // 箭头闪烁
\ 0110 DD7EFA LD A,(IX-6)
\ 0113 DDB6FB OR (IX-5)
\ 0116 3A0500 LD A,(FMStatus+5)
\ 0119 2825 JR Z,?0019
\ 011B ?0018:
93 {
94 if (FMStatus.mode == 0)
\ 011B B7 OR A
\ 011C 0E10 LD C,16
\ 011E C5 PUSH BC
\ 011F DD7EF6 LD A,(IX-10)
\ 0122 2004 JR NZ,?0021
\ 0124 ?0020:
95 {
96 ResShowPic(DWNARROW, 11 - 5 + k, 16); //显示箭头
\ 0124 C606 ADD A,6
\ 0126 1802 JR ?0044
97 //ResShowPic(FQBAR,0,24); //显示US频率条
98 }
99 else
\ 0128 ?0021:
100 {
101 ResShowPic(DWNARROW, 30 - 6 + k, 16); //显示箭头
\ 0128 C618 ADD A,24
\ 012A ?0044:
\ 012A 4F LD C,A
\ 012B 115E00 LD DE,94
\ 012E 3E00 LD A,BYTE3 ResShowPic
\ 0130 210000 LD HL,LWRD ResShowPic
\ 0133 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0136 F1 POP AF
\ 0137 ?0022:
102 //ResShowPic(FQBAR2,0,24); //显示JP频率条
103 }
104 flash_point = 0;
\ 0137 AF XOR A
\ 0138 DD77FA LD (IX-6),A
\ 013B DD77FB LD (IX-5),A
105 }
106 else // 清除箭头
\ 013E 1822 JR ?0023
\ 0140 ?0019:
107 {
108 if (FMStatus.mode == 0)
\ 0140 B7 OR A
\ 0141 0E10 LD C,16
\ 0143 DD7EF6 LD A,(IX-10)
\ 0146 2004 JR NZ,?0025
\ 0148 ?0024:
109 {
110 SetTextPos(11 - 5 + k, 16);
\ 0148 C606 ADD A,6
\ 014A 1802 JR ?0045
111 }
112 else
\ 014C ?0025:
113 {
114 SetTextPos(30 - 6 + k, 16);
\ 014C C618 ADD A,24
\ 014E ?0045:
\ 014E 5F LD E,A
\ 014F CD0000 CALL LWRD SetTextPos
\ 0152 ?0026:
115 }
116 PutS(" ", 2);
\ 0152 0E02 LD C,2
\ 0154 110000 LD DE,?0027
\ 0157 CD0000 CALL LWRD PutS
117 flash_point = 1;
\ 015A DD36FA01 LD (IX-6),1
\ 015E DD36FB00 LD (IX-5),0
\ 0162 ?0023:
118 }
119 UpdateScreen(NULL);
\ 0162 110000 LD DE,0
\ 0165 CD0000 CALL LWRD UpdateScreen
120 break;
\ 0168 C39300 JP LWRD ?0009
\ 016B ?0028:
121 case AP_KEY_VOLADD: // 音量调节.
122 case AP_KEY_VOLSUB:
123 ClearScreen(NULL);
\ 016B 58 LD E,B
\ 016C 50 LD D,B
\ 016D CD0000 CALL LWRD ClearScreen
124 ResShowPic(VOLUMEBK, 0, 0);
\ 0170 48 LD C,B
\ 0171 C5 PUSH BC
\ 0172 11F801 LD DE,504
\ 0175 3E00 LD A,BYTE3 ResShowPic
\ 0177 210000 LD HL,LWRD ResShowPic
\ 017A CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 017D F1 POP AF
125 slider.max = g_comval.VolumeMax;
\ 017E ED4B1F00 LD BC,(g_comval+31)
\ 0182 0600 LD B,0
\ 0184 ED430200 LD (slider+2),BC
126 slider.min = 0;
\ 0188 68 LD L,B
\ 0189 60 LD H,B
\ 018A 220000 LD (slider),HL
127 slider.step = 1;
\ 018D 23 INC HL
\ 018E 220600 LD (slider+6),HL
128 FMStatus.volume = FMStatus.vol_display * 31 / g_comval.VolumeMax;
\ 0191 ED4B0800 LD BC,(FMStatus+8)
\ 0195 44 LD B,H
\ 0196 111F00 LD DE,31
\ 0199 CD0000 CALL LWRD ?S_MUL_L02
\ 019C ED4B1F00 LD BC,(g_comval+31)
\ 01A0 44 LD B,H
\ 01A1 CD0000 CALL LWRD ?SS_DIV_L02
\ 01A4 7B LD A,E
\ 01A5 320600 LD (FMStatus+6),A
129 slider.value = FMStatus.vol_display;
\ 01A8 ED4B0800 LD BC,(FMStatus+8)
\ 01AC 44 LD B,H
\ 01AD ED430400 LD (slider+4),BC
130 key = ui_slider(&slider, volume_callback2); //音量滚动条显示
\ 01B1 0E00 LD C,BYTE3 volume_callback2
\ 01B3 C5 PUSH BC
\ 01B4 210000 LD HL,LWRD volume_callback2
\ 01B7 E5 PUSH HL
\ 01B8 110000 LD DE,slider
\ 01BB 3E00 LD A,BYTE3 ui_slider
\ 01BD 210000 LD HL,LWRD ui_slider
\ 01C0 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 01C3 F1 POP AF
\ 01C4 F1 POP AF
\ 01C5 E5 PUSH HL
\ 01C6 FDE1 POP IY
131 m_FMPlaystatus.vol_display = FMStatus.vol_display;
\ 01C8 3A0800 LD A,(FMStatus+8)
\ 01CB 320800 LD (m_FMPlaystatus+8),A
132 FMStatus.volume = FMStatus.vol_display * 31 / g_comval.VolumeMax;
\ 01CE 4F LD C,A
\ 01CF 111F00 LD DE,31
\ 01D2 CD0000 CALL LWRD ?S_MUL_L02
\ 01D5 ED4B1F00 LD BC,(g_comval+31)
\ 01D9 0600 LD B,0
\ 01DB CD0000 CALL LWRD ?SS_DIV_L02
\ 01DE 7B LD A,E
\ 01DF 320600 LD (FMStatus+6),A
133 fmSendCommand(MC_GETSTATUS, (int) &FMStatus);
\ 01E2 010000 LD BC,FMStatus
\ 01E5 1E83 LD E,131
\ 01E7 CD4300 CALL LWRD ?0048
134 loop = FALSE;
\ 01EA 1810 JR ?0046
135 break;
\ 01EC ?0029:
136 default: //热键处理
137 key = ap_handle_hotkey(key);
\ 01EC FDE5 PUSH IY
\ 01EE E1 POP HL
\ 01EF 5D LD E,L
\ 01F0 CD0000 CALL LWRD ap_handle_hotkey
\ 01F3 4F LD C,A
\ 01F4 C5 PUSH BC
\ 01F5 FDE1 POP IY
138 if (key != 0)
\ 01F7 79 LD A,C
\ 01F8 B7 OR A
\ 01F9 CA9300 JP Z,?0009
\ 01FC ?0030:
139 {
140 loop = FALSE;
\ 01FC ?0046:
\ 01FC DD36FE00 LD (IX-2),0
\ 0200 ?0031:
\ 0200 ?0011:
\ 0200 C39300 JP LWRD ?0009
\ 0203 ?0008:
141 }
142 }
143 }
144 //fmSendCommand(MC_MUTE,SetMUTE);
145 fmSendCommand(MC_GETFREQ, (int) &k); // 保存电台
\ 0203 6F LD L,A
\ 0204 67 LD H,A
\ 0205 39 ADD HL,SP
\ 0206 4D LD C,L
\ 0207 44 LD B,H
\ 0208 1E11 LD E,17
\ 020A CD4300 CALL LWRD ?0048
146 FMAutoTab[AutoTabNum] = k;
\ 020D 2A0000 LD HL,(AutoTabNum)
\ 0210 2600 LD H,0
\ 0212 29 ADD HL,HL
\ 0213 010000 LD BC,FMAutoTab
\ 0216 09 ADD HL,BC
\ 0217 DD4EF6 LD C,(IX-10)
\ 021A 71 LD (HL),C
\ 021B DD46F7 LD B,(IX-9)
\ 021E 23 INC HL
\ 021F 70 LD (HL),B
147 AutoTabNum++;
\ 0220 210000 LD HL,AutoTabNum
\ 0223 34 INC (HL)
148 for (i = AutoTabNum; i < 20; i++)
\ 0224 ED4B0000 LD BC,(AutoTabNum)
\ 0228 0600 LD B,0
\ 022A DD71F8 LD (IX-8),C
\ 022D DD70F9 LD (IX-7),B
\ 0230 ?0033:
\ 0230 011480 LD BC,32788
\ 0233 DD6EF8 LD L,(IX-8)
\ 0236 DD66F9 LD H,(IX-7)
\ 0239 78 LD A,B
\ 023A AC XOR H
\ 023B 67 LD H,A
\ 023C ED42 SBC HL,BC
\ 023E 3035 JR NC,?0032
\ 0240 ?0034:
149 {
150 if (radio_param.param1[i] == k) // 删除重复的电台.
\ 0240 DD6EF8 LD L,(IX-8)
\ 0243 DD66F9 LD H,(IX-7)
\ 0246 29 ADD HL,HL
\ 0247 ED4B0000 LD BC,(radio_param)
\ 024B 09 ADD HL,BC
\ 024C 46 LD B,(HL)
\ 024D 23 INC HL
\ 024E 66 LD H,(HL)
\ 024F 68 LD L,B
\ 0250 DD4EF6 LD C,(IX-10)
\ 0253 DD46F7 LD B,(IX-9)
\ 0256 A7 AND A
\ 0257 ED42 SBC HL,BC
\ 0259 2010 JR NZ,?0037
\ 025B ?0036:
151 {
152 radio_param.param1[i] = 0;
\ 025B DD6EF8 LD L,(IX-8)
\ 025E DD66F9 LD H,(IX-7)
\ 0261 29 ADD HL,HL
\ 0262 ED4B0000 LD BC,(radio_param)
\ 0266 09 ADD HL,BC
\ 0267 AF XOR A
\ 0268 77 LD (HL),A
\ 0269 23 INC HL
\ 026A 77 LD (HL),A
\ 026B ?0037:
\ 026B DD34F8 INC (IX-8)
\ 026E 20C0 JR NZ,?0033
\ 0270 DD34F9 INC (IX-7)
\ 0273 18BB JR ?0033
\ 0275 ?0032:
153 // FMStatus.station_count--;
154 }
155 }
156 return key;
\ 0275 FDE5 PUSH IY
\ 0277 E1 POP HL
157 }
\ 0278 ?0038:
\ 0278 DDF9 LD SP,IX
\ 027A DDE1 POP IX
\ 027C FDE1 POP IY
\ 027E D1 POP DE
\ 027F C1 POP BC
\ 0280 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0000 RSEG CSTR
\ 0000 ?0027:
\ 0000 2020 DEFB ' '
\ 0002 00 DEFB 0
\ 0003 END
Errors: none
Warnings: none
Code size: 643
Constant size: 3
Static variable size: Data(0) Iram(0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -