/* VGAlib version 1.2 - (c) 1993 Tommy Frandsen 		   */
/*								   */
/* This library is free software; you can redistribute it and/or   */
/* modify it without any restrictions. This library is distributed */
/* in the hope that it will be useful, but without any warranty.   */

/* Multi-chipset support Copyright 1993 Harm Hanemaayer */
/* TVGA 8900c code taken from tvgalib by Toomas Losin */


#define REGCOUNT 72

/* Trident SVGA mode 5d - 640x480x256 1M NI */
static const unsigned char g640x480x256_regs[REGCOUNT] = {
  /* CRTC */
  0x5f,0x4f,0x50,0x82,0x54,0x80,0x0b,0x3e,0x00,0x40,0x00,0x00,
  0x00,0x00,0x00,0x00,0xea,0x8c,0xdf,0x28,0x40,0xe7,0x04,0xa3,
  /* ATC */
  0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,
  0x0c,0x0d,0x0e,0x0f,0x41,0x00,0x0f,0x00,0x00,
  /* Graphics */
  0x00,0x00,0x00,0x00,0x00,0x40,0x05,0x0f,0xff,
  /* Sequencer */
  0x01,0x01,0x0f,0x00,0x0e,
  /* Misc. output */
  0x63,
  /* 7 extra CRT registers */
  0xff,0x00,0x00,0x00,0x00,0x00,0x80,
  /* Extra Sequencer old and new mode registers 13 and 14 */
  0x30,0xa8, 0x00,0x42,
  0x00
};

/* Trident SVGA mode 5d - 640x480x256 512k + 1M I */
static const unsigned char g640x480x256i_regs[REGCOUNT] = {
  0xc3,0x9f,0xa1,0x84,0xa6,0x00,0x0b,0x3e,0x00,0x40,0x00,0x00,
  0x00,0x00,0x00,0x00,0xea,0x8c,0xdf,0x50,0x40,0xe7,0x04,0xa3,
  /* ATC */
  0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,
  0x0c,0x0d,0x0e,0x0f,0x41,0x00,0x0f,0x00,0x00,
  /* Graphics */
  0x00,0x00,0x00,0x00,0x00,0x40,0x05,0x0f,0xff,
  /* Seq. */
  0x01,0x01,0x0f,0x00,0x0e,
  /* Misc. output */
  0xeb,
  /* extra CRT regs */
  0xff,0x00,0x00,0x00,0x00,0x00,0x80,
  /* Extra seq. regs */
  0x00,0xa8, 0x01,0x02,
  0x00
};

/* Trident SVGA mode 5e - 800x600x256 1M NI */
static const unsigned char g800x600x256_regs[REGCOUNT] = {
  /* CRTC */
  0x7e,0x63,0x64,0x81,0x6b,0x18,0x99,0xf0,0x00,0x60,0x00,0x00,
  0x00,0x00,0x00,0x00,0x6e,0x84,0x57,0x32,0x40,0x5e,0x93,0xa3,
  /* ATC */
  0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,
  0x0c,0x0d,0x0e,0x0f,0x41,0x00,0x0f,0x00,0x00,
  /* Graphics */
  0x00,0x00,0x00,0x00,0x00,0x40,0x05,0x0f,0xff,
  /* Sequencer */
  0x01,0x01,0x0f,0x00,0x0e,
  /* Misc. output */
  0x2b,
  /* Extra CRT registers */
  0xff,0x00,0x00,0x00,0x00,0x00,0x80,
  /* Seq. old and new mode registers */
  0x10,0xa8, 0x01,0x02,
  0x00
};


/* Trident SVGA mode 5e - 800x600x256 512k */
static const unsigned char g800x600x256i1_regs[REGCOUNT] = {
  /* CRTC */
  0xeb,0xc7,0xc9,0x8d,0xcb,0x86,0x4a,0x1f,0x00,0x00,0x00,0x00,
  0x00,0x00,0x00,0x00,0x2f,0x81,0x2b,0xc8,0x40,0x2f,0x47,0xa3,
  /* ATC */
  0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,
  0x0c,0x0d,0x0e,0x0f,0x41,0x00,0x0f,0x00,0x00,
  /* Graphics */
  0x00,0x00,0x00,0x00,0x00,0x40,0x05,0x0f,0xff,
  /* Sequencer */
  0x01,0x01,0x0f,0x00,0x0e,
  /* Misc. output */
  0xa3,
  /* extra CRTC */
  0xff,0x00,0x00,0x00,0x00,0x00,0x84,
  /* extra Seq. */
  0x00,0xa8, 0x01,0x02,
  0x00
};

/* Trident SVGA mode 5e - 800x600x256 1M I */
static const unsigned char g800x600x256i_regs[REGCOUNT] = {
  /* CRTC */
  0x7b,0x63,0x64,0x9e,0x69,0x92,0x6f,0xf0,0x00,0x60,0x00,0x00,
  0x00,0x00,0x00,0x00,0x58,0x8a,0x57,0x32,0x40,0x58,0x6f,0xa3,
  /* ATC */
  0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,
  0x0c,0x0d,0x0e,0x0f,0x41,0x00,0x0f,0x00,0x00,
  0x00,0x00,0x00,0x00,0x00,0x40,0x05,0x0f,0xff,
  /* Seq. */
  0x01,0x01,0x0f,0x00,0x0e,
  0xef,
  /* extra CRTC */
  0xff,0x00,0x00,0x00,0x00,0x00,0x80,
  0x30,0xa8, 0x00,0x42,
  0x00
};


/* Trident SVGA mode 62 - 1024x768x256 1M I */
static const unsigned char g1024x768x256i_regs[REGCOUNT] = {
  /* CRTC */
  0x99,0x7f,0x81,0x1b,0x83,0x19,0x98,0x1f,0x00,0x00,0x00,0x00,
  0x00,0x00,0x00,0x00,0x81,0x0f,0x7f,0x80,0x40,0x83,0x95,0xa3,
  /* ATC */
  0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,
  0x0c,0x0d,0x0e,0x0f,0x41,0x00,0x0f,0x00,0x00,
  /* Graphics */
  0x00,0x00,0x00,0x00,0x00,0x40,0x05,0x0f,0xff,
  /* Sequencer */
  0x01,0x01,0x0f,0x00,0x0e,
  /* Misc. output */
  0x2b,
  /* Extra CRTC regs */
  0xff,0x00,0x00,0x00,0x00,0x00,0x84,
  /* Ext. sequencer */
  0x10,0xa8, 0x00,0x02,
  0x00
};

/* Trident SVGA mode 62 - 1024x768x256 1M NI */
static const unsigned char g1024x768x256_regs[REGCOUNT] = {
  /* CRTC */
  0xa2,0x7f,0x80,0x85,0x87,0x90,0x2c,0xfd,0x00,0x60,0x00,0x00,
  0x00,0x00,0x00,0x00,0x0f,0x81,0xff,0x40,0x40,0x07,0x26,0xa3,
  /* ATC */
  0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,
  0x0c,0x0d,0x0e,0x0f,0x41,0x00,0x0f,0x00,0x00,
  /* Graphics */
  0x00,0x00,0x00,0x00,0x00,0x40,0x05,0x0f,0xff,
  /* Sequencer */
  0x01,0x01,0x0f,0x00,0x0e,
  /* Misc. output */
  0x27,
  /* Extended CRTC regs */
  0xff,0x00,0x00,0x00,0x00,0x00,0x80,
  /* Ext. seq. */
  0x10,0xa8, 0x01,0x02,
  0x00
};

