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

📄 osdtune.src

📁 采用台湾MRT晶捷公司的MRT4方案的液晶电视的程序
💻 SRC
📖 第 1 页 / 共 5 页
字号:
	MOV  	R7,A
	INC  	R0
	MOV  	A,@R0
	MOV  	R5,A
	ADD  	A,R7
	MOV  	R4,A
	CLR  	C
	RRC  	A
	MOV  	phase?453,A
;             		phaseHwStart = phaseStart;
			; SOURCE LINE # 758
	MOV  	phaseHwStart,R7
;             		phaseHwEnd = phaseEnd;	                	
			; SOURCE LINE # 759
	MOV  	phaseHwEnd,R5
;                 }
			; SOURCE LINE # 760
	LJMP 	?C0100
?C0095:
;                 else
;                 {
			; SOURCE LINE # 762
;                 	phase = (phaseEnd2 + phaseStart2)/2;
			; SOURCE LINE # 763
	MOV  	R0,#buff+010H
	MOV  	A,@R0
	MOV  	R7,A
	INC  	R0
	MOV  	A,@R0
	MOV  	R5,A
	ADD  	A,R7
	MOV  	R4,A
	CLR  	C
	RRC  	A
	MOV  	phase?453,A
;             		phaseHwStart = phaseStart2;
			; SOURCE LINE # 764
	MOV  	phaseHwStart,R7
;             		phaseHwEnd = phaseEnd2;	                	
			; SOURCE LINE # 765
	MOV  	phaseHwEnd,R5
;                 }
			; SOURCE LINE # 766
;             }    
			; SOURCE LINE # 767
	LJMP 	?C0100
?C0094:
;             else
;             {
			; SOURCE LINE # 769
;             	if((phaseEnd1-phaseStart1) >= (phaseEnd2-phaseStart2))
			; SOURCE LINE # 770
	CLR  	C
	MOV  	R1,#buff+011H
	MOV  	A,@R1
	MOV  	R0,#buff+010H
	SUBB 	A,@R0
	MOV  	R7,A
	MOV  	A,R6
	CLR  	C
	SUBB 	A,R7
	JC   	?C0098
;             	{
			; SOURCE LINE # 771
;                 	phase = (phaseEnd1 + phaseStart1)/2;
			; SOURCE LINE # 772
	MOV  	R0,#buff+0EH
	MOV  	A,@R0
	MOV  	R7,A
	INC  	R0
	MOV  	A,@R0
	MOV  	R6,A
	ADD  	A,R7
	MOV  	R5,A
	CLR  	C
	RRC  	A
	MOV  	phase?453,A
;             		phaseHwStart = phaseStart1;
			; SOURCE LINE # 773
	MOV  	phaseHwStart,R7
;             		phaseHwEnd = phaseEnd1;	                	
			; SOURCE LINE # 774
	MOV  	phaseHwEnd,R6
;                 }
			; SOURCE LINE # 775
	LJMP 	?C0100
?C0098:
;                 else
;                 {
			; SOURCE LINE # 777
;                 	phase = (phaseEnd2 + phaseStart2)/2;     
			; SOURCE LINE # 778
	MOV  	R0,#buff+010H
	MOV  	A,@R0
	MOV  	R7,A
	INC  	R0
	MOV  	A,@R0
	MOV  	R6,A
	ADD  	A,R7
	MOV  	R5,A
	CLR  	C
	RRC  	A
	MOV  	phase?453,A
;             		phaseHwStart = phaseStart2;
			; SOURCE LINE # 779
	MOV  	phaseHwStart,R7
;             		phaseHwEnd = phaseEnd2;	                	                         
			; SOURCE LINE # 780
	MOV  	phaseHwEnd,R6
;                 }
			; SOURCE LINE # 781
;             }    
			; SOURCE LINE # 782
; 
; #if (DEBUGMSG >= 3)
;             printf(" phaseOkFlag & phaseOkFlag1 & phaseOkFlag2  phaseVal   = %d\n",(unsigned int)phase);
; #endif                                         
;   
; 		}			                
			; SOURCE LINE # 788
	LJMP 	?C0100
?C0089:
; 	             
;         else if (phaseOkFlag & phaseOkFlag1)
			; SOURCE LINE # 790
	MOV  	C,phaseOkFlag1?451
	ANL  	C,phaseOkFlag?450
	JNC  	?C0101
;         {
			; SOURCE LINE # 791
; 		if ((phaseStart == 0) && (phaseEnd1 == 31))
			; SOURCE LINE # 792
	MOV  	R0,#buff+0CH
	MOV  	A,@R0
	MOV  	R7,A
	JNZ  	?C0102
	MOV  	R0,#buff+0FH
	MOV  	A,@R0
	CJNE 	A,#01FH,?C0102
;            	{
			; SOURCE LINE # 793
; 			phase = ((phaseStart1+phaseEnd)/2+16)& 0x1f;
			; SOURCE LINE # 794
	MOV  	R0,#buff+0DH
	MOV  	A,@R0
	MOV  	R6,A
	INC  	R0
	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 = phaseStart1;
			; SOURCE LINE # 795
	MOV  	phaseHwStart,R5
; 			phaseHwEnd = phaseEnd;
			; SOURCE LINE # 796
	MOV  	phaseHwEnd,R6
; 		}
			; SOURCE LINE # 797
	SJMP 	?C0100
?C0102:
; 		else if((phaseEnd-phaseStart) >= (phaseEnd1-phaseStart1))
			; SOURCE LINE # 798
	CLR  	C
	MOV  	R1,#buff+0FH
	MOV  	A,@R1
	MOV  	R0,#buff+0EH
	SUBB 	A,@R0
	MOV  	R6,A
	CLR  	C
	DEC  	R0
	MOV  	A,@R0
	SUBB 	A,R7
	CLR  	C
	SUBB 	A,R6
	JC   	?C0104
; 		{
			; SOURCE LINE # 799
; 			phase = (phaseEnd + phaseStart)/2;
			; SOURCE LINE # 800
	DEC  	R0
	MOV  	A,@R0
	MOV  	R7,A
	INC  	R0
	MOV  	A,@R0
	MOV  	R6,A
	ADD  	A,R7
	MOV  	R5,A
	CLR  	C
	RRC  	A
	MOV  	phase?453,A
; 			phaseHwStart = phaseStart;
			; SOURCE LINE # 801
	MOV  	phaseHwStart,R7
; 			phaseHwEnd = phaseEnd;               
			; SOURCE LINE # 802
	MOV  	phaseHwEnd,R6
; 		}
			; SOURCE LINE # 803
	SJMP 	?C0100
?C0104:
; 		else
; 		{
			; SOURCE LINE # 805
; 			phase = (phaseEnd1 + phaseStart1)/2;                                 
			; SOURCE LINE # 806
	MOV  	R0,#buff+0EH
	MOV  	A,@R0
	MOV  	R7,A
	INC  	R0
	MOV  	A,@R0
	MOV  	R6,A
	ADD  	A,R7
	MOV  	R5,A
	CLR  	C
	RRC  	A
	MOV  	phase?453,A
; 			phaseHwStart = phaseStart1;
			; SOURCE LINE # 807
	MOV  	phaseHwStart,R7
; 			phaseHwEnd = phaseEnd1;         
			; SOURCE LINE # 808
	MOV  	phaseHwEnd,R6
; 		}
			; SOURCE LINE # 809
; #if (DEBUGMSG >= 3)
; 		printf("\n phaseOkFlag & phaseOkFlag1  ----------------> phaseVal   = %d",(unsigned int)phase);
; #endif                                         
; 	}
			; SOURCE LINE # 813
	SJMP 	?C0100
?C0101:
; 	else if(phaseOkFlag) 
			; SOURCE LINE # 814
	JNB  	phaseOkFlag?450,?C0107
