From 5be1e23a0cf5b621680460020884423eb67b8399 Mon Sep 17 00:00:00 2001 From: dborca <> Date: Thu, 19 Jun 2003 08:38:28 +0000 Subject: [PATCH] fixes: DOS gamma, modetabl.h timings (avoid shimmering), Napalm memory probing, more DJGPP MMX specializations, new 32bit texture files, Linux build valid again, etc. --- glide3x/h3/cinit/h3cinit.c | 114 +++---- glide3x/h3/cinit/h3cinit.h | 96 +++--- glide3x/h3/cinit/modetabl.h | 294 ++++++++--------- glide3x/h3/glide3/src/assyntax.h | 33 ++ glide3x/h3/glide3/src/makefile.autoconf.am | 30 +- glide3x/h3/glide3/src/xdraw2.S | 7 +- glide3x/h3/incsrc/h3cinit.h | 98 +++--- glide3x/h5/glide3/src/glfb.c | 2 + glide3x/h5/glide3/src/glide.h | 2 +- glide3x/h5/glide3/tests/t1kx32.3df | Bin 0 -> 4194361 bytes glide3x/h5/glide3/tests/t2kx32.3df | Bin 0 -> 16777273 bytes glide3x/h5/incsrc/h3cinit.h | 5 +- glide3x/h5/minihwc/minihwc.c | 355 ++++++++++++++++++++- 13 files changed, 670 insertions(+), 366 deletions(-) create mode 100644 glide3x/h3/glide3/src/assyntax.h create mode 100644 glide3x/h5/glide3/tests/t1kx32.3df create mode 100644 glide3x/h5/glide3/tests/t2kx32.3df diff --git a/glide3x/h3/cinit/h3cinit.c b/glide3x/h3/cinit/h3cinit.c index 08d625a..c4b96d6 100644 --- a/glide3x/h3/cinit/h3cinit.c +++ b/glide3x/h3/cinit/h3cinit.c @@ -376,55 +376,60 @@ Information: Return: FxU32 The size of memory in MBs. ----------------------------------------------------------------------*/ -FxU32 -h3InitGetMemSize(FxU32 regBase) // init io-register base +FxU32 h3InitGetMemSize (FxU32 regBase, FxBool isNapalm) { - FxU32 - memType, // SGRAM or SDRAM - partSize, // size of SGRAM chips in Mbits - memSize, // total size of memory in MBytes - nChips, // # of chips of SDRAM/SGRAM - dramInit1_strap, - dramInit0_strap; - - // determine memory type: SDRAM or SGRAM - memType = MEM_TYPE_SGRAM; - dramInit1_strap = IGET32(dramInit1); - dramInit1_strap &= SST_MCTL_TYPE_SDRAM; - if ( dramInit1_strap & SST_MCTL_TYPE_SDRAM ) - memType = MEM_TYPE_SDRAM; + FxU32 partSize, // size of SGRAM chips in Mbits + nChips, // # of chips of SDRAM/SGRAM + dramInit0_strap; - // determine memory size from strapping pins (dramInit0 and dramInit1) - dramInit0_strap = IGET32(dramInit0); - dramInit0_strap &= SST_SGRAM_TYPE | SST_SGRAM_NUM_CHIPSETS; + /* Determine memory size from strapping pins (dramInit0). */ - if ( memType == MEM_TYPE_SDRAM ) { - nChips = 8; - partSize = 16; - memSize = 16; - - // avoid minor performance hit when using SDRAM - dramInit0_strap &= ~SST_SGRAM_NUM_CHIPSETS; + dramInit0_strap = IGET32(dramInit0); + +#ifdef FX_GLIDE_NAPALM + if (isNapalm) { + // Napalm memory sizing + + dramInit0_strap &= SST_H5_SGRAM_TYPE | SST_SGRAM_NUM_CHIPSETS; - } else { nChips = ((dramInit0_strap & SST_SGRAM_NUM_CHIPSETS) == 0) ? 4 : 8; - - if ( (dramInit0_strap & SST_SGRAM_TYPE) == SST_SGRAM_TYPE_8MBIT ) { - partSize = 8; - } else if ( (dramInit0_strap & SST_SGRAM_TYPE) == SST_SGRAM_TYPE_16MBIT) { - partSize = 16; - } else { - MESSAGE("h3InitGetMemSize: invalid sgram type = 0x%x", - (dramInit0_strap & SST_SGRAM_TYPE) << SST_SGRAM_TYPE_SHIFT ); - return 0; + + switch (dramInit0_strap & SST_H5_SGRAM_TYPE) { + case SST_SGRAM_TYPE_8MBIT: partSize = 8; break; + case SST_SGRAM_TYPE_16MBIT: partSize = 16; break; + case SST_SGRAM_TYPE_32MBIT: partSize = 32; break; + case SST_SGRAM_TYPE_64MBIT: partSize = 64; break; + case SST_SGRAM_TYPE_128MBIT: partSize = 128; break; + default: return 0; // invalid sgram type! } - } + } else +#endif /* FX_GLIDE_NAPALM */ - memSize = (nChips * partSize) / 8; // in MBytes + { + // Banshee and Avenger memory sizing + // determine memory type: SDRAM or SGRAM + FxU32 dramInit1_strap = IGET32(dramInit1); - return (memSize); + if (dramInit1_strap & SST_MCTL_TYPE_SDRAM) { + nChips = 8; + partSize = 16; + } else { + dramInit0_strap &= SST_H4_SGRAM_TYPE | SST_SGRAM_NUM_CHIPSETS; + nChips = ((dramInit0_strap & SST_SGRAM_NUM_CHIPSETS) == 0) ? 4 : 8; + + switch (dramInit0_strap & SST_H4_SGRAM_TYPE) { + case SST_SGRAM_TYPE_8MBIT: partSize = 8; break; + case SST_SGRAM_TYPE_16MBIT: partSize = 16; break; + default: return 0; // invalid sgram type! + } + } + } + + /* Compute memory size in megabytes. */ + + return (nChips * partSize) / 8; } @@ -792,26 +797,25 @@ Information: Return: (FxU16 *) Ptr to the entry in the mode table, NULL if failure. ----------------------------------------------------------------------*/ -FxU16 * -h3InitFindVideoMode(FxU32 xRes, - FxU32 yRes, - FxU32 refresh) +FxU16 *h3InitFindVideoMode (FxU32 xRes, FxU32 yRes, FxU32 refresh) { - int i = 0; + int i = 0; + int best = -1; + FxU32 error = -1; - while (mode_table[i][0] != 0) - { - if ((mode_table[i][0] == xRes) && - (mode_table[i][1] == yRes) && - (mode_table[i][2] == refresh)) - { - return &mode_table[i][3]; - } + while (mode_table[i][0] != 0) { + if ((mode_table[i][0] == xRes) && (mode_table[i][1] == yRes)) { + FxU32 d = abs(mode_table[i][2] - refresh); + if (error > d) { + error = d; + best = i; + } + } - i += 1; - } + i++; + } - return NULL; + return (best == -1) ? NULL : (&mode_table[best][3]); } diff --git a/glide3x/h3/cinit/h3cinit.h b/glide3x/h3/cinit/h3cinit.h index 5efb7a1..e45cec3 100644 --- a/glide3x/h3/cinit/h3cinit.h +++ b/glide3x/h3/cinit/h3cinit.h @@ -1,3 +1,5 @@ +/* -*-c++-*- */ +/* $Header$ */ /* ** THIS SOFTWARE IS SUBJECT TO COPYRIGHT PROTECTION AND IS OFFERED ONLY ** PURSUANT TO THE 3DFX GLIDE GENERAL PUBLIC LICENSE. THERE IS NO RIGHT @@ -17,24 +19,9 @@ ** ** COPYRIGHT 3DFX INTERACTIVE, INC. 1999, ALL RIGHTS RESERVED ** -** File name: h3cinit.h -** -** Description: Macros & function definitions for Banshee/Avenger. ** ** $Revision$ ** $Date$ -** -** $History: h3cinit.h $ -** -** ***************** Version 1 ***************** -** User: Sapphire Date: 3/16/99 Time: 7:28p -** Created in $/Releases/Voodoo3/V3_OEM_100/3dfx/devel/H3/cinit -** -** ***************** Version 21 ***************** -** User: Michael Date: 1/05/99 Time: 8:45a -** Updated in $/devel/h3/Win95/dx/minivdd -** Implement the 3Dfx/STB unified header. -** */ @@ -54,25 +41,26 @@ #define DEFAULT_GRXCLK_SPEED H3_GRXCLK_SPEED #endif -FxU32 // return # of MB of memory -h3InitGetMemSize(FxU32 regBase);// init register base +FxU32 // return # of MB of memory +h3InitGetMemSize(FxU32 regBase, // init register base + FxBool isNapalm);// Napalm FxU32 // return # of MB of memory h3InitSgram(FxU32 regBase, // init iegister base FxU32 sgramMode, FxU32 sgramMask, FxU32 sgramColor, - char *vendorName); // NULL or name of SGRAM vendor + char *vendorName); // NULL or name of SGRAM vendor void -h3InitPlls(FxU32 regBase, // init iegister base - FxU32 grxSpeedInMHz, // desired GRX clock frequency (MHz) +h3InitPlls(FxU32 regBase, // init iegister base + FxU32 grxSpeedInMHz, // desired GRX clock frequency (MHz) FxU32 memSpeedInMHz); // desired MEM clock frequency (MHz) void -h4InitPlls(FxU32 regBase, // init register base - FxU32 deviceID, // H4 or H4_OEM - FxU32 grxSpeedInMHz); // desired clock frequency (MHz) +h4InitPlls(FxU32 regBase, // init register base + FxU32 deviceID, // H4 or H4_OEM + FxU32 grxSpeedInMHz); // desired clock frequency (MHz) void h3InitVga( @@ -82,7 +70,7 @@ h3InitVga( void h3InitVideoProc( FxU32 regBase, // memory base address - FxU32 vidProcCfg); // vidProcCfg register control bits + FxU32 vidProcCfg); // vidProcCfg register control bits FxBool h3InitSetVideoMode( @@ -90,46 +78,46 @@ h3InitSetVideoMode( FxU32 xRes, // x resolution FxU32 yRes, // y resolution FxU32 refresh, // refresh freq -#if defined(H3VDD) +#if defined(H3VDD) && defined(H3_B0) FxU32 loadClut, // really a bool, should we load the lookup table FxU32 scanlinedouble); // set scanline double bit and double y? #else - FxU32 loadClut) ; // initialize clut entries? + FxU32 loadClut) ; // initialize clut entries? #endif void h3InitVideoDesktopSurface( FxU32 regBase, - FxU32 enable, // 1=enable desktop surface (DS), 1=disable - FxU32 tiled, // 0=DS linear, 1=tiled - FxU32 pixFmt, // pixel format of DS - FxU32 clutBypass, // bypass clut for DS? - FxU32 clutSelect, // 0=lower 256 CLUT entries, 1=upper 256 - FxU32 startAddress, // board address of beginning of DS - FxU32 stride); // distance between scanlines of the DS, in - // units of bytes for linear DS's and tiles for - // tiled DS's + FxU32 enable, // 1=enable desktop surface (DS), 1=disable + FxU32 tiled, // 0=DS linear, 1=tiled + FxU32 pixFmt, // pixel format of DS + FxU32 clutBypass, // bypass clut for DS? + FxU32 clutSelect, // 0=lower 256 CLUT entries, 1=upper 256 + FxU32 startAddress, // board address of beginning of DS + FxU32 stride); // distance between scanlines of the DS, in + // units of bytes for linear DS's and tiles for + // tiled DS's void h3InitVideoOverlaySurface( FxU32 regBase, - FxU32 enable, // 1=enable Overlay surface (OS), 1=disable - FxU32 stereo, // 1=enable OS stereo, 0=disable - FxU32 horizScaling, // 1=enable horizontal scaling, 0=disable - FxU32 dudx, // horizontal scale factor (ignored if not - // scaling) - FxU32 verticalScaling, // 1=enable vertical scaling, 0=disable - FxU32 dvdy, // vertical scale factor (ignored if not - // scaling) - FxU32 filterMode, // duh - FxU32 tiled, // 0=OS linear, 1=tiled - FxU32 pixFmt, // pixel format of OS - FxU32 clutBypass, // bypass clut for OS? - FxU32 clutSelect, // 0=lower 256 CLUT entries, 1=upper 256 - FxU32 startAddress, // board address of beginning of OS - FxU32 stride); // distance between scanlines of the OS, in - // units of bytes for linear OS's and tiles for - // tiled OS's + FxU32 enable, // 1=enable Overlay surface (OS), 1=disable + FxU32 stereo, // 1=enable OS stereo, 0=disable + FxU32 horizScaling, // 1=enable horizontal scaling, 0=disable + FxU32 dudx, // horizontal scale factor (ignored if not + // scaling) + FxU32 verticalScaling, // 1=enable vertical scaling, 0=disable + FxU32 dvdy, // vertical scale factor (ignored if not + // scaling) + FxU32 filterMode, // duh + FxU32 tiled, // 0=OS linear, 1=tiled + FxU32 pixFmt, // pixel format of OS + FxU32 clutBypass, // bypass clut for OS? + FxU32 clutSelect, // 0=lower 256 CLUT entries, 1=upper 256 + FxU32 startAddress, // board address of beginning of OS + FxU32 stride); // distance between scanlines of the OS, in + // units of bytes for linear OS's and tiles for + // tiled OS's #ifndef H3VDD void @@ -140,8 +128,8 @@ h3InitMeasureSiProcess( void h3InitBlockWrite( FxU32 regBase, - FxU32 enable, // 1=enable block writes, 0=disable - FxU32 threshhold); // block write threshhold + FxU32 enable, // 1=enable block writes, 0=disable + FxU32 threshhold); // block write threshhold void h3InitResetAll( diff --git a/glide3x/h3/cinit/modetabl.h b/glide3x/h3/cinit/modetabl.h index ffe5259..e9f06de 100644 --- a/glide3x/h3/cinit/modetabl.h +++ b/glide3x/h3/cinit/modetabl.h @@ -153,176 +153,136 @@ // x y rr, 0h 1h 2h 3h 4h 5h 6h 7h 9h 10h 11h 12h 15h 16h 1ah 1bh 3c2 SR1 pllctrl0 dacmode // x y rr, Htotl HDEnE HBlSt HBlEn HSySt HSyEn Vtotl Ovflw MxSLn VSySt VSyEn VDEnE VBlSt VBlEn HExtn VExtn MiscO SR1 pllctrl0 dacmode // New Standardized modetable for both 3Dfx and STB -{ 320, 200, 70, 0x2d, 0x27, 0x27, 0x91, 0x29, 0x8f, 0xbf, 0x1f, 0xc0, 0x9c, - 0x2e, 0x8f, 0x97, 0xb8, 0x80, 0x00, 0x4f, 0x21, 0x73, 0xd1, 0x00}, -{ 320, 200, 85, 0x2f, 0x27, 0x27, 0x93, 0x2a, 0x8e, 0xbb, 0x1f, 0xc0, 0x90, - 0x23, 0x8f, 0x8f, 0xbc, 0x80, 0x00, 0x4f, 0x21, 0xd5, 0x77, 0x00}, -{ 320, 240, 60, 0x2d, 0x27, 0x27, 0x91, 0x29, 0x8f, 0x0b, 0x3e, 0xc0, 0xe9, +{ 640, 480, 60, 0x5f, 0x4f, 0x4f, 0x83, 0x51, 0x9d, 0x0b, 0x3e, 0x40, 0xe9, + 0x2b, 0xdf, 0xdf, 0x0c, 0x00, 0x00, 0xcf, 0x21, 0x37, 0xd1, 0x00}, +{ 640, 480, 72, 0x63, 0x4f, 0x4f, 0x87, 0x52, 0x97, 0x06, 0x3e, 0x40, 0xe8, + 0x2b, 0xdf, 0xdf, 0x07, 0x00, 0x00, 0xcf, 0x21, 0x0f, 0x56, 0x00}, +{ 640, 480, 75, 0x64, 0x4f, 0x4f, 0x88, 0x51, 0x99, 0xf2, 0x1f, 0x40, 0xe0, + 0x23, 0xdf, 0xdf, 0xf3, 0x00, 0x00, 0xcf, 0x21, 0x0f, 0x56, 0x00}, +{ 640, 480, 85, 0x63, 0x4f, 0x4f, 0x87, 0x56, 0x9d, 0xfb, 0x1f, 0x40, 0xe0, + 0x23, 0xdf, 0xdf, 0xfc, 0x00, 0x00, 0xcf, 0x21, 0x1f, 0xb3, 0x00}, +{ 800, 600, 56, 0x7b, 0x63, 0x63, 0x9f, 0x66, 0x8f, 0x6f, 0xf0, 0x60, 0x58, + 0x2a, 0x57, 0x57, 0x70, 0x80, 0x00, 0x0f, 0x21, 0x1f, 0xb3, 0x00}, +{ 800, 600, 60, 0x7f, 0x63, 0x63, 0x83, 0x68, 0x18, 0x72, 0xf0, 0x60, 0x58, + 0x2c, 0x57, 0x57, 0x73, 0xa0, 0x00, 0x0f, 0x21, 0x27, 0xf4, 0x00}, +{ 800, 600, 72, 0x7d, 0x63, 0x63, 0x81, 0x6a, 0x19, 0x98, 0xf0, 0x60, 0x7c, + 0x22, 0x57, 0x57, 0x99, 0xa0, 0x00, 0x0f, 0x21, 0x1f, 0xf9, 0x00}, +{ 800, 600, 75, 0x7f, 0x63, 0x63, 0x83, 0x65, 0x0f, 0x6f, 0xf0, 0x60, 0x58, + 0x2b, 0x57, 0x57, 0x70, 0xa0, 0x00, 0x0f, 0x21, 0x07, 0x51, 0x00}, +{ 800, 600, 85, 0x7e, 0x63, 0x63, 0x82, 0x67, 0x0f, 0x75, 0xf0, 0x60, 0x58, + 0x2b, 0x57, 0x57, 0x76, 0xa0, 0x00, 0x0f, 0x21, 0x17, 0xda, 0x00}, +{ 1024, 768, 60, 0xa3, 0x7f, 0x7f, 0x87, 0x82, 0x93, 0x24, 0xf5, 0x60, 0x02, + 0x28, 0xff, 0xff, 0x25, 0x20, 0x00, 0xcf, 0x21, 0x07, 0x6b, 0x00}, +{ 1024, 768, 70, 0xa1, 0x7f, 0x7f, 0x85, 0x82, 0x93, 0x24, 0xf5, 0x60, 0x02, + 0x28, 0xff, 0xff, 0x25, 0x20, 0x00, 0xcf, 0x21, 0x2a, 0xf9, 0x00}, +{ 1024, 768, 75, 0x9f, 0x7f, 0x7f, 0x83, 0x81, 0x8d, 0x1e, 0xf5, 0x60, 0x00, + 0x23, 0xff, 0xff, 0x1f, 0x20, 0x00, 0x0f, 0x21, 0x06, 0x40, 0x00}, +{ 1024, 768, 85, 0xa7, 0x7f, 0x7f, 0x8b, 0x85, 0x91, 0x26, 0xf5, 0x60, 0x00, + 0x23, 0xff, 0xff, 0x27, 0x20, 0x00, 0x0f, 0x21, 0x0e, 0x82, 0x00}, +{ 1152, 864, 60, 0xb3, 0x8f, 0x8f, 0x97, 0x93, 0x9f, 0x87, 0xff, 0x60, 0x60, + 0x23, 0x5f, 0x5f, 0x88, 0x00, 0x00, 0x0f, 0x21, 0x26, 0xf4, 0x00}, +{ 1152, 864, 70, 0xb4, 0x8f, 0x8f, 0x98, 0x93, 0x9f, 0x8e, 0xff, 0x60, 0x60, + 0x23, 0x5f, 0x5f, 0x8f, 0x00, 0x00, 0x0f, 0x21, 0x0e, 0x82, 0x00}, +{ 1152, 864, 75, 0xc3, 0x8f, 0x8f, 0x87, 0x97, 0x07, 0x82, 0xff, 0x60, 0x60, + 0x23, 0x5f, 0x5f, 0x83, 0xa0, 0x00, 0x0f, 0x21, 0x12, 0xb3, 0x00}, +{ 1152, 864, 85, 0xbf, 0x8f, 0x8f, 0x83, 0x97, 0x07, 0x8d, 0xff, 0x60, 0x60, + 0x23, 0x5f, 0x5f, 0x8e, 0xa0, 0x00, 0x0f, 0x21, 0x06, 0x64, 0x00}, +{ 1280, 960, 60, 0xdc, 0x9f, 0x9f, 0x80, 0xab, 0x99, 0xe6, 0xff, 0x60, 0xc0, + 0x23, 0xbf, 0xbf, 0xe7, 0xa0, 0x00, 0x0f, 0x21, 0x12, 0xb3, 0x00}, +{ 1280, 960, 85, 0xd3, 0x9f, 0x9f, 0x97, 0xa7, 0x1b, 0xf1, 0xff, 0x60, 0xc0, + 0x23, 0xbf, 0xbf, 0xf2, 0xa0, 0x00, 0x0f, 0x21, 0x0a, 0xa4, 0x00}, +{ 1280, 1024, 60, 0xce, 0x9f, 0x9f, 0x92, 0xa5, 0x13, 0x28, 0x5a, 0x60, 0x00, + 0x23, 0xff, 0xff, 0x29, 0xa0, 0x41, 0x0f, 0x21, 0x12, 0xb3, 0x00}, +{ 1280, 1024, 75, 0xce, 0x9f, 0x9f, 0x92, 0xa1, 0x13, 0x28, 0x5a, 0x60, 0x00, + 0x23, 0xff, 0xff, 0x29, 0xa0, 0x41, 0x0f, 0x21, 0x0a, 0x95, 0x00}, +{ 1280, 1024, 85, 0xd3, 0x9f, 0x9f, 0x97, 0xa7, 0x1b, 0x2e, 0x5a, 0x60, 0x00, + 0x23, 0xff, 0xff, 0x2f, 0xa0, 0x41, 0x0f, 0x21, 0x05, 0x40, 0x00}, +{ 1600, 1024, 60, 0x00, 0xc7, 0xc7, 0x84, 0xcb, 0x1f, 0x2c, 0x5a, 0x60, 0x02, + 0x25, 0xff, 0xff, 0x2d, 0x21, 0x41, 0xcf, 0x21, 0x0e, 0xb9, 0x00}, +{ 1600, 1024, 76, 0x00, 0xc7, 0xc7, 0x84, 0xcb, 0x1f, 0x2c, 0x5a, 0x60, 0x02, + 0x25, 0xff, 0xff, 0x2d, 0x21, 0x41, 0xcf, 0x21, 0x15, 0xa4, 0x00}, +{ 1600, 1024, 85, 0x00, 0xc7, 0xc7, 0x84, 0xcb, 0x1f, 0x2c, 0x5a, 0x60, 0x02, + 0x25, 0xff, 0xff, 0x2d, 0x21, 0x41, 0xcf, 0x21, 0x09, 0x68, 0x00}, +{ 1600, 1200, 60, 0x00, 0xc7, 0xc7, 0x84, 0xcf, 0x07, 0xe0, 0x10, 0x40, 0xb0, + 0x23, 0xaf, 0xaf, 0xe1, 0xa1, 0x55, 0x0f, 0x21, 0x19, 0xad, 0x00}, +{ 1600, 1200, 65, 0x00, 0xc7, 0xc7, 0x84, 0xcf, 0x07, 0xe0, 0x10, 0x40, 0xb0, + 0x23, 0xaf, 0xaf, 0xe1, 0xa1, 0x55, 0x0f, 0x21, 0x21, 0xeb, 0x00}, +{ 1600, 1200, 70, 0x00, 0xc7, 0xc7, 0x84, 0xcf, 0x07, 0xe0, 0x10, 0x40, 0xb0, + 0x23, 0xaf, 0xaf, 0xe1, 0xa1, 0x55, 0x0f, 0x21, 0x09, 0x64, 0x00}, +{ 1600, 1200, 75, 0x00, 0xc7, 0xc7, 0x84, 0xcf, 0x07, 0xe0, 0x10, 0x40, 0xb0, + 0x23, 0xaf, 0xaf, 0xe1, 0xa1, 0x55, 0x0f, 0x21, 0x05, 0x50, 0x00}, +{ 1600, 1200, 80, 0x00, 0xc7, 0xc7, 0x84, 0xcf, 0x07, 0xe0, 0x10, 0x40, 0xb0, + 0x23, 0xaf, 0xaf, 0xe1, 0xa1, 0x55, 0x0f, 0x21, 0x11, 0xad, 0x00}, +{ 1600, 1200, 85, 0x00, 0xc7, 0xc7, 0x84, 0xcf, 0x07, 0xe0, 0x10, 0x40, 0xb0, + 0x23, 0xaf, 0xaf, 0xe1, 0xa1, 0x55, 0x0f, 0x21, 0x05, 0x5b, 0x00}, +{ 1600, 1200, 100, 0x00, 0xc7, 0xc7, 0x84, 0xcf, 0x07, 0xe0, 0x10, 0x40, 0xb0, + 0x23, 0xaf, 0xaf, 0xe1, 0xa1, 0x55, 0x0f, 0x21, 0x15, 0xfd, 0x00}, +{ 1792, 1344, 60, 0x94, 0x6f, 0x6f, 0x98, 0x77, 0x04, 0x70, 0x1f, 0x40, 0x40, + 0x23, 0x3f, 0x3f, 0x71, 0x20, 0x55, 0x4f, 0x21, 0x0d, 0x8d, 0x01}, +{ 1792, 1344, 75, 0x95, 0x6f, 0x6f, 0x99, 0x75, 0x03, 0x87, 0x1f, 0x40, 0x40, + 0x23, 0x3f, 0x3f, 0x88, 0x20, 0x55, 0x4f, 0x21, 0x15, 0xfd, 0x01}, +{ 1856, 1392, 60, 0x99, 0x73, 0x73, 0x9d, 0x79, 0x07, 0x9d, 0x1f, 0x40, 0x70, + 0x23, 0x6f, 0x6f, 0x9e, 0x20, 0x55, 0x4f, 0x21, 0x09, 0x78, 0x01}, +{ 1856, 1392, 75, 0x9b, 0x73, 0x73, 0x9f, 0x7b, 0x09, 0xda, 0x1f, 0x40, 0x70, + 0x23, 0x6f, 0x6f, 0xdb, 0x20, 0x55, 0x4f, 0x21, 0x09, 0x9f, 0x01}, +{ 1920, 1080, 60, 0x8f, 0x77, 0x77, 0x93, 0x79, 0x02, 0x63, 0x10, 0x40, 0x3a, + 0x2d, 0x37, 0x37, 0x64, 0x20, 0x55, 0xcf, 0x21, 0x05, 0x41, 0x01}, +{ 1920, 1080, 72, 0x9b, 0x77, 0x77, 0x9f, 0x7a, 0x08, 0x92, 0x10, 0x40, 0x3a, + 0x2d, 0x37, 0x37, 0x93, 0x20, 0x55, 0xcf, 0x21, 0x11, 0xb3, 0x01}, +{ 1920, 1200, 60, 0x9d, 0x77, 0x77, 0x81, 0x7b, 0x8b, 0xe0, 0x10, 0x40, 0xb2, + 0x25, 0xaf, 0xaf, 0xe1, 0x20, 0x55, 0xcf, 0x21, 0x1d, 0xf2, 0x01}, +{ 1920, 1200, 76, 0x9d, 0x77, 0x77, 0x81, 0x7b, 0x8b, 0xe0, 0x10, 0x40, 0xb2, + 0x25, 0xaf, 0xaf, 0xe1, 0x20, 0x55, 0xcf, 0x21, 0x15, 0xee, 0x01}, +{ 1920, 1440, 60, 0x9e, 0x77, 0x77, 0x82, 0x7f, 0x8c, 0xda, 0x1f, 0x40, 0xa0, + 0x23, 0x9f, 0x9f, 0xdb, 0x20, 0x55, 0x4f, 0x21, 0x05, 0x60, 0x01}, +{ 1920, 1440, 75, 0xa0, 0x77, 0x77, 0x84, 0x80, 0x8e, 0xda, 0x1f, 0x40, 0xa0, + 0x23, 0x9f, 0x9f, 0xdb, 0x20, 0x55, 0x4f, 0x21, 0x09, 0xa4, 0x01}, +{ 2048, 1536, 60, 0x98, 0x7f, 0x7f, 0x9c, 0x82, 0x10, 0x3b, 0xba, 0x40, 0x00, + 0x23, 0xff, 0xff, 0x3c, 0x20, 0x55, 0x0f, 0x21, 0x09, 0x84, 0x01}, +{ 2048, 1536, 75, 0xa1, 0x7f, 0x7f, 0x85, 0x83, 0x91, 0x44, 0xba, 0x40, 0x00, + 0x23, 0xff, 0xff, 0x45, 0x20, 0x55, 0x0f, 0x21, 0x05, 0x84, 0x01}, +{ 320, 200, 70, 0x2d, 0x27, 0x27, 0x91, 0x28, 0x8e, 0xbf, 0x1f, 0xc0, 0x9c, + 0x2e, 0x8f, 0x8f, 0xc0, 0x80, 0x00, 0x4f, 0x21, 0x73, 0xd1, 0x00}, +{ 320, 200, 85, 0x2f, 0x27, 0x27, 0x93, 0x29, 0x8d, 0xbb, 0x1f, 0xc0, 0x90, + 0x23, 0x8f, 0x8f, 0xbc, 0x80, 0x00, 0x4f, 0x21, 0x0f, 0x2a, 0x00}, +{ 320, 240, 60, 0x2d, 0x27, 0x27, 0x91, 0x28, 0x8e, 0x0b, 0x3e, 0xc0, 0xe9, 0x2b, 0xdf, 0xdf, 0x0c, 0x80, 0x00, 0xcf, 0x21, 0x73, 0xd1, 0x00}, -{ 320, 240, 72, 0x2f, 0x27, 0x27, 0x93, 0x2a, 0x8c, 0x06, 0x3e, 0xc0, 0xe8, - 0x2b, 0xdf, 0xdf, 0x07, 0x80, 0x00, 0xcf, 0x21, 0xd5, 0x77, 0x00}, -{ 320, 240, 75, 0x30, 0x27, 0x27, 0x94, 0x29, 0x8d, 0xf2, 0x1f, 0xc0, 0xe0, - 0x23, 0xdf, 0xdf, 0xf3, 0x80, 0x00, 0xcf, 0x21, 0xca, 0xe5, 0x00}, -{ 320, 240, 85, 0x2f, 0x27, 0x27, 0x93, 0x2b, 0x8f, 0xfb, 0x1f, 0xc0, 0xe0, - 0x23, 0xdf, 0xdf, 0xfc, 0x80, 0x00, 0xcf, 0x21, 0x86, 0xae, 0x00}, -{ 400, 300, 60, 0x3d, 0x31, 0x31, 0x81, 0x35, 0x1d, 0x72, 0xf0, 0xe0, 0x58, +{ 320, 240, 72, 0x2f, 0x27, 0x27, 0x93, 0x29, 0x8b, 0x06, 0x3e, 0xc0, 0xe8, + 0x2b, 0xdf, 0xdf, 0x07, 0x80, 0x00, 0xcf, 0x21, 0x0f, 0x2a, 0x00}, +{ 320, 240, 75, 0x30, 0x27, 0x27, 0x94, 0x28, 0x8c, 0xf2, 0x1f, 0xc0, 0xe0, + 0x23, 0xdf, 0xdf, 0xf3, 0x80, 0x00, 0xcf, 0x21, 0x63, 0xe5, 0x00}, +{ 320, 240, 85, 0x2f, 0x27, 0x27, 0x93, 0x2a, 0x8e, 0xfb, 0x1f, 0xc0, 0xe0, + 0x23, 0xdf, 0xdf, 0xfc, 0x80, 0x00, 0xcf, 0x21, 0x43, 0xb3, 0x00}, +{ 400, 300, 60, 0x3d, 0x31, 0x31, 0x81, 0x34, 0x1c, 0x72, 0xf0, 0xe0, 0x58, 0x2c, 0x57, 0x57, 0x73, 0xa0, 0x00, 0x0f, 0x21, 0x3f, 0xbc, 0x00}, -{ 400, 300, 72, 0x3c, 0x31, 0x31, 0x80, 0x36, 0x1d, 0x98, 0xf0, 0xe0, 0x7c, - 0x22, 0x57, 0x57, 0x99, 0xa0, 0x00, 0x0f, 0x21, 0xfd, 0xe1, 0x00}, -{ 400, 300, 75, 0x3d, 0x31, 0x31, 0x81, 0x33, 0x18, 0x6f, 0xf0, 0xe0, 0x58, - 0x2b, 0x57, 0x57, 0x70, 0xa0, 0x00, 0x0f, 0x21, 0x8a, 0xf7, 0x00}, -{ 400, 300, 85, 0x3d, 0x31, 0x31, 0x81, 0x34, 0x18, 0x75, 0xf0, 0xe0, 0x58, - 0x2b, 0x57, 0x57, 0x76, 0xa0, 0x00, 0x0f, 0x21, 0x2f, 0xcc, 0x00}, -{ 512, 384, 60, 0x4f, 0x3f, 0x3f, 0x93, 0x42, 0x0a, 0x24, 0xf5, 0xe0, 0x02, - 0x28, 0xff, 0xff, 0x25, 0x20, 0x00, 0xcf, 0x21, 0xc1, 0xe1, 0x00}, -{ 512, 384, 70, 0x4e, 0x3f, 0x3f, 0x92, 0x42, 0x0a, 0x24, 0xf5, 0xe0, 0x02, +{ 400, 300, 72, 0x3c, 0x31, 0x31, 0x80, 0x35, 0x1c, 0x98, 0xf0, 0xe0, 0x7c, + 0x22, 0x57, 0x57, 0x99, 0xa0, 0x00, 0x0f, 0x21, 0x43, 0xf9, 0x00}, +{ 400, 300, 75, 0x3d, 0x31, 0x31, 0x81, 0x32, 0x17, 0x6f, 0xf0, 0xe0, 0x58, + 0x2b, 0x57, 0x57, 0x70, 0xa0, 0x00, 0x0f, 0x21, 0x13, 0x51, 0x00}, +{ 400, 300, 85, 0x3d, 0x31, 0x31, 0x81, 0x33, 0x17, 0x75, 0xf0, 0xe0, 0x58, + 0x2b, 0x57, 0x57, 0x76, 0xa0, 0x00, 0x0f, 0x21, 0x13, 0x5d, 0x00}, +{ 512, 384, 60, 0x4f, 0x3f, 0x3f, 0x93, 0x41, 0x09, 0x24, 0xf5, 0xe0, 0x02, + 0x28, 0xff, 0xff, 0x25, 0x20, 0x00, 0xcf, 0x21, 0x2f, 0xea, 0x00}, +{ 512, 384, 70, 0x4e, 0x3f, 0x3f, 0x92, 0x41, 0x09, 0x24, 0xf5, 0xe0, 0x02, 0x28, 0xff, 0xff, 0x25, 0x20, 0x00, 0xcf, 0x21, 0x2b, 0xf9, 0x00}, -{ 512, 384, 75, 0x4d, 0x3f, 0x3f, 0x91, 0x41, 0x07, 0x1e, 0xf5, 0xe0, 0x00, - 0x23, 0xff, 0xff, 0x1f, 0x20, 0x00, 0xcf, 0x21, 0x26, 0x77, 0x00}, -{ 512, 384, 85, 0x51, 0x3f, 0x3f, 0x95, 0x43, 0x09, 0x26, 0xf5, 0xe0, 0x00, - 0x23, 0xff, 0xff, 0x27, 0x20, 0x00, 0xcf, 0x21, 0x21, 0x40, 0x00}, -{ 640, 400, 70, 0x5f, 0x4f, 0x50, 0x82, 0x52, 0x9e, 0xbf, 0x1f, 0x40, 0x9c, - 0x2e, 0x8f, 0x97, 0xb8, 0x20, 0x00, 0x4f, 0x21, 0x72, 0xd1, 0x00}, -{ 640, 400, 85, 0x63, 0x4f, 0x4f, 0x87, 0x54, 0x9c, 0xbb, 0x1f, 0x40, 0x90, - 0x23, 0x8f, 0x8f, 0xbc, 0x20, 0x00, 0x4f, 0x21, 0xd4, 0x77, 0x00}, -{ 640, 480, 60, 0x5f, 0x4f, 0x50, 0x82, 0x52, 0x9e, 0x0b, 0x3e, 0x40, 0xe9, - 0x2b, 0xdf, 0xe7, 0x04, 0x20, 0x00, 0xcf, 0x21, 0x72, 0xd1, 0x00}, -{ 640, 480, 72, 0x63, 0x4f, 0x50, 0x86, 0x53, 0x98, 0x06, 0x3e, 0x40, 0xe8, - 0x2b, 0xdf, 0xe7, 0xff, 0x20, 0x00, 0xcf, 0x21, 0xd4, 0x77, 0x00}, -{ 640, 480, 75, 0x64, 0x4f, 0x4f, 0x88, 0x52, 0x9a, 0xf2, 0x1f, 0x40, 0xe0, - 0x23, 0xdf, 0xdf, 0xf3, 0x20, 0x00, 0xcf, 0x21, 0xd4, 0x77, 0x00}, -{ 640, 480, 85, 0x63, 0x4f, 0x4f, 0x87, 0x57, 0x9e, 0xfb, 0x1f, 0x40, 0xe0, - 0x23, 0xdf, 0xdf, 0xfc, 0x20, 0x00, 0xcf, 0x21, 0x85, 0xae, 0x00}, -{ 640, 480, 100, 0x65, 0x4f, 0x4f, 0x89, 0x55, 0x9d, 0xfb, 0x1f, 0x40, 0xe0, - 0x23, 0xdf, 0xdf, 0xfc, 0x20, 0x00, 0x4f, 0x21, 0x1f, 0xd7, 0x00}, -{ 640, 480, 120, 0x65, 0x4f, 0x4f, 0x89, 0x55, 0x9d, 0x01, 0x3e, 0x40, 0xe0, - 0x23, 0xdf, 0xdf, 0x02, 0x20, 0x00, 0x4f, 0x21, 0x17, 0xcb, 0x00}, -{ 640, 480, 140, 0x67, 0x4f, 0x4f, 0x8b, 0x55, 0x9e, 0x07, 0x3e, 0x40, 0xe0, - 0x23, 0xdf, 0xdf, 0x08, 0x20, 0x00, 0x4f, 0x21, 0x22, 0xae, 0x00}, -{ 640, 480, 160, 0x67, 0x4f, 0x4f, 0x8b, 0x55, 0x9e, 0x0d, 0x3e, 0x40, 0xe0, - 0x23, 0xdf, 0xdf, 0x0e, 0x20, 0x00, 0x4f, 0x21, 0x24, 0x36, 0x00}, -{ 720, 480, 60, 0x6b, 0x59, 0x59, 0x8f, 0x5c, 0x8b, 0x0b, 0x3e, 0x40, 0xe9, - 0x2b, 0xdf, 0xdf, 0x0c, 0xa0, 0x00, 0xcf, 0x21, 0xfc, 0x7e, 0x00}, -{ 720, 480, 72, 0x6e, 0x59, 0x59, 0x92, 0x5c, 0x8d, 0x06, 0x3e, 0x40, 0xe8, - 0x2b, 0xdf, 0xdf, 0x07, 0xa0, 0x00, 0xcf, 0x21, 0xc9, 0xfb, 0x00}, -{ 720, 480, 85, 0x70, 0x59, 0x59, 0x94, 0x62, 0x8a, 0xfb, 0x1f, 0x40, 0xe0, - 0x23, 0xdf, 0xdf, 0xfc, 0xa0, 0x00, 0xcf, 0x21, 0x1b, 0xb3, 0x00}, -{ 720, 576, 72, 0x70, 0x59, 0x59, 0x94, 0x5e, 0x8a, 0x80, 0xf0, 0x60, 0x41, - 0x25, 0x3f, 0x3f, 0x81, 0xa0, 0x00, 0x0f, 0x21, 0x2a, 0x8f, 0x00}, -{ 720, 576, 100, 0x70, 0x59, 0x59, 0x94, 0x5e, 0x8a, 0x80, 0xf0, 0x60, 0x41, - 0x25, 0x3f, 0x3f, 0x81, 0xa0, 0x00, 0x0f, 0x21, 0x17, 0xe9, 0x00}, -{ 800, 600, 60, 0x7f, 0x63, 0x63, 0x83, 0x69, 0x19, 0x72, 0xf0, 0x60, 0x58, - 0x2c, 0x57, 0x57, 0x73, 0x80, 0x00, 0x0f, 0x21, 0x26, 0x79, 0x00}, -{ 800, 600, 72, 0x7d, 0x63, 0x63, 0x81, 0x6b, 0x1a, 0x98, 0xf0, 0x60, 0x7c, - 0x22, 0x57, 0x57, 0x99, 0x80, 0x00, 0x0f, 0x21, 0x1f, 0xf9, 0x00}, -{ 800, 600, 75, 0x7f, 0x63, 0x63, 0x83, 0x66, 0x10, 0x6f, 0xf0, 0x60, 0x58, - 0x2b, 0x57, 0x57, 0x70, 0x80, 0x00, 0x0f, 0x21, 0x1f, 0xf7, 0x00}, -{ 800, 600, 85, 0x7e, 0x63, 0x63, 0x82, 0x68, 0x10, 0x75, 0xf0, 0x60, 0x58, - 0x2b, 0x57, 0x57, 0x76, 0x80, 0x00, 0x0f, 0x21, 0x17, 0xda, 0x00}, -{ 800, 600, 100, 0x81, 0x63, 0x63, 0x85, 0x6a, 0x15, 0x7a, 0xf0, 0x60, 0x58, - 0x2b, 0x57, 0x57, 0x7b, 0x80, 0x00, 0x4f, 0x21, 0x2a, 0xe3, 0x00}, -{ 800, 600, 120, 0x83, 0x63, 0x63, 0x87, 0x6b, 0x16, 0x81, 0xf0, 0x60, 0x58, - 0x2b, 0x57, 0x57, 0x82, 0x80, 0x00, 0x4f, 0x21, 0x1e, 0xd1, 0x00}, -{ 800, 600, 140, 0x83, 0x63, 0x63, 0x87, 0x6b, 0x16, 0x89, 0xf0, 0x60, 0x58, - 0x2b, 0x57, 0x57, 0x8a, 0x80, 0x00, 0x4f, 0x21, 0x15, 0x5f, 0x00}, -{ 800, 600, 160, 0x85, 0x63, 0x63, 0x89, 0x6c, 0x17, 0x91, 0xf0, 0x60, 0x58, - 0x2b, 0x57, 0x57, 0x92, 0x80, 0x00, 0x4f, 0x21, 0x29, 0xc1, 0x00}, -{ 960, 720, 60, 0x97, 0x77, 0x77, 0x9b, 0x7e, 0x0a, 0xe8, 0xf0, 0x60, 0xd0, - 0x23, 0xcf, 0xcf, 0xe9, 0x00, 0x00, 0x4f, 0x21, 0x22, 0x9a, 0x00}, -{ 960, 720, 75, 0x9b, 0x77, 0x77, 0x9f, 0x7f, 0x0c, 0xee, 0xf0, 0x60, 0xd0, - 0x23, 0xcf, 0xcf, 0xef, 0x00, 0x00, 0x4f, 0x21, 0x29, 0x77, 0x00}, -{ 960, 720, 85, 0x9b, 0x77, 0x77, 0x9f, 0x7f, 0x0c, 0xf2, 0xf0, 0x60, 0xd0, - 0x23, 0xcf, 0xcf, 0xf3, 0x00, 0x00, 0x4f, 0x21, 0x21, 0x71, 0x00}, -{ 1024, 768, 60, 0xa3, 0x7f, 0x7f, 0x87, 0x83, 0x94, 0x24, 0xf5, 0x60, 0x02, - 0x28, 0xff, 0xff, 0x25, 0x00, 0x00, 0xcf, 0x21, 0x29, 0x6b, 0x00}, -{ 1024, 768, 70, 0xa1, 0x7f, 0x7f, 0x85, 0x83, 0x94, 0x24, 0xf5, 0x60, 0x02, - 0x28, 0xff, 0xff, 0x25, 0x00, 0x00, 0xcf, 0x21, 0x2a, 0xf9, 0x00}, -{ 1024, 768, 75, 0x9f, 0x7f, 0x7f, 0x83, 0x82, 0x8e, 0x1e, 0xf5, 0x60, 0x00, - 0x23, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x0f, 0x21, 0x25, 0x77, 0x00}, -{ 1024, 768, 85, 0xa7, 0x7f, 0x7f, 0x8b, 0x86, 0x92, 0x26, 0xf5, 0x60, 0x00, - 0x23, 0xff, 0xff, 0x27, 0x00, 0x00, 0x0f, 0x21, 0x20, 0x40, 0x00}, -{ 1024, 768, 100, 0xa9, 0x7f, 0x7f, 0x8d, 0x89, 0x97, 0x2c, 0xf5, 0x60, 0x00, - 0x23, 0xff, 0xff, 0x2d, 0x00, 0x00, 0x4f, 0x21, 0x28, 0x5d, 0x00}, -{ 1024, 768, 120, 0xab, 0x7f, 0x7f, 0x8f, 0x8a, 0x98, 0x35, 0xf5, 0x60, 0x00, - 0x23, 0xff, 0xff, 0x36, 0x00, 0x00, 0x4f, 0x21, 0x15, 0x86, 0x00}, -{ 1152, 864, 60, 0xb3, 0x8f, 0x8f, 0x97, 0x94, 0x80, 0x87, 0xff, 0x60, 0x60, - 0x23, 0x5f, 0x5f, 0x88, 0x80, 0x00, 0x0f, 0x21, 0x25, 0x79, 0x00}, -{ 1152, 864, 70, 0xb4, 0x8f, 0x8f, 0x98, 0x94, 0x80, 0x8e, 0xff, 0x60, 0x60, - 0x23, 0x5f, 0x5f, 0x8f, 0x80, 0x00, 0x0f, 0x21, 0x20, 0x40, 0x00}, -{ 1152, 864, 75, 0xc3, 0x8f, 0x8f, 0x87, 0x98, 0x08, 0x82, 0xff, 0x60, 0x60, - 0x23, 0x5f, 0x5f, 0x83, 0xa0, 0x00, 0x0f, 0x21, 0x29, 0xb3, 0x00}, -{ 1152, 864, 85, 0xbf, 0x8f, 0x8f, 0x83, 0x98, 0x08, 0x8d, 0xff, 0x60, 0x60, - 0x23, 0x5f, 0x5f, 0x8e, 0xa0, 0x00, 0x0f, 0x21, 0x28, 0x64, 0x00}, -{ 1152, 864, 100, 0xbf, 0x8f, 0x8f, 0x83, 0x9a, 0x0a, 0x91, 0xff, 0x60, 0x60, - 0x23, 0x5f, 0x5f, 0x92, 0xa0, 0x00, 0x4f, 0x21, 0x24, 0x6c, 0x00}, -{ 1152, 864, 120, 0xc1, 0x8f, 0x8f, 0x85, 0x9b, 0x0b, 0x9c, 0xff, 0x60, 0x60, - 0x23, 0x5f, 0x5f, 0x9d, 0xa0, 0x00, 0x4f, 0x21, 0x21, 0xf4, 0x00}, -{ 1280, 960, 60, 0xdc, 0x9f, 0x9f, 0x80, 0xac, 0x9a, 0xe6, 0xff, 0x60, 0xc0, - 0x23, 0xbf, 0xbf, 0xe7, 0xa0, 0x00, 0x0f, 0x21, 0x29, 0xb3, 0x00}, -{ 1280, 960, 75, 0xd3, 0x9f, 0x9f, 0x97, 0xab, 0x1c, 0xe8, 0xff, 0x60, 0xc0, - 0x23, 0xbf, 0xbf, 0xe9, 0xa0, 0x00, 0x4f, 0x21, 0x15, 0x7d, 0x00}, -{ 1280, 960, 85, 0xd3, 0x9f, 0x9f, 0x97, 0xa8, 0x1c, 0xf1, 0xff, 0x60, 0xc0, - 0x23, 0xbf, 0xbf, 0xf2, 0xa0, 0x00, 0x0f, 0x21, 0x18, 0x51, 0x00}, -{ 1280, 1024, 60, 0xce, 0x9f, 0x9f, 0x92, 0xa6, 0x14, 0x28, 0x5a, 0x60, 0x00, - 0x23, 0xff, 0xff, 0x29, 0xa0, 0x41, 0x0f, 0x21, 0x29, 0xb3, 0x00}, -{ 1280, 1024, 75, 0xce, 0x9f, 0x9f, 0x92, 0xa2, 0x14, 0x28, 0x5a, 0x60, 0x00, - 0x23, 0xff, 0xff, 0x29, 0xa0, 0x41, 0x0f, 0x21, 0x14, 0x40, 0x00}, -{ 1280, 1024, 85, 0xd3, 0x9f, 0x9f, 0x97, 0xa8, 0x1c, 0x2e, 0x5a, 0x60, 0x00, - 0x23, 0xff, 0xff, 0x2f, 0xa0, 0x41, 0x0f, 0x21, 0x24, 0x77, 0x00}, -{ 1280, 1024, 100, 0x69, 0x4f, 0x4f, 0x8d, 0x56, 0x9f, 0x3b, 0x5a, 0x60, 0x00, - 0x23, 0xff, 0xff, 0x3c, 0x20, 0x41, 0x4f, 0x21, 0x28, 0x9e, 0x01}, -{ 1600, 1024, 60, 0x07, 0xc7, 0xc7, 0x8b, 0xd5, 0x0a, 0x22, 0x5a, 0x60, 0x00, - 0x23, 0xff, 0xff, 0x23, 0x81, 0x41, 0x4f, 0x21, 0x29, 0xe3, 0x00}, -{ 1600, 1024, 76, 0x01, 0xc7, 0xc7, 0x85, 0xcc, 0x00, 0x2c, 0x5a, 0x60, 0x02, - 0x25, 0xff, 0xff, 0x2d, 0x81, 0x41, 0xcf, 0x21, 0x21, 0xec, 0x00}, -{ 1600, 1024, 85, 0x83, 0x63, 0x63, 0x87, 0x6b, 0x16, 0x31, 0x5a, 0x60, 0x00, - 0x23, 0xff, 0xff, 0x32, 0x80, 0x41, 0x4f, 0x21, 0x1d, 0xf8, 0x01}, -{ 1600, 1200, 60, 0x09, 0xc7, 0xc7, 0x8d, 0xd0, 0x08, 0xe0, 0x10, 0x40, 0xb0, - 0x23, 0xaf, 0xaf, 0xe1, 0x81, 0x55, 0x0f, 0x21, 0x19, 0xb3, 0x00}, -{ 1600, 1200, 65, 0x09, 0xc7, 0xc7, 0x8d, 0xd0, 0x08, 0xe0, 0x10, 0x40, 0xb0, - 0x23, 0xaf, 0xaf, 0xe1, 0x81, 0x55, 0x0f, 0x21, 0x28, 0x91, 0x00}, -{ 1600, 1200, 70, 0x82, 0x63, 0x63, 0x86, 0x68, 0x14, 0xe0, 0x10, 0x40, 0xb0, - 0x23, 0xaf, 0xaf, 0xe1, 0x80, 0x55, 0x0f, 0x21, 0x20, 0x82, 0x01}, -{ 1600, 1200, 75, 0x82, 0x63, 0x63, 0x86, 0x68, 0x14, 0xe0, 0x10, 0x40, 0xb0, - 0x23, 0xaf, 0xaf, 0xe1, 0x80, 0x55, 0x0f, 0x21, 0x14, 0x61, 0x01}, -{ 1600, 1200, 80, 0x82, 0x63, 0x63, 0x86, 0x68, 0x14, 0xe0, 0x10, 0x40, 0xb0, - 0x23, 0xaf, 0xaf, 0xe1, 0x80, 0x55, 0x0f, 0x21, 0x11, 0xb3, 0x01}, -{ 1600, 1200, 85, 0x82, 0x63, 0x63, 0x86, 0x68, 0x14, 0xe0, 0x10, 0x40, 0xb0, - 0x23, 0xaf, 0xaf, 0xe1, 0x80, 0x55, 0x0f, 0x21, 0x0c, 0x4e, 0x01}, -{ 1600, 1200, 100, 0x85, 0x63, 0x63, 0x89, 0x6c, 0x17, 0xf5, 0x10, 0x40, 0xb0, - 0x23, 0xaf, 0xaf, 0xf6, 0x80, 0x55, 0x4f, 0x21, 0x0c, 0x60, 0x01}, -{ 1792, 1344, 60, 0x94, 0x6f, 0x6f, 0x98, 0x78, 0x05, 0x70, 0x1f, 0x40, 0x40, - 0x23, 0x3f, 0x3f, 0x71, 0x00, 0x55, 0x4f, 0x21, 0x0d, 0x8d, 0x01}, -{ 1792, 1344, 75, 0x95, 0x6f, 0x6f, 0x99, 0x76, 0x04, 0x87, 0x1f, 0x40, 0x40, - 0x23, 0x3f, 0x3f, 0x88, 0x00, 0x55, 0x4f, 0x21, 0x15, 0xfd, 0x01}, -{ 1856, 1392, 60, 0x99, 0x73, 0x73, 0x9d, 0x7a, 0x08, 0x9d, 0x1f, 0x40, 0x70, - 0x23, 0x6f, 0x6f, 0x9e, 0x00, 0x55, 0x4f, 0x21, 0x11, 0xb5, 0x01}, -{ 1856, 1392, 75, 0x9b, 0x73, 0x73, 0x9f, 0x7c, 0x0a, 0xda, 0x1f, 0x40, 0x70, - 0x23, 0x6f, 0x6f, 0xdb, 0x00, 0x55, 0x4f, 0x21, 0x09, 0x9f, 0x01}, -{ 1920, 1080, 60, 0x23, 0xef, 0xef, 0x87, 0xf4, 0x86, 0x63, 0x10, 0x40, 0x3a, - 0x2d, 0x37, 0x37, 0x64, 0x01, 0x55, 0xcf, 0x21, 0x28, 0x84, 0x00}, -{ 1920, 1080, 72, 0x9b, 0x77, 0x77, 0x9f, 0x7b, 0x09, 0x92, 0x10, 0x40, 0x3a, - 0x2d, 0x37, 0x37, 0x93, 0x00, 0x55, 0xcf, 0x21, 0x11, 0xb3, 0x01}, -{ 1920, 1080, 75, 0x9e, 0x77, 0x77, 0x82, 0x81, 0x8e, 0x66, 0x10, 0x40, 0x38, - 0x2b, 0x37, 0x37, 0x67, 0x00, 0x55, 0x4f, 0x21, 0x11, 0xb7, 0x01}, -{ 1920, 1080, 85, 0x9f, 0x77, 0x77, 0x83, 0x81, 0x8e, 0x6c, 0x10, 0x40, 0x38, - 0x2b, 0x37, 0x37, 0x6d, 0x00, 0x55, 0x4f, 0x21, 0x11, 0xd2, 0x01}, -{ 1920, 1200, 60, 0x9d, 0x77, 0x77, 0x81, 0x80, 0x8d, 0xd8, 0x10, 0x40, 0xb0, - 0x23, 0xaf, 0xaf, 0xd9, 0x00, 0x55, 0x4f, 0x21, 0x15, 0xbb, 0x01}, -{ 1920, 1200, 76, 0x9d, 0x77, 0x77, 0x81, 0x7c, 0x8c, 0xe0, 0x10, 0x40, 0xb2, - 0x25, 0xaf, 0xaf, 0xe1, 0x00, 0x55, 0xcf, 0x21, 0x14, 0x76, 0x01}, -{ 1920, 1200, 85, 0xa0, 0x77, 0x77, 0x84, 0x82, 0x8f, 0xea, 0x10, 0x40, 0xb0, - 0x23, 0xaf, 0xaf, 0xeb, 0x00, 0x55, 0x4f, 0x21, 0x08, 0x4d, 0x01}, -{ 1920, 1440, 60, 0x9e, 0x77, 0x77, 0x82, 0x80, 0x8d, 0xda, 0x1f, 0x40, 0xa0, - 0x23, 0x9f, 0x9f, 0xdb, 0x00, 0x55, 0x4f, 0x21, 0x10, 0x60, 0x01}, -{ 1920, 1440, 75, 0xa0, 0x77, 0x77, 0x84, 0x81, 0x8f, 0xda, 0x1f, 0x40, 0xa0, - 0x23, 0x9f, 0x9f, 0xdb, 0x00, 0x55, 0x4f, 0x21, 0x08, 0x51, 0x01}, -{ 2048, 1536, 60, 0x98, 0x7f, 0x7f, 0x9c, 0x83, 0x11, 0x3b, 0xba, 0x40, 0x00, - 0x23, 0xff, 0xff, 0x3c, 0x00, 0x55, 0x0f, 0x21, 0x11, 0xc7, 0x01}, -{ 2048, 1536, 75, 0xa1, 0x7f, 0x7f, 0x85, 0x84, 0x92, 0x44, 0xba, 0x40, 0x00, - 0x23, 0xff, 0xff, 0x45, 0x00, 0x55, 0x0f, 0x21, 0x10, 0x84, 0x01}, -{ 2048, 1536, 85, 0x9c, 0x7f, 0x7f, 0x80, 0x80, 0x8c, 0x30, 0x3e, 0x40, 0xff, - 0x22, 0xff, 0xff, 0x31, 0x00, 0x55, 0x0f, 0x21, 0x10, 0x8f, 0x01}, +{ 512, 384, 75, 0x4d, 0x3f, 0x3f, 0x91, 0x40, 0x06, 0x1e, 0xf5, 0xe0, 0x00, + 0x23, 0xff, 0xff, 0x1f, 0x20, 0x00, 0xcf, 0x21, 0x07, 0x40, 0x00}, +{ 512, 384, 85, 0x51, 0x3f, 0x3f, 0x95, 0x42, 0x08, 0x26, 0xf5, 0xe0, 0x00, + 0x23, 0xff, 0xff, 0x27, 0x20, 0x00, 0xcf, 0x21, 0x0f, 0x82, 0x00}, +{ 640, 400, 70, 0x5f, 0x4f, 0x4f, 0x83, 0x51, 0x9d, 0xbf, 0x1f, 0x40, 0x9c, + 0x2e, 0x8f, 0x8f, 0xc0, 0x00, 0x00, 0x4f, 0x21, 0x37, 0xd1, 0x00}, +{ 640, 400, 85, 0x63, 0x4f, 0x4f, 0x87, 0x53, 0x9b, 0xbb, 0x1f, 0x40, 0x90, + 0x23, 0x8f, 0x8f, 0xbc, 0x00, 0x00, 0x4f, 0x21, 0x0f, 0x56, 0x00}, +{ 720, 480, 60, 0x6b, 0x59, 0x59, 0x8f, 0x5b, 0x8a, 0x0b, 0x3e, 0x40, 0xe9, + 0x2b, 0xdf, 0xdf, 0x0c, 0x80, 0x00, 0xcf, 0x21, 0x0b, 0x3d, 0x00}, +{ 720, 480, 72, 0x6e, 0x59, 0x59, 0x92, 0x5b, 0x8c, 0x06, 0x3e, 0x40, 0xe8, + 0x2b, 0xdf, 0xdf, 0x07, 0x80, 0x00, 0xcf, 0x21, 0x2f, 0xfb, 0x00}, +{ 720, 480, 85, 0x70, 0x59, 0x59, 0x94, 0x61, 0x89, 0xfb, 0x1f, 0x40, 0xe0, + 0x23, 0xdf, 0xdf, 0xfc, 0x80, 0x00, 0xcf, 0x21, 0x1b, 0xb3, 0x00}, +{ 720, 576, 72, 0x70, 0x59, 0x59, 0x94, 0x5d, 0x89, 0x80, 0xf0, 0x60, 0x41, + 0x25, 0x3f, 0x3f, 0x81, 0x80, 0x00, 0x0f, 0x21, 0x13, 0x8f, 0x00}, +{ 720, 576, 100, 0x70, 0x59, 0x59, 0x94, 0x5d, 0x89, 0x80, 0xf0, 0x60, 0x41, + 0x25, 0x3f, 0x3f, 0x81, 0x80, 0x00, 0x0f, 0x21, 0x17, 0xe9, 0x00}, #else // #ifdef H4 // STB End Changes diff --git a/glide3x/h3/glide3/src/assyntax.h b/glide3x/h3/glide3/src/assyntax.h new file mode 100644 index 0000000..36eedf6 --- /dev/null +++ b/glide3x/h3/glide3/src/assyntax.h @@ -0,0 +1,33 @@ +/* + * Select the syntax appropriate to the 386 assembler being used. + * + * Copyright (c) 2002 - Borca Daniel + * Email : dborca@yahoo.com + * Web : http://www.geocities.com/dborca + * + * $Header$ + * $Log$ + */ + + +#ifndef ASSYNTAX_H_included +#define ASSYNTAX_H_included + +#ifdef __DJGPP__ + +#define type version +#define size version +#define CONCAT(a,b) a##b +#define GLOBL(name) .globl CONCAT(_,name) ; CONCAT(_,name) : +#define ALIGN(n) .balign n +#define EXTRN(name) CONCAT(_,name) + +#else + +#define GLOBL(name) .globl name; .type name, @function; name: +#define ALIGN(n) .align n +#define EXTRN(name) name + +#endif + +#endif diff --git a/glide3x/h3/glide3/src/makefile.autoconf.am b/glide3x/h3/glide3/src/makefile.autoconf.am index 9c915b5..d504d5c 100644 --- a/glide3x/h3/glide3/src/makefile.autoconf.am +++ b/glide3x/h3/glide3/src/makefile.autoconf.am @@ -134,28 +134,28 @@ VINCLUDES = $(HAL_CSIM_INCLUDES) # # Special rules for assembly files. # -cpudtect.o cpudtect.lo: cpudtect.S assyntax.h - libtool --mode=compile $(CC) -$$ -I. $(AFLAGS) -c -o $*.o $< +cpudtect.o cpudtect.lo: cpudtect.S + libtool --mode=compile $(CC) -$$ -I$(top_builddir)/@FX_GLIDE_HW@/glide3/src $(AFLAGS) -c -o $*.o $< -xdraw2_def.o xdraw2_def.lo: xdraw2.S xdraw2.inc.S fxgasm.h assyntax.h - libtool --mode=compile $(CC) -$$ -I. $(AFLAGS) -c -o $*.o $< +xdraw2_def.o xdraw2_def.lo: xdraw2.S xdraw2.inc.S fxgasm.h + libtool --mode=compile $(CC) -$$ -I$(top_builddir)/@FX_GLIDE_HW@/glide3/src $(AFLAGS) -c -o $*.o $< -xdraw3_def.o xdraw3_def.lo: xdraw3.S fxgasm.h assyntax.h - libtool --mode=compile $(CC) -$$ -I. $(AFLAGS) -c -o $*.o $< +xdraw3_def.o xdraw3_def.lo: xdraw3.S fxgasm.h + libtool --mode=compile $(CC) -$$ -I$(top_builddir)/@FX_GLIDE_HW@/glide3/src $(AFLAGS) -c -o $*.o $< # 3DNow!(tm) dependencies # XXX_def.obj targets are the default targets if GL_AMD3D -xdraw2_3dnow.o xdraw2_3dnow.lo: xdraw2.S xdraw2.inc.S fxgasm.h assyntax.h - libtool --mode=compile $(CC) -$$ -I. $(AFLAGS) -DGL_AMD3D -DUSE_PACKET_FIFO=1 -c -o $*.o $< +xdraw2_3dnow.o xdraw2_3dnow.lo: xdraw2.S xdraw2.inc.S fxgasm.h + libtool --mode=compile $(CC) -$$ -I$(top_builddir)/@FX_GLIDE_HW@/glide3/src $(AFLAGS) -DGL_AMD3D -DUSE_PACKET_FIFO=1 -c -o $*.o $< -xdraw3_3dnow.o xdraw3_3dnow.lo: xdraw3.S fxgasm.h assyntax.h - libtool --mode=compile $(CC) -$$ -I. $(AFLAGS) -DGL_AMD3D -DUSE_PACKET_FIFO=1 -c -o $*.o $< +xdraw3_3dnow.o xdraw3_3dnow.lo: xdraw3.S fxgasm.h + libtool --mode=compile $(CC) -$$ -I$(top_builddir)/@FX_GLIDE_HW@/glide3/src $(AFLAGS) -DGL_AMD3D -DUSE_PACKET_FIFO=1 -c -o $*.o $< -xtexdl_3dnow.o xtexdl_3dnow.lo: xtexdl.S fxgasm.h assyntax.h - libtool --mode=compile $(CC) -$$ -I. $(AFLAGS) -DGL_AMD3D -DUSE_PACKET_FIFO=1 -c -o $*.o $< +xtexdl_3dnow.o xtexdl_3dnow.lo: xtexdl.S fxgasm.h + libtool --mode=compile $(CC) -$$ -I$(top_builddir)/@FX_GLIDE_HW@/glide3/src $(AFLAGS) -DGL_AMD3D -DUSE_PACKET_FIFO=1 -c -o $*.o $< endif @@ -194,7 +194,7 @@ WHOLE_LIBS = $(top_builddir)/swlibs/fxmisc/libfxmisc.la \ $(top_builddir)/@FX_GLIDE_HW@/minihwc/libminihwc.la LINK_LIBS = -L/usr/X11R6/lib -lX11 -lXext -lXxf86dga -lXxf86vm -CLEANFILES = fxinline.h fxgasm.h assyntax.h +CLEANFILES = fxinline.h fxgasm.h noinst_PROGRAMS = fxgasm include_HEADERS = g3ext.h glide.h glideutl.h glidesys.h @@ -218,14 +218,12 @@ libglide3_la_LDFLAGS = -version-info 13:0:10 libglide3_la_LIBADD = $(WHOLE_LIBS) $(LINK_LIBS) #--------------------------------------------------------------------------# -# special rules for making fxgasm.h, fxinclude.h, assyntax.h +# special rules for making fxgasm.h, fxinclude.h # fxgasm.h: fxgasm ./fxgasm -hex > fxgasm.h fxinline.h: fxgasm ./fxgasm -inline > fxinline.h -assyntax.h: $(top_srcdir)/swlibs/fxmisc/assyntax.h - ln -sf $< $@ #--------------------------------------------------------------------------# # special rules for using fxgasm.h, fxinclude.h diff --git a/glide3x/h3/glide3/src/xdraw2.S b/glide3x/h3/glide3/src/xdraw2.S index 3fe0ac4..309af5a 100644 --- a/glide3x/h3/glide3/src/xdraw2.S +++ b/glide3x/h3/glide3/src/xdraw2.S @@ -21,6 +21,9 @@ /* $Header$ */ /* $Revision$ */ /* $Log$ +/* Revision 1.2.8.1 2003/05/05 07:12:47 dborca +/* no message +/* /* Revision 1.2 2000/02/15 22:35:59 joseph /* Changes to support FreeBSD (patch submitted by Doug Rabson) /* @@ -355,8 +358,7 @@ GLOBL(_trisetup_clip_coor_thunk) /* If debugging make sure that we're in clip coordinates */ #ifdef GLIDE_DEBUG - mov CoordinateSpace(%gc) , %eax - test $1 , %eax + testl $1, CoordinateSpace(%gc) jnz L_trisetup_clip_coor_thunk__clipSpace xor %eax , %eax mov %eax , (%eax) @@ -365,6 +367,7 @@ L_trisetup_clip_coor_thunk__clipSpace: pushl $1 /* mode = grDrawVertexArray */ call %procPtr /* (*gc->curArchProcs.drawTrianglesProc)(grDrawVertexArray, 3, vPtr) */ + add $12, %esp ret /* pop 3 dwords (vertex addrs) and return */ L_END__trisetup_clip_coor_thunk: diff --git a/glide3x/h3/incsrc/h3cinit.h b/glide3x/h3/incsrc/h3cinit.h index 3adbe30..e45cec3 100644 --- a/glide3x/h3/incsrc/h3cinit.h +++ b/glide3x/h3/incsrc/h3cinit.h @@ -1,3 +1,5 @@ +/* -*-c++-*- */ +/* $Header$ */ /* ** THIS SOFTWARE IS SUBJECT TO COPYRIGHT PROTECTION AND IS OFFERED ONLY ** PURSUANT TO THE 3DFX GLIDE GENERAL PUBLIC LICENSE. THERE IS NO RIGHT @@ -17,27 +19,10 @@ ** ** COPYRIGHT 3DFX INTERACTIVE, INC. 1999, ALL RIGHTS RESERVED ** -** File name: h3cinit.h -** -** Description: Macros & function definitions for Banshee/Avenger. ** ** $Revision$ ** $Date$ -** -** $History: h3cinit.h $ -** -** ***************** Version 1 ***************** -** User: Sapphire Date: 3/16/99 Time: 7:28p -** Created in $/Releases/Voodoo3/V3_OEM_100/3dfx/devel/H3/incsrc -** -** ***************** Version 21 ***************** -** User: Michael Date: 1/05/99 Time: 8:45a -** Updated in $/devel/h3/Win95/dx/minivdd -** Implement the 3Dfx/STB unified header. -** */ -/* -*-c++-*- */ -/* $Header$ */ #ifndef __H3CINIT_H__ @@ -56,25 +41,26 @@ #define DEFAULT_GRXCLK_SPEED H3_GRXCLK_SPEED #endif -FxU32 // return # of MB of memory -h3InitGetMemSize(FxU32 regBase);// init register base +FxU32 // return # of MB of memory +h3InitGetMemSize(FxU32 regBase, // init register base + FxBool isNapalm);// Napalm FxU32 // return # of MB of memory h3InitSgram(FxU32 regBase, // init iegister base FxU32 sgramMode, FxU32 sgramMask, FxU32 sgramColor, - char *vendorName); // NULL or name of SGRAM vendor + char *vendorName); // NULL or name of SGRAM vendor void -h3InitPlls(FxU32 regBase, // init iegister base - FxU32 grxSpeedInMHz, // desired GRX clock frequency (MHz) +h3InitPlls(FxU32 regBase, // init iegister base + FxU32 grxSpeedInMHz, // desired GRX clock frequency (MHz) FxU32 memSpeedInMHz); // desired MEM clock frequency (MHz) void -h4InitPlls(FxU32 regBase, // init register base - FxU32 deviceID, // H4 or H4_OEM - FxU32 grxSpeedInMHz); // desired clock frequency (MHz) +h4InitPlls(FxU32 regBase, // init register base + FxU32 deviceID, // H4 or H4_OEM + FxU32 grxSpeedInMHz); // desired clock frequency (MHz) void h3InitVga( @@ -84,7 +70,7 @@ h3InitVga( void h3InitVideoProc( FxU32 regBase, // memory base address - FxU32 vidProcCfg); // vidProcCfg register control bits + FxU32 vidProcCfg); // vidProcCfg register control bits FxBool h3InitSetVideoMode( @@ -92,46 +78,46 @@ h3InitSetVideoMode( FxU32 xRes, // x resolution FxU32 yRes, // y resolution FxU32 refresh, // refresh freq -#if defined(H3VDD) +#if defined(H3VDD) && defined(H3_B0) FxU32 loadClut, // really a bool, should we load the lookup table FxU32 scanlinedouble); // set scanline double bit and double y? #else - FxU32 loadClut) ; // initialize clut entries? + FxU32 loadClut) ; // initialize clut entries? #endif void h3InitVideoDesktopSurface( FxU32 regBase, - FxU32 enable, // 1=enable desktop surface (DS), 1=disable - FxU32 tiled, // 0=DS linear, 1=tiled - FxU32 pixFmt, // pixel format of DS - FxU32 clutBypass, // bypass clut for DS? - FxU32 clutSelect, // 0=lower 256 CLUT entries, 1=upper 256 - FxU32 startAddress, // board address of beginning of DS - FxU32 stride); // distance between scanlines of the DS, in - // units of bytes for linear DS's and tiles for - // tiled DS's + FxU32 enable, // 1=enable desktop surface (DS), 1=disable + FxU32 tiled, // 0=DS linear, 1=tiled + FxU32 pixFmt, // pixel format of DS + FxU32 clutBypass, // bypass clut for DS? + FxU32 clutSelect, // 0=lower 256 CLUT entries, 1=upper 256 + FxU32 startAddress, // board address of beginning of DS + FxU32 stride); // distance between scanlines of the DS, in + // units of bytes for linear DS's and tiles for + // tiled DS's void h3InitVideoOverlaySurface( FxU32 regBase, - FxU32 enable, // 1=enable Overlay surface (OS), 1=disable - FxU32 stereo, // 1=enable OS stereo, 0=disable - FxU32 horizScaling, // 1=enable horizontal scaling, 0=disable - FxU32 dudx, // horizontal scale factor (ignored if not - // scaling) - FxU32 verticalScaling, // 1=enable vertical scaling, 0=disable - FxU32 dvdy, // vertical scale factor (ignored if not - // scaling) - FxU32 filterMode, // duh - FxU32 tiled, // 0=OS linear, 1=tiled - FxU32 pixFmt, // pixel format of OS - FxU32 clutBypass, // bypass clut for OS? - FxU32 clutSelect, // 0=lower 256 CLUT entries, 1=upper 256 - FxU32 startAddress, // board address of beginning of OS - FxU32 stride); // distance between scanlines of the OS, in - // units of bytes for linear OS's and tiles for - // tiled OS's + FxU32 enable, // 1=enable Overlay surface (OS), 1=disable + FxU32 stereo, // 1=enable OS stereo, 0=disable + FxU32 horizScaling, // 1=enable horizontal scaling, 0=disable + FxU32 dudx, // horizontal scale factor (ignored if not + // scaling) + FxU32 verticalScaling, // 1=enable vertical scaling, 0=disable + FxU32 dvdy, // vertical scale factor (ignored if not + // scaling) + FxU32 filterMode, // duh + FxU32 tiled, // 0=OS linear, 1=tiled + FxU32 pixFmt, // pixel format of OS + FxU32 clutBypass, // bypass clut for OS? + FxU32 clutSelect, // 0=lower 256 CLUT entries, 1=upper 256 + FxU32 startAddress, // board address of beginning of OS + FxU32 stride); // distance between scanlines of the OS, in + // units of bytes for linear OS's and tiles for + // tiled OS's #ifndef H3VDD void @@ -142,8 +128,8 @@ h3InitMeasureSiProcess( void h3InitBlockWrite( FxU32 regBase, - FxU32 enable, // 1=enable block writes, 0=disable - FxU32 threshhold); // block write threshhold + FxU32 enable, // 1=enable block writes, 0=disable + FxU32 threshhold); // block write threshhold void h3InitResetAll( diff --git a/glide3x/h5/glide3/src/glfb.c b/glide3x/h5/glide3/src/glfb.c index 1162f0d..ea6ee92 100644 --- a/glide3x/h5/glide3/src/glfb.c +++ b/glide3x/h5/glide3/src/glfb.c @@ -1568,6 +1568,7 @@ static FxBool grLfbReadRegionOrigin (GrBuffer_t src_buffer, GrOriginLocation_t o } rv=FXFALSE; +#ifndef __linux__ /* [dBorca] fixme :D */ /* We want to read using HWC if we using FSAA with 4 chips or want dithering */ /* or we are using forced 32 bit mode and want dithering */ wantHwc = (_GlideRoot.environment.useHwcAAforLfbRead & 1) && @@ -1621,6 +1622,7 @@ static FxBool grLfbReadRegionOrigin (GrBuffer_t src_buffer, GrOriginLocation_t o rv=FXTRUE; goto done; } +#endif if (_grLfbLock(GR_LFB_READ_ONLY, src_buffer, diff --git a/glide3x/h5/glide3/src/glide.h b/glide3x/h5/glide3/src/glide.h index 154b365..2e91a34 100644 --- a/glide3x/h5/glide3/src/glide.h +++ b/glide3x/h5/glide3/src/glide.h @@ -266,7 +266,7 @@ typedef FxU32 GrLock_t; #define GR_LFB_IDLE 0x00 #define GR_LFB_NOIDLE 0x10 -#define GR_LFB_WRITE_ONLY_EXPLICIT_EXT 0x02 // explicitly not allow reading from the lfb pointer +#define GR_LFB_WRITE_ONLY_EXPLICIT_EXT 0x02 /* explicitly not allow reading from the lfb pointer */ typedef FxI32 GrLfbBypassMode_t; #define GR_LFBBYPASS_DISABLE 0x0 diff --git a/glide3x/h5/glide3/tests/t1kx32.3df b/glide3x/h5/glide3/tests/t1kx32.3df new file mode 100644 index 0000000000000000000000000000000000000000..8b4263237dbd7cea46179ec2d6c231135de2fa67 GIT binary patch literal 4194361 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 b_p`n2 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 UZ-4i<-}bim=ik3S7|1g4KU~+fjsO4v literal 0 HcmV?d00001 diff --git a/glide3x/h5/glide3/tests/t2kx32.3df b/glide3x/h5/glide3/tests/t2kx32.3df new file mode 100644 index 0000000000000000000000000000000000000000..6a2ffdcc5a35fb05f6fd369d9854b2166681c553 GIT binary patch literal 16777273 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 e;h3Mem = h3InitGetMemSize(bInfo->regInfo.ioPortBase); + bInfo->h3Mem = h3InitGetMemSize(bInfo->regInfo.ioPortBase, IS_NAPALM(bInfo->pciInfo.deviceID)); /* Ugh, lame. We can only report back 16MB to Glide since we can't * really map in all 64MB necessary for LFB accesses. */ +#if 0 /* [dBorca] who sez? */ if(IS_NAPALM(bInfo->pciInfo.deviceID)) { if(bInfo->h3Mem > 16) { bInfo->h3Mem = 16; } } +#endif h3InitVga(bInfo->regInfo.ioPortBase, FXTRUE); } @@ -4683,7 +4688,7 @@ hwcInitVideo(hwcBoardInfo *bInfo, FxBool tiled, FxVideoTimingInfo *vidTiming, 0, /* Filter mode */ FXTRUE, /* tiled */ pixFmt, /* pixel format of OS */ - FXTRUE, /* bypass clut for OS? */ + FXFALSE, /* bypass clut for OS? */ 0, /* 0=lower 256 CLUT entries, 1=upper 256 */ bInfo->buffInfo.colBuffStart0[0],/* board address of beginning of OS */ stride); /* distance between scanlines of the OS, in @@ -7179,10 +7184,61 @@ static void hwcCopyBuffer8888Flipped(hwcBoardInfo *bInfo, FxU16 *source, int w, FxU8 *endline = dst+w*4; w*= 4; -#ifndef __DJGPP__ /* [dBorca] should have this done, but it's 4:00am */ if (bInfo->CPUInfo.os_support & _CPU_FEATURE_MMX) { /* MMX Optimized Loop */ +#ifdef __DJGPP__ + __asm("\n\ + emms /* mmx */ \n\ + \n\ + .p2align 3,,7 \n\ + 0: \n\ + /* Read Pixel, Reduce to 32 bits */ \n\ + movq (%%eax), %%mm0 \n\ + packuswb %%mm0, %%mm0 \n\ + movd %%mm0, %%ebx \n\ + \n\ + /* Gamma Correct Blue */ \n\ + mov %%ebx, %%ecx \n\ + and $0xff, %%ecx \n\ + mov _gss_blue(, %%ecx, 4), %%bl \n\ + \n\ + /* Gamma Correct Green */ \n\ + mov %%ebx, %%ecx \n\ + shr $8, %%ecx \n\ + and $0xff, %%ecx \n\ + mov _gss_green(, %%ecx, 4), %%bh \n\ + \n\ + /* Gamma Correct Red */ \n\ + mov %%ebx, %%ecx \n\ + shr $16, %%ecx \n\ + and $0xff, %%ecx \n\ + mov _gss_red_shifted(, %%ecx, 4), %%ecx \n\ + and $0xFF00FFFF, %%ebx \n\ + or %%ecx, %%ebx \n\ + \n\ + /* Write */ \n\ + mov %%ebx, (%%edx) \n\ + \n\ + /* Next Pixel */ \n\ + add $8, %%eax \n\ + add $4, %%edx \n\ + cmp %%edi, %%edx /* if (dst!=endline) */ \n\ + jne 0b /* goto loop_begin; */ \n\ + \n\ + /* Next Scanline */ \n\ + mov %4, %%ebx \n\ + add %%ebx, %%edi /* endline += w; */ \n\ + shl $2, %%ebx \n\ + sub %%ebx, %%eax /* src -= w*2; */ \n\ + cmp %%esi, %%edx /* if (dst!=end) */ \n\ + jne 0b /* goto loop_begin; */ \n\ + \n\ + emms" + : + :"a"(src), "d"(dst), "D"(endline), "S"(end), "m"(w) + :"%ebx", "%ecx"); +#else __asm { emms /* mmx */ @@ -7237,9 +7293,9 @@ static void hwcCopyBuffer8888Flipped(hwcBoardInfo *bInfo, FxU16 *source, int w, emms /* mmx */ } +#endif } else -#endif { while (dstCPUInfo.os_support & _CPU_FEATURE_MMX) { /* MMX Optimized Loop */ +#ifdef __DJGPP__ + __asm("\n\ + emms /* mmx */ \n\ + movd %5, %%mm6 /* mm6 = aaShift */ \n\ + \n\ + .p2align 3,,7 \n\ + 0: \n\ + /* Read Pixel, Reduce to 32 bits */ \n\ + movq (%%eax), %%mm0 \n\ + psrlw %%mm6, %%mm0 \n\ + packuswb %%mm0, %%mm0 \n\ + movd %%mm0, %%ebx \n\ + \n\ + /* Gamma Correct Blue */ \n\ + mov %%ebx, %%ecx \n\ + and $0xff, %%ecx \n\ + mov _gss_blue(, %%ecx, 4), %%bl \n\ + \n\ + /* Gamma Correct Green */ \n\ + mov %%ebx, %%ecx \n\ + shr $8, %%ecx \n\ + and $0xff, %%ecx \n\ + mov _gss_green(, %%ecx, 4), %%bh \n\ + \n\ + /* Gamma Correct Red */ \n\ + mov %%ebx, %%ecx \n\ + shr $16, %%ecx \n\ + and $0xff, %%ecx \n\ + mov _gss_red_shifted(, %%ecx, 4), %%ecx \n\ + and $0xFF00FFFF, %%ebx \n\ + or %%ecx, %%ebx \n\ + \n\ + /* Write */ \n\ + mov %%ebx, (%%edx) \n\ + \n\ + /* Next Pixel */ \n\ + add $8, %%eax \n\ + add $4, %%edx \n\ + cmp %%edi, %%edx /* if (dst!=endline) */ \n\ + jne 0b /* goto loop_begin; */ \n\ + \n\ + /* Next Scanline */ \n\ + mov %4, %%ebx \n\ + add %%ebx, %%edi /* endline += w; */ \n\ + shl $2, %%ebx \n\ + sub %%ebx, %%eax /* src -= w*2; */ \n\ + cmp %%esi, %%edx /* if (dst!=end) */ \n\ + jne 0b /* goto loop_begin; */ \n\ + \n\ + emms" + : + :"a"(src), "d"(dst), "D"(endline), "S"(end), "m"(w), "m"(aaShift) + :"%ebx", "%ecx"); +#else __asm { emms /* mmx */ @@ -7323,9 +7432,9 @@ static void hwcCopyBuffer8888FlippedShifted(hwcBoardInfo *bInfo, FxU16 *source, emms /* mmx */ } +#endif } else -#endif { while (dstCPUInfo.os_support & _CPU_FEATURE_MMX) { FxU32 sse_mmxplus = bInfo->CPUInfo.os_support & (_CPU_FEATURE_MMXPLUS|_CPU_FEATURE_SSE); /* MMX Optimized Loop */ +#ifdef __DJGPP__ + __asm("\n\ + emms /* mmx */ \n\ + \n\ + /* mm7 = all ones */ \n\ + pcmpeqd %%mm7, %%mm7 \n\ + \n\ + /* mm6 = aaShift */ \n\ + movd %7, %%mm6 \n\ + \n\ + /* mm5 = accumulated error */ \n\ + pxor %%mm5, %%mm5 \n\ + \n\ + /* mm4 = error_mask */ \n\ + movd %5, %%mm4 /* error_mask -> Low word */ \n\ + punpcklwd %%mm4, %%mm4 /* Rep Low Words -> High Words */\n\ + punpckldq %%mm4, %%mm4 /* Rep Low Dword -> High Dword */\n\ + \n\ + /* mm3 = val_max */ \n\ + movd %6, %%mm3 /* val_max -> Low word */ \n\ + punpcklwd %%mm3, %%mm3 /* Rep Low Words -> High Words */\n\ + punpckldq %%mm3, %%mm3 /* Rep Low Dword -> High Dword */\n\ + \n\ + /* mm2 = min mask */ \n\ + \n\ + /* mm1 = masked maximum cols */ \n\ + \n\ + /* mm0 = colour */ \n\ + \n\ + /* Check to see if we support MMXPlus or SSE */ \n\ + test %%ecx, %%ecx \n\ + jz 1f \n\ + \n\ + /* SSE/MMX+ Loop */ \n\ + .p2align 3,,7 \n\ + 0: \n\ + /* Read Pixel and add error */ \n\ + /* c = *src + er - (*src>>8) */ \n\ + movq (%%eax), %%mm0 \n\ + movq %%mm0, %%mm1 \n\ + psrlw $8, %%mm1 \n\ + psubsw %%mm1, %%mm0 \n\ + paddsw %%mm5, %%mm0 \n\ + \n\ + /* Clamp to max */ \n\ + /* c = min(c,val_max) */ \n\ + pminsw %%mm3, %%mm0 \n\ + \n\ + /* Find error */ \n\ + /* er = c & dither_mask; */ \n\ + movq %%mm0, %%mm5 /* er = c */ \n\ + pand %%mm4, %%mm5 /* er &= dither_mask */ \n\ + \n\ + /* Reduce to 32 bits */ \n\ + psrlw %%mm6, %%mm0 \n\ + packuswb %%mm0, %%mm0 \n\ + movd %%mm0, %%ebx \n\ + \n\ + /* Gamma Correct Blue */ \n\ + mov %%ebx, %%ecx \n\ + and $0xff, %%ecx \n\ + mov _gss_blue(, %%ecx, 4), %%bl \n\ + \n\ + /* Gamma Correct Green */ \n\ + mov %%ebx, %%ecx \n\ + shr $8, %%ecx \n\ + and $0xff, %%ecx \n\ + mov _gss_green(, %%ecx, 4), %%bh \n\ + \n\ + /* Gamma Correct Red */ \n\ + mov %%ebx, %%ecx \n\ + shr $16, %%ecx \n\ + and $0xff, %%ecx \n\ + mov _gss_red_shifted(, %%ecx, 4), %%ecx \n\ + and $0xFF00FFFF, %%ebx \n\ + or %%ecx, %%ebx \n\ + \n\ + /* Write */ \n\ + mov %%ebx, (%%edx) \n\ + \n\ + /* Next Pixel */ \n\ + add $8, %%eax \n\ + add $4, %%edx \n\ + cmp %%edi, %%edx /* if (dst!=endline) */ \n\ + jne 0b /* goto loop_begin; */ \n\ + \n\ + /* Next Scanline */ \n\ + mov %4, %%ebx \n\ + add %%ebx, %%edi /* endline += w; */ \n\ + shl $2, %%ebx \n\ + sub %%ebx, %%eax /* src -= w*2; */ \n\ + cmp %%esi, %%edx /* if (dst!=end) */ \n\ + jne 0b /* goto loop_begin; */ \n\ + jmp 2f \n\ + \n\ + /* MMX Optimized Loop */ \n\ + .p2align 3,,7 \n\ + 1: \n\ + /* Read Pixel and add error */ \n\ + /* c = *src + er - (*src>>8) */ \n\ + movq (%%eax), %%mm0 \n\ + movq %%mm0, %%mm1 \n\ + psrlw $8, %%mm1 \n\ + psubsw %%mm1, %%mm0 \n\ + paddsw %%mm5, %%mm0 \n\ + \n\ + /* Clamp to max */ \n\ + /* c = min(c,val_max) */ \n\ + movq %%mm3, %%mm2 \n\ + pcmpgtw %%mm0, %%mm2 /* Compare col to max. Sets mm2 if clipping req */\n\ + pand %%mm2, %%mm0 /* mm0 = masked col vals */ \n\ + pandn %%mm7, %%mm2 /* mm2 = (~mm2) & ~0 */ \n\ + movq %%mm3, %%mm1 /* mm1 = max vals */ \n\ + pand %%mm2, %%mm1 /* mm1 = masked max vals */ \n\ + por %%mm1, %%mm0 /* Combine max and cols */ \n\ + \n\ + /* Find error */ \n\ + /* er = c & dither_mask; */ \n\ + movq %%mm0, %%mm5 /* er = c */ \n\ + pand %%mm4, %%mm5 /* er &= dither_mask */ \n\ + \n\ + /* Reduce to 32 bits */ \n\ + psrlw %%mm6, %%mm0 \n\ + packuswb %%mm0, %%mm0 \n\ + movd %%mm0, %%ebx \n\ + \n\ + /* Gamma Correct Blue */ \n\ + mov %%ebx, %%ecx \n\ + and $0xff, %%ecx \n\ + mov _gss_blue(, %%ecx, 4), %%bl \n\ + \n\ + /* Gamma Correct Green */ \n\ + mov %%ebx, %%ecx \n\ + shr $8, %%ecx \n\ + and $0xff, %%ecx \n\ + mov _gss_green(, %%ecx, 4), %%bh \n\ + \n\ + /* Gamma Correct Red */ \n\ + mov %%ebx, %%ecx \n\ + shr $16, %%ecx \n\ + and $0xff, %%ecx \n\ + mov _gss_red_shifted(, %%ecx, 4), %%ecx \n\ + and $0xFF00FFFF, %%ebx \n\ + or %%ecx, %%ebx \n\ + \n\ + /* Write */ \n\ + mov %%ebx, (%%edx) \n\ + \n\ + /* Next Pixel */ \n\ + add $8, %%eax \n\ + add $4, %%edx \n\ + cmp %%edi, %%edx /* if (dst!=endline) */ \n\ + jne 1b /* goto mmx_loop_begin; */ \n\ + \n\ + /* Next Scanline */ \n\ + mov %4, %%ebx \n\ + add %%ebx, %%edi /* endline += w; */ \n\ + shl $2, %%ebx \n\ + sub %%ebx, %%eax /* src -= w*2; */ \n\ + cmp %%esi, %%edx /* if (dst!=end) */ \n\ + jne 1b /* goto mmx_loop_begin; */ \n\ + \n\ + 2: \n\ + \n\ + emms /* mmx */" + : + :"a"(src), "d"(dst), "D"(endline), "S"(end), "m"(w), "m"(dither_mask), "g"(val_max), "m"(aaShift), "c"(sse_mmxplus) + :"%ebx"); +#else __asm { emms /* mmx */ @@ -7543,9 +7820,9 @@ static void hwcCopyBuffer8888FlippedDithered(hwcBoardInfo *bInfo, FxU16 *source, emms /* mmx */ } +#endif } else -#endif { while (dstCPUInfo.os_support & _CPU_FEATURE_MMX) { /* MMX Optimized Loop */ +#ifdef __DJGPP__ + __asm("\n\ + emms /* mmx */ \n\ + \n\ + /* mm6 = aaShift */ \n\ + movd %6, %%mm6 \n\ + \n\ + /* mm5 = mask */ \n\ + pushl $0x0000F800; /* a r */ \n\ + pushl $0xFC00F800; /* g b */ \n\ + movq (%%esp), %%mm5 \n\ + add $8, %%esp \n\ + \n\ + .p2align 3,,7 \n\ + 0: \n\ + /* Read Pixel, Reduce to 32 bits */ \n\ + movq (%%eax), %%mm0 \n\ + psrlw %%mm6, %%mm0 /* AA Shift to 32 bit */\n\ + packuswb %%mm0, %%mm0 \n\ + movd %%mm0, %%ebx \n\ + \n\ + /* Convert to 565 */ \n\ + mov %%ebx, %%ecx \n\ + and 0x0000FCF8, %%ebx \n\ + and 0x00F80000, %%ecx \n\ + shr $2, %%bh \n\ + shr $8, %%ecx \n\ + shr $3, %%ebx \n\ + or %%ecx, %%ebx \n\ + \n\ + /* Write */ \n\ + mov %%bx, (%%edx) \n\ + \n\ + /* Next Pixel */ \n\ + add $8, %%eax \n\ + add $2, %%edx \n\ + cmp %%edi, %%edx /* if (dst!=endline) */ \n\ + jne 0b /* goto loop_begin; */ \n\ + \n\ + /* Next Scanline */ \n\ + add %4, %%edi /* endline += stride_dest; */\n\ + add %5, %%edx /* dest += stride_diff; */\n\ + cmp %%esi, %%edx /* if (dst!=end) */ \n\ + jne 0b /* goto loop_begin; */ \n\ + \n\ + emms" + : + : "a"(src), "d"(dst), "D"(endline), "S"(end), "m"(stride_dest), "m"(stride_diff), "m"(aaShift) + : "%ebx", "%ecx"); +#else __asm { emms /* mmx */ @@ -7848,9 +8175,11 @@ loop_begin: emms /* mmx */ } - } - else -#endif +#endif + } + + else + while (dst