modehandle.lst

来自「台湾联咏NT68663 LCD MONITOR 控制程序(完整版)」· LST 代码 · 共 1,054 行 · 第 1/3 页

LST
1,054
字号
C51 COMPILER V6.12  MODEHANDLE                                                             03/05/2008 14:34:53 PAGE 12  

 674   3      			{
 675   4      				temp = ReadIIC563(0x19a);
 676   4      				if(temp & BIT_5)
 677   4      				{
 678   5      					SetInterface();
 679   5      					ExitLoop = 1;
 680   5      					FuncBuf[pVIDEOSOURCE] = 2;
 681   5      					#if PRINT_MESSAGE
              					printf("Separate Sync\n");
              					#endif
 684   5      				}
 685   4      			}
 686   3      			if(SyncMode == 6 && !BypassSOG)
 687   3      			{
 688   4      				SetInterface();
 689   4      				ExitLoop = 1;
 690   4      				FuncBuf[pVIDEOSOURCE] = 2;
 691   4      				#if PRINT_MESSAGE
              					printf("Sync on green\n");
              				#endif
 694   4      			}
 695   3      /*
 696   3      			if(PowerTimer < (POWER_TIME))	//search video after 3 seconds
 697   3      				{
 698   3      				if(SyncMode == 7)	//Video search
 699   3      					{
 700   3      					FuncBuf[pVIDEOSOURCE] = 3;
 701   3      					if(CheckAVExist())
 702   3      						{
 703   3      						SyncMode = 0;
 704   3      						SetSource();
 705   3      						if(BurnInMode)
 706   3      							{
 707   3      							BurnInMode = 0;
 708   3      							Write24C16(ep_Status,StatusFlag);
 709   3      							}
 710   3      						ExitLoop = 1;
 711   3      						}
 712   3      					}
 713   3      				if(SyncMode == 8)	//S-Video search
 714   3      					{
 715   3      					FuncBuf[pVIDEOSOURCE] = 4;
 716   3      					if(CheckAVExist())
 717   3      						{
 718   3      						SyncMode = 0;
 719   3      						SetSource();
 720   3      						if(BurnInMode)
 721   3      							{
 722   3      							BurnInMode = 0;
 723   3      							Write24C16(ep_Status,StatusFlag);
 724   3      							}
 725   3      						ExitLoop = 1;
 726   3      						}
 727   3      					}
 728   3      				}
 729   3      */
 730   3      			}
 731   2      	ChangeMode = 1;
 732   2      	}
 733   1      }
 734          
 735          void NoSync(void)
C51 COMPILER V6.12  MODEHANDLE                                                             03/05/2008 14:34:53 PAGE 13  

 736          {
 737   1      	if(!VideoMute)
 738   1      	{
 739   2      		VideoMute =1;
 740   2      		MessageShow = 0;
 741   2      		//FastMuteOn();
 742   2      		BackLightOff();
 743   2      		ForceToBackground(0,0,0);	//Set fource to background
 744   2      		Osd_Off();
 745   2      		PowerTimer = POWER_TIME;
 746   2      		#if PRINT_MESSAGE
              			printf("NoSync\n");
              		#endif
 749   2      	}
 750   1      	else
 751   1      	{
 752   2      		if((PowerTimer < (POWER_TIME-200))&&(PowerTimer > 0)&&(!MessageShow))
 753   2      		{
 754   3      			MessageShow = 1;
 755   3      			if(!FactMode)
 756   3      				ShowMessage(MSG_NOSYNC);
 757   3      			OsdTimer = PowerTimer;
 758   3      			if((PTC_REG & BIT_0) == 0)
 759   3      			{
 760   4      				Sleep(PowerUpInvTiming);
 761   4      				//FastMuteOff();
 762   4      				BackLightOn();
 763   4      			}
 764   3      		}
 765   2      	}
 766   1      }
 767          
 768          void PowerSaveingProcess()
 769          {
 770   1      	if(NoSyncFlag && PowerTimer == 0 && !PowerDown && !BurnInMode)
 771   1      	{
 772   2      		if(!FactMode)
 773   2      			PowerSaving();
 774   2      		if(FactMode){
 775   3      			BurnInMode = 1;
 776   3      			BurnInTimer = 0;
 777   3      			Osd_Off();
 778   3      		}
 779   2      		else{	//jacky0316 Item41 BurnInMode
 780   3      			LED_GrnOff();
 781   3      			LED_RedOn();
 782   3      		}
 783   2      	}
 784   1      }
 785          
 786          void SourceSelect(void)
 787          {
 788   1      	switch(FuncBuf[pVIDEOSOURCE])
 789   1      		{
 790   2      		case 0x00:
 791   2      		case 0x01:
 792   2      		case 0x02:
 793   2      			//SAA7114Off();
 794   2      			ForceToBackground(0,0,0);
 795   2      			H_SYNC_Temp = 0x5555;
 796   2      			V_SYNC_Temp = 0x5555;
 797   2      			LoadModeIndependentSettings();
C51 COMPILER V6.12  MODEHANDLE                                                             03/05/2008 14:34:53 PAGE 14  

 798   2      			InitScaler();
 799   2      			SetBrightness();
 800   2      			SetContrast();
 801   2      			LoadADC_Gain();
 802   2      			ChangeMode = 1;
 803   2      			#if PRINT_MESSAGE
              				printf("Select PC Input\n");
              			#endif
 806   2      			break;
 807   2      /*		
 808   2      		case 0x03:
 809   2      			//PanelPowerOn();
 810   2      			//Sleep(PowerUpPanelTiming);
 811   2      			ScalerPowerUp();
 812   2      			Sleep(10);
 813   2      			SAA7114Init();
 814   2      			//#if PRINT_MESSAGE
 815   2      			//	printf("Select Video 1 Input\n");
 816   2      			//#endif
 817   2      			break;
 818   2      		case 0x04:
 819   2      			//PanelPowerOn();
 820   2      			//Sleep(PowerUpPanelTiming);
 821   2      			ScalerPowerUp();
 822   2      			Sleep(10);
 823   2      			SAA7114Init();
 824   2      			//#if PRINT_MESSAGE
 825   2      			//	printf("Select Video 2 Input\n");
 826   2      			//#endif
 827   2      			break;
 828   2      */
 829   2      		};
 830   1      }
 831          
 832          void CheckModeChange(void)
 833          {
 834   1      
 835   1      	unsigned char temp;
 836   1      	if(DetectIRQ() || ChangeMode>0){
 837   2      			temp = ReadIIC563(0x1ab);
 838   2      			if((temp & 0x3c) != 0){
 839   3      				BackLightOff();
 840   3      				Abort = 1;
 841   3      				H_SYNC_Temp = 0xffff;
 842   3      				V_SYNC_Temp = 0xffff;
 843   3      			#if PRINT_MESSAGE
              				printf("Mode change\r\n");
              			#endif
 846   3      			}
 847   2      			
 848   2      			temp = ReadIIC563(0x19a);
 849   2      			if(((SyncMode > 0)&&(SyncMode < 3))||((SyncMode > 4)&&(SyncMode < 7))){ 	//compostive
 850   3      				if((temp & BIT_5) == 0){
 851   4      					BackLightOff();
 852   4      					Abort = 1;
 853   4      					H_SYNC_Temp = 0xffff;
 854   4      					V_SYNC_Temp = 0xffff;
 855   4      					return;
 856   4      				}
 857   3      			}
 858   2      			else{
 859   3      				if((temp & 0x18) != 0x18){
C51 COMPILER V6.12  MODEHANDLE                                                             03/05/2008 14:34:53 PAGE 15  

 860   4      					BackLightOff();
 861   4      					Abort = 1;
 862   4      					H_SYNC_Temp = 0xffff;
 863   4      					V_SYNC_Temp = 0xffff;
 864   4      					return;
 865   4      				}
 866   3      			}
 867   2      	}
 868   1      }
 869          
 870          Byte SearchEstimatedModeTables(void)
 871          {
 872   1      	Byte Resolution;
 873   1      	if(VTotal < 320)//486)//485)//470 )	// 720x400 Mode : Vertical Line < 470
 874   1      	{
 875   2      		if(V_SYNC < 550) 
 876   2      			Resolution = _756x574i_50Hz;
 877   2      		else 
 878   2      			Resolution = _640x480i_60Hz;
 879   2      	}
 880   1      	else if(VTotal < 488)//486)//485)//470 )	// 720x400 Mode : Vertical Line < 470
 881   1      	{
 882   2      		if(V_SYNC < 740) 
 883   2      			Resolution = _720x400_70Hz;
 884   2      		else 
 885   2      			Resolution = _720x400_70Hz;
 886   2      	}
 887   1      	else if(VTotal < 580)	// 640x480 Mode : 481 <= Vertical Line < 580
 888   1      	{
 889   2      		if(V_SYNC < 640)
 890   2      			if(SyncMode == 6)
 891   2      				Resolution = _640x480P_60Hz;
 892   2      			else
 893   2      				Resolution = _640x480_60Hz;
 894   2      		else if (V_SYNC < 690)  
 895   2      			Resolution = _640x480_67Hz;
 896   2      		else if (V_SYNC < 740)  
 897   2      			Resolution = _640x480_73Hz;
 898   2      		else
 899   2      			Resolution = _640x480_75Hz;
 900   2      	}
 901   1      	else if(VTotal < 601 ) 
 902   1      	{
 903   2      		Resolution = _720x400_70Hz;
 904   2      	}
 905   1      	else if(VTotal < 612)//610)//608)//606)	//605 ) 
 906   1      	{
 907   2      		Resolution = _720x400_70Hz;
 908   2      	}
 909   1      	else if(VTotal < 660 )	// 800x600 Mode : 604 <= Vertical Line < 660
 910   1      	{
 911   2      		if(V_SYNC < 540)  // Add this line for 640x480@50Hz
 912   2      			Resolution = _640x480_50Hz;
 913   2      		else if(V_SYNC < 580)  
 914   2      			Resolution = _800x600_56Hz;
 915   2      		else if(V_SYNC < 660)  
 916   2      			Resolution = _800x600_60Hz;
 917   2      		else if(V_SYNC < 740)  
 918   2      			Resolution = _800x600_72Hz;
 919   2      		else
 920   2      			Resolution = _800x600_75Hz;
 921   2      	}
C51 COMPILER V6.12  MODEHANDLE                                                             03/05/2008 14:34:53 PAGE 16  

 922   1      	else if(VTotal < 732)//720 )	// 832x624(75Hz) Mode : 660 <= Vertical Line < 720
 923   1      	{
 924   2      		if(V_SYNC < 740)  
 925   2      			Resolution = _800x600_72Hz;
 926   2      		else 
 927   2      			Resolution = _832x624_75Hz;
 928   2      	}
 929   1      	else if(VTotal < 780)//778)//770 )	// 1280x720(60Hz) Mode : 720 <= Vertical Line < 770
 930   1      	{
 931   2      		if(V_SYNC < 740) 
 932   2      			Resolution = _1280x720_60Hz;
 933   2      		else 
 934   2      			Resolution = _1024x768_75Hz;
 935   2      	}
 936   1      	else if(VTotal < 800)	// 1280x768(60Hz) Mode : 780 <= Vertical Line < 800
 937   1      	{
 938   2      		if(V_SYNC < 650) 
 939   2      			Resolution = _1280x768_60Hz;
 940   2      		else 
 941   2      			Resolution = _1024x768_72Hz;
 942   2      	}
 943   1      	else if(VTotal < 881)//878)//876)//861)	// 1024x768 Mode : 770 <= Vertical Line < 861
 944   1      	{
 945   2      		if(V_SYNC < 650)  
 946   2      			Resolution = _1024x768_60Hz;
 947   2      		else if(V_SYNC < 730)  
 948   2      			Resolution = _1024x768_70Hz;
 949   2      		else if (V_SYNC < 800) 
 950   2      			if((H_SYNC > 634)&&(H_SYNC < 644))
 951   2      				Resolution = _640x480_75Hz;		//Apple G4 PC 
 952   2      			else
 953   2      		  		Resolution = _1024x768_75Hz;
 954   2      		else 
 955   2      			Resolution = _1024x768_75Hz;
 956   2      	}
 957   1      	else if(VTotal < 932)	// 1152x864/870 Mode : 861 <= Vertical Line < 961
 958   1      	{
 959   2      		if(V_SYNC < 650) 
 960   2      			if((VTotal > 899 && VTotal < 903)/*&&( H_SYNC & (SM_SyncHnVp))*/)
 961   2      				Resolution = _1152x864_60Hz;	//Apple G4 : 901(-/+)
 962   2      			else
 963   2      				Resolution = _1152x864_60Hz;	//ATI : 895, Voodoo4 : 905, G550 : 900(+/+)
 964   2      		else if(V_SYNC < 730)  
 965   2      			Resolution = _1152x864_70Hz;
 966   2      	  	else 
 967   2      			if((H_SYNC > 679)&&(H_SYNC < 697))
 968   2      				Resolution = _1152x870_75Hz;
 969   2      			else 
 970   2      	  			Resolution = _1152x864_75Hz;
 971   2      	}
 972   1      	else if(VTotal < 975)//961)	// 1152x864/870 Mode : 861 <= Vertical Line < 961
 973   1      	{
 974   2      		if(V_SYNC < 680)
 975   2      			Resolution = _1152x900_66Hz;
 976   2      		else
 977   2      			Resolution = _1152x864_70Hz;	//ATI Rage Fury Pro
 978   2      	}
 979   1      	else if(VTotal < 1040)//1036)//1025)	// 1280x960 Mode : 960 <= Vertical Line < 1024
 980   1      	{
 981   2      		if(V_SYNC < 650)	
 982   2      			Resolution = _1280x960_60Hz;
 983   2      		else 
C51 COMPILER V6.12  MODEHANDLE                                                             03/05/2008 14:34:53 PAGE 17  

 984   2      			Resolution = _1280x960_75Hz;
 985   2      	}
 986   1      	else// 1280x1024  Mode : 1040 <= Vertical Line < 1080
 987   1      	{
 988   2      		if(V_SYNC < 680)	
 989   2      			Resolution = _1280x1024_60Hz;
 990   2      		else if(V_SYNC < 720)	
 991   2      			Resolution = _1280x1024_70Hz;		
 992   2      		else 			
 993   2      			Resolution = _1280x1024_75Hz;
 994   2      	}
 995   1      	return Resolution;	
 996   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   3307    ----
   CONSTANT SIZE    =     72    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      26
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       4
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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