📄 osdtune.src
字号:
; SOURCE LINE # 188
MOV A,hTotal
SWAP A
MOV R0,A
ANL A,#0F0H
XCH A,R0
XRL A,R0
MOV A,hTotal+01H
SWAP A
ANL A,#0FH
ORL A,R0
ANL A,#0F0H
MOV R0,#buff+0AH
MOV @R0,A
; buff[11] = VCALSTART; // Cal V Start [7:0]
; SOURCE LINE # 189
INC R0
MOV @R0,#03H
; buff[12] = vTotal; // Cal V End [7:0]
; SOURCE LINE # 190
INC R0
MOV A,vTotal?141+01H
MOV @R0,A
; buff[13] = ((vTotal>>4)&0xF0)+((VCALSTART>>8)&0x0F);//Cal V Start/End [10:8]
; SOURCE LINE # 191
MOV A,vTotal?141
SWAP A
MOV R0,A
ANL A,#0F0H
XCH A,R0
XRL A,R0
MOV A,vTotal?141+01H
SWAP A
ANL A,#0FH
ORL A,R0
ANL A,#0F0H
MOV R0,#buff+0DH
MOV @R0,A
; RegDataOut(0xB3, buff+8, 6);
; SOURCE LINE # 192
MOV R7,#0B3H
MOV R3,#00H
MOV R2,#HIGH (buff+08H)
MOV R1,#LOW (buff+08H)
MOV ?_RegDataOut?BYTE+04H,#00H
MOV ?_RegDataOut?BYTE+05H,#06H
LCALL _RegDataOut
; RegByteOut(0xB0, 0x00); // Disable total calibration
; SOURCE LINE # 193
MOV R7,#0B0H
CLR A
MOV R5,A
LCALL _RegByteOut
; RegByteOut(0x00, 0x00); // Clear the calibration status reg
; SOURCE LINE # 194
CLR A
MOV R7,A
MOV R5,A
LCALL _RegByteOut
; }
; SOURCE LINE # 195
RET
; END OF initCalibration
;
;
;
;
;
; /************************************************
; * Vertical Calibration *
; *************************************************/
;
; #define hStart ival1
; #define hWidth ival2
;
;
; void hvCalibration(unsigned char options)
RSEG ?PR?_hvCalibration?OSDTUNE
USING 0
_hvCalibration:
MOV options?242,R7
; SOURCE LINE # 209
; {
; SOURCE LINE # 210
; unsigned int vStart,vHeight;
;
;
; #if (DEBUGMSG>=2)
; printf("\n ### HV Calib,\n");
; #endif
;
; RegByteOut(0xB0, 0x02); // Enable vertical calibration
; SOURCE LINE # 218
MOV R7,#0B0H
MOV R5,#02H
LCALL _RegByteOut
; RegByteOut(0x00, 0x00); // Clear the calibration status reg
; SOURCE LINE # 219
CLR A
MOV R7,A
MOV R5,A
LCALL _RegByteOut
; if (!waitCalibReady(0x02))
; SOURCE LINE # 220
MOV R7,#02H
LCALL _waitCalibReady
MOV A,R7
JNZ ?C0022
; {
; SOURCE LINE # 221
; CalibSuccess = 0;
; SOURCE LINE # 222
CLR CalibSuccess
; goto hvcal_fail;
; SOURCE LINE # 223
LJMP ?_hvCalibration?hvcal_fail
; }
; SOURCE LINE # 224
?C0022:
;
; #if (MASCOT_VZ+MASCOT_VXZ+MASCOT_VP2)
; miscDelay(30);
; SOURCE LINE # 227
MOV R7,#01EH
MOV R6,#00H
LCALL _miscDelay
; RegDataIn(0xD8, buff+7, 3);
; SOURCE LINE # 228
MOV R7,#0D8H
MOV R3,#00H
MOV R2,#HIGH (buff+07H)
MOV R1,#LOW (buff+07H)
MOV ?_RegDataIn?BYTE+04H,#00H
MOV ?_RegDataIn?BYTE+05H,#03H
LCALL _RegDataIn
; #endif
;
; RegByteOut(0xB0, 0x04);
; SOURCE LINE # 231
MOV R7,#0B0H
MOV R5,#04H
LCALL _RegByteOut
; RegByteOut(0x00, 0x00); // Clear the calibration status reg
; SOURCE LINE # 232
CLR A
MOV R7,A
MOV R5,A
LCALL _RegByteOut
; if (!waitCalibReady(0x04))
; SOURCE LINE # 233
MOV R7,#04H
LCALL _waitCalibReady
MOV A,R7
JNZ ?C0024
; if (!waitCalibReady(0x02))
; SOURCE LINE # 234
MOV R7,#02H
LCALL _waitCalibReady
MOV A,R7
JNZ ?C0024
; {
; SOURCE LINE # 235
; CalibSuccess = 0;
; SOURCE LINE # 236
CLR CalibSuccess
; goto hvcal_fail;
; SOURCE LINE # 237
LJMP ?_hvCalibration?hvcal_fail
; }
; SOURCE LINE # 238
?C0024:
;
; RegDataIn(0xD3, buff, 5);
; SOURCE LINE # 240
MOV R7,#0D3H
MOV R3,#00H
MOV R2,#HIGH (buff)
MOV R1,#LOW (buff)
MOV ?_RegDataIn?BYTE+04H,#00H
MOV ?_RegDataIn?BYTE+05H,#05H
LCALL _RegDataIn
; RegDataIn(0xFA, buff+5, 2);
; SOURCE LINE # 241
MOV R7,#0FAH
MOV R3,#00H
MOV R2,#HIGH (buff+05H)
MOV R1,#LOW (buff+05H)
MOV ?_RegDataIn?BYTE+04H,#00H
MOV ?_RegDataIn?BYTE+05H,#02H
LCALL _RegDataIn
;
; hStart = ((unsigned int)(buff[2]&0x07)<<8) + buff[0];
; SOURCE LINE # 243
MOV R0,#buff+02H
MOV A,@R0
ANL A,#07H
MOV R6,A
MOV R0,#buff
MOV A,@R0
MOV R4,#00H
ADD A,#00H
MOV R7,A
MOV A,R4
ADDC A,R6
MOV R6,A
MOV R0,#ival1
MOV @R0,A
MOV R4,A
INC R0
MOV A,R7
MOV @R0,A
MOV R5,A
; hWidth = ((unsigned int)(buff[6]&0x70)<<4) + buff[5] - hStart + 1;
; SOURCE LINE # 244
MOV R0,#buff+06H
MOV A,@R0
ANL A,#070H
MOV B,#010H
MUL AB
MOV R7,A
DEC R0
MOV A,@R0
MOV R2,#00H
ADD A,R7
MOV R7,A
MOV A,R2
ADDC A,B
XCH A,R7
CLR C
SUBB A,R5
XCH A,R7
SUBB A,R4
XCH A,R7
ADD A,#01H
MOV R0,#ival2+01H
MOV @R0,A
CLR A
ADDC A,R7
DEC R0
MOV @R0,A
;
; vStart = ((unsigned int)(buff[4]&0x07)<<8) + buff[3];
; SOURCE LINE # 246
MOV R0,#buff+04H
MOV A,@R0
ANL A,#07H
MOV R6,A
DEC R0
MOV A,@R0
MOV R4,#00H
ADD A,#00H
MOV vStart?243+01H,A
MOV A,R4
ADDC A,R6
MOV vStart?243,A
; vHeight= ((unsigned int)(buff[9]&0x07)<<8) + buff[7] - vStart + 1;
; SOURCE LINE # 247
MOV R0,#buff+09H
MOV A,@R0
ANL A,#07H
MOV R7,#00H
MOV R6,A
MOV R0,#buff+07H
MOV A,@R0
ADD A,#00H
MOV R7,A
MOV A,R4
ADDC A,R6
XCH A,R7
CLR C
SUBB A,vStart?243+01H
XCH A,R7
SUBB A,vStart?243
XCH A,R7
ADD A,#01H
MOV vHeight?244+01H,A
CLR A
ADDC A,R7
MOV vHeight?244,A
;
; #if (DEBUGMSG>=3)
; printf("hStart = %d, hWidth = %d, vStart = %d, vHeight = %d\n",hStart,hWidth,vStart,vHeight);
; #endif
;
;
;
; // Horizontal calibration
; //hcalib:
; if (!(options & OPTIONHORT))
; SOURCE LINE # 257
MOV A,options?242
JB ACC.0,$ + 6H
LJMP ?_hvCalibration?vcalib
; goto vcalib;
; SOURCE LINE # 258
?C0026:
;
; #if (DEBUGMSG>=2)
; printf("H Calib, ");
; #endif
;
;
; if (hStart < HCALSTART) {
; SOURCE LINE # 265
MOV R0,#ival1
MOV A,@R0
MOV R6,A
INC R0
MOV A,@R0
MOV R7,A
CLR C
SUBB A,#014H
MOV A,R6
SUBB A,#00H
JC ?_hvCalibration?hvcal_fail
; #if DEBUGMSG
; printf(" Error: hStart < HCALSTART ");
; #endif
; goto hvcal_fail;
; SOURCE LINE # 269
; }
; SOURCE LINE # 270
?C0028:
;
; if (hWidth < CurrentWidth - HLIMIT) {
; SOURCE LINE # 272
MOV A,CurrentWidth+01H
ADD A,#0CEH
MOV R5,A
MOV A,CurrentWidth
ADDC A,#0FFH
MOV R4,A
CLR C
MOV R0,#ival2+01H
MOV A,@R0
SUBB A,R5
DEC R0
MOV A,@R0
SUBB A,R4
JC ?_hvCalibration?hvcal_fail
; #if DEBUGMSG
; printf(" Error:hWidth out of HLIMIT");
; #endif
; goto hvcal_fail;
; SOURCE LINE # 276
; }
; SOURCE LINE # 277
?C0029:
;
;
; if (hStart <= MIN_hstart && hStart>=MAX_hstart ) {
; SOURCE LINE # 280
SETB C
MOV A,R7
SUBB A,#01H
MOV A,R6
SUBB A,#00H
JNC ?C0030
CLR C
MOV R0,#ival1+01H
MOV A,@R0
SUBB A,#05EH
DEC R0
MOV A,@R0
SUBB A,#01H
JC ?C0030
; #if DEBUGMSG
; printf(" Error:hStart out of range ");
; #endif
;
; hvcal_fail:
; SOURCE LINE # 285
?_hvCalibration?hvcal_fail:
; CalibSuccess = 0;
; SOURCE LINE # 286
CLR CalibSuccess
; RegByteOut(0x34, (unsigned char)eepModeData.setData.hstart);
; SOURCE LINE # 287
MOV R7,#034H
MOV R0,#eepModeData+02H
MOV A,@R0
MOV R5,A
LCALL _RegByteOut
; RegByteOut(0x35, (unsigned char)(eepModeData.setData.hstart>>8));
; SOURCE LINE # 288
MOV R0,#eepModeData+01H
MOV A,@R0
MOV R5,A
MOV R7,#035H
LCALL _RegByteOut
; RegByteOut(0x36, eepModeData.setData.vstart);
; SOURCE LINE # 289
MOV R7,#036H
MOV R0,#eepModeData+03H
MOV A,@R0
MOV R5,A
LCALL _RegByteOut
; RegByteOut(0x37, 0);
; SOURCE LINE # 290
MOV R7,#037H
CLR A
MOV R5,A
LCALL _RegByteOut
; RegByteOut(0xB0, 0x00);
; SOURCE LINE # 291
MOV R7,#0B0H
CLR A
MOV R5,A
LCALL _RegByteOut
RET
; return;
; }
; SOURCE LINE # 293
?C0030:
;
; eepModeData.setData.hstart = hStart;
; SOURCE LINE # 295
MOV R0,#ival1
MOV A,@R0
MOV R6,A
INC R0
MOV A,@R0
MOV R7,A
MOV R0,#eepModeData+01H
MOV A,R6
MOV @R0,A
INC R0
MOV A,R7
MOV @R0,A
; eepModeData.setData.def_hstart = hStart;
; SOURCE LINE # 296
MOV R0,#eepModeData+08H
MOV A,R6
MOV @R0,A
INC R0
MOV A,R7
MOV @R0,A
; RegByteOut(0x34, (unsigned char)eepModeData.setData.hstart);
; SOURCE LINE # 297
MOV R7,#034H
MOV R0,#eepModeData+02H
MOV A,@R0
MOV R5,A
LCALL _RegByteOut
; RegByteOut(0x35, (unsigned char)(eepModeData.setData.hstart>>8));
; SOURCE LINE # 298
MOV R0,#eepModeData+01H
MOV A,@R0
MOV R5,A
MOV R7,#035H
LCALL _RegByteOut
;
; #if (DEBUGMSG>=2)
; printf("HS=%d HW=%d", eepModeData.setData.hstart, hWidth);
; #endif
;
;
; // Vertical calibration
; vcalib:
; SOURCE LINE # 306
?_hvCalibration?vcalib:
; if (!(options & OPTIONVERT))
; SOURCE LINE # 307
MOV A,options?242
JNB ACC.1,?_hvCalibration?hvcal_fail
; goto hvcal_fail;
; SOURCE LINE # 308
?C0032:
;
; #if (DEBUGMSG>=2)
; printf(" V Calib, ");
; #endif
;
;
; if (vStart < VCALSTART) {
; SOURCE LINE # 315
CLR C
MOV A,vStart?243+01H
SUBB A,#03H
MOV A,vStart?243
SUBB A,#00H
JC ?_hvCalibration?hvcal_fail
; #if DEBUGMSG
; printf(" Error: vStart < VCALSTART ");
; #endif
; goto hvcal_fail;
; SOURCE LINE # 319
; }
; SOURCE LINE # 320
?C0033:
;
; #if (MASCOT_VZ+MASCOT_VXZ+MASCOT_VP2)
; if ( vHeight < CurrentHeight - VLIMIT) {
; SOURCE LINE # 323
MOV A,CurrentHeight+01H
ADD A,#0D8H
MOV R7,A
MOV A,CurrentHeight
ADDC A,#0FFH
MOV R6,A
CLR C
MOV A,vHeight?244+01H
SUBB A,R7
MOV A,vHeight?244
SUBB A,R6
JC ?_hvCalibration?hvcal_fail
; #if DEBUGMSG
; printf(" Error:vHeight out of VLIMIT");
; #endif
; goto hvcal_fail;
; SOURCE LINE # 327
; }
; SOURCE LINE # 328
?C0034:
; #endif
;
; if (vStart <= MIN_vstart && vStart>=MAX_vstart ) {
; SOURCE LINE # 331
SETB C
MOV A,vStart?243+01H
SUBB A,#02H
MOV A,vStart?243
SUBB A,#00H
JNC ?C0035
CLR C
MOV A,vStart?243+01H
SUBB A,#0FCH
MOV A,vStart?243
SUBB A,#00H
JC $ + 5H
LJMP ?_hvCalibration?hvcal_fail
; #if DEBUGMSG
; printf(" Error:vStart out of range ");
; #endif
;
; goto hvcal_fail;
; SOURCE LINE # 336
; }
; SOURCE LINE # 337
?C0035:
;
;
; #if MASCOT2_R3
; if (RegByteIn(0x24) & 0x02) vStart -= 1; //USE_MINIFY
; SOURCE LINE # 341
MOV R7,#024H
LCALL _RegByteIn
MOV A,R7
JNB ACC.1,?C0036
MOV A,vStart?243+01H
DEC vStart?243+01H
JNZ ?C0172
DEC vStart?243
?C0172:
?C0036:
; #endif
;
; #if (!(CPT_CLAA150XA03+CHIMEI_M141X101+SAMSUNG_151+SHARP_15+CPT_S15+HANNSTAR_S15+ACER_17_E5))
; if ((CurrentMode == 0x00)||(CurrentMode == 0x1a)||(CurrentMode == 0x80)||(CurrentMode == 0x9a)) //2002/03/29 mask
; vStart -= 24; //640x350 //2002/03/29 mask
; #endif
;
; eepModeData.setData.vstart = vStart;
; SOURCE LINE # 349
MOV R7,vStart?243+01H
MOV R0,#eepModeData+03H
MOV A,R7
MOV @R0,A
; eepModeData.setData.def_vstart = vStart;
; SOURCE LINE # 350
MOV R0,#eepModeData+0AH
MOV @R0,A
; RegByteOut(0x36, eepModeData.setData.vstart);
; SOURCE LINE # 351
MOV R7,#036H
MOV R0,#eepModeData+03H
MOV A,@R0
MOV R5,A
LCALL _RegByteOut
; RegByteOut(0x37, 0);
; SOURCE LINE # 352
MOV R7,#037H
CLR A
MOV R5,A
LCALL _RegByteOut
;
; #if (DEBUGMSG>=2)
; printf(" VS=%d\n\n", (unsigned int)eepModeData.setData.vstart);
; #endif
;
; /* Disable vertical calibration */
; RegByteOut(0xB0, 0x00);
; SOURCE LINE # 359
MOV R7,#0B0H
CLR A
MOV R5,A
LCALL _RegByteOut
; }
; SOURCE LINE # 360
?C0031:
RET
; END OF _hvCalibration
; #undef hStart
; #undef hWidth
;
;
; /************************************************
; * Pitch Calibration *
; *************************************************/
; #define hStart ival1
; #define hWidth ival2
;
; #define adjust_limit buff[12]
;
;
; #define CHANGE 1
; #define NOCHANGE 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -