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

📄 init.c

📁 h内核
💻 C
📖 第 1 页 / 共 5 页
字号:
	     break;	case 1360:	     if(VGAEngine == SIS_300_VGA) {	        if(CustomT == CUT_BARCO1366) {		   if(VDisplay == 1024) ModeIndex = ModeIndex_300_1360x1024[Depth];		}	     }	     if(CustomT == CUT_PANEL848) {	        if(VDisplay == 768) ModeIndex = ModeIndex_1360x768[Depth];	     }	     break;	case 1400:	     if(VGAEngine == SIS_315_VGA) {	        if(VDisplay == 1050) ModeIndex = ModeIndex_1400x1050[Depth];	     }	     break;	case 1600:	     if(VGAEngine == SIS_315_VGA) {	        if(VDisplay == 1200) ModeIndex = ModeIndex_1600x1200[Depth];	     }	     break;      }   } else if(VBFlags & VB_SISBRIDGE) {      switch(HDisplay)      {	case 320:     	     if(VDisplay == 200)      ModeIndex = ModeIndex_320x200[Depth];	     else if(VDisplay == 240) ModeIndex = ModeIndex_320x240[Depth];             break;     	case 400:	     if(LCDwidth >= 800 && LCDheight >= 600) {                if(VDisplay == 300) ModeIndex = ModeIndex_400x300[Depth];	     }             break;	case 512:	     if(LCDwidth >= 1024 && LCDheight >= 768 && LCDwidth != 1152) {	        if(VDisplay == 384) ModeIndex = ModeIndex_512x384[Depth];	     }	     break;	case 640:	     if(VDisplay == 480)      ModeIndex = ModeIndex_640x480[Depth];	     else if(VDisplay == 400) ModeIndex = ModeIndex_640x400[Depth];	     break;	case 720:	     if(VGAEngine == SIS_315_VGA) {	        if(VDisplay == 480)      ModeIndex = ModeIndex_720x480[Depth];		else if(VDisplay == 576) ModeIndex = ModeIndex_720x576[Depth];	     }	     break;	case 768:	     if(VGAEngine == SIS_315_VGA) {	        if(VDisplay == 576) ModeIndex = ModeIndex_768x576[Depth];	     }	     break;	case 800:	     if(VDisplay == 600) ModeIndex = ModeIndex_800x600[Depth];	     if(VGAEngine == SIS_315_VGA) {	        if(VDisplay == 480) ModeIndex = ModeIndex_800x480[Depth];	     }	     break;	case 848:	     if(VGAEngine == SIS_315_VGA) {	        if(VDisplay == 480) ModeIndex = ModeIndex_848x480[Depth];	     }	     break;	case 856:	     if(VGAEngine == SIS_315_VGA) {	        if(VDisplay == 480) ModeIndex = ModeIndex_856x480[Depth];	     }	     break;	case 960:	     if(VGAEngine == SIS_315_VGA) {	        if(VDisplay == 540)      ModeIndex = ModeIndex_960x540[Depth];		else if(VDisplay == 600) ModeIndex = ModeIndex_960x600[Depth];	     }	     break;	case 1024:	     if(VDisplay == 768) ModeIndex = ModeIndex_1024x768[Depth];	     if(VGAEngine == SIS_315_VGA) {	        if(VDisplay == 576) ModeIndex = ModeIndex_1024x576[Depth];	     }	     break;	case 1152:	     if(VGAEngine == SIS_315_VGA) {	        if(VDisplay == 864) ModeIndex = ModeIndex_1152x864[Depth];	     }	     break;	case 1280:	     switch(VDisplay) {	     case 720:	        ModeIndex = ModeIndex_1280x720[Depth];	     case 768:	        if(VGAEngine == SIS_300_VGA) {		   ModeIndex = ModeIndex_300_1280x768[Depth];		} else {		   ModeIndex = ModeIndex_310_1280x768[Depth];		}		break;	     case 800:	        if(VGAEngine == SIS_315_VGA) {		   ModeIndex = ModeIndex_1280x800[Depth];		}		break;	     case 960:	        ModeIndex = ModeIndex_1280x960[Depth];		break;	     case 1024:	        ModeIndex = ModeIndex_1280x1024[Depth];		break;	     }	     break;	case 1360:	     if(VGAEngine == SIS_315_VGA) {	        if(VDisplay == 768) ModeIndex = ModeIndex_1360x768[Depth];	     }	     break;	case 1400:	     if(VGAEngine == SIS_315_VGA) {	        if(VBFlags & (VB_301C | VB_302LV | VB_302ELV)) {		   if(VDisplay == 1050) ModeIndex = ModeIndex_1400x1050[Depth];		}	     }	     break;	case 1600:	     if(VGAEngine == SIS_315_VGA) {	        if(VBFlags & (VB_301C | VB_302LV | VB_302ELV)) {	           if(VDisplay == 1200) ModeIndex = ModeIndex_1600x1200[Depth];		}	     }	     break;#ifndef VB_FORBID_CRT2LCD_OVER_1600	case 1680:	     if(VGAEngine == SIS_315_VGA) {	        if(VBFlags & (VB_301C | VB_302LV | VB_302ELV)) {	           if(VDisplay == 1050) ModeIndex = ModeIndex_1680x1050[Depth];		}	     }	     break;#endif      }   }   return ModeIndex;}USHORTSiS_GetModeID_TV(int VGAEngine, ULONG VBFlags, int HDisplay, int VDisplay, int Depth){   USHORT ModeIndex = 0;   if(VBFlags & VB_CHRONTEL) {      switch(HDisplay)      {      	case 512:	     if(VGAEngine == SIS_315_VGA) {		if(VDisplay == 384) ModeIndex = ModeIndex_512x384[Depth];	     }	     break;	case 640:	     if(VDisplay == 480)      ModeIndex = ModeIndex_640x480[Depth];	     else if(VDisplay == 400) ModeIndex = ModeIndex_640x400[Depth];	     break;	case 800:	     if(VDisplay == 600) ModeIndex = ModeIndex_800x600[Depth];	     break;	case 1024:	     if(VGAEngine == SIS_315_VGA) {	        if(VDisplay == 768) ModeIndex = ModeIndex_1024x768[Depth];	     }	     break;      }   } else if(VBFlags & VB_SISTVBRIDGE) {      switch(HDisplay)      {	case 320:     	     if(VDisplay == 200)      ModeIndex = ModeIndex_320x200[Depth];	     else if(VDisplay == 240) ModeIndex = ModeIndex_320x240[Depth];             break;        case 400:             if(VDisplay == 300) ModeIndex = ModeIndex_400x300[Depth];             break;      	case 512:	     if( ((VBFlags & TV_YPBPR) && (VBFlags & (TV_YPBPR750P | TV_YPBPR1080I))) ||	         (VBFlags & TV_HIVISION) 					      ||	         ((!(VBFlags & (TV_YPBPR | TV_PALM))) && (VBFlags & TV_PAL)) ) {	        if(VDisplay == 384) ModeIndex = ModeIndex_512x384[Depth];	     }	     break;	case 640:	     if(VDisplay == 480)      ModeIndex = ModeIndex_640x480[Depth];	     else if(VDisplay == 400) ModeIndex = ModeIndex_640x400[Depth];	     break;	case 720:	     if((!(VBFlags & TV_HIVISION)) && (!((VBFlags & TV_YPBPR) && (VBFlags & TV_YPBPR1080I)))) {                if(VDisplay == 480) {                   ModeIndex = ModeIndex_720x480[Depth];                } else if(VDisplay == 576) {		   if( ((VBFlags & TV_YPBPR) && (VBFlags & TV_YPBPR750P)) ||		       ((!(VBFlags & (TV_YPBPR | TV_PALM))) && (VBFlags & TV_PAL)) )                      ModeIndex = ModeIndex_720x576[Depth];                }	     }             break;	case 768:	     if((!(VBFlags & TV_HIVISION)) && (!((VBFlags & TV_YPBPR) && (VBFlags & TV_YPBPR1080I)))) {	        if( ((VBFlags & TV_YPBPR) && (VBFlags & TV_YPBPR750P)) ||		    ((!(VBFlags & (TV_YPBPR | TV_PALM))) && (VBFlags & TV_PAL)) ) {          	   if(VDisplay == 576) ModeIndex = ModeIndex_768x576[Depth];		}             }	     break;	case 800:	     if(VDisplay == 600) ModeIndex = ModeIndex_800x600[Depth];	     else if(VDisplay == 480) {	        if((VBFlags & TV_HIVISION) || ((VBFlags & TV_YPBPR) && (VBFlags & TV_YPBPR1080I))) {		   ModeIndex = ModeIndex_800x480[Depth];		}	     }	     break;	case 960:	     if(VGAEngine == SIS_315_VGA) {	        if(VDisplay == 600) {		   if((VBFlags & TV_HIVISION) || ((VBFlags & TV_YPBPR) && (VBFlags & TV_YPBPR1080I))) {		      ModeIndex = ModeIndex_960x600[Depth];		   }		}	     }	     break;	case 1024:	     if(VDisplay == 768) {		if(VBFlags & (VB_301B|VB_301C|VB_302B|VB_301LV|VB_302LV|VB_302ELV)) {		   ModeIndex = ModeIndex_1024x768[Depth];		}	     } else if(VDisplay == 576) {	        if((VBFlags & TV_HIVISION) || ((VBFlags & TV_YPBPR) && (VBFlags & TV_YPBPR1080I))) {		   ModeIndex = ModeIndex_1024x576[Depth];		}	     }	     break;	case 1280:	     if(VDisplay == 720) {	        if((VBFlags & TV_HIVISION) ||		   ((VBFlags & TV_YPBPR) && (VBFlags & (TV_YPBPR1080I | TV_YPBPR750P)))) {	           ModeIndex = ModeIndex_1280x720[Depth];		}	     } else if(VDisplay == 1024) {	        if((VBFlags & TV_HIVISION) ||		   ((VBFlags & TV_YPBPR) && (VBFlags & TV_YPBPR1080I))) {	           ModeIndex = ModeIndex_1280x1024[Depth];		}	     }	     break;      }   }   return ModeIndex;}USHORTSiS_GetModeID_VGA2(int VGAEngine, ULONG VBFlags, int HDisplay, int VDisplay, int Depth){   USHORT ModeIndex = 0;   if(!(VBFlags & (VB_301|VB_301B|VB_301C|VB_302B))) return 0;   switch(HDisplay)   {	case 320:     	  	if(VDisplay == 200)      ModeIndex = ModeIndex_320x200[Depth];	  	else if(VDisplay == 240) ModeIndex = ModeIndex_320x240[Depth];          	break;     	case 400:          	if(VDisplay == 300) ModeIndex = ModeIndex_400x300[Depth];          	break;  	case 512:		if(VDisplay == 384) ModeIndex = ModeIndex_512x384[Depth];		break;	case 640:		if(VDisplay == 480)      ModeIndex = ModeIndex_640x480[Depth];		else if(VDisplay == 400) ModeIndex = ModeIndex_640x400[Depth];		break;	case 720:		if(VDisplay == 480)      ModeIndex = ModeIndex_720x480[Depth];		else if(VDisplay == 576) ModeIndex = ModeIndex_720x576[Depth];		break;	case 768:          	if(VDisplay == 576) ModeIndex = ModeIndex_768x576[Depth];	  	break;	case 800:		if(VDisplay == 600)      ModeIndex = ModeIndex_800x600[Depth];   	        else if(VDisplay == 480) ModeIndex = ModeIndex_800x480[Depth];		break;	case 848:		if(VDisplay == 480) ModeIndex = ModeIndex_848x480[Depth];		break;	case 856:		if(VDisplay == 480) ModeIndex = ModeIndex_856x480[Depth];		break;	case 960:		if(VGAEngine == SIS_315_VGA) {		   if(VDisplay == 540)      ModeIndex = ModeIndex_960x540[Depth];		   else if(VDisplay == 600) ModeIndex = ModeIndex_960x600[Depth];		}		break;	case 1024:		if(VDisplay == 768)      ModeIndex = ModeIndex_1024x768[Depth];		else if(VDisplay == 576) ModeIndex = ModeIndex_1024x576[Depth];		break;	case 1152:	        if(VDisplay == 864)    ModeIndex = ModeIndex_1152x864[Depth];		else if(VGAEngine == SIS_300_VGA) {		   if(VDisplay == 768) ModeIndex = ModeIndex_1152x768[Depth];		}		break;	case 1280:	        if(VDisplay == 768) {		   if(VGAEngine == SIS_300_VGA) {		      ModeIndex = ModeIndex_300_1280x768[Depth];		   } else {		      ModeIndex = ModeIndex_310_1280x768[Depth];		   }		} else if(VDisplay == 1024) ModeIndex = ModeIndex_1280x1024[Depth];		else if(VDisplay == 720)    ModeIndex = ModeIndex_1280x720[Depth];		else if(VDisplay == 800)    ModeIndex = ModeIndex_1280x800[Depth];		else if(VDisplay == 960)    ModeIndex = ModeIndex_1280x960[Depth];		break;        case 1360:	        if(VDisplay == 768) ModeIndex = ModeIndex_1360x768[Depth];                break;        case 1400:		if(VGAEngine == SIS_315_VGA) {	           if(VDisplay == 1050) ModeIndex = ModeIndex_1400x1050[Depth];		}		break;	case 1600:		if(VGAEngine == SIS_315_VGA) {		   if(VBFlags & (VB_301B|VB_301C|VB_302B)) {	              if(VDisplay == 1200) ModeIndex = ModeIndex_1600x1200[Depth];		   }		}		break;	case 1680:		if(VGAEngine == SIS_315_VGA) {		   if(VBFlags & (VB_301B|VB_301C|VB_302B)) {	              if(VDisplay == 1050) ModeIndex = ModeIndex_1680x1050[Depth];		   }		}		break;   }   return ModeIndex;}/*********************************************//*          HELPER: SetReg, GetReg           *//*********************************************/voidSiS_SetReg(SISIOADDRESS port, USHORT index, USHORT data){   OutPortByte(port,index);   OutPortByte(port + 1,data);}voidSiS_SetRegByte(SISIOADDRESS port, USHORT data){   OutPortByte(port,data);}voidSiS_SetRegShort(SISIOADDRESS port, USHORT data){   OutPortWord(port,data);}voidSiS_SetRegLong(SISIOADDRESS port, ULONG data){   OutPortLong(port,data);}UCHAR

⌨️ 快捷键说明

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