📄 ui_main_for_rec.lst
字号:
209 GetDCStatus(&oldDC_sav);
\ 01F7 210000 LD HL,0
\ 01FA 39 ADD HL,SP
\ 01FB CDD601 CALL LWRD ?0051
210 SetPenColor(Color_BLACK_def);
211 SetBackgdColor(Color_MENU_def);
212
213 SetAsciiFont(FONT_TYPE_SMALL);
214 SetTextPos(122, 124);
\ 01FE 0E7C LD C,124
\ 0200 1E7A LD E,122
\ 0202 CD0000 CALL LWRD SetTextPos
215 PutS(string, -1);
\ 0205 0EFF LD C,255
\ 0207 210800 LD HL,8
\ 020A 39 ADD HL,SP
\ 020B 5E LD E,(HL)
\ 020C 23 INC HL
\ 020D 56 LD D,(HL)
\ 020E CD0000 CALL LWRD PutS
216 SetAsciiFont(FONT_TYPE_DEFAULT);
\ 0211 1E04 LD E,4
\ 0213 CD0000 CALL LWRD SetAsciiFont
217
218 SetPenColor(oldDC_sav.PenColor);
\ 0216 210000 LD HL,0
\ 0219 39 ADD HL,SP
\ 021A 5E LD E,(HL)
\ 021B 23 INC HL
\ 021C 56 LD D,(HL)
\ 021D 23 INC HL
\ 021E 4E LD C,(HL)
\ 021F 23 INC HL
\ 0220 46 LD B,(HL)
\ 0221 CD0000 CALL LWRD SetPenColor
219 SetBackgdColor(oldDC_sav.BackgdColor);
\ 0224 210400 LD HL,4
\ 0227 39 ADD HL,SP
\ 0228 5E LD E,(HL)
\ 0229 23 INC HL
\ 022A 56 LD D,(HL)
\ 022B 23 INC HL
\ 022C 4E LD C,(HL)
\ 022D 23 INC HL
\ 022E 46 LD B,(HL)
\ 022F CD0000 CALL LWRD SetBackgdColor
220 }
\ 0232 210A00 LD HL,10
\ 0235 39 ADD HL,SP
\ 0236 F9 LD SP,HL
\ 0237 C1 POP BC
\ 0238 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 023B ui_show_f:
221
222 void ui_show_f(const char *string) //文件名/滚屏显示
223 {
\ 023B C5 PUSH BC
\ 023C D5 PUSH DE
224 SetTextPos(65, 35);
\ 023D 0E23 LD C,35
\ 023F ?0048:
\ 023F 1E41 LD E,65
\ 0241 CD0000 CALL LWRD SetTextPos
225 PutS(string, -1);
\ 0244 0EFF LD C,255
\ 0246 210000 LD HL,0
\ 0249 39 ADD HL,SP
\ 024A 5E LD E,(HL)
\ 024B 23 INC HL
\ 024C 56 LD D,(HL)
\ 024D CD0000 CALL LWRD PutS
226 }
\ 0250 E1 POP HL
\ 0251 C1 POP BC
\ 0252 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0255 ui_show_g:
227
228 void ui_show_g(const char *string) //文件名显示
229 {
\ 0255 C5 PUSH BC
\ 0256 D5 PUSH DE
230 SetTextPos(65, 50);
\ 0257 0E32 LD C,50
\ 0259 C33F02 JP LWRD ?0048
231 PutS(string, -1);
232 }
\ 025C ui_show_batt:
233
234
235 /* event r: reset
236 * event l: battery empty
237 * event h: battery full
238 * event n: nmi, auto standby
239 * event r1: stop recording point, file < 32M
240 * event r2: stop recording point, file > 32M
241 *
242 * value voltage 碱性电池 镍氢电池 锂电池
243 * 0 0.90 r
244 * 1 0.94
245 * 2 0.98 n r
246 * 3 1.02
247 * 4 1.06 l,r1 n
248 * 5 1.10 r2 l,r1
249 * 6 1.14 r2
250 * 7 1.18
251 * 8 1.22
252 * 9 1.26
253 * 10 1.30 n
254 * 11 1.34 l,r1
255 * 12 1.38 h h r2
256 * 13 1.42
257 * 14 1.46
258 * 15 1.50 h
259 */
260 //0~15, -1 表示正在充电
261 void ui_show_batt(int value, char batt_type,bool fmflag)
262 {
\ 025C DDE5 PUSH IX
\ 025E C5 PUSH BC
263 static int cur_value=0; //当前电量值
264
265 value = input8(0x9c);
\ 025F DB9C IN A,(156)
\ 0261 6F LD L,A
\ 0262 2600 LD H,0
\ 0264 E5 PUSH HL
\ 0265 DDE1 POP IX
266
267 if(GetUsbCableStatus()&&(input8(0x9c)<0xe4))
\ 0267 CD0000 CALL LWRD GetUsbCableStatus
\ 026A B7 OR A
\ 026B 281F JR Z,?0012
\ 026D DB9C IN A,(156)
\ 026F FEE4 CP 228
\ 0271 3019 JR NC,?0012
\ 0273 ?0014:
\ 0273 ?0013:
\ 0273 ?0011:
268 {
269 cur_value++;
\ 0273 2A0000 LD HL,(?0010)
\ 0276 23 INC HL
\ 0277 220000 LD (?0010),HL
270 if(cur_value > 8) cur_value = 0;
\ 027A 4D LD C,L
\ 027B 44 LD B,H
\ 027C 210800 LD HL,8
\ 027F F680 OR 128
\ 0281 ED42 SBC HL,BC
\ 0283 E28702 JP PO,?0038
\ 0286 AC XOR H
\ 0287 ?0038:
\ 0287 F2C502 JP P,?0023
\ 028A ?0015:
\ 028A 180D JR ?0043
\ 028C ?0016:
271 }
272 else
\ 028C ?0012:
273 {
274 if(value < 154) cur_value = 0; //batt empty
\ 028C 019A80 LD BC,32922
\ 028F DDE5 PUSH IX
\ 0291 E1 POP HL
\ 0292 78 LD A,B
\ 0293 AC XOR H
\ 0294 67 LD H,A
\ 0295 ED42 SBC HL,BC
\ 0297 3005 JR NC,?0019
\ 0299 ?0018:
\ 0299 ?0043:
\ 0299 210000 LD HL,0
\ 029C 1813 JR ?0040
\ 029E ?0019:
275 else if(value > 212)cur_value = 8;
\ 029E DDE5 PUSH IX
\ 02A0 C1 POP BC
\ 02A1 21D400 LD HL,212
\ 02A4 B5 OR L
\ 02A5 ED42 SBC HL,BC
\ 02A7 E2AB02 JP PO,?0039
\ 02AA AC XOR H
\ 02AB ?0039:
\ 02AB F2B602 JP P,?0022
\ 02AE ?0021:
\ 02AE 210800 LD HL,8
\ 02B1 ?0040:
\ 02B1 220000 LD (?0010),HL
\ 02B4 180F JR ?0023
\ 02B6 ?0022:
276 else cur_value = (value - 154) / 8; // zxs change
\ 02B6 2166FF LD HL,65382
\ 02B9 09 ADD HL,BC
\ 02BA EB EX DE,HL
\ 02BB 010800 LD BC,8
\ 02BE CD0000 CALL LWRD ?SS_DIV_L02
\ 02C1 ED530000 LD (?0010),DE
\ 02C5 ?0023:
\ 02C5 ?0020:
\ 02C5 ?0017:
277 }
278 if(!fmflag)
\ 02C5 ?0024:
279 main_ResShowPic(BATTERY1+cur_value, 153,4);
280 else
\ 02C5 ?0025:
281 main_ResShowPic(BATTERY1+cur_value, 153,4);
\ 02C5 0E04 LD C,4
\ 02C7 C5 PUSH BC
\ 02C8 0E99 LD C,153
\ 02CA 210D00 LD HL,13
\ 02CD ED5B0000 LD DE,(?0010)
\ 02D1 19 ADD HL,DE
\ 02D2 EB EX DE,HL
\ 02D3 3E00 LD A,BYTE3 main_ResShowPic
\ 02D5 21C700 LD HL,LWRD main_ResShowPic
\ 02D8 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 02DB F1 POP AF
\ 02DC ?0026:
282 }
\ 02DC E1 POP HL
\ 02DD DDE1 POP IX
\ 02DF C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 02E2 ui_show_lock:
283
284 char ui_show_lock(char islock)
285 {
\ 02E2 C5 PUSH BC
\ 02E3 D5 PUSH DE
286 if(islock == 1)
\ 02E4 43 LD B,E
\ 02E5 05 DEC B
\ 02E6 2007 JR NZ,?0028
\ 02E8 ?0027:
287 main_ResShowPic(HOLD,0,0);
\ 02E8 48 LD C,B
\ 02E9 C5 PUSH BC
\ 02EA 119C00 LD DE,156
\ 02ED 1806 JR ?0045
288 else
\ 02EF ?0028:
289 main_ResShowPic(UNHOLD,0,0);
\ 02EF 0E00 LD C,0
\ 02F1 C5 PUSH BC
\ 02F2 111501 LD DE,277
\ 02F5 ?0045:
\ 02F5 3E00 LD A,BYTE3 main_ResShowPic
\ 02F7 21C700 LD HL,LWRD main_ResShowPic
\ 02FA CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 02FD F1 POP AF
\ 02FE ?0029:
290 //wait 1.5s
291 return ap_sleep(3);
\ 02FE 110300 LD DE,3
\ 0301 3E00 LD A,BYTE3 ap_sleep
\ 0303 210000 LD HL,LWRD ap_sleep
\ 0306 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
292 }
\ 0309 F1 POP AF
\ 030A C1 POP BC
\ 030B 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: 782
Constant size: 2
Static variable size: Data(2) Iram(0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -