📄 ui.lst
字号:
\ 0334 66 LD H,(HL)
\ 0335 68 LD L,B
\ 0336 220600 LD (list+6),HL
312
313 result = ui_popup_list(&list, NULL);
\ 0339 0E00 LD C,0
\ 033B C5 PUSH BC
\ 033C 210000 LD HL,0
\ 033F E5 PUSH HL
\ 0340 110000 LD DE,list
\ 0343 3E00 LD A,BYTE3 ui_popup_list
\ 0345 210000 LD HL,LWRD ui_popup_list
\ 0348 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 034B F1 POP AF
\ 034C F1 POP AF
\ 034D E5 PUSH HL
\ 034E FDE1 POP IY
314 if(result == RESULT_IGNORE) return 0;
\ 0350 3E34 LD A,52
\ 0352 AD XOR L
\ 0353 B4 OR H
\ 0354 2005 JR NZ,?0125
\ 0356 ?0124:
\ 0356 210000 LD HL,0
315 else
\ 0359 1809 JR ?0126
\ 035B ?0125:
316 {
317 g_comval.ReplayMode=list.active;
\ 035B 3A0400 LD A,(list+4)
\ 035E 320D00 LD (g_comval+13),A
318 return result;
\ 0361 FDE5 PUSH IY
\ 0363 E1 POP HL
319 }
\ 0364 ?0126:
\ 0364 DDF9 LD SP,IX
\ 0366 DDE1 POP IX
\ 0368 FDE1 POP IY
\ 036A D1 POP DE
\ 036B C1 POP BC
\ 036C C30000 JP LWRD ?BANK_FAST_LEAVE_L08
320 }
\ 036F contrast_callback:
321 /*
322 ********************************************************************************
323 * Description : 对比度设定回调函数
324 *
325 * Arguments : value, 1~16, 对应硬件 6~21
326 *
327 * Returns :
328 *
329 * Notes :
330 *
331 ********************************************************************************
332 */
333 void contrast_callback(int value)
334 {
\ 036F DDE5 PUSH IX
\ 0371 DD210000 LD IX,0
\ 0375 DD39 ADD IX,SP
\ 0377 D5 PUSH DE
335 //true value 6~21
336 g_comval.DisplayContrast = (BYTE)value;
\ 0378 7B LD A,E
\ 0379 320800 LD (g_comval+8),A
337 g_contrast_num = g_comval.DisplayContrast;
\ 037C 3A0800 LD A,(g_comval+8)
\ 037F 320000 LD (g_contrast_num),A
338 //设置到硬件
339 SetContrast(g_comval.DisplayContrast);
\ 0382 ED5B0800 LD DE,(g_comval+8)
\ 0386 CD0000 CALL LWRD SetContrast
340 }
\ 0389 DDF9 LD SP,IX
\ 038B DDE1 POP IX
\ 038D C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0390 fmt_memory:
341 /*
342 ********************************************************************************
343 * Description : 对比度设定界面
344 *
345 * Arguments :
346 *
347 * Returns :
348 *
349 * Notes : 注意背景先画
350 *
351 ********************************************************************************
352 */
353 /*
354 int show_contrast(void)
355 {
356 slider.min = 0;
357 slider.max = 15;
358 slider.step = 1;
359 slider.value = g_comval.DisplayContrast; //modified by ccm(5->2)
360 slider.title=main_text[list.active];
361 slider.value = g_comval.DisplayContrast;
362 return ui_slider(&slider, contrast_callback);
363 }
364 */
365 /*
366 ********************************************************************************
367 * Description : 格式化储存容量的显示字符串
368 *
369 * Arguments : buf, 输出字符串buffer
370 mega,总容量
371 percent,使用百分比
372 *
373 * Returns : 输出字符串的长度
374 *
375 * Notes : 1024M<100%>
376 *
377 ********************************************************************************
378 */
379 WORD fmt_memory(char *buf, WORD mega, BYTE percent)
380 {
\ 0390 FDE5 PUSH IY
\ 0392 DDE5 PUSH IX
\ 0394 DD210000 LD IX,0
\ 0398 DD39 ADD IX,SP
\ 039A D5 PUSH DE
\ 039B F5 PUSH AF
\ 039C C5 PUSH BC
\ 039D FDE1 POP IY
381 char *p=buf;
\ 039F DD73FC LD (IX-4),E
\ 03A2 DD72FD LD (IX-3),D
382
383 if(mega >= 1000)
\ 03A5 11E803 LD DE,1000
\ 03A8 69 LD L,C
\ 03A9 60 LD H,B
\ 03AA A7 AND A
\ 03AB ED52 SBC HL,DE
\ 03AD 3820 JR C,?0128
\ 03AF ?0127:
384 {
385 itoa_4(mega, p);
\ 03AF DD4EFC LD C,(IX-4)
\ 03B2 DD46FD LD B,(IX-3)
\ 03B5 FDE5 PUSH IY
\ 03B7 D1 POP DE
\ 03B8 3E00 LD A,BYTE3 itoa_4
\ 03BA 210000 LD HL,LWRD itoa_4
\ 03BD CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
386 p += 4;
\ 03C0 210000 LD HL,0
\ 03C3 39 ADD HL,SP
\ 03C4 7E LD A,(HL)
\ 03C5 C604 ADD A,4
\ 03C7 77 LD (HL),A
\ 03C8 23 INC HL
\ 03C9 7E LD A,(HL)
\ 03CA CE00 ADC A,0
\ 03CC 77 LD (HL),A
\ 03CD 184A JR ?0132
\ 03CF ?0128:
387 }
388 else if(mega >= 100)
\ 03CF 016400 LD BC,100
\ 03D2 FDE5 PUSH IY
\ 03D4 E1 POP HL
\ 03D5 A7 AND A
\ 03D6 ED42 SBC HL,BC
\ 03D8 3820 JR C,?0131
\ 03DA ?0130:
389 {
390 itoa_3(mega, p);
\ 03DA DD4EFC LD C,(IX-4)
\ 03DD DD46FD LD B,(IX-3)
\ 03E0 FDE5 PUSH IY
\ 03E2 D1 POP DE
\ 03E3 3E00 LD A,BYTE3 itoa_3
\ 03E5 210000 LD HL,LWRD itoa_3
\ 03E8 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
391 p += 3;
\ 03EB 210000 LD HL,0
\ 03EE 39 ADD HL,SP
\ 03EF 7E LD A,(HL)
\ 03F0 C603 ADD A,3
\ 03F2 77 LD (HL),A
\ 03F3 23 INC HL
\ 03F4 7E LD A,(HL)
\ 03F5 CE00 ADC A,0
\ 03F7 77 LD (HL),A
392 }
393 else
\ 03F8 181F JR ?0132
\ 03FA ?0131:
394 {
395 itoa_2(mega, p);
\ 03FA DD4EFC LD C,(IX-4)
\ 03FD DD46FD LD B,(IX-3)
\ 0400 FDE5 PUSH IY
\ 0402 E1 POP HL
\ 0403 5D LD E,L
\ 0404 3E00 LD A,BYTE3 itoa_2
\ 0406 210000 LD HL,LWRD itoa_2
\ 0409 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
396 p += 2;
\ 040C 210000 LD HL,0
\ 040F 39 ADD HL,SP
\ 0410 7E LD A,(HL)
\ 0411 C602 ADD A,2
\ 0413 77 LD (HL),A
\ 0414 23 INC HL
\ 0415 7E LD A,(HL)
\ 0416 CE00 ADC A,0
\ 0418 77 LD (HL),A
\ 0419 ?0132:
\ 0419 ?0129:
397 }
398
399 return (p-buf);
\ 0419 DD4EFE LD C,(IX-2)
\ 041C DD46FF LD B,(IX-1)
\ 041F DD6EFC LD L,(IX-4)
\ 0422 DD66FD LD H,(IX-3)
\ 0425 A7 AND A
\ 0426 ED42 SBC HL,BC
400 }
\ 0428 DDF9 LD SP,IX
\ 042A DDE1 POP IX
\ 042C FDE1 POP IY
\ 042E C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0431 show_memory:
401
402 /*
403 ********************************************************************************
404 * Description : 储存状况界面
405 *
406 * Arguments :
407 *
408 * Returns :
409 *
410 * Notes :
411 *
412 ********************************************************************************
413 */
414 int show_memory(void)
415 {
\ 0431 C5 PUSH BC
\ 0432 D5 PUSH DE
\ 0433 DDE5 PUSH IX
\ 0435 DD210000 LD IX,0
\ 0439 DD39 ADD IX,SP
\ 043B 21DAFF LD HL,65498
\ 043E 39 ADD HL,SP
\ 043F F9 LD SP,HL
416 BOOL mem_ok=FALSE; //主内存是否可用
\ 0440 DD36F200 LD (IX-14),0
417 BOOL card_ok=FALSE; //卡是否可用
\ 0444 DD36DF00 LD (IX-33),0
418 ulong total1=0L, free1=0L; //内存
\ 0448 AF XOR A
\ 0449 DD77E6 LD (IX-26),A
\ 044C DD77E7 LD (IX-25),A
\ 044F DD77E8 LD (IX-24),A
\ 0452 DD77E9 LD (IX-23),A
\ 0455 AF XOR A
\ 0456 DD77EE LD (IX-18),A
\ 0459 DD77EF LD (IX-17),A
\ 045C DD77F0 LD (IX-16),A
\ 045F DD77F1 LD (IX-15),A
419 BYTE percent1=0;
\ 0462 DD36DB00 LD (IX-37),0
420 ulong total2=0L, free2=0L; //插卡
\ 0466 AF XOR A
\ 0467 DD77E2 LD (IX-30),A
\ 046A DD77E3 LD (IX-29),A
\ 046D DD77E4 LD (IX-28),A
\ 0470 DD77E5 LD (IX-27),A
\ 0473 AF XOR A
\ 0474 DD77EA LD (IX-22),A
\ 0477 DD77EB LD (IX-21),A
\ 047A DD77EC LD (IX-20),A
\ 047D DD77ED LD (IX-19),A
421 BYTE percent2=0L;
\ 0480 DD36DA00 LD (IX-38),0
422 char toshow=0; //要显示那个, 0:main, 1:card
\ 0484 DD36DC00 LD (IX-36),0
423 char key;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -