📄 ui_main_for_music.lst
字号:
\ 01CA CD7901 CALL LWRD ?0041
\ 01CD F1 POP AF
185 string++;
186 id= *string-0x30;
\ 01CE DD7E03 LD A,(IX+3)
\ 01D1 C6D0 ADD A,208
187 main_ResShowPic(PRGNUM0+id,POS_SONGTIME+62,POSY_SONGTIME);
\ 01D3 0E32 LD C,50
\ 01D5 C5 PUSH BC
\ 01D6 0E7C LD C,124
\ 01D8 CD7901 CALL LWRD ?0041
\ 01DB F1 POP AF
188 string++;
189 id= *string-0x30;
\ 01DC DD7E04 LD A,(IX+4)
\ 01DF C6D0 ADD A,208
190 main_ResShowPic(PRGNUM0+id,POS_SONGTIME+78,POSY_SONGTIME);
\ 01E1 0E32 LD C,50
\ 01E3 C5 PUSH BC
\ 01E4 0E8C LD C,140
\ 01E6 CD7901 CALL LWRD ?0041
\ 01E9 F1 POP AF
191 }
\ 01EA E1 POP HL
\ 01EB DDE1 POP IX
\ 01ED C1 POP BC
\ 01EE C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 01F1 ui_show_f:
192
193
194 void ui_show_f(const char *string) //文件名/滚屏显示
195 {
\ 01F1 CD0000 CALL LWRD ?ENT_PARM_DIRECT_L09
196 SetTextPos(POS_SCROLLSTRAT, POSY_SCROLL);
\ 01F4 0E6E LD C,110
\ 01F6 ?0036:
\ 01F6 1E2D LD E,45
\ 01F8 CD0000 CALL LWRD SetTextPos
197 PutS(string, -1);
\ 01FB 0EFF LD C,255
\ 01FD DD5E02 LD E,(IX+2)
\ 0200 DD5603 LD D,(IX+3)
\ 0203 CD0000 CALL LWRD PutS
198 }
\ 0206 C30000 JP LWRD ?BANK_LEAVE_DIRECT_L08
\ 0209 ui_show_g:
199
200 void ui_show_g(const char *string) //文件名显示
201 {
\ 0209 CD0000 CALL LWRD ?ENT_PARM_DIRECT_L09
202 SetTextPos(POS_FILENAME, POSY_FILENAME);
\ 020C 0E4F LD C,79
\ 020E C3F601 JP LWRD ?0036
203 PutS(string, -1);
204 }
\ 0211 ui_show_batt:
205
206
207 /* event r: reset
208 * event l: battery empty
209 * event h: battery full
210 * event n: nmi, auto standby
211 * event r1: stop recording point, file < 32M
212 * event r2: stop recording point, file > 32M
213 *
214 * value voltage 碱性电池 镍氢电池 锂电池
215 * 0 0.90 r
216 * 1 0.94
217 * 2 0.98 n r
218 * 3 1.02
219 * 4 1.06 l,r1 n
220 * 5 1.10 r2 l,r1
221 * 6 1.14 r2
222 * 7 1.18
223 * 8 1.22
224 * 9 1.26
225 * 10 1.30 n
226 * 11 1.34 l,r1
227 * 12 1.38 h h r2
228 * 13 1.42
229 * 14 1.46
230 * 15 1.50 h
231 */
232 //0~15, -1 表示正在充电
233 void ui_show_batt(int value, char batt_type,bool fmflag)
234 {
\ 0211 CD0000 CALL LWRD ?ENT_PARM_DIRECT_L09
235 static int cur_value=0; //当前电量值
236
237 //ASSERT(value == -1 || (value >= 0 && value <= 15));
238 // if((charge_flag==1)&&((input8(0xbe)&0x10)!=0))
239 // value=-1;
240
241 if((sKY_ChargeSet(0)!=0)&&(input8(0x9c)<0xe4))
\ 0214 1E00 LD E,0
\ 0216 CD0000 CALL LWRD sKY_ChargeSet
\ 0219 B7 OR A
\ 021A 281A JR Z,?0009
\ 021C DB9C IN A,(156)
\ 021E FEE4 CP 228
\ 0220 3014 JR NC,?0009
\ 0222 ?0011:
\ 0222 ?0010:
\ 0222 ?0008:
242 {
243 cur_value++;
\ 0222 2A0000 LD HL,(?0007)
\ 0225 23 INC HL
\ 0226 220000 LD (?0007),HL
244 if(cur_value > 8) cur_value = 0;
\ 0229 4D LD C,L
\ 022A 44 LD B,H
\ 022B 210800 LD HL,8
\ 022E CD0000 CALL LWRD ?SS_CMP_L02
\ 0231 303C JR NC,?0020
\ 0233 ?0012:
\ 0233 6C LD L,H
\ 0234 1825 JR ?0026
\ 0236 ?0013:
245 }
246 else
\ 0236 ?0009:
247 {
248 //if(batt_type == BATT_TYPE_ALKALINE) //碱性电池
249 //{
250 // if(value < 62) cur_value = 0; //batt empty
251 // else if(value > 116 ) cur_value = 8; //batt full
252 // else cur_value = (value - 62) / 7; // 116 - 62
253 //}
254 //else if(batt_type == BATT_TYPE_NIH) //镍氢电池
255 //{
256 // if(value < 69) cur_value = 0; //batt empty
257 // else if(value > 116 ) cur_value = 8; //batt full
258 // else cur_value = (value - 69) / 6;
259 // }
260 // else if(batt_type == BATT_TYPE_LITHIUM) //锂电池 3.5~4.2 工作电压 //
261 {
262 if(value < 175) cur_value = 0; //batt empty
\ 0236 01AF80 LD BC,32943
\ 0239 DD6E02 LD L,(IX+2)
\ 023C DD6603 LD H,(IX+3)
\ 023F 78 LD A,B
\ 0240 AC XOR H
\ 0241 67 LD H,A
\ 0242 ED42 SBC HL,BC
\ 0244 3005 JR NC,?0016
\ 0246 ?0015:
\ 0246 210000 LD HL,0
\ 0249 1810 JR ?0026
\ 024B ?0016:
263 else if(value > 201)cur_value = 8;
\ 024B DD4E02 LD C,(IX+2)
\ 024E DD4603 LD B,(IX+3)
\ 0251 21C900 LD HL,201
\ 0254 CD0000 CALL LWRD ?SS_CMP_L02
\ 0257 3007 JR NC,?0019
\ 0259 ?0018:
\ 0259 2E08 LD L,8
\ 025B ?0026:
\ 025B 220000 LD (?0007),HL
\ 025E 180F JR ?0020
\ 0260 ?0019:
264 else cur_value = (value - 175) / 4; // zxs change
\ 0260 2151FF LD HL,65361
\ 0263 09 ADD HL,BC
\ 0264 EB EX DE,HL
\ 0265 010400 LD BC,4
\ 0268 CD0000 CALL LWRD ?SS_DIV_L02
\ 026B ED530000 LD (?0007),DE
\ 026F ?0020:
\ 026F ?0017:
\ 026F ?0014:
265 }
266 // else ASSERT(FALSE);
267 }
268 if(!fmflag)
\ 026F ?0021:
269 main_ResShowPic(BATTERY1+cur_value, POS_BATTERY,POSY_BATTERY);
270 else
\ 026F ?0022:
271 main_ResShowPic(BATTERY1+cur_value, POS_BATTERY,POSY_BATTERY);
\ 026F 0EA2 LD C,162
\ 0271 C5 PUSH BC
\ 0272 0EC1 LD C,193
\ 0274 211300 LD HL,19
\ 0277 ED5B0000 LD DE,(?0007)
\ 027B 19 ADD HL,DE
\ 027C EB EX DE,HL
\ 027D C37201 JP LWRD ?0033
\ 0280 ?0023:
272 }
\ 0280 ui_show_lock:
273
274 char ui_show_lock(char islock)
275 {
\ 0280 CD0000 CALL LWRD ?ENT_PARM_DIRECT_L09
276 if(islock == 1)
\ 0283 1D DEC E
\ 0284 201F JR NZ,?0025
\ 0286 ?0024:
277 {
278 SetBackgdColor(Color_BULE1_def);
\ 0286 4B LD C,E
\ 0287 43 LD B,E
\ 0288 113E75 LD DE,30014
\ 028B CD0000 CALL LWRD SetBackgdColor
279 ClearScreen(NULL);
\ 028E 110000 LD DE,0
\ 0291 CD0000 CALL LWRD ClearScreen
280 ResShowPic(UDLOCK_S,86,80);
\ 0294 0E50 LD C,80
\ 0296 C5 PUSH BC
\ 0297 0E56 LD C,86
\ 0299 110800 LD DE,8
\ 029C 3E00 LD A,BYTE3 ResShowPic
\ 029E 210000 LD HL,LWRD ResShowPic
\ 02A1 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 02A4 F1 POP AF
\ 02A5 ?0025:
281 }
282
283 //wait 2s
284 return ap_sleep(4);
\ 02A5 110400 LD DE,4
\ 02A8 3E00 LD A,BYTE3 ap_sleep
\ 02AA 210000 LD HL,LWRD ap_sleep
\ 02AD CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
285 }
\ 02B0 C30000 JP LWRD ?BANK_LEAVE_DIRECT_L08
286
287
\ 0000 RSEG IDATA0
\ 0000 ?0007:
\ 0002 DEFS 2
\ 0000 RSEG CDATA0
\ 0000 0000 DEFW 0
\ 0002 END
Errors: none
Warnings: none
Code size: 691
Constant size: 2
Static variable size: Data(2) Iram(0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -