⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 osdtune.src

📁 采用台湾MRT晶捷公司的MRT4方案的液晶电视的程序
💻 SRC
📖 第 1 页 / 共 5 页
字号:
			; 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 + -