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

📄 osdtune.src

📁 采用台湾MRT晶捷公司的MRT4方案的液晶电视的程序
💻 SRC
📖 第 1 页 / 共 5 页
字号:
; 
; #if (MASCOT_VZ+MASCOT_VXZ+MASCOT_VP2)
; 	RegByteOut(0xB1, 0x80);		// use threshold 
			; SOURCE LINE # 594
	MOV  	R7,#0B1H
	MOV  	R5,#080H
	LCALL	_RegByteOut
; 	RegByteOut(0xB9, 0x30);		// threshold value
			; SOURCE LINE # 595
	MOV  	R7,#0B9H
	MOV  	R5,#030H
	LCALL	_RegByteOut
; #else
;     RegByteOut(0xB1, 0x00);
; #endif   
; 	RegByteOut(0xB2, COLORCMPMASK);     // Set color compare mask
			; SOURCE LINE # 599
	MOV  	R7,#0B2H
	MOV  	R5,#0C0H
	LCALL	_RegByteOut
; 
; 	
; redoPhaseHW:
			; SOURCE LINE # 602
?phaseHWCalibration?redoPhaseHW:
; 	phaseStart=0;phaseEnd=0;
			; SOURCE LINE # 603
	CLR  	A
	MOV  	R0,#buff+0CH
	MOV  	@R0,A
	INC  	R0
	MOV  	@R0,A
; 	phaseStart1=0;phaseEnd1=0;
			; SOURCE LINE # 604
	INC  	R0
	MOV  	@R0,A
	INC  	R0
	MOV  	@R0,A
; 	phaseStart2=0;phaseEnd2=0;
			; SOURCE LINE # 605
	INC  	R0
	MOV  	@R0,A
	INC  	R0
	MOV  	@R0,A
;     
; 	minhWidth=2048;
			; SOURCE LINE # 607
	MOV  	R0,#ival2
	MOV  	@R0,#08H
	INC  	R0
	MOV  	@R0,A
; 
; #if (DEBUGMSG>=2)
; 	printf(" \n\n ### PhaseHW Calib ");
; #endif
; 
; 	
; 
; 	for(phase = 0;phase < 32;phase++)
			; SOURCE LINE # 615
	MOV  	phase?453,A
