📄 ui_main.lst
字号:
\ 02E7 0EFF LD C,255
\ 02E9 DD5EFE LD E,(IX-2)
\ 02EC DD56FF LD D,(IX-1)
\ 02EF CD0000 CALL LWRD PutS
202 }
\ 02F2 DDF9 LD SP,IX
\ 02F4 DDE1 POP IX
\ 02F6 C1 POP BC
\ 02F7 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 02FA ui_show_vol:
203
204 void ui_show_vol(BYTE volume) //显示音量信息
205 {
\ 02FA DDE5 PUSH IX
\ 02FC DD210000 LD IX,0
\ 0300 DD39 ADD IX,SP
\ 0302 D5 PUSH DE
206 /*
207 char temp[3];
208 itoa_2(volume, temp);
209 main_ResShowPic(TVNUM0+temp[0]-0x30,POS_VOl,POSY_VOl);
210 main_ResShowPic(TVNUM0+temp[1]-0x30,POS_VOl+6,POSY_VOl);
211 */
212 }
\ 0303 DDF9 LD SP,IX
\ 0305 DDE1 POP IX
\ 0307 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 030A ui_show_bitrate:
213
214 void ui_show_bitrate(int bitvalue) //显示比特率
215 {
\ 030A C5 PUSH BC
\ 030B DDE5 PUSH IX
\ 030D DD210000 LD IX,0
\ 0311 DD39 ADD IX,SP
\ 0313 D5 PUSH DE
\ 0314 F5 PUSH AF
\ 0315 F5 PUSH AF
216 char temp[4];
217 itoa_3(bitvalue,temp);
\ 0316 210000 LD HL,0
\ 0319 39 ADD HL,SP
\ 031A 4D LD C,L
\ 031B 44 LD B,H
\ 031C 3E00 LD A,BYTE3 itoa_3
\ 031E 216200 LD HL,LWRD itoa_3
\ 0321 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
218 main_ResShowPic(MBIT0+temp[0]-0x30,POS_BITRATE,POSY_BITRATE);
\ 0324 0E04 LD C,4
\ 0326 C5 PUSH BC
\ 0327 0E09 LD C,9
\ 0329 DD5EFA LD E,(IX-6)
\ 032C 1600 LD D,0
\ 032E 217500 LD HL,117
\ 0331 19 ADD HL,DE
\ 0332 EB EX DE,HL
\ 0333 3E00 LD A,BYTE3 main_ResShowPic
\ 0335 212E01 LD HL,LWRD main_ResShowPic
\ 0338 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 033B F1 POP AF
219 main_ResShowPic(MBIT0+temp[1]-0x30,POS_BITRATE+6,POSY_BITRATE);
\ 033C 0E04 LD C,4
\ 033E C5 PUSH BC
\ 033F 0E0F LD C,15
\ 0341 DD5EFB LD E,(IX-5)
\ 0344 1600 LD D,0
\ 0346 217500 LD HL,117
\ 0349 19 ADD HL,DE
\ 034A EB EX DE,HL
\ 034B 3E00 LD A,BYTE3 main_ResShowPic
\ 034D 212E01 LD HL,LWRD main_ResShowPic
\ 0350 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0353 F1 POP AF
220 main_ResShowPic(MBIT0+temp[2]-0x30,POS_BITRATE+12,POSY_BITRATE);
\ 0354 0E04 LD C,4
\ 0356 C5 PUSH BC
\ 0357 0E15 LD C,21
\ 0359 DD5EFC LD E,(IX-4)
\ 035C 1600 LD D,0
\ 035E 217500 LD HL,117
\ 0361 19 ADD HL,DE
\ 0362 EB EX DE,HL
\ 0363 3E00 LD A,BYTE3 main_ResShowPic
\ 0365 212E01 LD HL,LWRD main_ResShowPic
\ 0368 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 036B F1 POP AF
221
222 }
\ 036C DDF9 LD SP,IX
\ 036E DDE1 POP IX
\ 0370 C1 POP BC
\ 0371 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0374 ui_show_batt:
223
224 /* event r: reset
225 * event l: battery empty
226 * event h: battery full
227 * event n: nmi, auto standby
228 * event r1: stop recording point, file < 32M
229 * event r2: stop recording point, file > 32M
230 *
231 * value voltage 碱性电池 镍氢电池 锂电池
232 * 0 0.90 r
233 * 1 0.94
234 * 2 0.98 n r
235 * 3 1.02
236 * 4 1.06 l,r1 n
237 * 5 1.10 r2 l,r1
238 * 6 1.14 r2
239 * 7 1.18
240 * 8 1.22
241 * 9 1.26
242 * 10 1.30 n
243 * 11 1.34 l,r1
244 * 12 1.38 h h r2
245 * 13 1.42
246 * 14 1.46
247 * 15 1.50 h
248 */
249 //0~15, -1 表示正在充电
250 void ui_show_batt(int value, char batt_type, bool fmflag)
251 {
\ 0374 FDE5 PUSH IY
\ 0376 DDE5 PUSH IX
\ 0378 DD210000 LD IX,0
\ 037C DD39 ADD IX,SP
\ 037E C5 PUSH BC
\ 037F D5 PUSH DE
\ 0380 FDE1 POP IY
252 static int cur_value=0; //当前电量值
253
254 value = input8(0x9c);
\ 0382 DB9C IN A,(156)
\ 0384 6F LD L,A
\ 0385 2600 LD H,0
\ 0387 E5 PUSH HL
\ 0388 FDE1 POP IY
255
256 //ASSERT(value == -1 || (value >= 0 && value <= 15));
257 if(GetUsbCableStatus()&&(input8(0x9c)<0xe4))
\ 038A CD0000 CALL LWRD GetUsbCableStatus
\ 038D B7 OR A
\ 038E 2827 JR Z,?0012
\ 0390 DB9C IN A,(156)
\ 0392 FEE4 CP 228
\ 0394 3021 JR NC,?0012
\ 0396 ?0014:
\ 0396 ?0013:
\ 0396 ?0011:
258 {
259 cur_value++;
\ 0396 2A0000 LD HL,(?0010)
\ 0399 23 INC HL
\ 039A 220000 LD (?0010),HL
260 if(cur_value > 8) cur_value = 0;
\ 039D ED4B0000 LD BC,(?0010)
\ 03A1 210800 LD HL,8
\ 03A4 F680 OR 128
\ 03A6 ED42 SBC HL,BC
\ 03A8 E2AC03 JP PO,?0030
\ 03AB AC XOR H
\ 03AC ?0030:
\ 03AC F2F803 JP P,?0023
\ 03AF ?0015:
\ 03AF 210000 LD HL,0
\ 03B2 220000 LD (?0010),HL
\ 03B5 ?0016:
261 }
262 else
\ 03B5 1841 JR ?0023
\ 03B7 ?0012:
263 {
264 if(value < 154) cur_value = 0; //batt empty
\ 03B7 019A80 LD BC,32922
\ 03BA FDE5 PUSH IY
\ 03BC E1 POP HL
\ 03BD 3E80 LD A,128
\ 03BF AC XOR H
\ 03C0 67 LD H,A
\ 03C1 ED42 SBC HL,BC
\ 03C3 3008 JR NC,?0019
\ 03C5 ?0018:
\ 03C5 210000 LD HL,0
\ 03C8 220000 LD (?0010),HL
\ 03CB 182B JR ?0023
\ 03CD ?0019:
265 else if(value > 212)cur_value = 8;
\ 03CD FDE5 PUSH IY
\ 03CF C1 POP BC
\ 03D0 21D400 LD HL,212
\ 03D3 F680 OR 128
\ 03D5 ED42 SBC HL,BC
\ 03D7 E2DB03 JP PO,?0031
\ 03DA AC XOR H
\ 03DB ?0031:
\ 03DB F2E603 JP P,?0022
\ 03DE ?0021:
\ 03DE 210800 LD HL,8
\ 03E1 220000 LD (?0010),HL
\ 03E4 1812 JR ?0023
\ 03E6 ?0022:
266 else cur_value = (value - 154) / 8; // zxs change
\ 03E6 2166FF LD HL,65382
\ 03E9 FDE5 PUSH IY
\ 03EB C1 POP BC
\ 03EC 09 ADD HL,BC
\ 03ED EB EX DE,HL
\ 03EE 010800 LD BC,8
\ 03F1 CD0000 CALL LWRD ?SS_DIV_L02
\ 03F4 ED530000 LD (?0010),DE
\ 03F8 ?0023:
\ 03F8 ?0020:
\ 03F8 ?0017:
267 }
268 if(!fmflag)
\ 03F8 AF XOR A
\ 03F9 DDB608 OR (IX+8)
\ 03FC 2019 JR NZ,?0025
\ 03FE ?0024:
269 main_ResShowPic(BATTERY1+cur_value, 153,4);
\ 03FE 0E04 LD C,4
\ 0400 C5 PUSH BC
\ 0401 0E99 LD C,153
\ 0403 210D00 LD HL,13
\ 0406 ED5B0000 LD DE,(?0010)
\ 040A 19 ADD HL,DE
\ 040B EB EX DE,HL
\ 040C 3E00 LD A,BYTE3 main_ResShowPic
\ 040E 212E01 LD HL,LWRD main_ResShowPic
\ 0411 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0414 F1 POP AF
270 else
\ 0415 1817 JR ?0026
\ 0417 ?0025:
271 main_ResShowPic(BATTERY1+cur_value, 153,4);
\ 0417 0E04 LD C,4
\ 0419 C5 PUSH BC
\ 041A 0E99 LD C,153
\ 041C 210D00 LD HL,13
\ 041F ED5B0000 LD DE,(?0010)
\ 0423 19 ADD HL,DE
\ 0424 EB EX DE,HL
\ 0425 3E00 LD A,BYTE3 main_ResShowPic
\ 0427 212E01 LD HL,LWRD main_ResShowPic
\ 042A CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 042D F1 POP AF
\ 042E ?0026:
272 }
\ 042E DDF9 LD SP,IX
\ 0430 DDE1 POP IX
\ 0432 FDE1 POP IY
\ 0434 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0437 ui_show_lock:
273
274 char ui_show_lock(char islock)
275 {
\ 0437 C5 PUSH BC
\ 0438 DDE5 PUSH IX
\ 043A DD210000 LD IX,0
\ 043E DD39 ADD IX,SP
\ 0440 D5 PUSH DE
276 if(islock == 1)
\ 0441 1D DEC E
\ 0442 2013 JR NZ,?0028
\ 0444 ?0027:
277 main_ResShowPic(HOLD,0,0);
\ 0444 0E00 LD C,0
\ 0446 C5 PUSH BC
\ 0447 0E00 LD C,0
\ 0449 119C00 LD DE,156
\ 044C 3E00 LD A,BYTE3 main_ResShowPic
\ 044E 212E01 LD HL,LWRD main_ResShowPic
\ 0451 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0454 F1 POP AF
278 else
\ 0455 1811 JR ?0029
\ 0457 ?0028:
279 main_ResShowPic(UNHOLD,0,0);
\ 0457 0E00 LD C,0
\ 0459 C5 PUSH BC
\ 045A 0E00 LD C,0
\ 045C 111501 LD DE,277
\ 045F 3E00 LD A,BYTE3 main_ResShowPic
\ 0461 212E01 LD HL,LWRD main_ResShowPic
\ 0464 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0467 F1 POP AF
\ 0468 ?0029:
280 //wait 1.5s
281 return ap_sleep(3);
\ 0468 110300 LD DE,3
\ 046B 3E00 LD A,BYTE3 ap_sleep
\ 046D 210000 LD HL,LWRD ap_sleep
\ 0470 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
282 }
\ 0473 DDF9 LD SP,IX
\ 0475 DDE1 POP IX
\ 0477 C1 POP BC
\ 0478 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0000 RSEG IDATA0
\ 0000 ?0010:
\ 0002 DEFS 2
\ 0000 RSEG CDATA0
\ 0000 0000 DEFW 0
\ 0002 END
Errors: none
Warnings: none
Code size: 1147
Constant size: 2
Static variable size: Data(2) Iram(0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -