📄 vx1828_au.src
字号:
INC DPTR
MOVX @DPTR,A
INC DPTR
MOVX @DPTR,A
MOV R7,#03H
LCALL _osd_hbsection
;
; // Set size of block
; osd_size(title,0x2F,0x01); // Set Title block size
; SOURCE LINE # 100
MOV R3,#01H
MOV R5,#02FH
MOV R7,#01H
LCALL _osd_size
; osd_size(content,0,0); // Set Content block size adjust by cswu.
; SOURCE LINE # 101
CLR A
MOV R3,A
MOV R5,A
MOV R7,#02H
LCALL _osd_size
; // Set position of block
; //osd_pos(title,180,7); // Set Title block position
; osd_pos(content,0x80,12); // Set Content block position
; SOURCE LINE # 104
MOV R3,#0CH
MOV R5,#080H
MOV R7,#02H
LCALL _osd_pos
; // Select Block Color
; osd_switch(0x00); // Turn the OSD T/C/B block off
; SOURCE LINE # 106
CLR A
MOV R7,A
LCALL _osd_switch
; osd_blink(0x0f); // Set the OSD blinking rate
; SOURCE LINE # 107
MOV R7,#0FH
LCALL _osd_blink
; osd_alpha(0x0d); // Set the OSD transparent
; SOURCE LINE # 108
MOV R7,#0DH
LCALL _osd_alpha
; #if _debug
; printf("The program jump Restart.\n");
; SOURCE LINE # 110
MOV R3,#0FFH
MOV R2,#HIGH (?SC_149)
MOV R1,#LOW (?SC_149)
LCALL _printf
; #endif
; Reloadsetting();
; SOURCE LINE # 112
LCALL Reloadsetting
; BSTctrl = 0; DelayXms(0x30);
; SOURCE LINE # 113
CLR BSTctrl
MOV R7,#030H
LCALL _DelayXms
; signal_sel=0;
; SOURCE LINE # 114
CLR A
MOV R0,#LOW (signal_sel)
MOV @R0,A
; top_sel = 1;
; SOURCE LINE # 115
MOV top_sel,#01H
; pcc = 0;
; SOURCE LINE # 116
CLR pcc
; TR0 = 1;printf("open timer0\n");
; SOURCE LINE # 117
SETB TR0
MOV R3,#0FFH
MOV R2,#HIGH (?SC_176)
MOV R1,#LOW (?SC_176)
LCALL _printf
; EA=1;
; SOURCE LINE # 118
SETB EA
; printf("EA = 1 \n");
; SOURCE LINE # 119
MOV R3,#0FFH
MOV R2,#HIGH (?SC_189)
MOV R1,#LOW (?SC_189)
LCALL _printf
; }
; SOURCE LINE # 120
?C0010:
; while(1)
; SOURCE LINE # 121
; {
; SOURCE LINE # 122
; //=========================================================
; if(!XIE_Power) // run only one time .
; SOURCE LINE # 124
JNB XIE_Power,$ + 6H
LJMP ?C0012
; {
; SOURCE LINE # 125
; #if _debug
; printf("XIE_Power \n");
; SOURCE LINE # 127
MOV R3,#0FFH
MOV R2,#HIGH (?SC_198)
MOV R1,#LOW (?SC_198)
LCALL _printf
; #endif
; XIE_Power = 1;
; SOURCE LINE # 129
SETB XIE_Power
; irpower_flag = 0;
; SOURCE LINE # 130
CLR irpower_flag
; power_flag = ~power_flag;
; SOURCE LINE # 131
CPL power_flag
; LED_R=0;
; SOURCE LINE # 132
CLR LED_R
; #if _debug
; printf("LED_R on. in if\n");
; SOURCE LINE # 134
MOV R3,#0FFH
MOV R2,#HIGH (?SC_210)
MOV R1,#LOW (?SC_210)
LCALL _printf
; #endif
;
; if (power_flag)
; SOURCE LINE # 137
JNB power_flag,?C0013
; { open_5v();printf("open 5v\n");
; SOURCE LINE # 138
LCALL open_5v
MOV R3,#0FFH
MOV R2,#HIGH (?SC_227)
MOV R1,#LOW (?SC_227)
LCALL _printf
; DelayXms(0xEF);
; SOURCE LINE # 139
MOV R7,#0EFH
LCALL _DelayXms
; Init_VX1828(); // Initial VX1818
; SOURCE LINE # 140
LCALL Init_VX1828
; aisel_func(0x86);DelayXms(0x30);
; SOURCE LINE # 141
MOV R7,#086H
LCALL _aisel_func
MOV R7,#030H
LCALL _DelayXms
; init_audio(); printf("init audio\n");
; SOURCE LINE # 142
LCALL init_audio
MOV R3,#0FFH
MOV R2,#HIGH (?SC_236)
MOV R1,#LOW (?SC_236)
LCALL _printf
;
; //BSTctrl = 0; DelayXms(0x30);
; VX1828ctrl = 1;
; SOURCE LINE # 145
SETB VX1828ctrl
; modestatus=0;
; SOURCE LINE # 146
CLR A
MOV R0,#LOW (modestatus)
MOV @R0,A
;
; pcc = 1;
; SOURCE LINE # 148
SETB pcc
; goto Restart2;
; SOURCE LINE # 149
LJMP ?main?Restart2
; }
; SOURCE LINE # 150
?C0013:
; else // POWER OFF
; {
; SOURCE LINE # 152
; VX1828ctrl = 1; DelayXms(0x10);
; SOURCE LINE # 153
SETB VX1828ctrl
MOV R7,#010H
LCALL _DelayXms
; BSTctrl = 1; DelayXms(0x10);
; SOURCE LINE # 154
SETB BSTctrl
MOV R7,#010H
LCALL _DelayXms
; LED_R=0; printf("LED_R on.in else\n");
; SOURCE LINE # 155
CLR LED_R
MOV R3,#0FFH
MOV R2,#HIGH (?SC_248)
MOV R1,#LOW (?SC_248)
LCALL _printf
; set_audio_switch(IN4);
; SOURCE LINE # 156
CLR A
MOV R7,A
LCALL _set_audio_switch
; //aisel_func(0x86);
; DelayXms(0x30);
; SOURCE LINE # 158
MOV R7,#030H
LCALL _DelayXms
; open_5v();printf("open 5v\n");
; SOURCE LINE # 159
LCALL open_5v
MOV R3,#0FFH
MOV R2,#HIGH (?SC_227)
MOV R1,#LOW (?SC_227)
LCALL _printf
; //Clear all menu flag
; topmenu_flag = 0;
; SOURCE LINE # 161
CLR topmenu_flag
; britmenu_flag = 0;
; SOURCE LINE # 162
CLR britmenu_flag
; volshow_flag = 0;
; SOURCE LINE # 163
CLR volshow_flag
; mute_flag = 0;
; SOURCE LINE # 164
CLR mute_flag
; EA=1;printf("EA = 1 \n");
; SOURCE LINE # 165
SETB EA
MOV R3,#0FFH
MOV R2,#HIGH (?SC_189)
MOV R1,#LOW (?SC_189)
LCALL _printf
; ir_server();printf("ir_server run\n");
; SOURCE LINE # 166
LCALL ir_server
MOV R3,#0FFH
MOV R2,#HIGH (?SC_266)
MOV R1,#LOW (?SC_266)
LCALL _printf
; DelayXms(0xff); // Avoid error repress
; SOURCE LINE # 167
MOV R7,#0FFH
LCALL _DelayXms
; printf("test dot 2\n");
; SOURCE LINE # 168
MOV R3,#0FFH
MOV R2,#HIGH (?SC_281)
MOV R1,#LOW (?SC_281)
LCALL _printf
; }
; SOURCE LINE # 169
; }
; SOURCE LINE # 170
?C0012:
;
; //==========================================================
;
; ir_server();
; SOURCE LINE # 174
LCALL ir_server
; //printf("ir_server run\n");
;
; #if 0
; printf("ir_server run\n"); // ir server function .
; #endif
;
; //===========================================================
;
; // Check Video mode
; // check_video_mode();
; if (power_flag)
; SOURCE LINE # 185
JB power_flag,$ + 6H
LJMP ?C0015
; {
; SOURCE LINE # 186
; //get status |NOISE |PHALT |IS443 |VPRES |MODE[1:0] |FINEAGC|MVVALID|.
; DelayXms(0x80);
; SOURCE LINE # 188
MOV R7,#080H
LCALL _DelayXms
;
; shi_sub_read(VX1828,0xD3,0x00,&temp_data[0]);//DelayXms(0x10);
; SOURCE LINE # 190
MOV DPTR,#?_shi_sub_read?BYTE+03H
CLR A
MOVX @DPTR,A
INC DPTR
MOV A,#HIGH (temp_data)
MOVX @DPTR,A
INC DPTR
MOV A,#LOW (temp_data)
MOVX @DPTR,A
CLR A
MOV R3,A
MOV R5,#0D3H
MOV R7,#0DEH
LCALL _shi_sub_read
; #if _debug
; //printf("reading video mode=%BX\n",temp_data[0]);
; #endif
; temp_data[0] >>= 2;
; SOURCE LINE # 194
MOV R0,#LOW (temp_data)
MOV A,@R0
MOV R7,A
MOV C,ACC.7
RRC A
MOV C,ACC.7
RRC A
MOV @R0,A
; tempmode= temp_data[0] & 0x03; //get the mode .
; SOURCE LINE # 195
ANL A,#03H
MOV R0,#LOW (tempmode)
MOV @R0,A
;
; if (modestatus!=tempmode)
; SOURCE LINE # 197
DEC R0
XRL A,@R0
JNZ $ + 5H
LJMP ?C0015
; {
; SOURCE LINE # 198
;
; switch(tempmode)
; SOURCE LINE # 200
INC R0
MOV A,@R0
DEC A
JNZ $ + 5H
LJMP ?C0019
DEC A
JNZ $ + 5H
LJMP ?C0020
DEC A
JNZ $ + 5H
LJMP ?C0021
ADD A,#03H
JZ $ + 5H
LJMP ?C0017
; {
; SOURCE LINE # 201
; case 0: // PAL N
; SOURCE LINE # 202
?C0018:
; #if _debug
; printf("the video is PAL-N \n");
; SOURCE LINE # 204
MOV R3,#0FFH
MOV R2,#HIGH (?SC_293)
MOV R1,#LOW (?SC_293)
LCALL _printf
; #endif
; //temp_data[0] = hposPN_sel; // Address 0x3c
; //temp_data[1] = vposPN_sel; // Address 0x3d
; //temp_data[2] = 0x30; // Address 0x3e
; //temp_data[3] = 0x1A; // Address 0x3f
; //temp_data[4] = 0x32; // Address 0x40
; //temp_data[5] = 0x7E; // Address 0x41
; DelayXms(0x80);
; SOURCE LINE # 212
MOV R7,#080H
LCALL _DelayXms
; temp_data[0] = 0x16;
; SOURCE LINE # 213
MOV R0,#LOW (temp_data)
MOV @R0,#016H
; shi_sub_write(VX1828,0xC2,0x00,&temp_data[0]);// set TC6 |-| STV_ON |
; SOURCE LINE # 214
MOV DPTR,#?_shi_sub_write?BYTE+03H
CLR A
MOVX @DPTR,A
INC DPTR
MOV A,#HIGH (temp_data)
MOVX @DPTR,A
INC DPTR
MOV A,#LOW (temp_data)
MOVX @DPTR,A
CLR A
MOV R3,A
MOV R5,#0C2H
MOV R7,#0DEH
LCALL _shi_sub_write
; temp_data[0] = 0x79;
; SOURCE LINE # 215
MOV R0,#LOW (temp_data)
MOV @R0,#079H
; shi_sub_write(VX1828,0xa6,0x00,&temp_data[0]);
; SOURCE LINE # 216
MOV DPTR,#?_shi_sub_write?BYTE+03H
CLR A
MOVX @DPTR,A
INC DPTR
MOV A,#HIGH (temp_data)
MOVX @DPTR,A
INC DPTR
MOV A,#LOW (temp_data)
MOVX @DPTR,A
CLR A
MOV R3,A
MOV R5,#0A6H
MOV R7,#0DEH
LCALL _shi_sub_write
; temp_data[0] = 0x00;
; SOURCE LINE # 217
CLR A
MOV R0,#LOW (temp_data)
MOV @R0,A
; shi_sub_write(VX1828,0xa5,0x00,&temp_data[0]);
; SOURCE LINE # 218
MOV DPTR,#?_shi_sub_write?BYTE+03H
MOVX @DPTR,A
INC DPTR
MOV A,#HIGH (temp_data)
MOVX @DPTR,A
INC DPTR
MOV A,#LOW (temp_data)
MOVX @DPTR,A
CLR A
MOV R3,A
MOV R5,#0A5H
MOV R7,#0DEH
LCALL _shi_sub_write
; temp_data[0] = 0x02;
; SOURCE LINE # 219
MOV R0,#LOW (temp_data)
MOV @R0,#02H
; shi_sub_write(VX1828,0xC7,0x00,&temp_data[0]);// set TC5 | OEV_MODE[3:0]|-|-|ZOOM_MODE[1:0]|
; SOURCE LINE # 220
MOV DPTR,#?_shi_sub_write?BYTE+03H
CLR A
MOVX @DPTR,A
INC DPTR
MOV A,#HIGH (temp_data)
MOVX @DPTR,A
INC DPTR
MOV A,#LOW (temp_data)
MOVX @DPTR,A
CLR A
MOV R3,A
MOV R5,#0C7H
MOV R7,#0DEH
LCALL _shi_sub_write
; temp_data[0] =0xCD;
; SOURCE LINE # 221
MOV R0,#LOW (temp_data)
MOV @R0,#0CDH
; shi_sub_write(VX1828,0x3c,0x00,&temp_data[0]);// set OS9 | HSHIFT |
; SOURCE LINE # 222
MOV DPTR,#?_shi_sub_write?BYTE+03H
CLR A
MOVX @DPTR,A
INC DPTR
MOV A,#HIGH (temp_data)
MOVX @DPTR,A
INC DPTR
MOV A,#LOW (temp_data)
MOVX @DPTR,A
CLR A
MOV R3,A
MOV R5,#03CH
MOV R7,#0DEH
LCALL _shi_sub_write
; temp_data[0] =0x03;
; SOURCE LINE # 223
MOV R0,#LOW (temp_data)
MOV @R0,#03H
; shi_sub_write(VX1828,0x3d,0x00,&temp_data[0]);// set OS9 | HSHIFT |
; SOURCE LINE # 224
MOV DPTR,#?_shi_sub_write?BYTE+03H
CLR A
MOVX @DPTR,A
INC DPTR
MOV A,#HIGH (temp_data)
MOVX @DPTR,A
INC DPTR
MOV A,#LOW (temp_data)
MOVX @DPTR,A
CLR A
MOV R3,A
MOV R5,#03DH
MOV R7,#0DEH
LCALL _shi_sub_write
; temp_data[0] =0x0c;
; SOURCE LINE # 225
MOV R0,#LOW (temp_data)
MOV @R0,#0CH
; shi_sub_write(VX1828,0xc0,0x00,&temp_data[0]);// set OS9 | HSHIFT |
; SOURCE LINE # 226
MOV DPTR,#?_shi_sub_write?BYTE+03H
CLR A
MOVX @DPTR,A
INC DPTR
MOV A,#HIGH (temp_data)
MOVX @DPTR,A
INC DPTR
MOV A,#LOW (temp_data)
MOVX @DPTR,A
CLR A
MOV R3,A
MOV R5,#0C0H
MOV R7,#0DEH
LCALL _shi_sub_write
; #if 0
; temp_data[0] = 0x4B;
; shi_sub_write(VX1828,0xD8,0x00,&temp_data[0]);// set TC19 |V_DROP_L3 |V_DROP_L4 |
; temp_data[0] = 0x5D;
; shi_sub_write(VX1828,0xD7,0x00,&temp_data[0]);// set TC18 |V_DROP_L1 |V_DROP_L2 |
; temp_data[0] = 0x05;
; shi_sub_write(VX1828,0xD6,0x00,&temp_data[0]);// set TC17 |----|DROP_PER_N|
; #endif
; video_format = 0x00; // setting present Video format .? osd_show(0x0A,0x04,&PALN);
; SOURCE LINE # 235
CLR A
MOV R0,#LOW (video_format)
MOV @R0,A
; //pal_parameter();
;
; break;
; SOURCE LINE # 238
LJMP ?C0017
; case 1: // PAL B
; SOURCE LINE # 239
?C0019:
; #if _debug
; printf("the video is PAL-B \n");
; SOURCE LINE # 241
MOV R3,#0FFH
MOV R2,#HIGH (?SC_314)
MOV R1,#LOW (?SC_314)
LCALL _printf
; #endif
; //temp_data[0] = hposP_sel; // Address 0x3c
; //temp_data[1] = vposP_sel; // Address 0x3d
; //temp_data[2] = 0x30; // Address 0x3e
; //temp_data[3] = 0x1A; // Address 0x3f
; //temp_data[4] = 0x33; // Address 0x40
; //temp_data[5] = 0x80; // Address 0x41
; //shi_sub_write(VX1828,0x3c,0x05,&temp_data[0]);
; //delay for a while so that to decease no-sync after auto change patten .
; //like as PAL-N TO NTSC .
; DelayXms(0x80);
; SOURCE LINE # 252
MOV R7,#080H
LCALL _DelayXms
; temp_data[0] = 0x16;
; SOURCE LINE # 253
MOV R0,#LOW (temp_data)
MOV @R0,#016H
; shi_sub_write(VX1828,0xC2,0x00,&temp_data[0]);// set TC6 |-| STV_ON |
; SOURCE LINE # 254
MOV DPTR,#?_shi_sub_write?BYTE+03H
CLR A
MOVX @DPTR,A
INC DPTR
MOV A,#HIGH (temp_data)
MOVX @DPTR,A
INC DPTR
MOV A,#LOW (temp_data)
MOVX @DPTR,A
CLR A
MOV R3,A
MOV R5,#0C2H
MOV R7,#0DEH
LCALL _shi_sub_write
; temp_data[0] = 0x79;
; SOURCE LINE # 255
MOV R0,#LOW (temp_data)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -