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

📄 modetable.c

📁 GM5621原代码
💻 C
📖 第 1 页 / 共 3 页
字号:
/*
	$Workfile:   modetable.c  $
	$Revision:   1.34  $
	$Date:   Aug 23 2006 23:01:52  $
*/

//******************************************************************
//
//          Copyright (C) 2002. GENESIS MICROCHIP INC.
//  All rights reserved.  No part of this program may be reproduced.
//
//	Genesis Microchip Corp., 2150 Gold Street
//			Alviso, CA 95002	USA
//  Genesis Microchip Inc., 165 Commerce Valley Dr. West
//          Thornhill, Ontario, Canada, L3T 7V8
//
//================================================================
//
//  MODULE: modetable.c
//
//  USAGE : This module contains the supported modes look up tables
//
//******************************************************************



//******************************************************************
//                  I N C L U D E    F I L E S
//******************************************************************
#include "inc\all.h"

#ifdef PHOENIX_U
// The following defines are to specify the crop percent of the image.  For
// instance if you want NTSC images cropped by 5%, enter 5.
#define NTSC_CROP 6 // 5%
#define PAL_CROP  7 // 5%
#define HD_CROP   5 // 5%

//PDR11956 -Make sure crop value produces an even number.
// Macro to calculate the new Widths and Heights based on a Crop Percent:
#define CROP_BASE(StdVal,CropPercent)  \
   (WORD)((((StdVal)*(100UL - (DWORD)(CropPercent)))/100UL) & (~1))  //PDR11956

// Macro to calculate the new Back Porches based on a Crop Percent:
#define PORCH_ADJ_BASE(StdPorch, StdVal, CropPercent)        \
   (WORD)((StdPorch + (StdVal - CROP_BASE(StdVal,CropPercent))/2) & (~1)) //PDR11956  	
//   (WORD)((StdPorch + StdVal - CROP_BASE(StdVal,CropPercent)) & (~1)) //PDR11956
 

#define CROP_NTSC(StdVal)                 CROP_BASE((StdVal),NTSC_CROP)
#define PORCH_ADJ_NTSC(StdPorch, StdVal)  PORCH_ADJ_BASE((StdPorch),(StdVal),NTSC_CROP)
#define CROP_PAL(StdVal)                  CROP_BASE((StdVal),PAL_CROP)
#define PORCH_ADJ_PAL(StdPorch, StdVal)   PORCH_ADJ_BASE((StdPorch),(StdVal),PAL_CROP)
#define CROP_HD(StdVal)                  CROP_BASE((StdVal),HD_CROP)
#define PORCH_ADJ_HD(StdPorch, StdVal)   PORCH_ADJ_BASE((StdPorch),(StdVal),HD_CROP)
#endif

//******************************************************************
// USAGE        :   Standard mode lookup table.
// DESCRIPTION  :	Standard supported modes:
//	XGA
//    000   *** 1024 x 768 x 60 Hz
//    001   *** 1024 x 768 x 70 Hz
//    002   *** 1024 x 768 x 75 Hz
//    003   *** 1024 x 768 x 60 Hz MAC
//    004   *** 1024 x 768 x 72 Hz IBM
//    005   *** 1024 x 768 x 85 Hz
//    006   *** 1024 x 768 x 43 Hz (interlaced)
// SVGA
//    007   ***  800 x 600 x 56 Hz
//    008   ***  800 x 600 x 60 Hz
//    009   ***  800 x 600 x 72 Hz
//    010   ***  800 x 600 x 75 Hz
//    011   ***  800 x 600 x 85 Hz
//    012   ***  832 x 624 x 75 Hz MAC
//
//	VGA
//    013   ***  640 x 480 x 60 Hz
//    014   ***  640 x 480 x 72 Hz
//    015   ***  640 x 480 x 75 Hz
//    016   ***  640 x 480 x 85 Hz
//    017   ***  640 x 480 x 66 Hz (MAC)
// Overlappad modes
//    018   ***  640 x 350 x 70 Hz
//    019   ***  720 x 350 x 70 Hz
//    020   ***  640 x 400 x 70 Hz
//    021   ***  720 x 400 x 70 Hz
//    022   ***  640 x 350 x 85 Hz
//    023   ***  720 x 350 x 85 Hz
//    024   ***  640 x 400 x 85 Hz
//    025   ***  720 x 400 x 85 Hz
//
// MAC, SUN, IBM
//		026   *** 1152 x 864 x 60 Hz
//    027   *** 1152 x 864 x 70 Hz
//    028   *** 1152 x 864 x 75 Hz
//    029   *** 1152 x 870 x 75 Hz (MAC 21)
//    030   *** 1152 x 900 x 66 Hz (SUN)
//    031   *** 1152 x 900 x 76 Hz
//    032   *** 1280 x 960 x 60 Hz
//    033   *** 1280 x 960 x 85 Hz
//SXGA
//    034   *** 1280 x 1024 x 60 Hz
//    035   *** 1280 x 1024 x 75 Hz
//    036   *** 1280 x 1024 x 85 Hz
//    037   *** 1280 x  768 x 60 Hz

//SubSample
//    038   *** 1600 x 1200 x 60 Hz

//    039   *** NTSC/480I/525I -  720 x  240 x 60I
// 	040   *** NTSC 262p (some VCRs) x 60
//    041   *** PAL 525I -  720 x  240 x 50I
//    042   *** 576P/625P -  720 x  756 x 50P
//    043   *** (HDTV) 720P - 1280 x  720 x 60P
//    044   *** (HDTV) 1080I - 1920 x 1080 x 60I
//    045   *** (HDTV) 1080I - 1920 x 1080 x 50I
//    046   *** 480P/525P -  720 x  483 x 60P
//    047   *** 480P (16:9) -  960 x  483 x 60P

//******************************************************************
StandardModeType ROM StandardModeTable[] = {
///////////////////////////////////////////////////////////////////////
{                        // *** 1024 x 768 x 60 Hz ***	0
	483, 10,              // StdHFreq, DeltaHFreq, (in 100Hz unit)
	806, 4,               // StdVTotal, DeltaVTotal, (in line unit)
	1344,                 // StdHTotal,
	1024, 768,            // StdWidth, StdHeight,
	160, 29,              // StdHBackPorch, StdVBackPorch,
	136,  6,              // StdHSyncWidth, StdVSyncWidth,
	gmd_NORMAL | gmd_NEG_HSYNC | gmd_NEG_VSYNC                // ModeType
},

{								 // *** 1024 x 768 x 70 Hz ***	1
	564, 10,					 // StdHFreq, DeltaHFreq, (in 100Hz unit)
	806, 4,               // StdVTotal, DeltaVTotal, (in line unit)
	1328,   					 // StdHTotal,
	1024, 768,            // StdWidth, StdHeight,
	144, 29,         		 // StdHBackPorch, StdVBackPorch,
	136,  6,              // StdHSyncWidth, StdVSyncWidth,
	gmd_NORMAL  | gmd_NEG_HSYNC | gmd_NEG_VSYNC               // ModeType
},

{								 // *** 1024 x 768 x 75 Hz ***	2
	600, 10,              // StdHFreq, DeltaHFreq, (in 100Hz unit)
	800, 4,               // StdVTotal, DeltaVTotal, (in line unit)
	1312,                 // StdHTotal,
	1024, 768,            // StdWidth, StdHeight,
	176, 28,              // StdHBackPorch, StdVBackPorch,
	 96,  3,              // StdHSyncWidth, StdVSyncWidth,
	gmd_NORMAL                // ModeType
},

{                        // *** 1024 x 768 x 60 Hz MAC  ***	3
	487, 10,              // StdHFreq, DeltaHFreq, (in 100Hz unit)
	813, 4,               // StdVTotal, DeltaVTotal, (in line unit)
	1312,                 // StdHTotal,
	1024, 768,            // StdWidth, StdHeight,
	160, 23,              // StdHBackPorch, StdVBackPorch,
	136,  3,              // StdHSyncWidth, StdVSyncWidth,
	gmd_NORMAL  | gmd_NEG_HSYNC | gmd_NEG_VSYNC                // ModeType
},

{                        // *** 1024 x 768 x 72 Hz IBM ***	4
	575, 10,              // StdHFreq, DeltaHFreq, (in 100Hz unit)
	798, 4,               // StdVTotal, DeltaVTotal, (in line unit)
	1304,                 // StdHTotal,
	1024, 768,            // StdWidth, StdHeight,
	150, 18,              // StdHBackPorch, StdVBackPorch,
	100,  2,              // StdHSyncWidth, StdVSyncWidth,
	gmd_NORMAL                // ModeType
},


{                        // *** 1024 x 768 x 85 Hz ***	5
	686, 10,              // StdHFreq, DeltaHFreq, (in 100Hz unit)
	808, 4,               // StdVTotal, DeltaVTotal, (in line unit)
	1376,                 // StdHTotal,
	1024, 768,            // StdWidth, StdHeight,
	208, 36,              // StdHBackPorch, StdVBackPorch,
	 96,  3,              // StdHSyncWidth, StdVSyncWidth,
	gmd_NORMAL                // ModeType
},

{                        // *** 1024 x 768 x 43 Hz (interlaced ***	6
	355, 10,              // StdHFreq, DeltaHFreq, (in 100Hz unit)
	817, 4,               // StdVTotal, DeltaVTotal, (in line unit)
	1264,                 // StdHTotal,
	1024, 384,            // StdWidth, StdHeight,
	 56, 20,              // StdHBackPorch, StdVBackPorch,
	176,  4,              // StdHSyncWidth, StdVSyncWidth,
	gmd_INTERLACED               // ModeType
},

///////////////////////////////////////////////////////////////////////
{                       // ***  800 x 600 x 56 Hz ***	7
	351, 10,              // StdHFreq, DeltaHFreq, (in 100Hz unit)
	625, 4,               // StdVTotal, DeltaVTotal, (in line unit)
	1024,                 // StdHTotal,
	800, 600,             // StdWidth, StdHeight,
	128, 22,              // StdHBackPorch, StdVBackPorch,
	 72,  2,              // StdHSyncWidth, StdVSyncWidth,
	gmd_NORMAL               // ModeType
},

{                       // ***  800 x 600 x 60 Hz ***	8
	378, 10,              // StdHFreq, DeltaHFreq, (in 100Hz unit)
	628, 4,               // StdVTotal, DeltaVTotal, (in line unit)
	1056,                 // StdHTotal,
	800, 600,             // StdWidth, StdHeight,
	 88, 23,              // StdHBackPorch, StdVBackPorch,
	128,  4,              // StdHSyncWidth, StdVSyncWidth,
	gmd_NORMAL               // ModeType
},

{                       // ***  800 x 600 x 72 Hz ***	9
	480, 10,              // StdHFreq, DeltaHFreq, (in 100Hz unit)
	666, 4,               // StdVTotal, DeltaVTotal, (in line unit)
	1040,                 // StdHTotal,
	800, 600,             // StdWidth, StdHeight,
	 64, 23,              // StdHBackPorch, StdVBackPorch,
	120,  6,              // StdHSyncWidth, StdVSyncWidth,
	gmd_NORMAL               // ModeType
},

{                       // ***  800 x 600 x 75 Hz ***	10
	468, 10,              // StdHFreq, DeltaHFreq, (in 100Hz unit)
	625, 4,               // StdVTotal, DeltaVTotal, (in line unit)
	1056,                 // StdHTotal,
	800, 600,             // StdWidth, StdHeight,
	160, 21,              // StdHBackPorch, StdVBackPorch,
	 80,  3,              // StdHSyncWidth, StdVSyncWidth,
	gmd_NORMAL               // ModeType
},

{                       // ***  800 x 600 x 85 Hz *** 11
	536, 10,              // StdHFreq, DeltaHFreq, (in 100Hz unit)
	631, 4,               // StdVTotal, DeltaVTotal, (in line unit)
	1048,                 // StdHTotal,
	800, 600,             // StdWidth, StdHeight,
	152, 27,              // StdHBackPorch, StdVBackPorch,
	 64,  3,              // StdHSyncWidth, StdVSyncWidth,
	gmd_NORMAL               // ModeType
},

{                       // ***  832 x 624 x 75 Hz MAC ***	12
	497, 10,              // StdHFreq, DeltaHFreq, (in 100Hz unit)
	660, 10,              // StdVTotal, DeltaVTotal, (in line unit)  667 or 654
	1120,                 // StdHTotal,
	832, 624,             // StdWidth, StdHeight,
	160, 24,              // StdHBackPorch, StdVBackPorch,	
	 96,  3,              // StdHSyncWidth, StdVSyncWidth,	
	gmd_NORMAL               // ModeType
},


///////////////////////////////////////////////////////////////////////
{                       // ***  640 x 480 x 60 Hz ***	13
	315, 10,              // StdHFreq, DeltaHFreq, (in 100Hz unit)
	525, 4,               // StdVTotal, DeltaVTotal, (in line unit)
	800,                  // StdHTotal,
	640, 480,             // StdWidth, StdHeight,
	 48, 33,              // StdHBackPorch, StdVBackPorch,
	 96,  2,              // StdHSyncWidth, StdVSyncWidth,
	gmd_NORMAL               // ModeType
},

{                       // ***  640 x 480 x 72 Hz ***	14
	378, 10,              // StdHFreq, DeltaHFreq, (in 100Hz unit)
	520, 4,               // StdVTotal, DeltaVTotal, (in line unit)
	832,                  // StdHTotal,
	640, 480,             // StdWidth, StdHeight,
	128, 28,              // StdHBackPorch, StdVBackPorch,
	 40,  3,              // StdHSyncWidth, StdVSyncWidth,	
	gmd_NORMAL               // ModeType
},

{                       // ***  640 x 480 x 75 Hz ***	15
	375, 10,              // StdHFreq, DeltaHFreq, (in 100Hz unit)
	500, 4,               // StdVTotal, DeltaVTotal, (in line unit)
	840,                  // StdHTotal,
	640, 480,             // StdWidth, StdHeight,
	120, 16,              // StdHBackPorch, StdVBackPorch,	
	 64,  3,              // StdHSyncWidth, StdVSyncWidth,	
	gmd_NORMAL               // ModeType
},


{                       // ***  640 x 480 x 85 Hz ***	16
	432, 10,              // StdHFreq, DeltaHFreq, (in 100Hz unit)
	509, 4,               // StdVTotal, DeltaVTotal, (in line unit)
	832,                  // StdHTotal,
	640, 480,             // StdWidth, StdHeight,
	80, 25,              // StdHBackPorch, StdVBackPorch,	
	56,  3,              // StdHSyncWidth, StdVSyncWidth,	
	gmd_NORMAL               // ModeType
},


{                        // ***  640 x 480 x 66 Hz (MAC) ***	17
	351, 10,              // StdHFreq, DeltaHFreq, (in 100Hz unit)
	525, 4,               // StdVTotal, DeltaVTotal, (in line unit)
	864,                  // StdHTotal,
	640, 480,             // StdWidth, StdHeight,
	96, 39,              // StdHBackPorch, StdVBackPorch,	
	64,  3,              // StdHSyncWidth, StdVSyncWidth,	
	gmd_NORMAL               // ModeType
},


///////////////////////////////////////////////////////////////////////
// Overlapped modes
// !!! WARNING: Do not change the order for this.
// It should come with order of 640x350, 720x350, 640x400, 720x400.
{                       // ***  640 x 350 x 70 Hz ***	18
	315, 10,              // StdHFreq, DeltaHFreq, (in 100Hz unit)
	449, 4,               // StdVTotal, DeltaVTotal, (in line unit)

⌨️ 快捷键说明

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