X-1.18 Camiel Vanderhoeven 25-MAR-2008 Added comments on VGA registers.
X-1.17 Camiel Vanderhoeven 16-MAR-2008 Fixed threading problems with SDL (I hope).
X-1.16 Camiel Vanderhoeven 14-MAR-2008 Formatting.
X-1.15 Camiel Vanderhoeven 14-MAR-2008 1. More meaningful exceptions replace throwing (int) 1. 2. U64 macro replaces X64 macro.
X-1.14 Camiel Vanderhoeven 13-MAR-2008 Create init(), start_threads() and stop_threads() functions.
X-1.13 Camiel Vanderhoeven 05-MAR-2008 Multi-threading version.
X-1.12 Brian Wheeler 27-FEB-2008 Avoid compiler warnings.
X-1.11 Fang Zhe 08-JAN-2008 Endianess.
X-1.10 Camiel Vanderhoeven 02-JAN-2008 Cleanup.
X-1.9 Camiel Vanderhoeven 30-DEC-2007 Print file id on initialization.
X-1.8 Camiel Vanderhoeven 28-DEC-2007 Throw exceptions rather than just exiting when errors occur.
X-1.7 Camiel Vanderhoeven 28-DEC-2007 Keep the compiler happy.
X-1.6 Camiel Vanderhoeven 17-DEC-2007 SaveState file format 2.1
X-1.5 Brian Wheeler 10-DEC-2007 Made refresh function name unique.
X-1.4 Camiel Vanderhoeven 10-DEC-2007 Use new base class VGA.
X-1.3 Camiel Vanderhoeven 7-DEC-2007 Code cleanup.
X-1.2 Camiel Vanderhoeven/Brian Wheeler 6-DEC-2007 Changed implementation (with thanks to the Bochs project!!)
X-1.1 Camiel Vanderhoeven 1-DEC-2007 Initial version in CVS.
Definition in file S3Trio64.cpp.
#include "StdAfx.h"
#include "S3Trio64.h"
#include "System.h"
#include "AliM1543C.h"
#include "gui/gui.h"
Go to the source code of this file.
Defines | |
| #define | SET_TILE_UPDATED(xtile, ytile, value) |
| Set a specific tile's updated variable. | |
| #define | GET_TILE_UPDATED(xtile, ytile) ((((xtile) < BX_NUM_X_TILES) && ((ytile) < BX_NUM_Y_TILES)) ? state.vga_tile_updated[(xtile)][(ytile)] : 0) |
| Get a specific tile's updated variable. | |
Variables | |
| static unsigned | old_iHeight = 0 |
| static unsigned | old_iWidth = 0 |
| static unsigned | old_MSL = 0 |
| static const u8 | ccdat [16][4] |
| static unsigned int | rom_max |
| Size of ROM image. | |
| static u8 | option_rom [65536] |
| ROM image. | |
| static u32 | s3_cfg_data [64] |
| PCI Configuration Space data block. | |
| static u32 | s3_cfg_mask [64] |
| PCI Configuration Space mask block. | |
| static u32 | s3_magic1 = 0x53338811 |
| static u32 | s3_magic2 = 0x88115333 |
| #define GET_TILE_UPDATED | ( | xtile, | |||
| ytile | ) | ((((xtile) < BX_NUM_X_TILES) && ((ytile) < BX_NUM_Y_TILES)) ? state.vga_tile_updated[(xtile)][(ytile)] : 0) |
Get a specific tile's updated variable.
Only reference the array if the tile numbers are within the bounds of the array. If out of bounds, return 0.
Definition at line 133 of file S3Trio64.cpp.
| #define SET_TILE_UPDATED | ( | xtile, | |||
| ytile, | |||||
| value | ) |
Value:
do \ { \ if(((xtile) < BX_NUM_X_TILES) && ((ytile) < BX_NUM_Y_TILES)) \ state.vga_tile_updated[(xtile)][(ytile)] = value; \ } while(0)
Only reference the array if the tile numbers are within the bounds of the array. If out of bounds, do nothing.
Definition at line 120 of file S3Trio64.cpp.
Initial value:
{
{0x00, 0x00, 0x00, 0x00},
{0xff, 0x00, 0x00, 0x00},
{0x00, 0xff, 0x00, 0x00},
{0xff, 0xff, 0x00, 0x00},
{0x00, 0x00, 0xff, 0x00},
{0xff, 0x00, 0xff, 0x00},
{0x00, 0xff, 0xff, 0x00},
{0xff, 0xff, 0xff, 0x00},
{0x00, 0x00, 0x00, 0xff},
{0xff, 0x00, 0x00, 0xff},
{0x00, 0xff, 0x00, 0xff},
{0xff, 0xff, 0x00, 0xff},
{0x00, 0x00, 0xff, 0xff},
{0xff, 0x00, 0xff, 0xff},
{0x00, 0xff, 0xff, 0xff},
{0xff, 0xff, 0xff, 0xff},
}
Definition at line 95 of file S3Trio64.cpp.
unsigned old_iHeight = 0 [static] |
Definition at line 93 of file S3Trio64.cpp.
unsigned old_iWidth = 0 [static] |
Definition at line 93 of file S3Trio64.cpp.
unsigned old_MSL = 0 [static] |
Definition at line 93 of file S3Trio64.cpp.
u8 option_rom[65536] [static] |
unsigned int rom_max [static] |
u32 s3_cfg_data[64] [static] |
Initial value:
{
0x88115333,
0x011f0000,
0x03000002,
0x00000000,
0xf8000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x281401ff,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}
Definition at line 188 of file S3Trio64.cpp.
Referenced by CS3Trio64::init().
u32 s3_cfg_mask[64] [static] |
Initial value:
{
0x00000000,
0x0000ffff,
0x00000000,
0x0000ffff,
0xfc000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x000000ff,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}
Definition at line 211 of file S3Trio64.cpp.
Referenced by CS3Trio64::init().
Definition at line 509 of file S3Trio64.cpp.
Referenced by CS3Trio64::RestoreState(), and CS3Trio64::SaveState().
Definition at line 510 of file S3Trio64.cpp.
Referenced by CS3Trio64::RestoreState(), and CS3Trio64::SaveState().