1465 lines · 51.1 KB · C
RawDownload
/* $XFree86$ *//* $XdotOrg$ *//* * Data and prototypes for init.c * * Copyright (C) 2001-2005 by Thomas Winischhofer, Vienna, Austria * * If distributed as part of the Linux kernel, the following license terms * apply: * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the named License, * * or any later version. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA * * Otherwise, the following license terms apply: * * * Redistribution and use in source and binary forms, with or without * * modification, are permitted provided that the following conditions * * are met: * * 1) Redistributions of source code must retain the above copyright * *    notice, this list of conditions and the following disclaimer. * * 2) Redistributions in binary form must reproduce the above copyright * *    notice, this list of conditions and the following disclaimer in the * *    documentation and/or other materials provided with the distribution. * * 3) The name of the author may not be used to endorse or promote products * *    derived from this software without specific prior written permission. * * * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * Author: 	Thomas Winischhofer <thomas@winischhofer.net> * */ #ifndef _INIT_H_#define _INIT_H_ #include "initdef.h" #include "vgatypes.h"#include "vstruct.h"#ifdef SIS_CP#undef SIS_CP#endif#include <linux/types.h>#include <asm/io.h>#include <linux/fb.h>#include "sis.h"#include <video/sisfb.h> /* Mode numbers */static const unsigned short ModeIndex_320x200[]      = {0x59, 0x41, 0x00, 0x4f};static const unsigned short ModeIndex_320x240[]      = {0x50, 0x56, 0x00, 0x53};static const unsigned short ModeIndex_320x240_FSTN[] = {0x5a, 0x5b, 0x00, 0x00};  /* FSTN */static const unsigned short ModeIndex_400x300[]      = {0x51, 0x57, 0x00, 0x54};static const unsigned short ModeIndex_512x384[]      = {0x52, 0x58, 0x00, 0x5c};static const unsigned short ModeIndex_640x400[]      = {0x2f, 0x5d, 0x00, 0x5e};static const unsigned short ModeIndex_640x480[]      = {0x2e, 0x44, 0x00, 0x62};static const unsigned short ModeIndex_720x480[]      = {0x31, 0x33, 0x00, 0x35};static const unsigned short ModeIndex_720x576[]      = {0x32, 0x34, 0x00, 0x36};static const unsigned short ModeIndex_768x576[]      = {0x5f, 0x60, 0x00, 0x61};static const unsigned short ModeIndex_800x480[]      = {0x70, 0x7a, 0x00, 0x76};static const unsigned short ModeIndex_800x600[]      = {0x30, 0x47, 0x00, 0x63};static const unsigned short ModeIndex_848x480[]      = {0x39, 0x3b, 0x00, 0x3e};static const unsigned short ModeIndex_856x480[]      = {0x3f, 0x42, 0x00, 0x45};static const unsigned short ModeIndex_960x540[]      = {0x1d, 0x1e, 0x00, 0x1f};  /* 315 series only */static const unsigned short ModeIndex_960x600[]      = {0x20, 0x21, 0x00, 0x22};  /* 315 series only */static const unsigned short ModeIndex_1024x768[]     = {0x38, 0x4a, 0x00, 0x64};static const unsigned short ModeIndex_1024x576[]     = {0x71, 0x74, 0x00, 0x77};static const unsigned short ModeIndex_1024x600[]     = {0x20, 0x21, 0x00, 0x22};  /* 300 series only */static const unsigned short ModeIndex_1280x1024[]    = {0x3a, 0x4d, 0x00, 0x65};static const unsigned short ModeIndex_1280x960[]     = {0x7c, 0x7d, 0x00, 0x7e};static const unsigned short ModeIndex_1152x768[]     = {0x23, 0x24, 0x00, 0x25};  /* 300 series only */static const unsigned short ModeIndex_1152x864[]     = {0x29, 0x2a, 0x00, 0x2b};static const unsigned short ModeIndex_300_1280x768[] = {0x55, 0x5a, 0x00, 0x5b};static const unsigned short ModeIndex_310_1280x768[] = {0x23, 0x24, 0x00, 0x25};static const unsigned short ModeIndex_1280x720[]     = {0x79, 0x75, 0x00, 0x78};static const unsigned short ModeIndex_1280x800[]     = {0x14, 0x15, 0x00, 0x16};static const unsigned short ModeIndex_1280x854[]     = {0x1a, 0x1b, 0x00, 0x1c};static const unsigned short ModeIndex_1360x768[]     = {0x48, 0x4b, 0x00, 0x4e};static const unsigned short ModeIndex_300_1360x1024[]= {0x67, 0x6f, 0x00, 0x72};  /* 300 series, BARCO only */static const unsigned short ModeIndex_1400x1050[]    = {0x26, 0x27, 0x00, 0x28};  /* 315 series only */static const unsigned short ModeIndex_1680x1050[]    = {0x17, 0x18, 0x00, 0x19};  /* 315 series only */static const unsigned short ModeIndex_1600x1200[]    = {0x3c, 0x3d, 0x00, 0x66};static const unsigned short ModeIndex_1920x1080[]    = {0x2c, 0x2d, 0x00, 0x73};  /* 315 series only */static const unsigned short ModeIndex_1920x1440[]    = {0x68, 0x69, 0x00, 0x6b};static const unsigned short ModeIndex_300_2048x1536[]= {0x6c, 0x6d, 0x00, 0x00};static const unsigned short ModeIndex_310_2048x1536[]= {0x6c, 0x6d, 0x00, 0x6e}; static const unsigned char SiS_MDA_DAC[] ={	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,        0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,        0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,        0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,        0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,        0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,        0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F}; static const unsigned char SiS_CGA_DAC[] ={        0x00,0x10,0x04,0x14,0x01,0x11,0x09,0x15,        0x00,0x10,0x04,0x14,0x01,0x11,0x09,0x15,        0x2A,0x3A,0x2E,0x3E,0x2B,0x3B,0x2F,0x3F,        0x2A,0x3A,0x2E,0x3E,0x2B,0x3B,0x2F,0x3F,        0x00,0x10,0x04,0x14,0x01,0x11,0x09,0x15,        0x00,0x10,0x04,0x14,0x01,0x11,0x09,0x15,        0x2A,0x3A,0x2E,0x3E,0x2B,0x3B,0x2F,0x3F,        0x2A,0x3A,0x2E,0x3E,0x2B,0x3B,0x2F,0x3F}; static const unsigned char SiS_EGA_DAC[] ={        0x00,0x10,0x04,0x14,0x01,0x11,0x05,0x15,        0x20,0x30,0x24,0x34,0x21,0x31,0x25,0x35,        0x08,0x18,0x0C,0x1C,0x09,0x19,0x0D,0x1D,        0x28,0x38,0x2C,0x3C,0x29,0x39,0x2D,0x3D,        0x02,0x12,0x06,0x16,0x03,0x13,0x07,0x17,        0x22,0x32,0x26,0x36,0x23,0x33,0x27,0x37,        0x0A,0x1A,0x0E,0x1E,0x0B,0x1B,0x0F,0x1F,        0x2A,0x3A,0x2E,0x3E,0x2B,0x3B,0x2F,0x3F}; static const unsigned char SiS_VGA_DAC[] ={	0x00,0x10,0x04,0x14,0x01,0x11,0x09,0x15,	0x2A,0x3A,0x2E,0x3E,0x2B,0x3B,0x2F,0x3F,	0x00,0x05,0x08,0x0B,0x0E,0x11,0x14,0x18,	0x1C,0x20,0x24,0x28,0x2D,0x32,0x38,0x3F,	0x00,0x10,0x1F,0x2F,0x3F,0x1F,0x27,0x2F,	0x37,0x3F,0x2D,0x31,0x36,0x3A,0x3F,0x00,	0x07,0x0E,0x15,0x1C,0x0E,0x11,0x15,0x18,	0x1C,0x14,0x16,0x18,0x1A,0x1C,0x00,0x04,	0x08,0x0C,0x10,0x08,0x0A,0x0C,0x0E,0x10,	0x0B,0x0C,0x0D,0x0F,0x10}; static const struct SiS_St SiS_SModeIDTable[] ={	{0x01,0x9208,0x01,0x00,0x00,0x00,0x01,0x00,0x40},	{0x01,0x1210,0x14,0x01,0x01,0x00,0x01,0x00,0x40},	{0x01,0x1010,0x17,0x02,0x02,0x00,0x01,0x01,0x40},	{0x03,0x8208,0x03,0x00,0x00,0x00,0x01,0x02,0x40},	{0x03,0x0210,0x16,0x01,0x01,0x00,0x01,0x02,0x40},	{0x03,0x0010,0x18,0x02,0x02,0x00,0x01,0x03,0x40},	{0x05,0x9209,0x05,0x00,0x00,0x00,0x00,0x04,0x40},	{0x06,0x8209,0x06,0x00,0x00,0x00,0x00,0x05,0x40},	{0x07,0x0000,0x07,0x03,0x03,0x00,0x01,0x03,0x40},	{0x07,0x0000,0x19,0x02,0x02,0x00,0x01,0x03,0x40},	{0x0d,0x920a,0x0d,0x00,0x00,0x00,0x00,0x04,0x40},	{0x0e,0x820a,0x0e,0x00,0x00,0x00,0x00,0x05,0x40},	{0x0f,0x0202,0x11,0x01,0x01,0x00,0x00,0x05,0x40},	{0x10,0x0212,0x12,0x01,0x01,0x00,0x00,0x05,0x40},	{0x11,0x0212,0x1a,0x04,0x04,0x00,0x00,0x05,0x40},	{0x12,0x0212,0x1b,0x04,0x04,0x00,0x00,0x05,0x40},	{0x13,0x021b,0x1c,0x00,0x00,0x00,0x00,0x04,0x40},	{0x12,0x0010,0x18,0x02,0x02,0x00,0x00,0x05,0x40},	{0x12,0x0210,0x18,0x01,0x01,0x00,0x00,0x05,0x40},	{0xff,0x0000,0x00,0x00,0x00,0x00,0x00,0x00,0x00}}; static const struct SiS_StResInfo_S SiS_StResInfo[]={	{ 640,400},	{ 640,350},	{ 720,400},	{ 720,350},	{ 640,480}}; static const struct SiS_ModeResInfo_S SiS_ModeResInfo[] ={	{  320, 200, 8, 8},   /* 0x00 */	{  320, 240, 8, 8},   /* 0x01 */	{  320, 400, 8, 8},   /* 0x02 */	{  400, 300, 8, 8},   /* 0x03 */	{  512, 384, 8, 8},   /* 0x04 */	{  640, 400, 8,16},   /* 0x05 */	{  640, 480, 8,16},   /* 0x06 */	{  800, 600, 8,16},   /* 0x07 */	{ 1024, 768, 8,16},   /* 0x08 */	{ 1280,1024, 8,16},   /* 0x09 */	{ 1600,1200, 8,16},   /* 0x0a */	{ 1920,1440, 8,16},   /* 0x0b */	{ 2048,1536, 8,16},   /* 0x0c */	{  720, 480, 8,16},   /* 0x0d */	{  720, 576, 8,16},   /* 0x0e */	{ 1280, 960, 8,16},   /* 0x0f */	{  800, 480, 8,16},   /* 0x10 */	{ 1024, 576, 8,16},   /* 0x11 */	{ 1280, 720, 8,16},   /* 0x12 */	{  856, 480, 8,16},   /* 0x13 */	{ 1280, 768, 8,16},   /* 0x14 */	{ 1400,1050, 8,16},   /* 0x15 */	{ 1152, 864, 8,16},   /* 0x16 */	{  848, 480, 8,16},   /* 0x17 */	{ 1360, 768, 8,16},   /* 0x18 */	{ 1024, 600, 8,16},   /* 0x19 */	{ 1152, 768, 8,16},   /* 0x1a */	{  768, 576, 8,16},   /* 0x1b */	{ 1360,1024, 8,16},   /* 0x1c */	{ 1680,1050, 8,16},   /* 0x1d */	{ 1280, 800, 8,16},   /* 0x1e */	{ 1920,1080, 8,16},   /* 0x1f */	{  960, 540, 8,16},   /* 0x20 */	{  960, 600, 8,16},   /* 0x21 */	{ 1280, 854, 8,16}    /* 0x22 */}; #if defined(CONFIG_FB_SIS_300) || defined(CONFIG_FB_SIS_315)static const struct SiS_StandTable_S SiS_StandTable[]={/* 0x00: MD_0_200 */ {  0x28,0x18,0x08,0x0800,  {0x09,0x03,0x00,0x02},  0x63,  {0x2d,0x27,0x28,0x90,0x2b,0xa0,0xbf,0x1f,   0x00,0xc7,0x06,0x07,0x00,0x00,0x00,0x00,   0x9c,0x8e,0x8f,0x14,0x1f,0x96,0xb9,0xa3,   0xff},  {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,   0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,   0x08,0x00,0x0f,0x00},  {0x00,0x00,0x00,0x00,0x00,0x10,0x0e,0x00,   0xff} },/* 0x01: MD_1_200 */ {  0x28,0x18,0x08,0x0800,  {0x09,0x03,0x00,0x02},  0x63,  {0x2d,0x27,0x28,0x90,0x2b,0xa0,0xbf,0x1f,   0x00,0xc7,0x06,0x07,0x00,0x00,0x00,0x00,   0x9c,0x8e,0x8f,0x14,0x1f,0x96,0xb9,0xa3,   0xff},  {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,   0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,   0x08,0x00,0x0f,0x00},  {0x00,0x00,0x00,0x00,0x00,0x10,0x0e,0x00,   0xff} },/* 0x02: MD_2_200 */ {  0x50,0x18,0x08,0x1000,  {0x01,0x03,0x00,0x02},  0x63,  {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,   0x00,0xc7,0x06,0x07,0x00,0x00,0x00,0x00,   0x9c,0x8e,0x8f,0x28,0x1f,0x96,0xb9,0xa3,   0xff},  {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,   0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,   0x08,0x00,0x0f,0x00},  {0x00,0x00,0x00,0x00,0x00,0x10,0x0e,0x00,   0xff} },/* 0x03: MD_3_200 - mode 0x03 - 0 */ {  0x50,0x18,0x08,0x1000,  {0x01,0x03,0x00,0x02},  0x63,  {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,   0x00,0xc7,0x06,0x07,0x00,0x00,0x00,0x00,   0x9c,0x8e,0x8f,0x28,0x1f,0x96,0xb9,0xa3,   0xff},  {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,   0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,   0x08,0x00,0x0f,0x00},  {0x00,0x00,0x00,0x00,0x00,0x10,0x0e,0x00,   0xff} },/* 0x04: MD_4 */ {  0x28,0x18,0x08,0x4000,  {0x09,0x03,0x00,0x02},  0x63,  {0x2d,0x27,0x28,0x90,0x2c,0x80,0xbf,0x1f,   /* 0x2c is 2b for 300 */   0x00,0xc1,0x00,0x00,0x00,0x00,0x00,0x00,   0x9c,0x8e,0x8f,0x14,0x00,0x96,0xb9,0xa2,   0xff},  {0x00,0x13,0x15,0x17,0x02,0x04,0x06,0x07,   0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,   0x01,0x00,0x03,0x00},  {0x00,0x00,0x00,0x00,0x00,0x30,0x0f,0x00,   0xff} },/* 0x05: MD_5 */ {  0x28,0x18,0x08,0x4000,  {0x09,0x03,0x00,0x02},  0x63,  {0x2d,0x27,0x28,0x90,0x2c,0x80,0xbf,0x1f,   /* 0x2c is 2b for 300 */   0x00,0xc1,0x00,0x00,0x00,0x00,0x00,0x00,   0x9c,0x8e,0x8f,0x14,0x00,0x96,0xb9,0xa2,   0xff},  {0x00,0x13,0x15,0x17,0x02,0x04,0x06,0x07,   0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,   0x01,0x00,0x03,0x00},  {0x00,0x00,0x00,0x00,0x00,0x30,0x0f,0x00,   0xff} },/* 0x06: MD_6 */ {  0x50,0x18,0x08,0x4000,  {0x01,0x01,0x00,0x06},  0x63,  {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,   /* 55,81 is 54,80 for 300 */   0x00,0xc1,0x00,0x00,0x00,0x00,0x00,0x00,   0x9c,0x8e,0x8f,0x28,0x00,0x96,0xb9,0xc2,   0xff},  {0x00,0x17,0x17,0x17,0x17,0x17,0x17,0x17,   0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,   0x01,0x00,0x01,0x00},  {0x00,0x00,0x00,0x00,0x00,0x00,0x0d,0x00,   0xff} },/* 0x07: MD_7 */ {  0x50,0x18,0x0e,0x1000,  {0x00,0x03,0x00,0x03},  0xa6,  {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,   0x00,0x4d,0x0b,0x0c,0x00,0x00,0x00,0x00,   0x83,0x85,0x5d,0x28,0x0d,0x63,0xba,0xa3,   0xff},  {0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x08,   0x10,0x18,0x18,0x18,0x18,0x18,0x18,0x18,   0x0e,0x00,0x0f,0x08},  {0x00,0x00,0x00,0x00,0x00,0x10,0x0a,0x00,   0xff} },/* 0x08: MDA_DAC */ {  0x00,0x00,0x00,0x0000,  {0x00,0x00,0x00,0x15},  0x15,  {0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,   0x15,0x15,0x15,0x15,0x15,0x15,0x3f,0x3f,   0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x00,0x00,   0x00},  {0x00,0x00,0x00,0x00,0x00,0x15,0x15,0x15,   0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,   0x15,0x15,0x15,0x15},  {0x15,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,   0x3f} },/* 0x09: CGA_DAC */ {  0x00,0x10,0x04,0x0114,  {0x11,0x09,0x15,0x00},  0x10,  {0x04,0x14,0x01,0x11,0x09,0x15,0x2a,0x3a,   0x2e,0x3e,0x2b,0x3b,0x2f,0x3f,0x2a,0x3a,   0x2e,0x3e,0x2b,0x3b,0x2f,0x3f,0x00,0x10,   0x04},  {0x14,0x01,0x11,0x09,0x15,0x00,0x10,0x04,   0x14,0x01,0x11,0x09,0x15,0x2a,0x3a,0x2e,   0x3e,0x2b,0x3b,0x2f},  {0x3f,0x2a,0x3a,0x2e,0x3e,0x2b,0x3b,0x2f,   0x3f} },/* 0x0a: EGA_DAC */ {  0x00,0x10,0x04,0x0114,  {0x11,0x05,0x15,0x20},  0x30,  {0x24,0x34,0x21,0x31,0x25,0x35,0x08,0x18,   0x0c,0x1c,0x09,0x19,0x0d,0x1d,0x28,0x38,   0x2c,0x3c,0x29,0x39,0x2d,0x3d,0x02,0x12,   0x06},  {0x16,0x03,0x13,0x07,0x17,0x22,0x32,0x26,   0x36,0x23,0x33,0x27,0x37,0x0a,0x1a,0x0e,   0x1e,0x0b,0x1b,0x0f},  {0x1f,0x2a,0x3a,0x2e,0x3e,0x2b,0x3b,0x2f,   0x3f} },/* 0x0b: VGA_DAC */ {  0x00,0x10,0x04,0x0114,  {0x11,0x09,0x15,0x2a},  0x3a,  {0x2e,0x3e,0x2b,0x3b,0x2f,0x3f,0x00,0x05,   0x08,0x0b,0x0e,0x11,0x14,0x18,0x1c,0x20,   0x24,0x28,0x2d,0x32,0x38,0x3f,0x00,0x10,   0x1f},  {0x2f,0x3f,0x1f,0x27,0x2f,0x37,0x3f,0x2d,   0x31,0x36,0x3a,0x3f,0x00,0x07,0x0e,0x15,   0x1c,0x0e,0x11,0x15},  {0x18,0x1c,0x14,0x16,0x18,0x1a,0x1c,0x00,   0x04} },/* 0x0c */ {  0x08,0x0c,0x10,0x0a08,  {0x0c,0x0e,0x10,0x0b},  0x0c,  {0x0d,0x0f,0x10,0x10,0x01,0x08,0x00,0x00,   0x00,0x00,0x01,0x00,0x02,0x02,0x01,0x00,   0x04,0x04,0x01,0x00,0x05,0x02,0x05,0x00,   0x06},  {0x01,0x06,0x05,0x06,0x00,0x08,0x01,0x08,   0x00,0x07,0x02,0x07,0x06,0x07,0x00,0x00,   0x00,0x00,0x00,0x00},  {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   0x00} },/* 0x0d: MD_D */ {  0x28,0x18,0x08,0x2000,  {0x09,0x0f,0x00,0x06},  0x63,  {0x2d,0x27,0x28,0x90,0x2c,0x80,0xbf,0x1f,     /* 2c is 2b for 300 */   0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,   0x9c,0x8e,0x8f,0x14,0x00,0x96,0xb9,0xe3,   0xff},  {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,   0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,   0x01,0x00,0x0f,0x00},  {0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x0f,   0xff} },/* 0x0e: MD_E */ {  0x50,0x18,0x08,0x4000,  {0x01,0x0f,0x00,0x06},  0x63,  {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,     /* 55,81 is 54,80 for 300 */   0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,   0x9c,0x8e,0x8f,0x28,0x00,0x96,0xb9,0xe3,   0xff},  {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,   0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,   0x01,0x00,0x0f,0x00},  {0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x0f,   0xff} },/* 0x0f: ExtVGATable - modes > 0x13 */ {  0x00,0x00,0x00,0x0000,  {0x01,0x0f,0x00,0x0e},  0x23,  {0x5f,0x4f,0x50,0x82,0x54,0x80,0x0b,0x3e,   0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,   0xea,0x8c,0xdf,0x28,0x40,0xe7,0x04,0xa3,   0xff},  {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,   0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,   0x01,0x00,0x00,0x00},  {0x00,0x00,0x00,0x00,0x00,0x40,0x05,0x0f,   0xff} },/* 0x10: ROM_SAVEPTR - totally different for 300 */ {  0x9f,0x3b,0x00,0x00c0,  {0x00,0x00,0x00,0x00},  0x00,  {0x00,0x00,0x00,0x00,0x00,0x00,0xbb,0x3f,   0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,   0x00,0x00,0x1a,0x00,0xac,0x3e,0x00,0xc0,   0x00},  {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   0x00,0x00,0x00,0x00},  {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   0x00} },/* 0x11: MD_F */ {  0x50,0x18,0x0e,0x8000,  {0x01,0x0f,0x00,0x06},  0xa2,  {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,    /* 55,81 is 54,80 on 300 */   0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,   0x82,0x84,0x5d,0x28,0x0f,0x63,0xba,0xe3,    /* 82,84 is 83,85 on 300 */   0xff},  {0x00,0x08,0x00,0x00,0x18,0x18,0x00,0x00,   0x00,0x08,0x00,0x00,0x00,0x18,0x00,0x00,   0x0b,0x00,0x05,0x00},  {0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x05,

Lines 1–500 of 1465.