📄 ui_main.lst
字号:
\ 01BE ?0074:
\ 01BE 1E2C LD E,44
\ 01C0 CDD401 CALL LWRD ?0120
\ 01C3 ?0014:
209
210 PutS(string, -1);
\ 01C3 39 ADD HL,SP
\ 01C4 CDDD01 CALL LWRD ?0121
211 if(ui_auto_update) UpdateScreen(®ion_d2);
\ 01C7 2806 JR Z,?0016
\ 01C9 ?0015:
\ 01C9 110400 LD DE,region_d2
\ 01CC CD0000 CALL LWRD UpdateScreen
\ 01CF ?0016:
212 }
\ 01CF E1 POP HL
\ 01D0 E1 POP HL
\ 01D1 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 01D4 ?0120:
\ 01D4 CD0000 CALL LWRD SetTextPos
\ 01D7 0EFF LD C,255
\ 01D9 210000 LD HL,0
\ 01DC C9 RET
\ 01DD ?0121:
\ 01DD 5E LD E,(HL)
\ 01DE 23 INC HL
\ 01DF 56 LD D,(HL)
\ 01E0 CD0000 CALL LWRD PutS
\ 01E3 3A0000 LD A,(ui_auto_update)
\ 01E6 B7 OR A
\ 01E7 C9 RET
\ 01E8 ui_show_d:
213
214 void ui_show_d(const char *string, BYTE part)
215 {
\ 01E8 C5 PUSH BC
\ 01E9 D5 PUSH DE
216 if(part == 0) SetTextPos(POSITION_D, 0);
\ 01EA AF XOR A
\ 01EB B1 OR C
\ 01EC 2802 JR Z,?0076
\ 01EE ?0017:
\ 01EE ?0018:
217 else SetTextPos(POSITION_D, 8);
\ 01EE 0E08 LD C,8
\ 01F0 ?0076:
\ 01F0 1E32 LD E,50
\ 01F2 CDD401 CALL LWRD ?0120
\ 01F5 ?0019:
218
219 PutS(string, -1);
\ 01F5 39 ADD HL,SP
\ 01F6 CDDD01 CALL LWRD ?0121
220 if(ui_auto_update) UpdateScreen(®ion_d);
\ 01F9 2806 JR Z,?0021
\ 01FB ?0020:
\ 01FB 110800 LD DE,region_d
\ 01FE CD0000 CALL LWRD UpdateScreen
\ 0201 ?0021:
221 }
\ 0201 E1 POP HL
\ 0202 E1 POP HL
\ 0203 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0206 ui_show_cd:
222
223 void ui_show_cd(const char *string, BYTE part)
224 {
\ 0206 C5 PUSH BC
\ 0207 D5 PUSH DE
225 if(part == 0) SetTextPos(POSITION_C, 0);
\ 0208 AF XOR A
\ 0209 B1 OR C
\ 020A 2802 JR Z,?0078
\ 020C ?0022:
\ 020C ?0023:
226 else SetTextPos(POSITION_C, 8);
\ 020C 0E08 LD C,8
\ 020E ?0078:
\ 020E 1E26 LD E,38
\ 0210 CDD401 CALL LWRD ?0120
\ 0213 ?0024:
227
228 PutS(string, -1);
\ 0213 39 ADD HL,SP
\ 0214 CDDD01 CALL LWRD ?0121
229 if(ui_auto_update) UpdateScreen(®ion_cd);
\ 0217 2806 JR Z,?0026
\ 0219 ?0025:
\ 0219 110C00 LD DE,region_cd
\ 021C CD0000 CALL LWRD UpdateScreen
\ 021F ?0026:
230 }
\ 021F E1 POP HL
\ 0220 E1 POP HL
\ 0221 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0224 ui_show_d_pic:
231
232 void ui_show_d_pic(WORD id)
233 {
\ 0224 C5 PUSH BC
\ 0225 D5 PUSH DE
234 main_ResShowPic(id, POSITION_D, 0);
\ 0226 0E00 LD C,0
\ 0228 C5 PUSH BC
\ 0229 0E32 LD C,50
\ 022B C37101 JP LWRD ?0115
235 }
\ 022E ui_show_e:
236
237 //id =0, clear the icon
238 void ui_show_e(WORD id)
239 {
\ 022E C5 PUSH BC
\ 022F DDE5 PUSH IX
240 if(id == 0)
\ 0231 7B LD A,E
\ 0232 B2 OR D
\ 0233 2014 JR NZ,?0028
\ 0235 ?0027:
241 {
242 ClearScreen(®ion_e);
\ 0235 111000 LD DE,region_e
\ 0238 CD0000 CALL LWRD ClearScreen
243 if(ui_auto_update) UpdateScreen(®ion_e);
\ 023B 3A0000 LD A,(ui_auto_update)
\ 023E B7 OR A
\ 023F 2811 JR Z,?0031
\ 0241 ?0029:
\ 0241 111000 LD DE,region_e
\ 0244 CD0000 CALL LWRD UpdateScreen
\ 0247 ?0030:
\ 0247 1809 JR ?0031
\ 0249 ?0028:
244 }
245 else main_ResShowPic(id, POSITION_E, 0);
\ 0249 0E00 LD C,0
\ 024B C5 PUSH BC
\ 024C 0E43 LD C,67
\ 024E CD7A01 CALL LWRD ?0119
\ 0251 F1 POP AF
\ 0252 ?0031:
246 }
\ 0252 DDE1 POP IX
\ 0254 C1 POP BC
\ 0255 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0258 ui_show_f:
247
248 void ui_show_f(const char *string, BYTE part)
249 {
\ 0258 C5 PUSH BC
\ 0259 D5 PUSH DE
250 if(part == 0) SetTextPos(POSITION_F, 0);
\ 025A AF XOR A
\ 025B B1 OR C
\ 025C 2802 JR Z,?0080
\ 025E ?0032:
\ 025E ?0033:
251 else SetTextPos(POSITION_F, 8);
\ 025E 0E08 LD C,8
\ 0260 ?0080:
\ 0260 1E55 LD E,85
\ 0262 CDD401 CALL LWRD ?0120
\ 0265 ?0034:
252
253 PutS(string, -1);
\ 0265 39 ADD HL,SP
\ 0266 CDDD01 CALL LWRD ?0121
254 if(ui_auto_update) UpdateScreen(®ion_f);
\ 0269 2806 JR Z,?0036
\ 026B ?0035:
\ 026B 111400 LD DE,region_f
\ 026E CD0000 CALL LWRD UpdateScreen
\ 0271 ?0036:
255 }
\ 0271 E1 POP HL
\ 0272 E1 POP HL
\ 0273 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0276 ui_show_ef:
256
257 void ui_show_ef(const char *string, BYTE part)
258 {
\ 0276 C5 PUSH BC
\ 0277 D5 PUSH DE
259 if(part == 0) SetTextPos(POSITION_E, 0);
\ 0278 AF XOR A
\ 0279 B1 OR C
\ 027A 2802 JR Z,?0082
\ 027C ?0037:
\ 027C ?0038:
260 else SetTextPos(POSITION_E, 8);
\ 027C 0E08 LD C,8
\ 027E ?0082:
\ 027E 1E43 LD E,67
\ 0280 CDD401 CALL LWRD ?0120
\ 0283 ?0039:
261
262 PutS(string, -1);
\ 0283 39 ADD HL,SP
\ 0284 CDDD01 CALL LWRD ?0121
263 if(ui_auto_update) UpdateScreen(®ion_ef);
\ 0287 2806 JR Z,?0041
\ 0289 ?0040:
\ 0289 111800 LD DE,region_ef
\ 028C CD0000 CALL LWRD UpdateScreen
\ 028F ?0041:
264 }
\ 028F E1 POP HL
\ 0290 E1 POP HL
\ 0291 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0294 ui_show_g:
265
266 void ui_show_g(const char *string)
267 {
\ 0294 C5 PUSH BC
\ 0295 D5 PUSH DE
268 //show stuff
269 SetTextPos(POSITION_G, 16);
\ 0296 0E10 LD C,16
\ 0298 1E00 LD E,0
\ 029A CDD401 CALL LWRD ?0120
270 PutS(string, -1);
\ 029D 39 ADD HL,SP
\ 029E CDDD01 CALL LWRD ?0121
271
272 if(ui_auto_update) UpdateScreen(®ion_g);
\ 02A1 2806 JR Z,?0043
\ 02A3 ?0042:
\ 02A3 111C00 LD DE,region_g
\ 02A6 CD0000 CALL LWRD UpdateScreen
\ 02A9 ?0043:
273 }
\ 02A9 E1 POP HL
\ 02AA C1 POP BC
\ 02AB C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 02AE ui_show_batt:
274 /* event r: reset
275 * event l: battery empty
276 * event h: battery full
277 * event n: nmi, auto standby
278 * event r1: stop recording point, file < 32M
279 * event r2: stop recording point, file > 32M
280 *
281 * 16level 256level
282 * value value voltage 碱性电池 镍氢电池 锂电池
283 * 0 08 0.90 r
284 * 1 0.94
285 * 2 0.98 n r
286 * 3 1.02
287 * 4 0e 1.06 l,r1 n
288 * 5 10 1.10 r2 l,r1
289 * 6 11 1.14 r2
290 * 7 13 1.18
291 * 8 15 1.22
292 * 9 16 1.26
293 * 10 18 1.30 n
294 * 11 1a 1.34 l,r1
295 * 12 1b 1.38 h h r2
296 * 13 1.42
297 * 14 1.46
298 * 15 20 1.50 h
299 */
300 /*
301 * Battery Monitor is 0.7v to 2.2v, 256 level.
302 * One level is 5.86mv
303 */
304 //0~15, -1 表示正在充电
305 void ui_show_batt(int value, char batt_type)
306 {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -