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

📄 vgadetect.c

📁 Terawins的芯片T128点3.5"屏的源程序。
💻 C
字号:
#include "Common.h"
#include "Global.h"
#include "ICControl.h"	
#include "System.h"
#include "TWICreg.h"
#include "VGADetect.h"
#include "VGAModeTab.h"


void DetectVGAMOde(void)
{
	unsigned int REG5859,REG5A5B;
	REG5859=IC_ReadByte(TWIC_P0, 0x58)|(((unsigned int)(IC_ReadByte(TWIC_P0, 0x59)))<<8);
	REG5A5B=IC_ReadByte(TWIC_P0, 0x5a)|(((unsigned int)(IC_ReadByte(TWIC_P0, 0x5b)))<<8);
	if(((REG5859>0x6b25-8)&&(REG5859<0x6b25+8))&&((REG5A5B>0x020B-4)&&(REG5A5B<0x020B+4)))
		cur_Mode=0;
	else if(((REG5859>0x6b41-8)&&(REG5859<0x6b41+8))&&((REG5A5B>0x020C-4)&&(REG5A5B<0x020C+4)))
		cur_Mode=1;
	else if(((REG5859>0x6C01-8)&&(REG5859<0x6C01+8))&&((REG5A5B>0x0271-4)&&(REG5A5B<0x0271+4)))
		cur_Mode=2;
	else 
		cur_Mode=0xff;
	if(old_Mode != cur_Mode)
	{
		SetVGAMode(cur_Mode);
		old_Mode=cur_Mode;
	}

}

void SetVGAMode(uCHAR ModeID)
{
	uCHAR i=0;
	switch(ModeID)
	{
		case 0:	//640x480
			while(VGAREG[i] != 0xff)
			{
				IC_WritByte(TWIC_P0, VGAREG[i], VGA640x480[i]);
				//IC_WritByte(TWIC_P0,0x05,VGAREG[i]);
				i++;
			}
			IC_WritByte(TWIC_P0, 0xE2, 0x11);
			break;
		case 1:	//720x480
			while(VGAREG[i] != 0xff)
			{
				IC_WritByte(TWIC_P0, VGAREG[i], VGA720x480[i]);
				//IC_WritByte(TWIC_P0,0x05,VGAREG[i]);
				i++;
			}
			IC_WritByte(TWIC_P0, 0xE2, 0x11);
			break;
		case 2:	//720X576
			while(VGAREG[i] != 0xff)
			{
				IC_WritByte(TWIC_P0, VGAREG[i], VGA720x576[i]);
				//IC_WritByte(TWIC_P0,0x05,VGAREG[i]);
				i++;
			}
			IC_WritByte(TWIC_P0, 0xE2, 0x11);
			break;
		
	}

}

⌨️ 快捷键说明

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