?C0064:
; 	{
			; SOURCE LINE # 616
; 		checkPowerOffButton();		//in phaseHWcalib
			; SOURCE LINE # 617
	LCALL	checkPowerOffButton
; 		
; 		if (!(eepData.MascotFlag & FLAG_POWERSTATUS))
			; SOURCE LINE # 619
	MOV  	R0,#eepData+01BH
	MOV  	A,@R0
	JB   	ACC.0,$ + 6H
	LJMP 	?phaseHWCalibration?phaseHWcal_fail
; 			goto phaseHWcal_fail;
			; SOURCE LINE # 620
?C0067:
; 	
; 		miscSetADCPhase(phase);
			; SOURCE LINE # 622
	MOV  	R7,phase?453
	LCALL	_miscSetADCPhase
; #if (DEBUGMSG>=3)
; 		printf("\n phase=%d",(unsigned int)phase);
; #endif	
; 		/*
; 		RegByteOut(0xB0, 0x02);     // Enable vertical calibration
; 		RegByteOut(0x00, 0x00);     // Clear the calibration status reg
; 		
; 		if (!waitCalibReady(0x02))
; 			goto phaseHWcal_fail;
; 		*/
; 		
; 		RegByteOut(0xB0, 0x04);		// Enable horizontal calibration
			; SOURCE LINE # 634
	MOV  	R7,#0B0H
	MOV  	R5,#04H
	LCALL	_RegByteOut
; 		RegByteOut(0x00, 0x00);     // Clear the calibration status reg
			; SOURCE LINE # 635
	CLR  	A
	MOV  	R7,A
	MOV  	R5,A
	LCALL	_RegByteOut
; 		
; 		if (!waitCalibReady(0x04))
			; SOURCE LINE # 637
	MOV  	R7,#04H
	LCALL	_waitCalibReady
	MOV  	A,R7
	JNZ  	$ + 5H
	LJMP 	?phaseHWCalibration?phaseHWcal_fail
; 			goto phaseHWcal_fail;
			; SOURCE LINE # 638
?C0069:
; 
; 		RegDataIn(0xD3, buff, 5);
			; SOURCE LINE # 640
	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(0xF9, buff+5, 5);
			; SOURCE LINE # 641
	MOV  	R7,#0F9H
	MOV  	R3,#00H
	MOV  	R2,#HIGH (buff+05H)
	MOV  	R1,#LOW (buff+05H)
	MOV  	?_RegDataIn?BYTE+04H,#00H
	MOV  	?_RegDataIn?BYTE+05H,#05H
	LCALL	_RegDataIn
; 		hStart = (((unsigned int)buff[2]&0x07)<<8) + buff[0];
			; SOURCE LINE # 642
	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,#ival
	MOV  	@R0,A
	MOV  	R4,A
	INC  	R0
	MOV  	A,R7
	MOV  	@R0,A
	MOV  	R5,A
; 		hWidth = ((unsigned int)(buff[7]&0x70)<<4) + buff[6] - hStart + 1;
			; SOURCE LINE # 643
	MOV  	R0,#buff+07H
	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
	XCH  	A,R7
	ADDC 	A,#00H
	MOV  	R6,A
	MOV  	R0,#ival1
	MOV  	@R0,A
	INC  	R0
	MOV  	A,R7
	MOV  	@R0,A
; #if (DEBUGMSG>=3)	
; 		printf("   hStart = %d , hWidth = %d ",hStart,hWidth);
; #endif	
; 
; 		if (minhWidth > hWidth) 
			; SOURCE LINE # 648
	MOV  	R0,#ival2
	MOV  	A,@R0
	MOV  	R4,A
	INC  	R0
	MOV  	A,@R0
	MOV  	R5,A
	SETB 	C
	SUBB 	A,R7
	MOV  	A,R4
	SUBB 	A,R6
	JC   	?C0070
; 		{
			; SOURCE LINE # 649
; 			minhWidth = hWidth;
			; SOURCE LINE # 650
	MOV  	R0,#ival1
	MOV  	A,@R0
	INC  	R0
	MOV  	A,@R0
	MOV  	R0,#ival2
	MOV  	A,R6
	MOV  	@R0,A
	INC  	R0
	MOV  	A,R7
	MOV  	@R0,A
; 
; 			if(phaseEnd == 0)
			; SOURCE LINE # 652
	MOV  	R0,#buff+0DH
	MOV  	A,@R0
	MOV  	R7,A
	JNZ  	?C0071
; 			{
			; SOURCE LINE # 653
; 				phaseOkFlag = 1;
			; SOURCE LINE # 654
	SETB 	phaseOkFlag?450
; 				phaseStart = phase;
			; SOURCE LINE # 655
	DEC  	R0
	MOV  	@R0,phase?453
; #if (DEBUGMSG >= 3)
; 				printf("           phaseStart = %d",(unsigned int)phaseStart);
; #endif			
; 			}
			; SOURCE LINE # 659
	LJMP 	?C0066
?C0071:
; 			else if (!phaseOkFlag1 && (phaseEnd != 0 ))
			; SOURCE LINE # 660
	JB   	phaseOkFlag1?451,?C0073
	MOV  	A,R7
	JZ   	?C0073
; 			{
			; SOURCE LINE # 661
; 				phaseOkFlag1 = 1;
			; SOURCE LINE # 662
	SETB 	phaseOkFlag1?451
; 				phaseStart1 = phase;
			; SOURCE LINE # 663
	MOV  	R0,#buff+0EH
	MOV  	@R0,phase?453
; #if (DEBUGMSG >= 3)
; 				printf("           phaseStart1 = %d",(unsigned int)phaseStart1);
; #endif					
; 			}
			; SOURCE LINE # 667
	LJMP 	?C0066
?C0073:
; 			else if (!phaseOkFlag2 && (phaseEnd1 != 0 ))
			; SOURCE LINE # 668
	JNB  	phaseOkFlag2?452,$ + 6H
	LJMP 	?C0066
	MOV  	R0,#buff+0FH
	MOV  	A,@R0
	JZ   	?C0066
; 			{
			; SOURCE LINE # 669
; 				phaseOkFlag2 = 1;
			; SOURCE LINE # 670
	SETB 	phaseOkFlag2?452
; 				phaseStart2 = phase;
			; SOURCE LINE # 671
	INC  	R0
	MOV  	@R0,phase?453
; #if (DEBUGMSG >= 3)
; 				printf("           phaseStart2 = %d",(unsigned int)phaseStart2);
; #endif					
; 			}
			; SOURCE LINE # 675
; 		}
			; SOURCE LINE # 676
	SJMP 	?C0066
?C0070:
; 		else if(minhWidth < hWidth)
			; SOURCE LINE # 677
	MOV  	R0,#ival1
	MOV  	A,@R0
	MOV  	R6,A
	INC  	R0
	MOV  	A,@R0
	MOV  	R7,A
	CLR  	C
	MOV  	A,R5
	SUBB 	A,R7
	MOV  	A,R4
	SUBB 	A,R6
	JNC  	?C0066
; 		{
			; SOURCE LINE # 678
; 			minhWidth = hWidth;
			; SOURCE LINE # 679
	MOV  	R0,#ival2
	MOV  	A,R6
	MOV  	@R0,A
	INC  	R0
	MOV  	A,R7
	MOV  	@R0,A
; 		
; 			if(phaseOkFlag && (phaseEnd == 0))
			; SOURCE LINE # 681
	JNB  	phaseOkFlag?450,?C0078
	MOV  	R0,#buff+0DH
	MOV  	A,@R0
	JNZ  	?C0078
; 			{
			; SOURCE LINE # 682
; 				phaseEnd = phase-1;
			; SOURCE LINE # 683
	MOV  	A,phase?453
	DEC  	A
	MOV  	R7,A
	MOV  	@R0,A
; #if (DEBUGMSG >= 3)
; 				printf("           phaseEnd = %d",(unsigned int)phaseEnd);
; #endif					
; 				if(phaseEnd == phaseStart)
			; SOURCE LINE # 687
	DEC  	R0
	MOV  	A,@R0
	XRL  	A,R7
	JNZ  	?C0066
; 				{
			; SOURCE LINE # 688
; 					phaseOkFlag = 0;
			; SOURCE LINE # 689
	CLR  	phaseOkFlag?450
; 					phaseStart = phaseEnd = 0; 
			; SOURCE LINE # 690
	INC  	R0
	MOV  	@R0,A
	DEC  	R0
	MOV  	@R0,A
; 
; #if (DEBUGMSG >= 3)
; 					printf("\n           Reset phaseStart & phaseEnd  ");
; #endif
; 				}
			; SOURCE LINE # 695
; 			}
			; SOURCE LINE # 696
	SJMP 	?C0066
?C0078:
; 			else if (phaseOkFlag1 && (phaseStart1 != 0 ) && (phaseEnd1 == 0))
			; SOURCE LINE # 697
	JNB  	phaseOkFlag1?451,?C0081
	MOV  	R0,#buff+0EH
	MOV  	A,@R0
	JZ   	?C0081
	INC  	R0
	MOV  	A,@R0
	JNZ  	?C0081
; 			{
			; SOURCE LINE # 698
; 				phaseEnd1 = phase-1;
			; SOURCE LINE # 699
	MOV  	A,phase?453
	DEC  	A
	MOV  	R7,A
	MOV  	@R0,A
; #if (DEBUGMSG >= 3)
; 				printf("           phaseEnd1 = %d",(unsigned int)phaseEnd1);
; #endif		
; 				if(phaseEnd1 == phaseStart1)
			; SOURCE LINE # 703
	DEC  	R0
	MOV  	A,@R0
	XRL  	A,R7
	JNZ  	?C0066
; 				{
			; SOURCE LINE # 704
; 					phaseOkFlag1 = 0;
			; SOURCE LINE # 705
	CLR  	phaseOkFlag1?451
; 					phaseStart1 = phaseEnd1 = 0; 
			; SOURCE LINE # 706
	INC  	R0
	MOV  	@R0,A
	DEC  	R0
	MOV  	@R0,A
; 
; #if (DEBUGMSG >= 3)
; 					printf("\n           Reset phaseStart1 & phaseEnd1  ");
; #endif
; 				}
			; SOURCE LINE # 711
; 			}
			; SOURCE LINE # 712
	SJMP 	?C0066
?C0081:
; 			else if (phaseOkFlag2 && (phaseStart2 != 0 ) && (phaseEnd2 == 0))
			; SOURCE LINE # 713
	JNB  	phaseOkFlag2?452,?C0066
	MOV  	R0,#buff+010H
	MOV  	A,@R0
	JZ   	?C0066
	INC  	R0
	MOV  	A,@R0
	JNZ  	?C0066
; 			{
			; SOURCE LINE # 714
; 				phaseEnd2 = phase-1;
			; SOURCE LINE # 715
	MOV  	A,phase?453
	DEC  	A
	MOV  	R7,A
	MOV  	@R0,A
; #if (DEBUGMSG >= 3)
; 				printf("           phaseEnd2 = %d",(unsigned int)phaseEnd2);
; #endif	
; 				if(phaseEnd2 == phaseStart2)
			; SOURCE LINE # 719
	DEC  	R0
	MOV  	A,@R0
	XRL  	A,R7
	JNZ  	?C0066
; 				{
			; SOURCE LINE # 720
; 					phaseOkFlag2 = 0;
			; SOURCE LINE # 721
	CLR  	phaseOkFlag2?452
; 					phaseStart2 = phaseEnd2 = 0; 
			; SOURCE LINE # 722
	INC  	R0
	MOV  	@R0,A
	DEC  	R0
	MOV  	@R0,A
; #if (DEBUGMSG >= 3)
; 					printf("\n           Reset phaseStart2 & phaseEnd2  ");
; #endif
; 				}
			; SOURCE LINE # 726
; 			}
			; SOURCE LINE # 727
; 		}
			; SOURCE LINE # 728
; 	}
			; SOURCE LINE # 729
?C0066:
	INC  	phase?453
	MOV  	A,phase?453
	CLR  	C
	SUBB 	A,#020H
	JNC  	$ + 5H
	LJMP 	?C0064
?C0065:
; 	
;        	if (phaseOkFlag && (phaseEnd == 0))  phaseEnd = 31;
			; SOURCE LINE # 731
	JNB  	phaseOkFlag?450,?C0086
	MOV  	R0,#buff+0DH
	MOV  	A,@R0
	JNZ  	?C0086
	MOV  	@R0,#01FH
?C0086:
;         if (phaseOkFlag1 && (phaseEnd1 == 0))  phaseEnd1 = 31;
			; SOURCE LINE # 732
	JNB  	phaseOkFlag1?451,?C0087
	MOV  	R0,#buff+0FH
	MOV  	A,@R0
	JNZ  	?C0087
	MOV  	@R0,#01FH
?C0087:
;         if (phaseOkFlag2 && (phaseEnd2 == 0))  phaseEnd2 = 31;
			; SOURCE LINE # 733
	JNB  	phaseOkFlag2?452,?C0088
	MOV  	R0,#buff+011H
	MOV  	A,@R0
	JNZ  	?C0088
	MOV  	@R0,#01FH
?C0088:
;         
; 		
; 		if (phaseOkFlag & phaseOkFlag1 & phaseOkFlag2)	
			; SOURCE LINE # 736
	MOV  	C,phaseOkFlag1?451
	ANL  	C,phaseOkFlag?450
	ANL  	C,phaseOkFlag2?452
	JC   	$ + 5H
	LJMP 	?C0089
