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

📄 lcd_osd.lst

📁 Realtek 公司的RTD2523A芯片原厂source code,没有被修改过的。
💻 LST
📖 第 1 页 / 共 5 页
字号:
 596   2      				case 0x32:  RTDCodeW(Remark_V50_3); break;
 597   2      				case 0x03:  RTDCodeW(Remark_V50_5); break;
 598   2      			}
 599   2      			break;
C51 COMPILER V6.20c  LCD_OSD                                                               04/15/2004 12:59:12 PAGE 11  

 600   2      
 601   2      		case MODE_YUV60HZ:
 602   2      		case MODE_YUV50HZ:
 603   2      		break;
 604   2      */
 605   2      		default :
 606   2      			//OSD_Line(11, 2, 24, COLOR_BLUE, 0);     // Set characters to blue
 607   2      
 608   2      			{
 609   3      			unsigned int    usHwid;
 610   3      			unsigned char   ucTemp;
 611   3      
 612   3      			usHwid  = usIPH_ACT_WID;
 613   3      
 614   3      			if (SOURCE_VGA == (stGUD1.INPUT_SOURCE & 0x07))
 615   3      			{
 616   4      				if (MODE_1600x1200x60HZ == ucMode_Curr)
 617   4      				{
 618   5      					usHwid  = 1600;
 619   5      				}
 620   4      				else 
 621   4      				{
 622   5      					if (MODE_1600x1200x60HZ > ucMode_Curr)
 623   5      					{
 624   6      						if (MODE_1280x0960x60HZ <= ucMode_Curr)
 625   6      							usHwid  = 1280;
 626   6      						else if (MODE_1152x0864x75HZ <= ucMode_Curr)
 627   6      						usHwid  = 1152;
 628   6      					}
 629   5      					else
 630   5      					{
 631   6      						if (MODE_USER1600x1200 == ucMode_Curr)
 632   6      							usHwid  = 1600;
 633   6      						else if (MODE_USER1280x960 <= ucMode_Curr)
 634   6      							usHwid  = 1280;
 635   6      						else if (MODE_USER1152x864 <= ucMode_Curr)
 636   6      							usHwid  = 1152;
 637   6      					}
 638   5      				}
 639   4      			}
 640   3      
 641   3      			//RTDCodeW(Remark_Mode);
 642   3      
 643   3      			Data[0] = 12;
 644   3      			Data[1] = N_INC;
 645   3      			Data[2] = OSD_DATA_92;
 646   3      
 647   3      			ucTemp  = usHwid / 100;
 648   3      
 649   3      			if (10 <= ucTemp)
 650   3      			{
 651   4      				Data[3] = _1_;
 652   4      				Data[4] = ucTemp - 10 + _0_;
 653   4      			}
 654   3      			else
 655   3      			{
 656   4      				Data[3] = 0;
 657   4      				Data[4] = ucTemp + _0_;
 658   4      			}
 659   3      
 660   3      			ucTemp  = usHwid - ((unsigned int)100 * ucTemp);
 661   3              
C51 COMPILER V6.20c  LCD_OSD                                                               04/15/2004 12:59:12 PAGE 12  

 662   3      			Data[5] = ucTemp / 10;
 663   3      			
 664   3      			Data[6] = ucTemp - (10 * Data[5]) + _0_;
 665   3      			Data[5] = Data[5] + _0_;
 666   3      			Data[7] = 0x0e;
 667   3      
 668   3      			ucTemp      = usIPV_ACT_LEN / 100;
 669   3      			Data[12]    = usIPV_ACT_LEN - ((unsigned int)100 * ucTemp);
 670   3      
 671   3      			if (10 <= ucTemp)
 672   3      			{
 673   4      				Data[0]     = 13;
 674   4      				Data[8]     = _1_;
 675   4      				Data[9]     = ucTemp - 10 + _0_;
 676   4      				Data[10]    = Data[12] / 10;
 677   4      				Data[11]    = Data[12] - (10 * Data[10]) + _0_;
 678   4      				Data[10]    = Data[10] + _0_;
 679   4      				Data[12]    = 0x00;
 680   4      				Data[13]    = 0;
 681   4      			}
 682   3      			else
 683   3      			{
 684   4      				Data[8]     = ucTemp + _0_;
 685   4      				Data[9]     = Data[12] / 10;
 686   4      				Data[10]    = Data[12] - (10 * Data[9]) + _0_;
 687   4      				Data[9]     = Data[9] + _0_;
 688   4      				Data[11]    = 0x00;
 689   4      				Data[12]    = 0;
 690   4      			}
 691   3      
 692   3      			Data[12]    = 0;
 693   3      			RTDWrite(Data);
 694   3      
 695   3      			// Show Refresh Rate
 696   3      			//RTDCodeW(Remark_Rate);
 697   3      
 698   3      			Data[0] = 7;
 699   3      			Data[1] = N_INC;
 700   3      			Data[2] = OSD_DATA_92;
 701   3      			Data[3] = ucRefresh / 10;
 702   3      			Data[4] = ucRefresh - (Data[3] * 10) + _0_;
 703   3      			Data[3] = Data[3] + _0_;
 704   3      			Data[5] = 0x27;
 705   3      			Data[6] = 0x59;
 706   3      			Data[7] = 0;
 707   3      			RTDWrite(Data);
 708   3      			if (10 <= ucTemp)
 709   3      				OSD_Line( 3, 21, 1, 0x8c, 0);
 710   3      			else
 711   3      				OSD_Line( 3, 20, 1, 0x8c, 0);
 712   3      			}
 713   2      
 714   2      			break;
 715   2      			
 716   2      	}
 717   1      }   
 718          
 719          void Page0_Left_Right_Key(unsigned char Key)
 720          {
 721   1      	if(NOTIFY_RIGHT_KEY == Key)
 722   1      	{
 723   2      		if (SOURCE_VGA == (stGUD1.INPUT_SOURCE & 0x07) && MODE_NOSIGNAL != ucMode_Curr && MODE_NOSUPPORT != ucMo
C51 COMPILER V6.20c  LCD_OSD                                                               04/15/2004 12:59:12 PAGE 13  

             -de_Curr)
 724   2      		{
 725   3                  /*
 726   3      			if (MODE_0640x0350x70HZ <= ucMode_Curr && MODE_0720x0400x70HZ >= ucMode_Curr)
 727   3      			{
 728   3      				stMUD.CLOCK = 128;
 729   3      				Set_H_Position();
 730   3      				Set_Clock();
 731   3      				Save_MUD(ucMode_Curr);
 732   3      
 733   3      				if (ERROR_INPUT == Auto_Phase())
 734   3      					ucMode_Curr = MODE_OSDFORCE;
 735   3      				if (ERROR_INPUT == Auto_Position())     ucMode_Curr = MODE_OSDFORCE;
 736   3      			}
 737   3      			else
 738   3      			{
 739   3      				if (ERROR_INPUT == Auto_Config())   ucMode_Curr = MODE_OSDFORCE;
 740   3      				//if (ERROR_INPUT == Auto_Phase())   ucMode_Curr = MODE_OSDFORCE;
 741   3      			}
 742   3                  */
 743   3                  if (ERROR_INPUT == Auto_Config())   ucMode_Curr = MODE_OSDFORCE;
 744   3      
 745   3      		}
 746   2      	}
 747   1      }
 748          
 749          void Page0_Enter_Key(void)
 750          {
 751   1      	// Change to OSD Main Page 1 and Main Program will show it
 752   1      	ucOSD_Page_Index    = 1;
 753   1      	ucOSD_Item_Index0   = 0;
 754   1      	ucOSD_Item_Index1   = 0;
 755   1      	ucOSD_Item_Index2   = 0;
 756   1      }
 757          
 758          void Page0_LR_Key(void)
 759          {
 760   1      /*
 761   1      	// Go to Hidden Function Page
 762   1      	if (SOURCE_VGA == (stGUD1.INPUT_SOURCE & 0x07))
 763   1      	{
 764   1      		ucOSD_Page_Index    = 8;
 765   1      		ucOSD_Item_Index0   = 1;
 766   1      		ucOSD_Item_Index1   = 0;
 767   1      		ucOSD_Item_Index2   = 0;
 768   1      	}
 769   1      	*/
 770   1      }
 771          
 772          void Page1_Enter_Key(void)
 773          {
 774   1      	if (0 == ucOSD_Item_Index0)
 775   1      	{
 776   2      		if (MODE_NOSIGNAL != ucMode_Curr && MODE_NOSUPPORT != ucMode_Curr)
 777   2      		{
 778   3      			// Select and highlight the first item
 779   3      			ucOSD_Item_Index0   = PAGE1_ITEM_CONTRAST;
 780   3      			ucOSD_Item_Index1   = 0;
 781   3      
 782   3      			//Enable window 6 and draw it
 783   3      			OSD_Window( 6, 150, 282, 54, 84, 1, 1, 14, 251, 0, 1, 25);
 784   3      		}
C51 COMPILER V6.20c  LCD_OSD                                                               04/15/2004 12:59:12 PAGE 14  

 785   2      	}
 786   1      	else
 787   1      	{
 788   2      		if (ucOSD_Item_Index1)
 789   2      		{
 790   3      			// Leave the item and reset text color
 791   3      			switch (ucOSD_Item_Index0)
 792   3      			{
 793   4      				case PAGE1_ITEM_CONTRAST :
 794   4      					// Redraw slider and make the number become black.
 795   4      					OSD_Slider(5, 31, 17, stGUD0.CONTRAST, 100, 4, 14);
 796   4      					break;
 797   4      
 798   4      				case PAGE1_ITEM_BRIGHT :
 799   4      					// Redraw slider and make the number become black.
 800   4      					OSD_Slider(7, 31, 17, stGUD0.BRIGHT, 100, 4, 14);
 801   4      					break;
 802   4      
 803   4      				case PAGE1_ITEM_COLORTEMP :
 804   4      					//Set words color to black
 805   4      					OSD_Line( 11, 36 + (ucOSD_Item_Index1-1)*(4+1), 4, 0x40, 2);
 806   4      					break;
 807   4      
 808   4      				case PAGE1_ITEM_GAMMA :
 809   4      					//Set words color to black
 810   4      					OSD_Line( 9, 36 + (ucOSD_Item_Index1-1)*(2+1), 1, 0x40, 2);
 811   4      					break;
 812   4      			}
 813   3      
 814   3      			ucOSD_Item_Index1   = 0;
 815   3      
 816   3      		}
 817   2      		else
 818   2      		{
 819   3      			if (PAGE1_ITEM_EXIT == ucOSD_Item_Index0)
 820   3      			{
 821   4      				// Disable highlight window 6
 822   4      				OSD_Window( 6, 150, 282, (54 + (ucOSD_Item_Index0-1)*(29+4)), (84 + (ucOSD_Item_Index0-1)*(29+4))
 823   4      					, 0, 0, 14, 251, 0, 1, 0);
 824   4      				// De-select the page item and disable the hightlight window
 825   4      				ucOSD_Item_Index0   = 0;
 826   4      				ucOSD_Item_Index1   = 0;
 827   4      			}
 828   3      			else if (MODE_NOSIGNAL != ucMode_Curr && MODE_NOSUPPORT != ucMode_Curr)
 829   3      			{
 830   4      				switch (ucOSD_Item_Index0)
 831   4      				{
 832   5      					case PAGE1_ITEM_CONTRAST :
 833   5      						ucOSD_Item_Index1   = 1;
 834   5      
 835   5      						// Redraw slider and make the number become Red.
 836   5      						OSD_Slider(5, 31, 17, stGUD0.CONTRAST, 100, 2, 14);
 837   5      						break;
 838   5      
 839   5      					case PAGE1_ITEM_BRIGHT :
 840   5      						ucOSD_Item_Index1   = 1;
 841   5      
 842   5      						// Redraw slider and make the number become Red.
 843   5      						OSD_Slider(7, 31, 17, stGUD0.BRIGHT, 100, 2, 14);
 844   5      						break;
 845   5      
 846   5      					case PAGE1_ITEM_COLORTEMP :
C51 COMPILER V6.20c  LCD_OSD                                                               04/15/2004 12:59:12 PAGE 15  

 847   5      						ucOSD_Item_Index1 = ((stGUD1.INPUT_SOURCE & 0x18) >> 3) + 1;
 848   5      
 849   5      						//Here we can only change the color in Byte 2 for necessary words
 850   5      						OSD_Line( 11, 36 + (ucOSD_Item_Index1-1)*(4+1), 4, 0x20, 2);
 851   5      						break;
 852   5      
 853   5      					case PAGE1_ITEM_GAMMA :
 854   5      						ucOSD_Item_Index1   = ((stGUD1.FUNCTION >> 5) & 0x03) + 1;
 855   5      
 856   5      						//Here we can only change the color in Byte 2 for necessary words
 857   5      						OSD_Line( 9, 36 + (ucOSD_Item_Index1-1)*(2+1), 1, 0x20, 2);
 858   5      						break;
 859   5      
 860   5      					case PAGE1_ITEM_RGBADJ :
 861   5      						OSD_Window( 6, 150, 282, (54 + (ucOSD_Item_Index0-1)*(29+4)), (84 + (ucOSD_Item_Index0-1)*(29+4))
 862   5      							, 0, 0, 14, 251, 0, 1, 0);
 863   5      						ucOSD_Item_Index1   = PAGE1B_ITEM_RED;
 864   5      						ucOSD_Item_Index2   = 0;
 865   5      						OSD_Proc_B(NOTIFY_SHOW);       // Show the sub-page
 866   5      						break;
 867   5      				}
 868   4      			}
 869   3      		}
 870   2      	}
 871   1      }
 872          
 873          void Page1_Left_Right_Key(unsigned char Key)
 874          {
 875   1      	if (ucOSD_Item_Index1)
 876   1      	{
 877   2      		switch (ucOSD_Item_Index0)
 878   2      		{
 879   3      			case PAGE1_ITEM_CONTRAST :
 880   3      				Bright_Contrast_Adjust(&stGUD0.CONTRAST,Key);
 881   3      
 882   3      				OSD_Slider(5, 31, 17, stGUD0.CONTRAST, 100, 2, 14);
 883   3      
 884   3      #if(ANALOG_CONTRAST)
 885   3      				if((stGUD1.INPUT_SOURCE & 0x07) == SOURCE_VGA)
 886   3      					SetADC_Gain();
 887   3      				else
 888   3      					Set_Bright_Contrast();
 889   3      #else
              				Set_Bright_Contrast();
              #endif
 892   3      
 893   3      				Save_GUD0();
 894   3      				break;
 895   3      
 896   3      			case PAGE1_ITEM_BRIGHT :
 897   3      				Bright_Contrast_Adjust(&stGUD0.BRIGHT,Key);
 898   3      		
 899   3      				OSD_Slider(7, 31, 17, stGUD0.BRIGHT, 100, 2, 14);
 900   3      				Set_Bright_Contrast();
 901   3      				Save_GUD0();
 902   3      				break;

⌨️ 快捷键说明

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