;     {
			; SOURCE LINE # 815
;     	if ((phaseStart == 0) && (phaseEnd == 31))
			; SOURCE LINE # 816
	MOV  	R0,#buff+0CH
	MOV  	A,@R0
	JNZ  	?C0108
	INC  	R0
	MOV  	A,@R0
	CJNE 	A,#01FH,?C0108
;     	{
			; SOURCE LINE # 817
; 
; #if (MASCOT_VZ+MASCOT_VXZ+MASCOT_VP2)
; 			RegByteOut(0xB9,(RegByteIn(0xB9)+0x10));
			; SOURCE LINE # 820
	MOV  	R7,#0B9H
	LCALL	_RegByteIn
	MOV  	A,R7
	ADD  	A,#010H
	MOV  	R5,A
	MOV  	R7,#0B9H
	LCALL	_RegByteOut
; #else
;     		RegByteOut(0xB2,(RegByteIn(0xB2)-0x10));
; #endif   
;     		
;    		
; #if (DEBUGMSG >= 3)
; 			printf("\n Fail checkphase!!!  ----------------> redo phaseHW calibration ");
; #endif    		
;     		goto redoPhaseHW;
			; SOURCE LINE # 829
	LJMP 	?phaseHWCalibration?redoPhaseHW
;     	}
			; SOURCE LINE # 830
?C0108:
;     
; 		phase = (phaseStart+phaseEnd)/2;
			; SOURCE LINE # 832
	MOV  	R0,#buff+0DH
	MOV  	A,@R0
	MOV  	R7,A
	DEC  	R0
	MOV  	A,@R0
	MOV  	R6,A
	ADD  	A,R7
	MOV  	R5,A
	CLR  	C
	RRC  	A
	MOV  	phase?453,A
; 		phaseHwStart = phaseStart;
			; SOURCE LINE # 833
	MOV  	phaseHwStart,R6
; 		phaseHwEnd = phaseEnd;            
			; SOURCE LINE # 834
	MOV  	phaseHwEnd,R7
; #if (DEBUGMSG >= 3)
; 		printf("\n phaseOkFlag       ----------------> phaseVal   = %d",(unsigned int)phase);
; #endif                
; 	}
			; SOURCE LINE # 838
	SJMP 	?C0100
?C0107:
; 	else
; 	{
			; SOURCE LINE # 840
; #if (MASCOT_VZ+MASCOT_VXZ)
; 			RegByteOut(0xB9,(RegByteIn(0xB9)+0x10));
			; SOURCE LINE # 842
	MOV  	R7,#0B9H
	LCALL	_RegByteIn
	MOV  	A,R7
	ADD  	A,#010H
	MOV  	R5,A
	MOV  	R7,#0B9H
	LCALL	_RegByteOut
; #else
;     		RegByteOut(0xB2,(RegByteIn(0xB2)-0x10));
; #endif   
;     		
;    		
; #if (DEBUGMSG >= 3)
; 			printf("\n phaseOkFlag = 0  Fail checkphase!!!  ----------------> redo phaseHW calibration ");
; #endif    		
;     		goto redoPhaseHW;	
			; SOURCE LINE # 851
	LJMP 	?phaseHWCalibration?redoPhaseHW
; 	
; 	}			
			; SOURCE LINE # 853
?C0100:
; 
; 	phase &= 0x1f;
			; SOURCE LINE # 855
	ANL  	phase?453,#01FH
; 	
; 	eepModeData.setData.def_phase = eepModeData.setData.phase = phase;
			; SOURCE LINE # 857
	MOV  	R7,phase?453
	MOV  	R0,#eepModeData+06H
	MOV  	A,R7
	MOV  	@R0,A
	MOV  	R0,#eepModeData+0DH
	MOV  	@R0,A
; 	goto phaseHWcal_ret;
			; SOURCE LINE # 858
	SJMP 	?phaseHWCalibration?phaseHWcal_ret
; 
; phaseHWcal_fail:
			; SOURCE LINE # 860
?phaseHWCalibration?phaseHWcal_fail:
; 	CalibSuccess = 0;
			; SOURCE LINE # 861
	CLR  	CalibSuccess
; 	eepModeData.setData.phase = eepModeData.setData.def_phase;
			; SOURCE LINE # 862
	MOV  	R0,#eepModeData+0DH
	MOV  	A,@R0
	MOV  	R0,#eepModeData+06H
	MOV  	@R0,A
; 
; phaseHWcal_ret:
			; SOURCE LINE # 864
?phaseHWCalibration?phaseHWcal_ret:
; #if (DEBUGMSG >= 3)
; 		printf("\n  phaseHwStart= %d, phaseHwEnd= %d,\n\n",(unsigned int)phaseHwStart,(unsigned int)phaseHwEnd );
; #endif
; 
; 	RegByteOut(0xB0, 0x00);     // Disable calibration
			; SOURCE LINE # 869
	MOV  	R7,#0B0H
	CLR  	A
	MOV  	R5,A
	LCALL	_RegByteOut
; 	miscSetADCPhase(eepModeData.setData.phase);
			; SOURCE LINE # 870
	MOV  	R0,#eepModeData+06H
	MOV  	A,@R0
	MOV  	R7,A
	LCALL	_miscSetADCPhase
; 
; }
			; SOURCE LINE # 872
?C0062:
	RET  	
; END OF phaseHWCalibration

; 
; 
; 
; #undef hStart         
; #undef hWidth         
; #undef minhWidth
; 
; #undef phaseStart		
; #undef phaseEnd		
; #undef phaseStart1		
; #undef phaseEnd1		
; #undef phaseStart2		
; #undef phaseEnd2		
; 
; 
; 
; 
; 
; 
; #if (MASCOT_VZ+MASCOT_VXZ+MASCOT_VP2) 
; 
; #define phaseVal	buff[11]
; #define phaseRet	buff[12]
; #define temp 		buff[13]
; 
; /************************************************
; *   Check for phase                             *
; *************************************************/
; void phaseCalibration(unsigned char control)

	RSEG  ?PR?_phaseCalibration?OSDTUNE
	USING	0
_phaseCalibration:
	MOV  	control?554,R7
			; SOURCE LINE # 901
