📄 main.src
字号:
; disp_str2(2, 19, HZ_IND ? "NTSC" : "PAL ", 6);
; SOURCE LINE # 616
JNB HZ_IND,?C0134
MOV R6,#HIGH (?SC_39)
MOV R7,#LOW (?SC_39)
SJMP ?C0197
?C0134:
MOV R6,#HIGH (?SC_44)
MOV R7,#LOW (?SC_44)
?C0197:
MOV R2,AR6
MOV R3,AR7
?C0135:
MOV ?_disp_str2?BYTE+04H,#06H
MOV R5,#013H
MOV R7,#02H
LJMP _disp_str2
; END OF show_video
; }
;
; void hide_video(void)
RSEG ?PR?hide_video?MAIN
hide_video:
USING 0
; SOURCE LINE # 619
; {
; SOURCE LINE # 620
; disp_str2(1, 18, " ", 0);
; SOURCE LINE # 621
MOV R2,#HIGH (?SC_49)
MOV R3,#LOW (?SC_49)
CLR A
MOV ?_disp_str2?BYTE+04H,A
MOV R5,#012H
MOV R7,#01H
LCALL _disp_str2
; disp_str2(2, 19, " ", 0);
; SOURCE LINE # 622
MOV R2,#HIGH (?SC_57)
MOV R3,#LOW (?SC_57)
CLR A
MOV ?_disp_str2?BYTE+04H,A
MOV R5,#013H
MOV R7,#02H
LJMP _disp_str2
; END OF hide_video
; }
;
; void power_turnon(void)
RSEG ?PR?power_turnon?MAIN
power_turnon:
USING 0
; SOURCE LINE # 625
; {
; SOURCE LINE # 626
; unsigned char i;
; struct menuitem_struct code *item;
;
;
; PIN_POWER = 1;
; SOURCE LINE # 631
SETB PIN_POWER
; mdelay(500);
; SOURCE LINE # 632
?C0141:
MOV c?38138,#01H
MOV c?38138+01H,#0F4H
?C0143:
MOV A,c?38138+01H
DEC c?38138+01H
MOV R6,c?38138
JNZ ?C0192
DEC c?38138
?C0192:
ORL A,R6
JZ ?C0139
MOV R7,#090H
MOV R6,#01H
LCALL ___delay
SJMP ?C0143
?C0139:
; // PIN_VSEL = 0;
; PIN_POWLED = 0;
; SOURCE LINE # 634
CLR PIN_POWLED
;
; for (i = 0, item = &items[0]; i < NR_ITEMS; i++, item++) {
; SOURCE LINE # 636
CLR A
MOV i?38140,A
MOV item?38141,#HIGH (items)
MOV item?38141+01H,#LOW (items)
?C0145:
MOV A,i?38140
CLR C
SUBB A,#05H
JNC ?C0146
; if (item->addr != -1) {
; SOURCE LINE # 637
MOV DPL,item?38141+01H
MOV DPH,item?38141
MOV A,#02H
MOVC A,@A+DPTR
MOV R7,A
CPL A
JZ ?C0147
; unsigned char c = item->read(item->addr);
; SOURCE LINE # 638
MOV A,#05H
MOVC A,@A+DPTR
MOV R4,A
MOV A,#06H
MOVC A,@A+DPTR
MOV R5,A
MOV DPL,A
MOV DPH,R4
LCALL ?C?ICALL2
MOV c?38139,R7
; item->apply(c);
; SOURCE LINE # 639
MOV DPL,item?38141+01H
MOV DPH,item?38141
MOV A,#09H
MOVC A,@A+DPTR
MOV R6,A
MOV A,#0AH
MOVC A,@A+DPTR
MOV DPL,A
MOV DPH,R6
MOV R7,c?38139
LCALL ?C?ICALL2
; }
; SOURCE LINE # 640
; }
; SOURCE LINE # 641
?C0147:
INC i?38140
MOV A,#0DH
ADD A,item?38141+01H
MOV item?38141+01H,A
CLR A
ADDC A,item?38141
MOV item?38141,A
SJMP ?C0145
?C0146:
;
; osd_init();
; SOURCE LINE # 643
LJMP osd_init
; END OF power_turnon
; }
;
; void delay500ms()
RSEG ?PR?delay500ms?MAIN
delay500ms:
USING 0
; SOURCE LINE # 646
; {
; SOURCE LINE # 647
; int i;
; for(i=0;i<3000;i++)
; SOURCE LINE # 649
;---- Variable 'i?39142' assigned to Register 'R6/R7' ----
CLR A
MOV R7,A
MOV R6,A
?C0150:
; {;;;}
; SOURCE LINE # 650
INC R7
CJNE R7,#00H,?C0193
INC R6
?C0193:
CJNE R6,#0BH,?C0150
CJNE R7,#0B8H,?C0150
; }
; SOURCE LINE # 651
?C0153:
RET
; END OF delay500ms
;
; void main(void) using 0
RSEG ?PR?main?MAIN
main:
USING 0
PUSH PSW
MOV PSW,#00H
; SOURCE LINE # 653
; {
; unsigned char id = EDIT_NULL;
; SOURCE LINE # 655
MOV id?40144,#0FFH
; unsigned char val;
; unsigned char hide_expires;
; unsigned char video_expires;
; unsigned char powoff_expires = 0;
; SOURCE LINE # 659
CLR A
MOV powoff_expires?40148,A
; bit sys_ind,pin_off,visible,visiblemenu= 0, auto_powoff = 1;
; SOURCE LINE # 660
CLR visiblemenu?40152
SETB auto_powoff?40153
; // bit backflag=1;
;
; initial();
; SOURCE LINE # 663
LCALL initial
; power_turnon();
; SOURCE LINE # 664
LCALL power_turnon
; // show_video();
; // visible = 1;
; PIN_POWER = 0;
; SOURCE LINE # 667
CLR PIN_POWER
; PIN_POWLED = 1;
; SOURCE LINE # 668
SETB PIN_POWLED
; hide_expires = jiffies + HZ*5;
; SOURCE LINE # 669
MOV A,jiffies
ADD A,#064H
MOV hide_expires?40146,A
; #if 0
; {
; unsigned char i;
; bit dummy = 1;
; power_turnon();
; for (i = 0; i < 15; i++)
; osd_setrowattr(i, 0);
; mtv130_test(0);
; i = 0;
; for (; dummy;) {
; if (!key_on) {
; continue;
; }
; i += 128;
; mtv130_test(i);
;
; key_on = 0;
; }
; }
; #endif
; //////////////////
; // power_turnon();
; ///////////////////
;
; for (;;) {
; SOURCE LINE # 694
; wdt_reset();
; SOURCE LINE # 695
?C0157:
; if (!PIN_OFF && visible && time_after(jiffies, video_expires)) {
; SOURCE LINE # 696
JB PIN_OFF,?C0159
JNB visible?40151,?C0159
MOV R7,jiffies
CLR C
MOV A,video_expires?40147
SUBB A,R7
CLR C
XRL A,#080H
SUBB A,#080H
JNC ?C0159
; hide_video();
; SOURCE LINE # 697
LCALL hide_video
; visible = 0;
; SOURCE LINE # 698
CLR visible?40151
; }
; SOURCE LINE # 699
?C0159:
; if (id != EDIT_NULL && visiblemenu&&time_after(jiffies, hide_expires)) {
; SOURCE LINE # 700
MOV A,id?40144
CPL A
JZ ?C0160
JNB visiblemenu?40152,?C0160
MOV R7,jiffies
CLR C
MOV A,hide_expires?40146
SUBB A,R7
CLR C
XRL A,#080H
SUBB A,#080H
JNC ?C0160
; hide_menu();
; SOURCE LINE # 701
LCALL hide_menu
; // osd_clear();
; id = EDIT_NULL;
; SOURCE LINE # 703
MOV id?40144,#0FFH
; }
; SOURCE LINE # 704
?C0160:
; if (pin_off != PIN_OFF) {// Signal identify
; SOURCE LINE # 705
MOV C,pin_off?40150
JNB PIN_OFF,?C0194
CPL C
?C0194:
JNC ?C0161
; pin_off = PIN_OFF;
; SOURCE LINE # 706
MOV C,PIN_OFF
MOV pin_off?40150,C
; if (PIN_OFF) {
; SOURCE LINE # 707
JNB PIN_OFF,?C0162
; delay500ms();
; SOURCE LINE # 708
LCALL delay500ms
; mtv130_puta(VERTD_ROW, VERTD_COL,4);// 4);//6);
; SOURCE LINE # 709
MOV R3,#04H
MOV R5,#0CH
MOV R7,#0FH
LCALL _mtv130_puta
; osd_clear();
; SOURCE LINE # 710
LCALL osd_clear
; visiblemenu= 0;
; SOURCE LINE # 711
CLR visiblemenu?40152
; osd_back();
; SOURCE LINE # 712
LCALL osd_back
; disp_str2(7, 10, "NO SIGNAL", 6|8);
; SOURCE LINE # 713
MOV R2,#HIGH (?SC_62)
MOV R3,#LOW (?SC_62)
MOV ?_disp_str2?BYTE+04H,#0EH
MOV R5,#0AH
MOV R7,#07H
LCALL _disp_str2
; show_video();
; SOURCE LINE # 714
; visible = 1;
; SOURCE LINE # 715
; video_expires = jiffies + HZ*5;
; SOURCE LINE # 716
; } else {
; SOURCE LINE # 717
SJMP ?C0198
?C0162:
; delay500ms();
; SOURCE LINE # 718
LCALL delay500ms
; osd_clear(); //backflag=0;
; SOURCE LINE # 719
LCALL osd_clear
; mtv130_puta(VERTD_ROW, VERTD_COL,6);// 4);//6);
; SOURCE LINE # 720
MOV R3,#06H
MOV R5,#0CH
MOV R7,#0FH
LCALL _mtv130_puta
; show_video();
; SOURCE LINE # 721
?C0198:
LCALL show_video
; visible = 1;
; SOURCE LINE # 722
SETB visible?40151
; video_expires = jiffies + HZ*5;}
; SOURCE LINE # 723
MOV A,jiffies
ADD A,#064H
MOV video_expires?40147,A
; }
; SOURCE LINE # 724
?C0161:
;
; if (sys_ind != HZ_IND) {
; SOURCE LINE # 726
MOV C,sys_ind?40149
JNB HZ_IND,?C0195
CPL C
?C0195:
JNC ?C0164
; sys_ind = HZ_IND;
; SOURCE LINE # 727
MOV C,HZ_IND
MOV sys_ind?40149,C
; mtv130_puta(CH_ROW, CH_COL, HZ_IND ? 0 : 4);
; SOURCE LINE # 728
JNB HZ_IND,?C0165
MOV R3,#00H
SJMP ?C0166
?C0165:
MOV R3,#04H
?C0166:
MOV R5,#0EH
MOV R7,#0FH
LCALL _mtv130_puta
; show_video();
; SOURCE LINE # 729
LCALL show_video
; visible = 1;
; SOURCE LINE # 730
SETB visible?40151
; video_expires = jiffies + HZ*5;
; SOURCE LINE # 731
MOV A,jiffies
ADD A,#064H
MOV video_expires?40147,A
; }
; SOURCE LINE # 732
?C0164:
; if (!key_on) {
; SOURCE LINE # 733
JB key_on,$ + 6H
LJMP ?main?loop_end
; goto loop_end;
; SOURCE LINE # 734
; }
; SOURCE LINE # 735
?C0167:
; hide_expires = jiffies + HZ*5;
; SOURCE LINE # 736
MOV A,jiffies
ADD A,#064H
MOV hide_expires?40146,A
; powoff_expires = xtime.min+10;
; SOURCE LINE # 737
MOV A,xtime
ADD A,#0AH
MOV powoff_expires?40148,A
;
; if (key_last == KEY_MENU || key_last == KEY_UP || key_last == KEY_DOWN) {
; SOURCE LINE # 739
MOV A,key_last
XRL A,#02H
JZ ?C0170
MOV A,key_last
XRL A,#06H
JZ ?C0170
MOV A,key_last
XRL A,#03H
JNZ ?C0169
?C0170:
; visiblemenu= 1;
; SOURCE LINE # 740
SETB visiblemenu?40152
; if (id == EDIT_NULL) {
; SOURCE LINE # 741
MOV A,id?40144
CJNE A,#0FFH,?C0171
; if (key_last != KEY_MENU)
; SOURCE LINE # 742
MOV A,key_last
XRL A,#02H
JZ $ + 5H
LJMP ?main?loop_end
; goto loop_end;
; SOURCE LINE # 743
?C0172:
; id = EDIT_FIRST;
; SOURCE LINE # 744
CLR A
MOV id?40144,A
; osd_clear();
; SOURCE LINE # 745
LCALL osd_clear
; show_menu();
; SOURCE LINE # 746
LCALL show_menu
; } else {
; SOURCE LINE # 747
SJMP ?C0173
?C0171:
; select_item(id, 0);
; SOURCE LINE # 748
CLR ?_select_item?BIT
MOV R7,id?40144
LCALL _select_item
; if (key_last == KEY_UP) {
; SOURCE LINE # 749
MOV A,key_last
CJNE A,#06H,?C0174
; if (id == EDIT_FIRST)
; SOURCE LINE # 750
MOV A,id?40144
JNZ ?C0175
; id = EDIT_LAST;
; SOURCE LINE # 751
MOV id?40144,#04H
SJMP ?C0173
?C0175:
; else
; --id;
; SOURCE LINE # 753
DEC id?40144
; } else {
; SOURCE LINE # 754
SJMP ?C0173
?C0174:
; if (id == EDIT_LAST)
; SOURCE LINE # 755
MOV A,id?40144
CJNE A,#04H,?C0178
; id = EDIT_FIRST;
; SOURCE LINE # 756
CLR A
MOV id?40144,A
SJMP ?C0173
?C0178:
; else
; ++id;
; SOURCE LINE # 758
INC id?40144
; }
; SOURCE LINE # 759
; }
; SOURCE LINE # 760
?C0173:
; select_item(id, 1);
; SOURCE LINE # 761
SETB ?_select_item?BIT
MOV R7,id?40144
LCALL _select_item
; /* add */
; val = items[id].read(items[id].addr);
; SOURCE LINE # 763
MOV A,id?40144
MOV B,#0DH
MUL AB
ADD A,#LOW (items+02H)
MOV DPL,A
CLR A
ADDC A,#HIGH (items+02H)
MOV DPH,A
CLR A
MOVC A,@A+DPTR
MOV R7,A
MOV A,id?40144
MOV B,#0DH
MUL AB
ADD A,#LOW (items+05H)
MOV DPL,A
CLR A
ADDC A,#HIGH (items+05H)
MOV DPH,A
CLR A
MOVC A,@A+DPTR
MOV R4,A
MOV A,#01H
MOVC A,@A+DPTR
MOV R5,A
MOV DPL,A
MOV DPH,R4
LCALL ?C?ICALL2
MOV val?40145,R7
; goto loop_end;
; SOURCE LINE # 764
LJMP ?main?loop_end
; }
; SOURCE LINE # 765
?C0169:
;
; if ((key_last == KEY_INC || key_last == KEY_DEC) && id != EDIT_NULL) {
; SOURCE LINE # 767
MOV A,key_last
JZ ?C0181
XRL A,#01H
JZ $ + 5H
LJMP ?main?loop_end
?C0181:
MOV A,id?40144
CPL A
JNZ $ + 5H
LJMP ?main?loop_end
; struct menuitem_struct code *item = &items[id];
; SOURCE LINE # 768
MOV A,id?40144
MOV B,#0DH
MUL AB
ADD A,#LOW (items)
MOV DPL,A
CLR A
ADDC A,#HIGH (items)
MOV R7,DPL
MOV item?40143,A
MOV item?40143+01H,R7
;
; val = item->step(val, key_last == KEY_INC);
; SOURCE LINE # 770
MOV A,key_last
JNZ ?C0182
MOV R5,#01H
SJMP ?C0183
?C0182:
MOV R5,#00H
?C0183:
MOV DPL,item?40143+01H
MOV DPH,item?40143
MOV A,#07H
MOVC A,@A+DPTR
MOV R6,A
MOV A,#08H
MOVC A,@A+DPTR
MOV DPL,A
MOV DPH,R6
MOV R7,val?40145
LCALL ?C?ICALL2
MOV val?40145,R7
; item->apply(val);
; SOURCE LINE # 771
MOV DPL,item?40143+01H
MOV DPH,item?40143
MOV A,#09H
MOVC A,@A+DPTR
MOV R6,A
MOV A,#0AH
MOVC A,@A+DPTR
MOV DPL,A
MOV DPH,R6
MOV R7,val?40145
LCALL ?C?ICALL2
; if (item->flags & MIF_DOCA)
; SOURCE LINE # 772
MOV DPL,item?40143+01H
MOV DPH,item?40143
MOV A,#03H
MOVC A,@A+DPTR
JNB ACC.0,?C0184
; item->draw(ROW_BRI+NR_ITEMS+1, 1, val);
;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -