diff options
Diffstat (limited to 'include/rvl')
-rw-r--r-- | include/rvl/GXFrameBuffer.h | 1305 |
1 files changed, 1305 insertions, 0 deletions
diff --git a/include/rvl/GXFrameBuffer.h b/include/rvl/GXFrameBuffer.h new file mode 100644 index 0000000..a6dd635 --- /dev/null +++ b/include/rvl/GXFrameBuffer.h @@ -0,0 +1,1305 @@ +/*---------------------------------------------------------------------------*
+ Project: Dolphin GX library
+ File: GXFrameBuffer.h
+
+ Copyright 1998- 2002 Nintendo. All rights reserved.
+
+ These coded instructions, statements, and computer programs contain
+ proprietary information of Nintendo of America Inc. and/or Nintendo
+ Company Ltd., and are protected by Federal copyright law. They may
+ not be disclosed to third parties or copied or duplicated in any form,
+ in whole or in part, without the prior written consent of Nintendo.
+
+ $Log: GXFrameBuffer.h,v $
+ Revision 1.4 2006/08/10 13:38:01 urata
+ Removed all rendermodes of progressive 50Hz.
+
+ Revision 1.3 2006/05/18 09:40:10 urata
+ Added the rendermode of progressive for PAL and MPAL.
+
+ Revision 1.2 2006/02/04 11:56:46 hashida
+ (none)
+
+ Revision 1.1.1.1 2005/12/29 06:53:28 hiratsu
+ Initial import.
+
+ Revision 1.1.1.1 2005/05/12 02:41:07 yasuh-to
+ Ported from dolphin source tree.
+
+
+ 19 2002/02/12 14:29 Hirose
+ Added GXNtsc480ProgSoft mode.
+
+ 18 2002/07/24 9:06 Hirose
+ Resolved version conflicts.
+
+ 18 2002/04/09 15:15 Hirose
+ const type specifier support. (worked by hiratsu@IRD)
+
+ 17 2001/11/15 9:24p Hirose
+ Added GXGetYScaleFactor and GXGetNumXfbLines.
+
+ 16 2001/11/02 5:33p Hashida
+ Renamed eu60 -> eurgb60
+
+ 15 2001/11/01 3:37p Hashida
+ Added EURGB60 mode support.
+
+ 14 2001/10/18 11:54a Hashida
+ No change.
+
+ 13 2001/10/14 8:05p Hashida
+ Added RenderModeObj for EU60 mode.
+
+ 12 2001/09/21 3:44p Hashida
+ Fixed wrong settings for Y origin in the double strike modes.
+
+ 11 2001/07/26 6:04p Carl
+ Fixed extern for GXPal524IntAa.
+
+ 10 2001/04/12 3:49p Carl
+ Added stuff for NTSC progressive modes.
+
+ 9 2001/01/11 4:31p Hashida
+ Added a comment to show developers what the actual settings for each
+ render mode is.
+
+ 8 2000/08/10 2:39p Carl
+ Fixed GX_MAX_Z16 to equal GX_MAX_Z24.
+ Added a comment to deprecate its usage.
+
+ 7 2000/06/06 1:29p Carl
+ Removed obsolete API.
+
+ 6 2000/04/26 4:09p Alligator
+ mod GXSetDispCopyFrame2Field to take GXCopyMode as param
+
+ 5 2000/04/08 2:47p Hirose
+ Updated GXSetCopyFilter.
+
+ 4 2000/03/23 4:23p Carl
+ Added GXAdjustForOverscan prototype.
+
+ 3 2000/03/13 6:18p Danm
+ Fixed AA sampling locations to use x,y pairs.
+
+ 2 2000/02/12 5:16p Alligator
+ Integrate ArtX source tree changes
+
+ 10 1999/10/13 5:19p Alligator
+ changed CopySrc functions to use xorig, yorig, wd, ht
+
+ 9 1999/09/30 10:40p Yasu
+ Renamed some GX functions and enums
+
+ 8 1999/09/24 4:23p Yasu
+ Add GX_MAX_Z24/16 macro
+
+ 7 1999/09/22 6:14p Yasu
+ Changed the parameter of GXSetDispCopySrc and GXSetTexCopySrc().
+
+ 6 1999/09/21 2:33p Alligator
+ add aa flag, if aa set 16b pix format
+
+ 5 1999/09/16 3:42p Alligator
+ update render mode api
+
+ 4 1999/09/09 3:04p Alligator
+ move GXSetRenderMode to GX lib from emu
+
+ 3 1999/09/02 3:18p Ryan
+ Made Frame Buffer Api changes
+
+ 2 1999/07/28 4:07p Alligator
+ update header files and emulator for hw changes
+
+ 1 1999/07/14 4:20p Alligator
+ Split gx.h into individual header files for each major section of API
+ $NoKeywords: $
+ *---------------------------------------------------------------------------*/
+
+#ifndef __GXFRAMEBUFFER_H__
+#define __GXFRAMEBUFFER_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*---------------------------------------------------------------------------*/
+
+/*---------------------------------------------------------------------------*/
+/* Render Modes */
+/* (see the bottom of this file for actual settings used for each */
+/* render mode) */
+/*---------------------------------------------------------------------------*/
+extern GXRenderModeObj GXNtsc240Ds;
+extern GXRenderModeObj GXNtsc240DsAa;
+extern GXRenderModeObj GXNtsc240Int;
+extern GXRenderModeObj GXNtsc240IntAa;
+extern GXRenderModeObj GXNtsc480IntDf;
+extern GXRenderModeObj GXNtsc480Int;
+extern GXRenderModeObj GXNtsc480IntAa;
+extern GXRenderModeObj GXNtsc480Prog;
+extern GXRenderModeObj GXNtsc480ProgSoft;
+extern GXRenderModeObj GXNtsc480ProgAa;
+extern GXRenderModeObj GXMpal240Ds;
+extern GXRenderModeObj GXMpal240DsAa;
+extern GXRenderModeObj GXMpal240Int;
+extern GXRenderModeObj GXMpal240IntAa;
+extern GXRenderModeObj GXMpal480IntDf;
+extern GXRenderModeObj GXMpal480Int;
+extern GXRenderModeObj GXMpal480IntAa;
+extern GXRenderModeObj GXMpal480Prog;
+extern GXRenderModeObj GXMpal480ProgSoft;
+extern GXRenderModeObj GXMpal480ProgAa;
+extern GXRenderModeObj GXPal264Ds;
+extern GXRenderModeObj GXPal264DsAa;
+extern GXRenderModeObj GXPal264Int;
+extern GXRenderModeObj GXPal264IntAa;
+extern GXRenderModeObj GXPal528IntDf;
+extern GXRenderModeObj GXPal528Int;
+extern GXRenderModeObj GXPal524IntAa; // Reduced due to overlap requirement!
+extern GXRenderModeObj GXEurgb60Hz240Ds;
+extern GXRenderModeObj GXEurgb60Hz240DsAa;
+extern GXRenderModeObj GXEurgb60Hz240Int;
+extern GXRenderModeObj GXEurgb60Hz240IntAa;
+extern GXRenderModeObj GXEurgb60Hz480IntDf;
+extern GXRenderModeObj GXEurgb60Hz480Int;
+extern GXRenderModeObj GXEurgb60Hz480IntAa;
+extern GXRenderModeObj GXEurgb60Hz480Prog;
+extern GXRenderModeObj GXEurgb60Hz480ProgSoft;
+extern GXRenderModeObj GXEurgb60Hz480ProgAa;
+
+/*---------------------------------------------------------------------------*/
+void GXAdjustForOverscan ( const GXRenderModeObj *rmin, GXRenderModeObj *rmout,
+ u16 hor, u16 ver );
+void GXSetDispCopySrc ( u16 left, u16 top, u16 wd, u16 ht );
+void GXSetTexCopySrc ( u16 left, u16 top, u16 wd, u16 ht );
+void GXSetDispCopyDst ( u16 wd, u16 ht );
+void GXSetTexCopyDst ( u16 wd, u16 ht, GXTexFmt fmt, GXBool mipmap );
+
+void GXSetDispCopyFrame2Field( GXCopyMode mode );
+void GXSetCopyClamp( GXFBClamp clamp );
+u32 GXSetDispCopyYScale( f32 vscale );
+void GXSetCopyClear( GXColor clear_clr, u32 clear_z);
+void GXSetCopyFilter( GXBool aa, const u8 sample_pattern[12][2], GXBool vf, const u8 vfilter[7] );
+void GXSetDispCopyGamma( GXGamma gamma );
+
+void GXCopyDisp( void *dest, GXBool clear );
+void GXCopyTex ( void *dest, GXBool clear );
+
+f32 GXGetYScaleFactor( u16 efbHeight, u16 xfbHeight );
+u16 GXGetNumXfbLines( u16 efbHeight, f32 yScale );
+
+void GXClearBoundingBox( void );
+void GXReadBoundingBox ( u16 *left, u16 *top, u16 *right, u16 *bottom );
+
+/*---------------------------------------------------------------------------*/
+
+// The clear Z value is always in 24-bit format, regardless of pixel fmt.
+// Thus the GX_MAX_Z16 is not really necessary. You should not use it.
+// It is included here only for backwards compatibility.
+
+#define GX_MAX_Z24 0x00ffffff
+
+#define GX_MAX_Z16 0x00ffffff
+
+/*---------------------------------------------------------------------------*/
+
+// Actual settings used for each GXRenderModeObj for developers' reference
+//
+// The following is intentionally ifdef'ed out to show each GXRenderModeObj
+// settings to developers.
+//
+
+#if 0
+
+GXRenderModeObj GXNtsc240Ds =
+{
+ VI_TVMODE_NTSC_DS, // viDisplayMode
+ 640, // fbWidth
+ 240, // efbHeight
+ 240, // xfbHeight
+ (VI_MAX_WIDTH_NTSC - 640)/2, // viXOrigin
+ (VI_MAX_HEIGHT_NTSC/2 - 480/2)/2, // viYOrigin
+ 640, // viWidth
+ 480, // viHeight
+ VI_XFBMODE_SF, // xFBmode
+ GX_FALSE, // field_rendering
+ GX_FALSE, // aa
+
+ // sample points arranged in increasing Y order
+ 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each
+ 6, 6, 6, 6, 6, 6, // pix 1
+ 6, 6, 6, 6, 6, 6, // pix 2
+ 6, 6, 6, 6, 6, 6, // pix 3
+
+ // vertical filter[7], 1/64 units, 6 bits each
+ 0, // line n-1
+ 0, // line n-1
+ 21, // line n
+ 22, // line n
+ 21, // line n
+ 0, // line n+1
+ 0 // line n+1
+};
+GXRenderModeObj GXNtsc240DsAa =
+{
+ VI_TVMODE_NTSC_DS, // viDisplayMode
+ 640, // fbWidth
+ 240, // efbHeight
+ 240, // xfbHeight
+ (VI_MAX_WIDTH_NTSC - 640)/2, // viXOrigin
+ (VI_MAX_HEIGHT_NTSC/2 - 480/2)/2, // viYOrigin
+ 640, // viWidth
+ 480, // viHeight
+ VI_XFBMODE_SF, // xFBmode
+ GX_FALSE, // field_rendering
+ GX_TRUE, // aa
+
+ // sample points arranged in increasing Y order
+ 3, 2, 9, 6, 3, 10, // pix 0, 3 sample points, 1/12 units, 4 bits each
+ 3, 2, 9, 6, 3, 10, // pix 1
+ 9, 2, 3, 6, 9, 10, // pix 2
+ 9, 2, 3, 6, 9, 10, // pix 3
+
+ // vertical filter[7], 1/64 units, 6 bits each
+ 0, // line n-1
+ 0, // line n-1
+ 21, // line n
+ 22, // line n
+ 21, // line n
+ 0, // line n+1
+ 0 // line n+1
+};
+GXRenderModeObj GXNtsc240Int =
+{
+ VI_TVMODE_NTSC_INT, // viDisplayMode
+ 640, // fbWidth
+ 240, // efbHeight
+ 240, // xfbHeight
+ (VI_MAX_WIDTH_NTSC - 640)/2, // viXOrigin
+ (VI_MAX_HEIGHT_NTSC - 480)/2, // viYOrigin
+ 640, // viWidth
+ 480, // viHeight
+ VI_XFBMODE_SF, // xFBmode
+ GX_TRUE, // field_rendering
+ GX_FALSE, // aa
+
+ // sample points arranged in increasing Y order
+ 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each
+ 6, 6, 6, 6, 6, 6, // pix 1
+ 6, 6, 6, 6, 6, 6, // pix 2
+ 6, 6, 6, 6, 6, 6, // pix 3
+
+ // vertical filter[7], 1/64 units, 6 bits each
+ 0, // line n-1
+ 0, // line n-1
+ 21, // line n
+ 22, // line n
+ 21, // line n
+ 0, // line n+1
+ 0 // line n+1
+};
+GXRenderModeObj GXNtsc240IntAa =
+{
+ VI_TVMODE_NTSC_INT, // viDisplayMode
+ 640, // fbWidth
+ 240, // efbHeight
+ 240, // xfbHeight
+ (VI_MAX_WIDTH_NTSC - 640)/2, // viXOrigin
+ (VI_MAX_HEIGHT_NTSC - 480)/2, // viYOrigin
+ 640, // viWidth
+ 480, // viHeight
+ VI_XFBMODE_SF, // xFBmode
+ GX_TRUE, // field_rendering
+ GX_TRUE, // aa
+
+ // sample points arranged in increasing Y order
+ 3, 2, 9, 6, 3, 10, // pix 0, 3 sample points, 1/12 units, 4 bits each
+ 3, 2, 9, 6, 3, 10, // pix 1
+ 9, 2, 3, 6, 9, 10, // pix 2
+ 9, 2, 3, 6, 9, 10, // pix 3
+
+ // vertical filter[7], 1/64 units, 6 bits each
+ 0, // line n-1
+ 0, // line n-1
+ 21, // line n
+ 22, // line n
+ 21, // line n
+ 0, // line n+1
+ 0 // line n+1
+};
+GXRenderModeObj GXNtsc480IntDf =
+{
+ VI_TVMODE_NTSC_INT, // viDisplayMode
+ 640, // fbWidth
+ 480, // efbHeight
+ 480, // xfbHeight
+ (VI_MAX_WIDTH_NTSC - 640)/2, // viXOrigin
+ (VI_MAX_HEIGHT_NTSC - 480)/2, // viYOrigin
+ 640, // viWidth
+ 480, // viHeight
+ VI_XFBMODE_DF, // xFBmode
+ GX_FALSE, // field_rendering
+ GX_FALSE, // aa
+
+ // sample points arranged in increasing Y order
+ 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each
+ 6, 6, 6, 6, 6, 6, // pix 1
+ 6, 6, 6, 6, 6, 6, // pix 2
+ 6, 6, 6, 6, 6, 6, // pix 3
+
+ // vertical filter[7], 1/64 units, 6 bits each
+ 8, // line n-1
+ 8, // line n-1
+ 10, // line n
+ 12, // line n
+ 10, // line n
+ 8, // line n+1
+ 8 // line n+1
+};
+GXRenderModeObj GXNtsc480Int =
+{
+ VI_TVMODE_NTSC_INT, // viDisplayMode
+ 640, // fbWidth
+ 480, // efbHeight
+ 480, // xfbHeight
+ (VI_MAX_WIDTH_NTSC - 640)/2, // viXOrigin
+ (VI_MAX_HEIGHT_NTSC - 480)/2, // viYOrigin
+ 640, // viWidth
+ 480, // viHeight
+ VI_XFBMODE_DF, // xFBmode
+ GX_FALSE, // field_rendering
+ GX_FALSE, // aa
+
+ // sample points arranged in increasing Y order
+ 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each
+ 6, 6, 6, 6, 6, 6, // pix 1
+ 6, 6, 6, 6, 6, 6, // pix 2
+ 6, 6, 6, 6, 6, 6, // pix 3
+
+ // vertical filter[7], 1/64 units, 6 bits each
+ 0, // line n-1
+ 0, // line n-1
+ 21, // line n
+ 22, // line n
+ 21, // line n
+ 0, // line n+1
+ 0 // line n+1
+};
+GXRenderModeObj GXNtsc480IntAa =
+{
+ VI_TVMODE_NTSC_INT, // viDisplayMode
+ 640, // fbWidth
+ 242, // efbHeight
+ 480, // xfbHeight
+ (VI_MAX_WIDTH_NTSC - 640)/2, // viXOrigin
+ (VI_MAX_HEIGHT_NTSC - 480)/2, // viYOrigin
+ 640, // viWidth
+ 480, // viHeight
+ VI_XFBMODE_DF, // xFBmode
+ GX_FALSE, // field_rendering
+ GX_TRUE, // aa
+
+ // sample points arranged in increasing Y order
+ 3, 2, 9, 6, 3, 10, // pix 0, 3 sample points, 1/12 units, 4 bits each
+ 3, 2, 9, 6, 3, 10, // pix 1
+ 9, 2, 3, 6, 9, 10, // pix 2
+ 9, 2, 3, 6, 9, 10, // pix 3
+
+ // vertical filter[7], 1/64 units, 6 bits each
+ 4, // line n-1
+ 8, // line n-1
+ 12, // line n
+ 16, // line n
+ 12, // line n
+ 8, // line n+1
+ 4 // line n+1
+};
+GXRenderModeObj GXNtsc480Prog =
+{
+ VI_TVMODE_NTSC_PROG, // viDisplayMode
+ 640, // fbWidth
+ 480, // efbHeight
+ 480, // xfbHeight
+ (VI_MAX_WIDTH_NTSC - 640)/2, // viXOrigin
+ (VI_MAX_HEIGHT_NTSC - 480)/2, // viYOrigin
+ 640, // viWidth
+ 480, // viHeight
+ VI_XFBMODE_SF, // xFBmode
+ GX_FALSE, // field_rendering
+ GX_FALSE, // aa
+
+ // sample points arranged in increasing Y order
+ 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each
+ 6, 6, 6, 6, 6, 6, // pix 1
+ 6, 6, 6, 6, 6, 6, // pix 2
+ 6, 6, 6, 6, 6, 6, // pix 3
+
+ // vertical filter[7], 1/64 units, 6 bits each
+ 0, // line n-1
+ 0, // line n-1
+ 21, // line n
+ 22, // line n
+ 21, // line n
+ 0, // line n+1
+ 0 // line n+1
+};
+GXRenderModeObj GXNtsc480ProgSoft =
+{
+ VI_TVMODE_NTSC_PROG, // viDisplayMode
+ 640, // fbWidth
+ 480, // efbHeight
+ 480, // xfbHeight
+ (VI_MAX_WIDTH_NTSC - 640)/2, // viXOrigin
+ (VI_MAX_HEIGHT_NTSC - 480)/2, // viYOrigin
+ 640, // viWidth
+ 480, // viHeight
+ VI_XFBMODE_SF, // xFBmode
+ GX_FALSE, // field_rendering
+ GX_FALSE, // aa
+
+ // sample points arranged in increasing Y order
+ 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each
+ 6, 6, 6, 6, 6, 6, // pix 1
+ 6, 6, 6, 6, 6, 6, // pix 2
+ 6, 6, 6, 6, 6, 6, // pix 3
+
+ // vertical filter[7], 1/64 units, 6 bits each
+ 8, // line n-1
+ 8, // line n-1
+ 10, // line n
+ 12, // line n
+ 10, // line n
+ 8, // line n+1
+ 8 // line n+1
+};
+GXRenderModeObj GXNtsc480ProgAa =
+{
+ VI_TVMODE_NTSC_PROG, // viDisplayMode
+ 640, // fbWidth
+ 242, // efbHeight
+ 480, // xfbHeight
+ (VI_MAX_WIDTH_NTSC - 640)/2, // viXOrigin
+ (VI_MAX_HEIGHT_NTSC - 480)/2, // viYOrigin
+ 640, // viWidth
+ 480, // viHeight
+ VI_XFBMODE_SF, // xFBmode
+ GX_FALSE, // field_rendering
+ GX_TRUE, // aa
+
+ // sample points arranged in increasing Y order
+ 3, 2, 9, 6, 3, 10, // pix 0, 3 sample points, 1/12 units, 4 bits each
+ 3, 2, 9, 6, 3, 10, // pix 1
+ 9, 2, 3, 6, 9, 10, // pix 2
+ 9, 2, 3, 6, 9, 10, // pix 3
+
+ // vertical filter[7], 1/64 units, 6 bits each
+ 4, // line n-1
+ 8, // line n-1
+ 12, // line n
+ 16, // line n
+ 12, // line n
+ 8, // line n+1
+ 4 // line n+1
+};
+
+/*---------------------------------------------------------------------------*/
+
+GXRenderModeObj GXMpal240Ds =
+{
+ VI_TVMODE_MPAL_DS, // viDisplayMode
+ 640, // fbWidth
+ 240, // efbHeight
+ 240, // xfbHeight
+ (VI_MAX_WIDTH_MPAL - 640)/2, // viXOrigin
+ (VI_MAX_HEIGHT_MPAL/2 - 480/2)/2, // viYOrigin
+ 640, // viWidth
+ 480, // viHeight
+ VI_XFBMODE_SF, // xFBmode
+ GX_FALSE, // field_rendering
+ GX_FALSE, // aa
+
+ // sample points arranged in increasing Y order
+ 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each
+ 6, 6, 6, 6, 6, 6, // pix 1
+ 6, 6, 6, 6, 6, 6, // pix 2
+ 6, 6, 6, 6, 6, 6, // pix 3
+
+ // vertical filter[7], 1/64 units, 6 bits each
+ 0, // line n-1
+ 0, // line n-1
+ 21, // line n
+ 22, // line n
+ 21, // line n
+ 0, // line n+1
+ 0 // line n+1
+};
+GXRenderModeObj GXMpal240DsAa =
+{
+ VI_TVMODE_MPAL_DS, // viDisplayMode
+ 640, // fbWidth
+ 240, // efbHeight
+ 240, // xfbHeight
+ (VI_MAX_WIDTH_MPAL - 640)/2, // viXOrigin
+ (VI_MAX_HEIGHT_MPAL/2 - 480/2)/2, // viYOrigin
+ 640, // viWidth
+ 480, // viHeight
+ VI_XFBMODE_SF, // xFBmode
+ GX_FALSE, // field_rendering
+ GX_TRUE, // aa
+
+ // sample points arranged in increasing Y order
+ 3, 2, 9, 6, 3, 10, // pix 0, 3 sample points, 1/12 units, 4 bits each
+ 3, 2, 9, 6, 3, 10, // pix 1
+ 9, 2, 3, 6, 9, 10, // pix 2
+ 9, 2, 3, 6, 9, 10, // pix 3
+
+ // vertical filter[7], 1/64 units, 6 bits each
+ 0, // line n-1
+ 0, // line n-1
+ 21, // line n
+ 22, // line n
+ 21, // line n
+ 0, // line n+1
+ 0 // line n+1
+};
+GXRenderModeObj GXMpal240Int =
+{
+ VI_TVMODE_MPAL_INT, // viDisplayMode
+ 640, // fbWidth
+ 240, // efbHeight
+ 240, // xfbHeight
+ (VI_MAX_WIDTH_MPAL - 640)/2, // viXOrigin
+ (VI_MAX_HEIGHT_MPAL - 480)/2, // viYOrigin
+ 640, // viWidth
+ 480, // viHeight
+ VI_XFBMODE_SF, // xFBmode
+ GX_TRUE, // field_rendering
+ GX_FALSE, // aa
+
+ // sample points arranged in increasing Y order
+ 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each
+ 6, 6, 6, 6, 6, 6, // pix 1
+ 6, 6, 6, 6, 6, 6, // pix 2
+ 6, 6, 6, 6, 6, 6, // pix 3
+
+ // vertical filter[7], 1/64 units, 6 bits each
+ 0, // line n-1
+ 0, // line n-1
+ 21, // line n
+ 22, // line n
+ 21, // line n
+ 0, // line n+1
+ 0 // line n+1
+};
+GXRenderModeObj GXMpal240IntAa =
+{
+ VI_TVMODE_MPAL_INT, // viDisplayMode
+ 640, // fbWidth
+ 240, // efbHeight
+ 240, // xfbHeight
+ (VI_MAX_WIDTH_MPAL - 640)/2, // viXOrigin
+ (VI_MAX_HEIGHT_MPAL - 480)/2, // viYOrigin
+ 640, // viWidth
+ 480, // viHeight
+ VI_XFBMODE_SF, // xFBmode
+ GX_TRUE, // field_rendering
+ GX_TRUE, // aa
+
+ // sample points arranged in increasing Y order
+ 3, 2, 9, 6, 3, 10, // pix 0, 3 sample points, 1/12 units, 4 bits each
+ 3, 2, 9, 6, 3, 10, // pix 1
+ 9, 2, 3, 6, 9, 10, // pix 2
+ 9, 2, 3, 6, 9, 10, // pix 3
+
+ // vertical filter[7], 1/64 units, 6 bits each
+ 0, // line n-1
+ 0, // line n-1
+ 21, // line n
+ 22, // line n
+ 21, // line n
+ 0, // line n+1
+ 0 // line n+1
+};
+GXRenderModeObj GXMpal480IntDf =
+{
+ VI_TVMODE_MPAL_INT, // viDisplayMode
+ 640, // fbWidth
+ 480, // efbHeight
+ 480, // xfbHeight
+ (VI_MAX_WIDTH_MPAL - 640)/2, // viXOrigin
+ (VI_MAX_HEIGHT_MPAL - 480)/2, // viYOrigin
+ 640, // viWidth
+ 480, // viHeight
+ VI_XFBMODE_DF, // xFBmode
+ GX_FALSE, // field_rendering
+ GX_FALSE, // aa
+
+ // sample points arranged in increasing Y order
+ 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each
+ 6, 6, 6, 6, 6, 6, // pix 1
+ 6, 6, 6, 6, 6, 6, // pix 2
+ 6, 6, 6, 6, 6, 6, // pix 3
+
+ // vertical filter[7], 1/64 units, 6 bits each
+ 8, // line n-1
+ 8, // line n-1
+ 10, // line n
+ 12, // line n
+ 10, // line n
+ 8, // line n+1
+ 8 // line n+1
+};
+GXRenderModeObj GXMpal480Int =
+{
+ VI_TVMODE_MPAL_INT, // viDisplayMode
+ 640, // fbWidth
+ 480, // efbHeight
+ 480, // xfbHeight
+ (VI_MAX_WIDTH_MPAL - 640)/2, // viXOrigin
+ (VI_MAX_HEIGHT_MPAL - 480)/2, // viYOrigin
+ 640, // viWidth
+ 480, // viHeight
+ VI_XFBMODE_DF, // xFBmode
+ GX_FALSE, // field_rendering
+ GX_FALSE, // aa
+
+ // sample points arranged in increasing Y order
+ 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each
+ 6, 6, 6, 6, 6, 6, // pix 1
+ 6, 6, 6, 6, 6, 6, // pix 2
+ 6, 6, 6, 6, 6, 6, // pix 3
+
+ // vertical filter[7], 1/64 units, 6 bits each
+ 0, // line n-1
+ 0, // line n-1
+ 21, // line n
+ 22, // line n
+ 21, // line n
+ 0, // line n+1
+ 0 // line n+1
+};
+GXRenderModeObj GXMpal480IntAa =
+{
+ VI_TVMODE_MPAL_INT, // viDisplayMode
+ 640, // fbWidth
+ 242, // efbHeight
+ 480, // xfbHeight
+ (VI_MAX_WIDTH_MPAL - 640)/2, // viXOrigin
+ (VI_MAX_HEIGHT_MPAL - 480)/2, // viYOrigin
+ 640, // viWidth
+ 480, // viHeight
+ VI_XFBMODE_DF, // xFBmode
+ GX_FALSE, // field_rendering
+ GX_TRUE, // aa
+
+ // sample points arranged in increasing Y order
+ 3, 2, 9, 6, 3, 10, // pix 0, 3 sample points, 1/12 units, 4 bits each
+ 3, 2, 9, 6, 3, 10, // pix 1
+ 9, 2, 3, 6, 9, 10, // pix 2
+ 9, 2, 3, 6, 9, 10, // pix 3
+
+ // vertical filter[7], 1/64 units, 6 bits each
+ 4, // line n-1
+ 8, // line n-1
+ 12, // line n
+ 16, // line n
+ 12, // line n
+ 8, // line n+1
+ 4 // line n+1
+};
+GXRenderModeObj GXMpal480Prog =
+{
+ VI_TVMODE_MPAL_PROG, // viDisplayMode
+ 640, // fbWidth
+ 480, // efbHeight
+ 480, // xfbHeight
+ (VI_MAX_WIDTH_MPAL - 640)/2, // viXOrigin
+ (VI_MAX_HEIGHT_MPAL - 480)/2, // viYOrigin
+ 640, // viWidth
+ 480, // viHeight
+ VI_XFBMODE_SF, // xFBmode
+ GX_FALSE, // field_rendering
+ GX_FALSE, // aa
+
+ // sample points arranged in increasing Y order
+ 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each
+ 6, 6, 6, 6, 6, 6, // pix 1
+ 6, 6, 6, 6, 6, 6, // pix 2
+ 6, 6, 6, 6, 6, 6, // pix 3
+
+ // vertical filter[7], 1/64 units, 6 bits each
+ 0, // line n-1
+ 0, // line n-1
+ 21, // line n
+ 22, // line n
+ 21, // line n
+ 0, // line n+1
+ 0 // line n+1
+};
+GXRenderModeObj GXMpal480ProgSoft =
+{
+ VI_TVMODE_MPAL_PROG, // viDisplayMode
+ 640, // fbWidth
+ 480, // efbHeight
+ 480, // xfbHeight
+ (VI_MAX_WIDTH_MPAL - 640)/2, // viXOrigin
+ (VI_MAX_HEIGHT_MPAL - 480)/2, // viYOrigin
+ 640, // viWidth
+ 480, // viHeight
+ VI_XFBMODE_SF, // xFBmode
+ GX_FALSE, // field_rendering
+ GX_FALSE, // aa
+
+ // sample points arranged in increasing Y order
+ 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each
+ 6, 6, 6, 6, 6, 6, // pix 1
+ 6, 6, 6, 6, 6, 6, // pix 2
+ 6, 6, 6, 6, 6, 6, // pix 3
+
+ // vertical filter[7], 1/64 units, 6 bits each
+ 8, // line n-1
+ 8, // line n-1
+ 10, // line n
+ 12, // line n
+ 10, // line n
+ 8, // line n+1
+ 8 // line n+1
+};
+GXRenderModeObj GXMpal480ProgAa =
+{
+ VI_TVMODE_MPAL_PROG, // viDisplayMode
+ 640, // fbWidth
+ 242, // efbHeight
+ 480, // xfbHeight
+ (VI_MAX_WIDTH_MPAL - 640)/2, // viXOrigin
+ (VI_MAX_HEIGHT_MPAL - 480)/2, // viYOrigin
+ 640, // viWidth
+ 480, // viHeight
+ VI_XFBMODE_SF, // xFBmode
+ GX_FALSE, // field_rendering
+ GX_TRUE, // aa
+
+ // sample points arranged in increasing Y order
+ 3, 2, 9, 6, 3, 10, // pix 0, 3 sample points, 1/12 units, 4 bits each
+ 3, 2, 9, 6, 3, 10, // pix 1
+ 9, 2, 3, 6, 9, 10, // pix 2
+ 9, 2, 3, 6, 9, 10, // pix 3
+
+ // vertical filter[7], 1/64 units, 6 bits each
+ 4, // line n-1
+ 8, // line n-1
+ 12, // line n
+ 16, // line n
+ 12, // line n
+ 8, // line n+1
+ 4 // line n+1
+};
+/*---------------------------------------------------------------------------*/
+
+GXRenderModeObj GXPal264Ds =
+{
+ VI_TVMODE_PAL_DS, // viDisplayMode
+ 640, // fbWidth
+ 264, // efbHeight
+ 264, // xfbHeight
+ (VI_MAX_WIDTH_PAL - 640)/2, // viXOrigin
+ (VI_MAX_HEIGHT_PAL/2 - 528/2)/2, // viYOrigin
+ 640, // viWidth
+ 528, // viHeight
+ VI_XFBMODE_SF, // xFBmode
+ GX_FALSE, // field_rendering
+ GX_FALSE, // aa
+
+ // sample points arranged in increasing Y order
+ 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each
+ 6, 6, 6, 6, 6, 6, // pix 1
+ 6, 6, 6, 6, 6, 6, // pix 2
+ 6, 6, 6, 6, 6, 6, // pix 3
+
+ // vertical filter[7], 1/64 units, 6 bits each
+ 0, // line n-1
+ 0, // line n-1
+ 21, // line n
+ 22, // line n
+ 21, // line n
+ 0, // line n+1
+ 0 // line n+1
+};
+GXRenderModeObj GXPal264DsAa =
+{
+ VI_TVMODE_PAL_DS, // viDisplayMode
+ 640, // fbWidth
+ 264, // efbHeight
+ 264, // xfbHeight
+ (VI_MAX_WIDTH_PAL - 640)/2, // viXOrigin
+ (VI_MAX_HEIGHT_PAL/2 - 528/2)/2, // viYOrigin
+ 640, // viWidth
+ 528, // viHeight
+ VI_XFBMODE_SF, // xFBmode
+ GX_FALSE, // field_rendering
+ GX_TRUE, // aa
+
+ // sample points arranged in increasing Y order
+ 3, 2, 9, 6, 3, 10, // pix 0, 3 sample points, 1/12 units, 4 bits each
+ 3, 2, 9, 6, 3, 10, // pix 1
+ 9, 2, 3, 6, 9, 10, // pix 2
+ 9, 2, 3, 6, 9, 10, // pix 3
+
+ // vertical filter[7], 1/64 units, 6 bits each
+ 0, // line n-1
+ 0, // line n-1
+ 21, // line n
+ 22, // line n
+ 21, // line n
+ 0, // line n+1
+ 0 // line n+1
+};
+GXRenderModeObj GXPal264Int =
+{
+ VI_TVMODE_PAL_INT, // viDisplayMode
+ 640, // fbWidth
+ 264, // efbHeight
+ 264, // xfbHeight
+ (VI_MAX_WIDTH_PAL - 640)/2, // viXOrigin
+ (VI_MAX_HEIGHT_PAL - 528)/2, // viYOrigin
+ 640, // viWidth
+ 528, // viHeight
+ VI_XFBMODE_SF, // xFBmode
+ GX_TRUE, // field_rendering
+ GX_FALSE, // aa
+
+ // sample points arranged in increasing Y order
+ 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each
+ 6, 6, 6, 6, 6, 6, // pix 1
+ 6, 6, 6, 6, 6, 6, // pix 2
+ 6, 6, 6, 6, 6, 6, // pix 3
+
+ // vertical filter[7], 1/64 units, 6 bits each
+ 0, // line n-1
+ 0, // line n-1
+ 21, // line n
+ 22, // line n
+ 21, // line n
+ 0, // line n+1
+ 0 // line n+1
+};
+GXRenderModeObj GXPal264IntAa =
+{
+ VI_TVMODE_PAL_INT, // viDisplayMode
+ 640, // fbWidth
+ 264, // efbHeight
+ 264, // xfbHeight
+ (VI_MAX_WIDTH_PAL - 640)/2, // viXOrigin
+ (VI_MAX_HEIGHT_PAL - 528)/2, // viYOrigin
+ 640, // viWidth
+ 528, // viHeight
+ VI_XFBMODE_SF, // xFBmode
+ GX_TRUE, // field_rendering
+ GX_TRUE, // aa
+
+ // sample points arranged in increasing Y order
+ 3, 2, 9, 6, 3, 10, // pix 0, 3 sample points, 1/12 units, 4 bits each
+ 3, 2, 9, 6, 3, 10, // pix 1
+ 9, 2, 3, 6, 9, 10, // pix 2
+ 9, 2, 3, 6, 9, 10, // pix 3
+
+ // vertical filter[7], 1/64 units, 6 bits each
+ 0, // line n-1
+ 0, // line n-1
+ 21, // line n
+ 22, // line n
+ 21, // line n
+ 0, // line n+1
+ 0 // line n+1
+};
+GXRenderModeObj GXPal528IntDf =
+{
+ VI_TVMODE_PAL_INT, // viDisplayMode
+ 640, // fbWidth
+ 528, // efbHeight
+ 528, // xfbHeight
+ (VI_MAX_WIDTH_PAL - 640)/2, // viXOrigin
+ (VI_MAX_HEIGHT_PAL - 528)/2, // viYOrigin
+ 640, // viWidth
+ 528, // viHeight
+ VI_XFBMODE_DF, // xFBmode
+ GX_FALSE, // field_rendering
+ GX_FALSE, // aa
+
+ // sample points arranged in increasing Y order
+ 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each
+ 6, 6, 6, 6, 6, 6, // pix 1
+ 6, 6, 6, 6, 6, 6, // pix 2
+ 6, 6, 6, 6, 6, 6, // pix 3
+
+ // vertical filter[7], 1/64 units, 6 bits each
+ 8, // line n-1
+ 8, // line n-1
+ 10, // line n
+ 12, // line n
+ 10, // line n
+ 8, // line n+1
+ 8 // line n+1
+};
+GXRenderModeObj GXPal528Int =
+{
+ VI_TVMODE_PAL_INT, // viDisplayMode
+ 640, // fbWidth
+ 528, // efbHeight
+ 528, // xfbHeight
+ (VI_MAX_WIDTH_PAL - 640)/2, // viXOrigin
+ (VI_MAX_HEIGHT_PAL - 528)/2, // viYOrigin
+ 640, // viWidth
+ 528, // viHeight
+ VI_XFBMODE_DF, // xFBmode
+ GX_FALSE, // field_rendering
+ GX_FALSE, // aa
+
+ // sample points arranged in increasing Y order
+ 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each
+ 6, 6, 6, 6, 6, 6, // pix 1
+ 6, 6, 6, 6, 6, 6, // pix 2
+ 6, 6, 6, 6, 6, 6, // pix 3
+
+ // vertical filter[7], 1/64 units, 6 bits each
+ 0, // line n-1
+ 0, // line n-1
+ 21, // line n
+ 22, // line n
+ 21, // line n
+ 0, // line n+1
+ 0 // line n+1
+};
+GXRenderModeObj GXPal524IntAa =
+{
+ VI_TVMODE_PAL_INT, // viDisplayMode
+ 640, // fbWidth
+ 264, // efbHeight (maximum is 528/2)
+ 524, // xfbHeight (allow for required overlap of 4 lines)
+ (VI_MAX_WIDTH_PAL - 640)/2, // viXOrigin
+ (VI_MAX_HEIGHT_PAL - 528)/2, // viYOrigin
+ 640, // viWidth
+ 524, // viHeight
+ VI_XFBMODE_DF, // xFBmode
+ GX_FALSE, // field_rendering
+ GX_TRUE, // aa
+
+ // sample points arranged in increasing Y order
+ 3, 2, 9, 6, 3, 10, // pix 0, 3 sample points, 1/12 units, 4 bits each
+ 3, 2, 9, 6, 3, 10, // pix 1
+ 9, 2, 3, 6, 9, 10, // pix 2
+ 9, 2, 3, 6, 9, 10, // pix 3
+
+ // vertical filter[7], 1/64 units, 6 bits each
+ 4, // line n-1
+ 8, // line n-1
+ 12, // line n
+ 16, // line n
+ 12, // line n
+ 8, // line n+1
+ 4 // line n+1
+};
+
+GXRenderModeObj GXEurgb60Hz240Ds =
+{
+ VI_TVMODE_EURGB60_DS, // viTVmode
+ 640, // fbWidth
+ 240, // efbHeight
+ 240, // xfbHeight
+ (VI_MAX_WIDTH_EURGB60 - 640)/2, // viXOrigin
+ (VI_MAX_HEIGHT_EURGB60/2 - 480/2)/2, // viYOrigin
+ 640, // viWidth
+ 480, // viHeight
+ VI_XFBMODE_SF, // xFBmode
+ GX_FALSE, // field_rendering
+ GX_FALSE, // aa
+
+ // sample points arranged in increasing Y order
+ 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each
+ 6, 6, 6, 6, 6, 6, // pix 1
+ 6, 6, 6, 6, 6, 6, // pix 2
+ 6, 6, 6, 6, 6, 6, // pix 3
+
+ // vertical filter[7], 1/64 units, 6 bits each
+ 0, // line n-1
+ 0, // line n-1
+ 21, // line n
+ 22, // line n
+ 21, // line n
+ 0, // line n+1
+ 0 // line n+1
+};
+GXRenderModeObj GXEurgb60Hz240DsAa =
+{
+ VI_TVMODE_EURGB60_DS, // viTVmode
+ 640, // fbWidth
+ 240, // efbHeight
+ 240, // xfbHeight
+ (VI_MAX_WIDTH_EURGB60 - 640)/2, // viXOrigin
+ (VI_MAX_HEIGHT_EURGB60/2 - 480/2)/2, // viYOrigin
+ 640, // viWidth
+ 480, // viHeight
+ VI_XFBMODE_SF, // xFBmode
+ GX_FALSE, // field_rendering
+ GX_TRUE, // aa
+
+ // sample points arranged in increasing Y order
+ 3, 2, 9, 6, 3, 10, // pix 0, 3 sample points, 1/12 units, 4 bits each
+ 3, 2, 9, 6, 3, 10, // pix 1
+ 9, 2, 3, 6, 9, 10, // pix 2
+ 9, 2, 3, 6, 9, 10, // pix 3
+
+ // vertical filter[7], 1/64 units, 6 bits each
+ 0, // line n-1
+ 0, // line n-1
+ 21, // line n
+ 22, // line n
+ 21, // line n
+ 0, // line n+1
+ 0 // line n+1
+};
+GXRenderModeObj GXEurgb60Hz240Int =
+{
+ VI_TVMODE_EURGB60_INT, // viTVmode
+ 640, // fbWidth
+ 240, // efbHeight
+ 240, // xfbHeight
+ (VI_MAX_WIDTH_EURGB60 - 640)/2, // viXOrigin
+ (VI_MAX_HEIGHT_EURGB60 - 480)/2, // viYOrigin
+ 640, // viWidth
+ 480, // viHeight
+ VI_XFBMODE_SF, // xFBmode
+ GX_TRUE, // field_rendering
+ GX_FALSE, // aa
+
+ // sample points arranged in increasing Y order
+ 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each
+ 6, 6, 6, 6, 6, 6, // pix 1
+ 6, 6, 6, 6, 6, 6, // pix 2
+ 6, 6, 6, 6, 6, 6, // pix 3
+
+ // vertical filter[7], 1/64 units, 6 bits each
+ 0, // line n-1
+ 0, // line n-1
+ 21, // line n
+ 22, // line n
+ 21, // line n
+ 0, // line n+1
+ 0 // line n+1
+};
+GXRenderModeObj GXEurgb60Hz240IntAa =
+{
+ VI_TVMODE_EURGB60_INT, // viTVmode
+ 640, // fbWidth
+ 240, // efbHeight
+ 240, // xfbHeight
+ (VI_MAX_WIDTH_EURGB60 - 640)/2, // viXOrigin
+ (VI_MAX_HEIGHT_EURGB60 - 480)/2, // viYOrigin
+ 640, // viWidth
+ 480, // viHeight
+ VI_XFBMODE_SF, // xFBmode
+ GX_TRUE, // field_rendering
+ GX_TRUE, // aa
+
+ // sample points arranged in increasing Y order
+ 3, 2, 9, 6, 3, 10, // pix 0, 3 sample points, 1/12 units, 4 bits each
+ 3, 2, 9, 6, 3, 10, // pix 1
+ 9, 2, 3, 6, 9, 10, // pix 2
+ 9, 2, 3, 6, 9, 10, // pix 3
+
+ // vertical filter[7], 1/64 units, 6 bits each
+ 0, // line n-1
+ 0, // line n-1
+ 21, // line n
+ 22, // line n
+ 21, // line n
+ 0, // line n+1
+ 0 // line n+1
+};
+GXRenderModeObj GXEurgb60Hz480IntDf =
+{
+ VI_TVMODE_EURGB60_INT, // viTVmode
+ 640, // fbWidth
+ 480, // efbHeight
+ 480, // xfbHeight
+ (VI_MAX_WIDTH_EURGB60 - 640)/2, // viXOrigin
+ (VI_MAX_HEIGHT_EURGB60 - 480)/2, // viYOrigin
+ 640, // viWidth
+ 480, // viHeight
+ VI_XFBMODE_DF, // xFBmode
+ GX_FALSE, // field_rendering
+ GX_FALSE, // aa
+
+ // sample points arranged in increasing Y order
+ 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each
+ 6, 6, 6, 6, 6, 6, // pix 1
+ 6, 6, 6, 6, 6, 6, // pix 2
+ 6, 6, 6, 6, 6, 6, // pix 3
+
+ // vertical filter[7], 1/64 units, 6 bits each
+ 8, // line n-1
+ 8, // line n-1
+ 10, // line n
+ 12, // line n
+ 10, // line n
+ 8, // line n+1
+ 8 // line n+1
+};
+GXRenderModeObj GXEurgb60Hz480Int =
+{
+ VI_TVMODE_EURGB60_INT, // viTVmode
+ 640, // fbWidth
+ 480, // efbHeight
+ 480, // xfbHeight
+ (VI_MAX_WIDTH_EURGB60 - 640)/2, // viXOrigin
+ (VI_MAX_HEIGHT_EURGB60 - 480)/2, // viYOrigin
+ 640, // viWidth
+ 480, // viHeight
+ VI_XFBMODE_DF, // xFBmode
+ GX_FALSE, // field_rendering
+ GX_FALSE, // aa
+
+ // sample points arranged in increasing Y order
+ 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each
+ 6, 6, 6, 6, 6, 6, // pix 1
+ 6, 6, 6, 6, 6, 6, // pix 2
+ 6, 6, 6, 6, 6, 6, // pix 3
+
+ // vertical filter[7], 1/64 units, 6 bits each
+ 0, // line n-1
+ 0, // line n-1
+ 21, // line n
+ 22, // line n
+ 21, // line n
+ 0, // line n+1
+ 0 // line n+1
+};
+GXRenderModeObj GXEurgb60Hz480IntAa =
+{
+ VI_TVMODE_EURGB60_INT, // viTVmode
+ 640, // fbWidth
+ 242, // efbHeight
+ 480, // xfbHeight
+ (VI_MAX_WIDTH_EURGB60 - 640)/2, // viXOrigin
+ (VI_MAX_HEIGHT_EURGB60 - 480)/2, // viYOrigin
+ 640, // viWidth
+ 480, // viHeight
+ VI_XFBMODE_DF, // xFBmode
+ GX_FALSE, // field_rendering
+ GX_TRUE, // aa
+
+ // sample points arranged in increasing Y order
+ 3, 2, 9, 6, 3, 10, // pix 0, 3 sample points, 1/12 units, 4 bits each
+ 3, 2, 9, 6, 3, 10, // pix 1
+ 9, 2, 3, 6, 9, 10, // pix 2
+ 9, 2, 3, 6, 9, 10, // pix 3
+
+ // vertical filter[7], 1/64 units, 6 bits each
+ 4, // line n-1
+ 8, // line n-1
+ 12, // line n
+ 16, // line n
+ 12, // line n
+ 8, // line n+1
+ 4 // line n+1
+};
+GXRenderModeObj GXEurgb60Hz480Prog =
+{
+ VI_TVMODE_EURGB60_PROG, // viDisplayMode
+ 640, // fbWidth
+ 480, // efbHeight
+ 480, // xfbHeight
+ (VI_MAX_WIDTH_EURGB60 - 640)/2, // viXOrigin
+ (VI_MAX_HEIGHT_EURGB60 - 480)/2, // viYOrigin
+ 640, // viWidth
+ 480, // viHeight
+ VI_XFBMODE_SF, // xFBmode
+ GX_FALSE, // field_rendering
+ GX_FALSE, // aa
+
+ // sample points arranged in increasing Y order
+ 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each
+ 6, 6, 6, 6, 6, 6, // pix 1
+ 6, 6, 6, 6, 6, 6, // pix 2
+ 6, 6, 6, 6, 6, 6, // pix 3
+
+ // vertical filter[7], 1/64 units, 6 bits each
+ 0, // line n-1
+ 0, // line n-1
+ 21, // line n
+ 22, // line n
+ 21, // line n
+ 0, // line n+1
+ 0 // line n+1
+};
+GXRenderModeObj GXEurgb60Hz480ProgSoft =
+{
+ VI_TVMODE_EURGB60_PROG, // viDisplayMode
+ 640, // fbWidth
+ 480, // efbHeight
+ 480, // xfbHeight
+ (VI_MAX_WIDTH_EURGB60 - 640)/2, // viXOrigin
+ (VI_MAX_HEIGHT_EURGB60 - 480)/2, // viYOrigin
+ 640, // viWidth
+ 480, // viHeight
+ VI_XFBMODE_SF, // xFBmode
+ GX_FALSE, // field_rendering
+ GX_FALSE, // aa
+
+ // sample points arranged in increasing Y order
+ 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each
+ 6, 6, 6, 6, 6, 6, // pix 1
+ 6, 6, 6, 6, 6, 6, // pix 2
+ 6, 6, 6, 6, 6, 6, // pix 3
+
+ // vertical filter[7], 1/64 units, 6 bits each
+ 8, // line n-1
+ 8, // line n-1
+ 10, // line n
+ 12, // line n
+ 10, // line n
+ 8, // line n+1
+ 8 // line n+1
+};
+GXRenderModeObj GXEurgb60Hz480ProgAa =
+{
+ VI_TVMODE_EURGB60_PROG, // viDisplayMode
+ 640, // fbWidth
+ 242, // efbHeight
+ 480, // xfbHeight
+ (VI_MAX_WIDTH_EURGB60 - 640)/2, // viXOrigin
+ (VI_MAX_HEIGHT_EURGB60 - 480)/2, // viYOrigin
+ 640, // viWidth
+ 480, // viHeight
+ VI_XFBMODE_SF, // xFBmode
+ GX_FALSE, // field_rendering
+ GX_TRUE, // aa
+
+ // sample points arranged in increasing Y order
+ 3, 2, 9, 6, 3, 10, // pix 0, 3 sample points, 1/12 units, 4 bits each
+ 3, 2, 9, 6, 3, 10, // pix 1
+ 9, 2, 3, 6, 9, 10, // pix 2
+ 9, 2, 3, 6, 9, 10, // pix 3
+
+ // vertical filter[7], 1/64 units, 6 bits each
+ 4, // line n-1
+ 8, // line n-1
+ 12, // line n
+ 16, // line n
+ 12, // line n
+ 8, // line n+1
+ 4 // line n+1
+};
+
+
+#endif // #if 0
+/*---------------------------------------------------------------------------*/
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // __GXFRAMEBUFFER_H__
|