; {
			; SOURCE LINE # 902
; 	unsigned long ErrorVal,MinErrorVal;
; 
; 
; #if (DEBUGMSG>=2)
; 	printf(" \n ### Phase Calib\n");
; #endif
; 
; 	MinErrorVal = 0x00000000;
			; SOURCE LINE # 910
	MOV  	MinErrorVal?556+03H,#00H
	MOV  	MinErrorVal?556+02H,#00H
	MOV  	MinErrorVal?556+01H,#00H
	MOV  	MinErrorVal?556,#00H
; 
; #if USE_PHASE_LIMIT
; 	phaseRet = phaseVal = phaseHwStart; 
			; SOURCE LINE # 913
	MOV  	R7,phaseHwStart
	MOV  	R0,#buff+0BH
	MOV  	A,R7
	MOV  	@R0,A
	INC  	R0
	MOV  	@R0,A
; #else
; 	phaseRet = phaseVal = eepModeData.setData.phase; 
; #endif
; 	if ( !CalibSuccess) return;
			; SOURCE LINE # 917
	JB   	CalibSuccess,$ + 6H
	LJMP 	?C0112
?C0111:
; 
; 
; 	miscSetADCPhase(phaseRet);
			; SOURCE LINE # 920
	MOV  	R0,#buff+0CH
	MOV  	A,@R0
	MOV  	R7,A
	LCALL	_miscSetADCPhase
; 	RegByteOut(0xB1, 0x00);  
			; SOURCE LINE # 921
	MOV  	R7,#0B1H
	CLR  	A
	MOV  	R5,A
	LCALL	_RegByteOut
;     RegByteOut(0xB0, 0x00);
			; SOURCE LINE # 922
	MOV  	R7,#0B0H
	CLR  	A
	MOV  	R5,A
	LCALL	_RegByteOut
; 	RegByteOut(0x00, 0x00);
			; SOURCE LINE # 923
	CLR  	A
	MOV  	R7,A
	MOV  	R5,A
	LCALL	_RegByteOut
; 
; #if (DEBUGMSG >= 2)
; 	printf("PHASE=%d: \n",(unsigned int)phaseRet);
; #endif
;     	RegByteOut(0xB1, (control&0xF8)|0x40); //0XC0
			; SOURCE LINE # 928
	MOV  	R7,#0B1H
	MOV  	A,control?554
	ANL  	A,#0F8H
	ORL  	A,#040H
	MOV  	R5,A
	LCALL	_RegByteOut
;     	RegByteOut(0xB0, 0x08); // Enable phase calibration
			; SOURCE LINE # 929
	MOV  	R7,#0B0H
	MOV  	R5,#08H
	LCALL	_RegByteOut
;     	
; cp_chkphase:    	
			; SOURCE LINE # 931
?_phaseCalibration?cp_chkphase:
; 
; 	checkPowerOffButton();		//in phaseCalibration
			; SOURCE LINE # 933
	LCALL	checkPowerOffButton
; 	if (!(eepData.MascotFlag & FLAG_POWERSTATUS))
			; SOURCE LINE # 934
	MOV  	R0,#eepData+01BH
	MOV  	A,@R0
	JB   	ACC.0,$ + 6H
	LJMP 	?_phaseCalibration?pl_phaseerror
; 			goto pl_phaseerror;
			; SOURCE LINE # 935
?C0114:
; 
;     RegByteOut(0x00, 0x00);     // Clear the calibration status reg
			; SOURCE LINE # 937
	CLR  	A
	MOV  	R7,A
	MOV  	R5,A
	LCALL	_RegByteOut
;     	
; 	if ( waitCalibReady1(0x08) == 0)
			; SOURCE LINE # 939
	MOV  	R7,#08H
	LCALL	_waitCalibReady1
	MOV  	A,R7
	JNZ  	$ + 5H
	LJMP 	?_phaseCalibration?pl_phaseerror
; 	{
			; SOURCE LINE # 940
; 		goto pl_phaseerror;
			; SOURCE LINE # 941
; 	}
			; SOURCE LINE # 942
?C0116:
; 
; 	RegDataIn(0xE7, buff, 9);
			; SOURCE LINE # 944
	MOV  	R7,#0E7H
	MOV  	R3,#00H
	MOV  	R2,#HIGH (buff)
	MOV  	R1,#LOW (buff)
	MOV  	?_RegDataIn?BYTE+04H,#00H
	MOV  	?_RegDataIn?BYTE+05H,#09H
	LCALL	_RegDataIn
; 	
; 	ErrorVal = buff[0]+buff[3]+buff[6];
			; SOURCE LINE # 946
	MOV  	R0,#buff+03H
	MOV  	A,@R0
	MOV  	R7,A
	MOV  	R0,#buff
	MOV  	A,@R0
	ADD  	A,R7
	MOV  	R7,A
	CLR  	A
	RLC  	A
	MOV  	R6,A
	MOV  	R0,#buff+06H
	MOV  	A,@R0
	MOV  	R4,#00H
	ADD  	A,R7
	MOV  	R7,A
	MOV  	A,R4
	ADDC 	A,R6
	MOV  	R6,A
	CLR  	A
	MOV  	ErrorVal?555+03H,R7
	MOV  	ErrorVal?555+02H,R6
	MOV  	ErrorVal?555+01H,A
	MOV  	ErrorVal?555,A
; 	
; 	ErrorVal *= 0x100;
			; SOURCE LINE # 948
	MOV  	R5,ErrorVal?555+01H
	MOV  	R4,ErrorVal?555
	MOV  	R3,A
	MOV  	R2,#01H
	MOV  	R1,A
	MOV  	R0,A
	LCALL	?C?LMUL
	MOV  	ErrorVal?555+03H,R7
	MOV  	ErrorVal?555+02H,R6
	MOV  	ErrorVal?555+01H,R5
	MOV  	ErrorVal?555,R4
; 	ErrorVal = ErrorVal + buff[1] + buff[4] + buff[7];
			; SOURCE LINE # 949
	MOV  	R0,#buff+01H
	MOV  	A,@R0
	MOV  	R7,A
	CLR  	A
	MOV  	A,R7
	ADD  	A,ErrorVal?555+03H
	MOV  	R7,A
	CLR  	A
	ADDC 	A,ErrorVal?555+02H
	MOV  	R6,A
	CLR  	A
	ADDC 	A,ErrorVal?555+01H
	MOV  	R5,A
	CLR  	A
	ADDC 	A,ErrorVal?555
	MOV  	R4,A
	MOV  	A,R4
	PUSH 	ACC
	XCH  	A,R1
	MOV  	A,R5
	XCH  	A,R1
	XCH  	A,R2
	MOV  	A,R6
	XCH  	A,R2
	XCH  	A,R3
	MOV  	A,R7
	XCH  	A,R3

⌨️ 快捷键说明

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