/* TVGA 9440 code added by ARK 29-OCT-97 */ /* (root@ark.dyn.ml.org, ark@lhq.com) [nitc?] */ /* updated 9-NOV-97 to support more regs */ /* this should alllow it to work on 9680's as well */ /* The 9440 now uses 84 and 2 pads */ /* EXT+11 and 12 are not used, because vga.c will clobber them */ #define REG94 86 /* I used _regs94 for the 9440 sets so they don't */ /* interfere with the old 8900 sets */ /* BIOS mode 0x5B - 800x600x16 */ static const unsigned char g800x600x16_regs94[REG94]={ 0x7F,0x63,0x64,0x82,0x6C,0x1C,0x72,0xF0, /*CRTC*/ 0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00, 0x58,0x8C,0x57,0x32,0x00,0x58,0x72,0xE3, 0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07, /*ATC*/ 0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F, 0x01,0x00,0x0F,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x0F, /*GRFX*/ 0xFF, 0x03,0x01,0x0F,0x00,0x06, /*SEQ*/ 0xEB, /*MISC*/ 0xE3,0x00,0xF2,0xB3, /*Trident SEQ*/ 0x40,0x80,0x13,0x10,0x0A,0x00,0x2C, /*Trident CRTC*/ 0x00,0x00, /*Pad for 8900 in vga.c*/ 0x10,0x1F,0x08,0x01,0x10,0x00, /*Trident CRC*/ 0x90,0x22, /*Trident GRFX*/ 0x30,0x14,0x07,0x05,0x00 /*Trident Specific*/ }; /* BIOS mode 0x5D - 640x480x256 */ static const unsigned char g640x480x256_regs94[REG94]={ 0x5F,0x4F,0x50,0x82,0x54,0x80,0x0B,0x3E, /*CRTC*/ 0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00, 0xEA,0x8C,0xDF,0x50,0x40,0xE0,0x0B,0xA3, 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07, /*ATC*/ 0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F, 0x41,0x00,0x0F,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x40,0x05,0x0F, /*GRFX*/ 0xFF, 0x03,0x01,0x0F,0x00,0x0E, /*SEQ*/ 0xEB, /*MISC*/ 0xE3,0x00,0xF2,0xB3, /*Trident SEQ*/ 0x40,0x80,0x13,0x10,0x0A,0x00,0x2C, /*Trident CRTC*/ 0x00,0x00, /*Pad for 8900 in vga.c*/ 0x50,0x1F,0x0F,0x01,0x10,0x00, /*Trident CRC*/ 0x96,0x22, /*Trident GRFX*/ 0xC2,0x19,0x07,0x05,0x00 /*Trident Specific*/ }; /* BIOS mode 0x5E - 800x600x256 */ static const unsigned char g800x600x256_regs94[REG94]={ 0x7F,0x63,0x64,0x82,0x6B,0x1B,0x72,0xF0, /*CRTC*/ 0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00, 0x58,0x8C,0x57,0x64,0x40,0x58,0x72,0xA3, 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07, /*ATC*/ 0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F, 0x41,0x00,0x0F,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x40,0x05,0x0F, /*GRFX*/ 0xFF, 0x03,0x01,0x0F,0x00,0x0E, /*SEQ*/ 0xEB, /*MISC*/ 0xE3,0x00,0xF2,0xB3, /*Trident SEQ*/ 0x40,0x80,0x13,0x10,0x0A,0x00,0x2C, /*Trident CRTC*/ 0x00,0x00, /*Pad for 8900 in vga.c*/ 0x50,0x1F,0x0F,0x01,0x10,0x00, /*Trident CRC*/ 0x96,0x22, /*Trident GRFX*/ 0x30,0x14,0x07,0x05,0x00 /*Trident Specific*/ }; /* BIOS mode 0x5F - 1024x768x16 */ static const unsigned char g1024x768x16_regs94[REG94]={ 0x99,0x7F,0x80,0x1C,0x84,0x1A,0x97,0x1F, /*CRTC*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x80,0x84,0x7F,0x40,0x00,0x80,0x97,0xE3, 0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07, /*ATC*/ 0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F, 0x01,0x00,0x0F,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x0F, /*GRFX*/ 0xFF, 0x03,0x01,0x0F,0x00,0x06, /*SEQ*/ 0x2B, /*MISC*/ 0xE3,0x00,0xF2,0xB3, /*Trident SEQ*/ 0x40,0x84,0x13,0x10,0x0A,0x00,0x2C, /*Trident CRTC*/ 0x00,0x00, /*Pad for 8900 in vga.c*/ 0x10,0x1F,0x08,0x01,0x10,0x00, /*Trident CRC*/ 0x94,0x26, /*Trident GRFX*/ 0xBD,0x14,0x07,0x05,0x00 /*Trident Specific*/ }; /* BIOS mode 0x62 - 1024x768x256 */ static const unsigned char g1024x768x256_regs94[REG94]={ 0x99,0x7F,0x80,0x1C,0x83,0x19,0x97,0x1F, /*CRTC*/ 0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00, 0x80,0x84,0x7F,0x80,0x40,0x80,0x97,0xA3, 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07, /*ATC*/ 0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F, 0x41,0x00,0x0F,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x40,0x05,0x0F, /*GRFX*/ 0xFF, 0x03,0x01,0x0F,0x00,0x0E, /*SEQ*/ 0x2B, /*MISC*/ 0xE3,0x00,0xF2,0xB3, /*Trident SEQ*/ 0x40,0x84,0x13,0x10,0x0A,0x00,0x2C, /*Trident CRTC*/ 0x00,0x00, /*Pad for 8900 in vga.c*/ 0x50,0x1F,0x0F,0x01,0x10,0x00, /*Trident CRC*/ 0x96,0x26, /*Trident GRFX*/ 0xBD,0x14,0x07,0x05,0x00 /*Trident Specific*/ }; /* BIOS mode 0x63 - 1280x1024x16 */ static const unsigned char g1280x1024x16_regs94[REG94]={ 0xCF,0x9F,0xA0,0x92,0xA9,0x13,0x15,0xB2, /*CRTC*/ 0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00, 0x01,0x84,0xFF,0x50,0x00,0x01,0x13,0xE3, 0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07, /*ATC*/ 0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F, 0x01,0x00,0x0F,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x0F, /*GRFX*/ 0xFF, 0x03,0x01,0x0F,0x00,0x06, /*SEQ*/ 0x2B, /*MISC*/ 0xE3,0x00,0xF2,0xB3, /*Trident SEQ*/ 0x40,0x84,0x13,0x10,0x8A,0x00,0x2C, /*Trident CRTC*/ 0x00,0x00, /*Pad for 8900 in vga.c*/ 0x10,0x1F,0x08,0x01,0x10,0x00, /*Trident CRC*/ 0x94,0x26, /*Trident GRFX*/ 0x45,0x06,0x07,0x05,0x00 /*Trident Specific*/ }; /* BIOS mode 0x65 - 1600x1200x16 */ static const unsigned char g1600x1200x16_regs94[REG94]={ 0x5F,0x4F,0x50,0x82,0x55,0x81,0xBF,0x1F, /*CRTC*/ 0x00,0x4F,0x0D,0x0E,0x00,0x00,0x00,0x00, 0x9C,0x8E,0x8F,0x28,0x1F,0x96,0xB9,0xA3, 0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07, /*ATC*/ 0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F, 0x0C,0x00,0x0F,0x08,0x00, 0x00,0x00,0x00,0x00,0x00,0x10,0x0E,0x00, /*GRFX*/ 0xFF, 0x03,0x00,0x03,0x00,0x02, /*SEQ*/ 0x67, /*MISC*/ 0xE3,0x00,0xF2,0xB3, /*Trident SEQ*/ 0x40,0x00,0x13,0x10,0x0A,0x00,0x2C, /*Trident CRTC*/ 0x00,0x00, /*Pad for 8900 in vga.c*/ 0x10,0x1F,0x08,0x01,0x10,0x00, /*Trident CRC*/ 0x90,0x22, /*Trident GRFX*/ 0x45,0x06,0x07,0x05,0x00 /*Trident Specific*/ }; /* BIOS mode 0x6B - 320x200x16M */ static const unsigned char g320x200x16M_regs94[REG94]={ 0x30,0x27,0x28,0x93,0x2B,0x90,0xBF,0x1F, /*CRTC*/ 0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00, 0x9C,0x8E,0x8F,0x78,0x40,0x96,0xB9,0xA3, 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07, /*ATC*/ 0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F, 0x41,0x00,0x0F,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x40,0x05,0x0F, /*GRFX*/ 0xFF, 0x03,0x01,0x0F,0x00,0x0E, /*SEQ*/ 0x6B, /*MISC*/ 0xE3,0x00,0xF2,0xB3, /*Trident SEQ*/ 0x40,0x80,0x13,0x10,0x8A,0x00,0x2C, /*Trident CRTC*/ 0x00,0x00, /*Pad for 8900 in vga.c*/ 0x50,0x1F,0x0F,0x01,0x18,0x00, /*Trident CRC*/ 0xD6,0x22, /*Trident GRFX*/ 0x30,0x14,0x07,0x05,0xD0 /*Trident Specific*/ }; /* BIOS mode 0x6C - 640x480x16M */ static const unsigned char g640x480x16M_regs94[REG94]={ 0x5F,0x4F,0x50,0x82,0x52,0x80,0x0B,0x3E, /*CRTC*/ 0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00, 0xEA,0x8C,0xDF,0xF0,0x40,0xE7,0x04,0xA3, 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07, /*ATC*/ 0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F, 0x41,0x00,0x0F,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x40,0x05,0x0F, /*GRFX*/ 0xFF, 0x03,0x01,0x0F,0x00,0x0E, /*SEQ*/ 0xEB, /*MISC*/ 0xE3,0x00,0xF0,0xB3, /*Trident SEQ*/ 0x40,0x80,0x13,0x10,0x0A,0x00,0x2C, /*Trident CRTC*/ 0x00,0x00, /*Pad for 8900 in vga.c*/ 0x50,0x1F,0x0F,0x05,0x18,0x00, /*Trident CRC*/ 0xD6,0x22, /*Trident GRFX*/ 0x22,0x03,0x07,0x05,0xD0 /*Trident Specific*/ }; /* BIOS mode 0x74 - 640x480x32K */ static const unsigned char g640x480x32K_regs94[REG94]={ 0x5F,0x4F,0x50,0x82,0x54,0x80,0x0B,0x3E, /*CRTC*/ 0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00, 0xEA,0x8C,0xDF,0xA0,0x40,0xE0,0x0B,0xA3, 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07, /*ATC*/ 0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F, 0x41,0x00,0x0F,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x40,0x05,0x0F, /*GRFX*/ 0xFF, 0x03,0x01,0x0F,0x00,0x0E, /*SEQ*/ 0xEB, /*MISC*/ 0xE3,0x00,0xF2,0xB3, /*Trident SEQ*/ 0x40,0x80,0x13,0x10,0x0A,0x00,0x2C, /*Trident CRTC*/ 0x00,0x00, /*Pad for 8900 in vga.c*/ 0x50,0x1F,0x0F,0x01,0x14,0x00, /*Trident CRC*/ 0x9E,0x22, /*Trident GRFX*/ 0x29,0x06,0x07,0x05,0x10 /*Trident Specific*/ }; /* BIOS mode 0x75 - 640x480x64K */ static const unsigned char g640x480x64K_regs94[REG94]={ 0x5F,0x4F,0x50,0x82,0x54,0x80,0x0B,0x3E, /*CRTC*/ 0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00, 0xEA,0x8C,0xDF,0xA0,0x40,0xE0,0x0B,0xA3, 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07, /*ATC*/ 0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F, 0x41,0x00,0x0F,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x40,0x05,0x0F, /*GRFX*/ 0xFF, 0x03,0x01,0x0F,0x00,0x0E, /*SEQ*/ 0xEB, /*MISC*/ 0xE3,0x00,0xF2,0xB3, /*Trident SEQ*/ 0x40,0x80,0x13,0x10,0x0A,0x00,0x2C, /*Trident CRTC*/ 0x00,0x00, /*Pad for 8900 in vga.c*/ 0x50,0x1F,0x0F,0x01,0x14,0x00, /*Trident CRC*/ 0x9E,0x22, /*Trident GRFX*/ 0x29,0x06,0x07,0x05,0x30 /*Trident Specific*/ }; /* BIOS mode 0x76 - 800x600x32K */ static const unsigned char g800x600x32K_regs94[REG94]={ 0x7F,0x63,0x64,0x82,0x69,0x1A,0x72,0xF0, /*CRTC*/ 0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00, 0x58,0x8C,0x57,0xC8,0x40,0x58,0x72,0xA3, 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07, /*ATC*/ 0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F, 0x41,0x00,0x0F,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x40,0x05,0x0F, /*GRFX*/ 0xFF, 0x03,0x01,0x0F,0x00,0x0E, /*SEQ*/ 0xEB, /*MISC*/ 0xE3,0x00,0xF0,0xB3, /*Trident SEQ*/ 0x40,0x80,0x13,0x10,0x0A,0x00,0x2C, /*Trident CRTC*/ 0x00,0x00, /*Pad for 8900 in vga.c*/ 0x50,0x1F,0x0F,0x05,0x14,0x00, /*Trident CRC*/ 0x9E,0x22, /*Trident GRFX*/ 0x30,0x04,0x07,0x05,0x10 /*Trident Specific*/ }; /* BIOS mode 0x77 - 800x600x64K */ static const unsigned char g800x600x64K_regs94[REG94]={ 0x7E,0x63,0x64,0x81,0x68,0x1A,0x72,0xF0, /*CRTC*/ 0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00, 0x58,0x8C,0x57,0xC8,0x40,0x58,0x72,0xA3, 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07, /*ATC*/ 0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F, 0x41,0x00,0x0F,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x40,0x05,0x0F, /*GRFX*/ 0xFF, 0x03,0x01,0x0F,0x00,0x0E, /*SEQ*/ 0xEB, /*MISC*/ 0xE3,0x00,0xF0,0xB3, /*Trident SEQ*/ 0x40,0x80,0x13,0x10,0x0A,0x00,0x2C, /*Trident CRTC*/ 0x00,0x00, /*Pad for 8900 in vga.c*/ 0x50,0x1F,0x0F,0x05,0x14,0x00, /*Trident CRC*/ 0x9E,0x22, /*Trident GRFX*/ 0x30,0x04,0x07,0x05,0x30 /*Trident Specific*/ }; /* BIOS mode 0x7E - 320x200x32K */ static const unsigned char g320x200x32K_regs94[REG94]={ 0x2D,0x27,0x28,0x90,0x2A,0x80,0xBF,0x1F, /*CRTC*/ 0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00, 0x9C,0x8E,0x8F,0x50,0x40,0x96,0xB9,0xA3, 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07, /*ATC*/ 0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F, 0x41,0x00,0x0F,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x40,0x05,0x0F, /*GRFX*/ 0xFF, 0x03,0x01,0x0F,0x00,0x0E, /*SEQ*/ 0x6B, /*MISC*/ 0xE3,0x00,0xF2,0xB3, /*Trident SEQ*/ 0x40,0x80,0x13,0x10,0x0A,0x00,0x2C, /*Trident CRTC*/ 0x00,0x00, /*Pad for 8900 in vga.c*/ 0x50,0x1F,0x0F,0x01,0x14,0x00, /*Trident CRC*/ 0x9E,0x22, /*Trident GRFX*/ 0xC2,0x19,0x07,0x05,0x10 /*Trident Specific*/ }; /* BIOS mode 0x7F - 320x200x64K */ static const unsigned char g320x200x64K_regs94[REG94]={ 0x2D,0x27,0x28,0x90,0x2A,0x80,0xBF,0x1F, /*CRTC*/ 0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00, 0x9C,0x8E,0x8F,0x50,0x40,0x96,0xB9,0xA3, 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07, /*ATC*/ 0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F, 0x41,0x00,0x0F,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x40,0x05,0x0F, /*GRFX*/ 0xFF, 0x03,0x01,0x0F,0x00,0x0E, /*SEQ*/ 0x6B, /*MISC*/ 0xE3,0x00,0xF2,0xB3, /*Trident SEQ*/ 0x40,0x80,0x13,0x10,0x0A,0x00,0x2C, /*Trident CRTC*/ 0x00,0x00, /*Pad for 8900 in vga.c*/ 0x50,0x1F,0x0F,0x01,0x14,0x00, /*Trident CRC*/ 0x9E,0x22, /*Trident GRFX*/ 0xC2,0x19,0x07,0x05,0x30 /*Trident Specific*/ };