;         {
			; SOURCE LINE # 737
;            	if ((phaseStart == 0) && (phaseEnd2 == 31))
			; SOURCE LINE # 738
	MOV  	R0,#buff+0CH
	MOV  	A,@R0
	MOV  	R7,A
	JNZ  	?C0090
	MOV  	R0,#buff+011H
	MOV  	A,@R0
	MOV  	R6,A
	XRL  	A,#01FH
	JNZ  	?C0090
;            	{
			; SOURCE LINE # 739
;            		if((phaseEnd-phaseStart+phaseEnd2-phaseStart2) >= (phaseEnd1-phaseStart1))
			; SOURCE LINE # 740
	CLR  	C
	MOV  	R0,#buff+0DH
	MOV  	A,@R0
	SUBB 	A,R7
	ADD  	A,R6
	CLR  	C
	MOV  	R0,#buff+010H
	SUBB 	A,@R0
	MOV  	R6,A
	CLR  	C
	MOV  	R1,#buff+0FH
	MOV  	A,@R1
	MOV  	R0,#buff+0EH
	SUBB 	A,@R0
	MOV  	R5,A
	MOV  	A,R6
	CLR  	C
	SUBB 	A,R5
	JC   	?C0091
;            		{
			; SOURCE LINE # 741
;             		phase = ((phaseStart2+phaseEnd)/2+16)& 0x1f;
			; SOURCE LINE # 742
	DEC  	R0
	MOV  	A,@R0
	MOV  	R6,A
	MOV  	R0,#buff+010H
	MOV  	A,@R0
	MOV  	R5,A
	ADD  	A,R6
	MOV  	R4,A
	CLR  	C
	RRC  	A
	ADD  	A,#010H
	ANL  	A,#01FH
	MOV  	phase?453,A
;             		phaseHwStart = phaseStart2;
			; SOURCE LINE # 743
	MOV  	phaseHwStart,R5
;             		phaseHwEnd = phaseEnd;
			; SOURCE LINE # 744
	MOV  	phaseHwEnd,R6
;             	}
			; SOURCE LINE # 745
	LJMP 	?C0100
?C0091:
;             	else
;             	{
			; SOURCE LINE # 747
;             		phase = (phaseEnd1 + phaseStart1)/2;	
			; SOURCE LINE # 748
	MOV  	R0,#buff+0EH
	MOV  	A,@R0
	MOV  	R6,A
	INC  	R0
	MOV  	A,@R0
	MOV  	R5,A
	ADD  	A,R6
	MOV  	R4,A
	CLR  	C
	RRC  	A
	MOV  	phase?453,A
;             		phaseHwStart = phaseStart1;
			; SOURCE LINE # 749
	MOV  	phaseHwStart,R6
;             		phaseHwEnd = phaseEnd1;	
			; SOURCE LINE # 750
	MOV  	phaseHwEnd,R5
;             	}
			; SOURCE LINE # 751
;             }	
			; SOURCE LINE # 752
	LJMP 	?C0100
?C0090:
;             else if((phaseEnd-phaseStart) >= (phaseEnd1-phaseStart1))
			; SOURCE LINE # 753
	MOV  	R0,#buff+0EH
	MOV  	A,@R0
	MOV  	R6,A
	INC  	R0
	MOV  	A,@R0
	CLR  	C
	SUBB 	A,R6
	MOV  	R6,A
	CLR  	C
	MOV  	R0,#buff+0DH
	MOV  	A,@R0
	SUBB 	A,R7
	MOV  	R7,A
	CLR  	C
	SUBB 	A,R6
	JC   	?C0094
;             {
			; SOURCE LINE # 754
;             	if((phaseEnd-phaseStart) >= (phaseEnd2-phaseStart2))
			; SOURCE LINE # 755
	CLR  	C
	MOV  	R1,#buff+011H
	MOV  	A,@R1
	MOV  	R0,#buff+010H
	SUBB 	A,@R0
	MOV  	R5,A
	MOV  	A,R7
	CLR  	C
	SUBB 	A,R5
	JC   	?C0095
;             	{
			; SOURCE LINE # 756
;                 	phase = (phaseEnd + phaseStart)/2;
			; SOURCE LINE # 757
	MOV  	R0,#buff+0CH
	MOV  	A,@R0

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -