PageRenderTime 56ms CodeModel.GetById 54ms app.highlight 1ms RepoModel.GetById 0ms app.codeStats 0ms

/vga/libvga.et4000

http://github.com/brinkman83/bashrc
Unknown | 126 lines | 113 code | 13 blank | 0 comment | 0 complexity | 625713aa06a05cd242bef448c7cf2b71 MD5 | raw file
  1
  2/* ET4000 registers from SVGALIB 0.81 */
  3
  4/* Define DAC_TYPE to force the DAC type used in the ET4000 driver. If it   */
  5/* is not defined, the driver tries to autodetect the DAC type which may go */
  6/* wrong. */
  7
  8/*  Use the following values:
  9   0: Ordinary DAC
 10   1: Sierra SC11486 (32k)
 11   3: Sierra 32k/64k
 12   5: SS2410 15/24bit DAC
 13   9: AT&T 20c491/2 (32k/64k/24bit)
 14   17: Acumos ADAC (Cirrus Logic DAC)
 15   33: Sierra 15025/6 24-bit DAC
 16 */
 17
 18#define DAC_TYPE 0
 19
 20/* unsupported modes */
 21#define g320x200x64K_regs  DISABLE_MODE
 22#define g320x200x16M_regs  DISABLE_MODE
 23#define g800x600x16_regs   DISABLE_MODE
 24#define g1024x768x16_regs  DISABLE_MODE
 25#define g1280x1024x16_regs DISABLE_MODE
 26
 27
 28/* Got this mode from someone's tseng3.exe dump. */
 29/* ET4000 HiColor BIOS mode 0x13 -- 320x200x32K */
 30/* Video timing:        Vertical frequency   : 70.3Hz
 31   Horizontal frequency : 31.6KHz  */
 32static unsigned char g320x200x32K_regs[73] =
 33{
 34  0x5F, 0x4F, 0x50, 0x82, 0x54, 0x80, 0xBF, 0x1F, 0x00, 0x41, 0x00, 0x00,
 35  0x00, 0x00, 0x00, 0x00, 0x9C, 0x8E, 0x8F, 0x50, 0x60, 0x96, 0xB9, 0xAB,
 36  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B,
 37    0x0C, 0x0D, 0x0E, 0x0F, 0x01, 0x00, 0x0F, 0x00, 0x00,
 38    0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x05, 0x0F, 0xFF,
 39    0x03, 0x01, 0x0F, 0x00, 0x0E,
 40    0x63,
 41  0x00, 0x00, 0x28, 0x00, 0x08, 0x00, 0x43, 0x0F, 0x00, 0xFC, 0x00, 0x00,
 42    0x00
 43};
 44
 45/* ET4000 BIOS mode 2Eh - 640x480x256 */
 46static unsigned char g640x480x256_regs[73] =
 47{
 48  0x5F, 0x4F, 0x50, 0x82, 0x54, 0x80, 0x0B, 0x3E, 0x00, 0x40, 0x00, 0x00,
 49  0x00, 0x00, 0x00, 0x00, 0xEA, 0x8C, 0xDF, 0x50, 0x60, 0xE7, 0x04, 0xAB,
 50  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B,
 51    0x0C, 0x0D, 0x0E, 0x0F, 0x01, 0x00, 0x0F, 0x00, 0x00,
 52    0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x05, 0x0F, 0xFF,
 53    0x03, 0x01, 0x0F, 0x00, 0x0E,
 54    0xE3,
 55  0x00, 0x00, 0x28, 0x00, 0x08, 0x00, 0x03, 0x0F, 0x00, 0xFC, 0x00, 0x00,
 56    0x00
 57};
 58
 59/* ET4000 BIOS mode 30h - 800x600x256 */
 60static unsigned char g800x600x256_regs[73] =
 61{
 62  0x7F, 0x63, 0x64, 0x02, 0x6A, 0x1D, 0x77, 0xF0, 0x00, 0x60, 0x00, 0x00,
 63  0x00, 0x00, 0x00, 0x00, 0x5D, 0x8F, 0x57, 0x64, 0x60, 0x5B, 0x74, 0xAB,
 64  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B,
 65    0x0C, 0x0D, 0x0E, 0x0F, 0x01, 0x00, 0x0F, 0x00, 0x00,
 66    0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x05, 0x0F, 0xFF,
 67    0x03, 0x01, 0x0F, 0x00, 0x0E,
 68    0xE3,
 69  0x00, 0x00, 0x28, 0x00, 0x0A, 0x00, 0x03, 0x0F, 0x00, 0xFC, 0x00, 0x00,
 70    0x00
 71};
 72
 73/* ET4000 BIOS mode 38h - 1024x768x256 */
 74static unsigned char g1024x768x256_regs[73] =
 75{
 76  0xA1, 0x7F, 0x80, 0x04, 0x89, 0x99, 0x26, 0xFD, 0x00, 0x60, 0x00, 0x00,
 77  0x00, 0x00, 0x00, 0x00, 0x08, 0x8A, 0xFF, 0x80, 0x60, 0x04, 0x22, 0xAB,
 78  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B,
 79    0x0C, 0x0D, 0x0E, 0x0F, 0x01, 0x00, 0x0F, 0x00, 0x00,
 80    0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x05, 0x0F, 0xFF,
 81    0x03, 0x01, 0x0F, 0x00, 0x0E,
 82    0xEB,
 83  0x00, 0x00, 0x28, 0x00, 0x08, 0x00, 0x03, 0x0F, 0x00, 0xBC, 0x00, 0x00,
 84    0x00
 85};
 86
 87static unsigned char g800x600x32K_regs[73] =
 88{
 89  0xF9, 0xC7, 0xC9, 0x9B, 0xCF, 0x8F, 0x78, 0xF0, 0x00, 0x60, 0x00, 0x00,
 90  0x00, 0x00, 0x00, 0x00, 0x5C, 0x8E, 0x57, 0xC8, 0x60, 0x5B, 0x75, 0xAB,
 91  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B,
 92    0x0C, 0x0D, 0x0E, 0x0F, 0x01, 0x00, 0x0F, 0x00, 0x00,
 93    0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x05, 0x0F, 0xFF,
 94    0x03, 0x01, 0x0F, 0x00, 0x0E,
 95    0xEF,
 96  0x00, 0x00, 0x28, 0x00, 0x08, 0x00, 0x03, 0x0F, 0x00, 0xBC, 0x00, 0x00,
 97    0x06
 98};
 99#define g800x600x64K_regs g800x600x32K_regs
100
101static unsigned char g640x480x16M_regs[73] =
102{
103  0x27, 0xEF, 0xF2, 0x88, 0xF8, 0x98, 0x0B, 0x3E, 0x00, 0x40, 0x00, 0x00,
104  0x00, 0x00, 0x00, 0x00, 0xEA, 0x0C, 0xDF, 0xF0, 0x60, 0xE7, 0x04, 0xAB,
105  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B,
106    0x0C, 0x0D, 0x0E, 0x0F, 0x01, 0x00, 0x0F, 0x00, 0x00,
107    0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x05, 0x0F, 0xFF,
108    0x03, 0x01, 0x0F, 0x00, 0x0E,
109    0xEF,
110  0x00, 0x00, 0x28, 0x00, 0x0A, 0x00, 0x03, 0x0F, 0x01, 0xBC, 0x00, 0x00,
111    0x00
112};
113
114static unsigned char g640x480x32K_regs[73] =
115{
116  0xC3, 0x9F, 0xA1, 0x85, 0xA7, 0x1F, 0x0B, 0x3E, 0x00, 0x40, 0x00, 0x00,
117  0x00, 0x00, 0x00, 0x00, 0xEA, 0x8C, 0xDF, 0xA0, 0x60, 0xE7, 0x04, 0xAB,
118  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B,
119    0x0C, 0x0D, 0x0E, 0x0F, 0x01, 0x00, 0x0F, 0x00, 0x00,
120    0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x05, 0x0F, 0xFF,
121    0x03, 0x01, 0x0F, 0x00, 0x0E,
122    0xE3,
123  0x00, 0x00, 0x28, 0x00, 0x08, 0x00, 0x03, 0x0F, 0x00, 0xBC, 0x00, 0x00,
124    0x00
125};
126#define g640x480x64K_regs g640x480x32K_regs