Annotation of qemu/roms/vgabios/vgatables.h, revision 1.1

1.1     ! root        1: /*
        !             2:  *
        !             3:  * BIOS Memory 
        !             4:  *
        !             5:  */
        !             6: #define BIOSMEM_SEG 0x40
        !             7: 
        !             8: #define BIOSMEM_INITIAL_MODE  0x10
        !             9: #define BIOSMEM_CURRENT_MODE  0x49
        !            10: #define BIOSMEM_NB_COLS       0x4A
        !            11: #define BIOSMEM_PAGE_SIZE     0x4C
        !            12: #define BIOSMEM_CURRENT_START 0x4E
        !            13: #define BIOSMEM_CURSOR_POS    0x50
        !            14: #define BIOSMEM_CURSOR_TYPE   0x60
        !            15: #define BIOSMEM_CURRENT_PAGE  0x62
        !            16: #define BIOSMEM_CRTC_ADDRESS  0x63
        !            17: #define BIOSMEM_CURRENT_MSR   0x65
        !            18: #define BIOSMEM_CURRENT_PAL   0x66
        !            19: #define BIOSMEM_NB_ROWS       0x84
        !            20: #define BIOSMEM_CHAR_HEIGHT   0x85
        !            21: #define BIOSMEM_VIDEO_CTL     0x87
        !            22: #define BIOSMEM_SWITCHES      0x88
        !            23: #define BIOSMEM_MODESET_CTL   0x89
        !            24: #define BIOSMEM_DCC_INDEX     0x8A
        !            25: #define BIOSMEM_VS_POINTER    0xA8
        !            26: #define BIOSMEM_VBE_FLAG      0xB9
        !            27: #define BIOSMEM_VBE_MODE      0xBA
        !            28: 
        !            29: 
        !            30: /*
        !            31:  *
        !            32:  * VGA registers
        !            33:  *
        !            34:  */
        !            35: #define VGAREG_ACTL_ADDRESS            0x3c0
        !            36: #define VGAREG_ACTL_WRITE_DATA         0x3c0
        !            37: #define VGAREG_ACTL_READ_DATA          0x3c1
        !            38: 
        !            39: #define VGAREG_INPUT_STATUS            0x3c2
        !            40: #define VGAREG_WRITE_MISC_OUTPUT       0x3c2
        !            41: #define VGAREG_VIDEO_ENABLE            0x3c3
        !            42: #define VGAREG_SEQU_ADDRESS            0x3c4
        !            43: #define VGAREG_SEQU_DATA               0x3c5
        !            44: 
        !            45: #define VGAREG_PEL_MASK                0x3c6
        !            46: #define VGAREG_DAC_STATE               0x3c7
        !            47: #define VGAREG_DAC_READ_ADDRESS        0x3c7
        !            48: #define VGAREG_DAC_WRITE_ADDRESS       0x3c8
        !            49: #define VGAREG_DAC_DATA                0x3c9
        !            50: 
        !            51: #define VGAREG_READ_FEATURE_CTL        0x3ca
        !            52: #define VGAREG_READ_MISC_OUTPUT        0x3cc
        !            53: 
        !            54: #define VGAREG_GRDC_ADDRESS            0x3ce
        !            55: #define VGAREG_GRDC_DATA               0x3cf
        !            56: 
        !            57: #define VGAREG_MDA_CRTC_ADDRESS        0x3b4
        !            58: #define VGAREG_MDA_CRTC_DATA           0x3b5
        !            59: #define VGAREG_VGA_CRTC_ADDRESS        0x3d4
        !            60: #define VGAREG_VGA_CRTC_DATA           0x3d5
        !            61: 
        !            62: #define VGAREG_MDA_WRITE_FEATURE_CTL   0x3ba
        !            63: #define VGAREG_VGA_WRITE_FEATURE_CTL   0x3da
        !            64: #define VGAREG_ACTL_RESET              0x3da
        !            65: 
        !            66: #define VGAREG_MDA_MODECTL             0x3b8
        !            67: #define VGAREG_CGA_MODECTL             0x3d8
        !            68: #define VGAREG_CGA_PALETTE             0x3d9
        !            69: 
        !            70: /* Video memory */
        !            71: #define VGAMEM_GRAPH 0xA000
        !            72: #define VGAMEM_CTEXT 0xB800
        !            73: #define VGAMEM_MTEXT 0xB000
        !            74: 
        !            75: /*
        !            76:  *
        !            77:  * Tables of default values for each mode
        !            78:  *
        !            79:  */
        !            80: #define MODE_MAX   15
        !            81: #define TEXT       0x00
        !            82: #define GRAPH      0x01
        !            83: 
        !            84: #define CTEXT      0x00
        !            85: #define MTEXT      0x01
        !            86: #define CGA        0x02
        !            87: #define PLANAR1    0x03
        !            88: #define PLANAR4    0x04
        !            89: #define LINEAR8    0x05
        !            90: 
        !            91: // for SVGA
        !            92: #define LINEAR15   0x10
        !            93: #define LINEAR16   0x11
        !            94: #define LINEAR24   0x12
        !            95: #define LINEAR32   0x13
        !            96: 
        !            97: typedef struct
        !            98: {Bit8u  svgamode;
        !            99:  Bit8u  class;    /* TEXT, GRAPH */
        !           100:  Bit8u  memmodel; /* CTEXT,MTEXT,CGA,PL1,PL2,PL4,P8,P15,P16,P24,P32 */
        !           101:  Bit8u  pixbits;
        !           102:  Bit16u sstart;
        !           103:  Bit8u  pelmask;
        !           104:  Bit8u  dacmodel; /* 0 1 2 3 */
        !           105: } VGAMODES;
        !           106: 
        !           107: static VGAMODES vga_modes[MODE_MAX+1]=
        !           108: {//mode  class  model bits sstart  pelm  dac
        !           109:  {0x00, TEXT,  CTEXT,   4, 0xB800, 0xFF, 0x02},
        !           110:  {0x01, TEXT,  CTEXT,   4, 0xB800, 0xFF, 0x02},
        !           111:  {0x02, TEXT,  CTEXT,   4, 0xB800, 0xFF, 0x02},
        !           112:  {0x03, TEXT,  CTEXT,   4, 0xB800, 0xFF, 0x02},
        !           113:  {0x04, GRAPH, CGA,     2, 0xB800, 0xFF, 0x01},
        !           114:  {0x05, GRAPH, CGA,     2, 0xB800, 0xFF, 0x01},
        !           115:  {0x06, GRAPH, CGA,     1, 0xB800, 0xFF, 0x01},
        !           116:  {0x07, TEXT,  MTEXT,   4, 0xB000, 0xFF, 0x00},
        !           117:  {0x0D, GRAPH, PLANAR4, 4, 0xA000, 0xFF, 0x01},
        !           118:  {0x0E, GRAPH, PLANAR4, 4, 0xA000, 0xFF, 0x01},
        !           119:  {0x0F, GRAPH, PLANAR1, 1, 0xA000, 0xFF, 0x00},
        !           120:  {0x10, GRAPH, PLANAR4, 4, 0xA000, 0xFF, 0x02},
        !           121:  {0x11, GRAPH, PLANAR1, 1, 0xA000, 0xFF, 0x02},
        !           122:  {0x12, GRAPH, PLANAR4, 4, 0xA000, 0xFF, 0x02},
        !           123:  {0x13, GRAPH, LINEAR8, 8, 0xA000, 0xFF, 0x03},
        !           124:  {0x6A, GRAPH, PLANAR4, 4, 0xA000, 0xFF, 0x02}
        !           125: };
        !           126: 
        !           127: /* convert index in vga_modes[] to index in video_param_table[] */
        !           128: static Bit8u line_to_vpti[MODE_MAX+1]={
        !           129:     0x17, 0x17, 0x18, 0x18, 0x04, 0x05, 0x06, 0x07, 
        !           130:     0x0d, 0x0e, 0x11, 0x12, 0x1a, 0x1b, 0x1c, 0x1d,
        !           131: };
        !           132: 
        !           133: /* Default Palette */
        !           134: #define DAC_MAX_MODEL 3
        !           135: 
        !           136: static Bit8u dac_regs[DAC_MAX_MODEL+1]=
        !           137: {0x3f,0x3f,0x3f,0xff};
        !           138: 
        !           139: /* standard BIOS Video Parameter Table */
        !           140: typedef struct {
        !           141:     Bit8u  twidth;
        !           142:     Bit8u  theightm1;
        !           143:     Bit8u  cheight;
        !           144:     Bit8u  slength_l;
        !           145:     Bit8u  slength_h;
        !           146:     Bit8u  sequ_regs[4];
        !           147:     Bit8u  miscreg;
        !           148:     Bit8u  crtc_regs[25];
        !           149:     Bit8u  actl_regs[20];
        !           150:     Bit8u  grdc_regs[9];
        !           151: } VideoParamTableEntry;
        !           152: 
        !           153: static VideoParamTableEntry video_param_table[30] = {
        !           154: {
        !           155:  /* index=0x00 no mode defined */
        !           156:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           157:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           158:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           159:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           160:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           161:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           162:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           163:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           164: },
        !           165: {
        !           166:  /* index=0x01 no mode defined */
        !           167:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           168:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           169:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           170:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           171:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           172:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           173:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           174:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           175: },
        !           176: {
        !           177:  /* index=0x02 no mode defined */
        !           178:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           179:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           180:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           181:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           182:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           183:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           184:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           185:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           186: },
        !           187: {
        !           188:  /* index=0x03 no mode defined */
        !           189:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           190:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           191:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           192:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           193:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           194:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           195:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           196:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           197: },
        !           198: {
        !           199:  /* index=0x04 vga mode 0x04 */
        !           200:  40, 24, 8, 0x00, 0x08, /* tw, th-1, ch, slength */
        !           201:  0x09, 0x03, 0x00, 0x02, /* sequ_regs */
        !           202:  0x63, /* miscreg */
        !           203:  0x2d, 0x27, 0x28, 0x90, 0x2b, 0x80, 0xbf, 0x1f,
        !           204:  0x00, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           205:  0x9c, 0x8e, 0x8f, 0x14, 0x00, 0x96, 0xb9, 0xa2,
        !           206:  0xff, /* crtc_regs */
        !           207:  0x00, 0x13, 0x15, 0x17, 0x02, 0x04, 0x06, 0x07,
        !           208:  0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
        !           209:  0x01, 0x00, 0x03, 0x00, /* actl_regs */
        !           210:  0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x0f, 0x0f, 0xff, /* grdc_regs */
        !           211: },
        !           212: {
        !           213:  /* index=0x05 vga mode 0x05 */
        !           214:  40, 24, 8, 0x00, 0x08, /* tw, th-1, ch, slength */
        !           215:  0x09, 0x03, 0x00, 0x02, /* sequ_regs */
        !           216:  0x63, /* miscreg */
        !           217:  0x2d, 0x27, 0x28, 0x90, 0x2b, 0x80, 0xbf, 0x1f,
        !           218:  0x00, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           219:  0x9c, 0x8e, 0x8f, 0x14, 0x00, 0x96, 0xb9, 0xa2,
        !           220:  0xff, /* crtc_regs */
        !           221:  0x00, 0x13, 0x15, 0x17, 0x02, 0x04, 0x06, 0x07,
        !           222:  0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
        !           223:  0x01, 0x00, 0x03, 0x00, /* actl_regs */
        !           224:  0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x0f, 0x0f, 0xff, /* grdc_regs */
        !           225: },
        !           226: {
        !           227:  /* index=0x06 vga mode 0x06 */
        !           228:  80, 24, 8, 0x00, 0x10, /* tw, th-1, ch, slength */
        !           229:  0x01, 0x01, 0x00, 0x06, /* sequ_regs */
        !           230:  0x63, /* miscreg */
        !           231:  0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0xbf, 0x1f,
        !           232:  0x00, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           233:  0x9c, 0x8e, 0x8f, 0x28, 0x00, 0x96, 0xb9, 0xc2,
        !           234:  0xff, /* crtc_regs */
        !           235:  0x00, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
        !           236:  0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
        !           237:  0x01, 0x00, 0x01, 0x00, /* actl_regs */
        !           238:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x0f, 0xff, /* grdc_regs */
        !           239: },
        !           240: {
        !           241:  /* index=0x07 vga mode 0x07 */
        !           242:  80, 24, 16, 0x00, 0x10, /* tw, th-1, ch, slength */
        !           243:  0x00, 0x03, 0x00, 0x02, /* sequ_regs */
        !           244:  0x66, /* miscreg */
        !           245:  0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0xbf, 0x1f,
        !           246:  0x00, 0x4f, 0x0d, 0x0e, 0x00, 0x00, 0x00, 0x00,
        !           247:  0x9c, 0x8e, 0x8f, 0x28, 0x0f, 0x96, 0xb9, 0xa3,
        !           248:  0xff, /* crtc_regs */
        !           249:  0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
        !           250:  0x10, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
        !           251:  0x0e, 0x00, 0x0f, 0x08, /* actl_regs */
        !           252:  0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0a, 0x0f, 0xff, /* grdc_regs */
        !           253: },
        !           254: {
        !           255:  /* index=0x08 no mode defined */
        !           256:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           257:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           258:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           259:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           260:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           261:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           262:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           263:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           264: },
        !           265: {
        !           266:  /* index=0x09 no mode defined */
        !           267:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           268:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           269:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           270:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           271:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           272:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           273:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           274:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           275: },
        !           276: {
        !           277:  /* index=0x0a no mode defined */
        !           278:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           279:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           280:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           281:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           282:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           283:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           284:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           285:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           286: },
        !           287: {
        !           288:  /* index=0x0b no mode defined */
        !           289:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           290:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           291:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           292:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           293:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           294:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           295:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           296:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           297: },
        !           298: {
        !           299:  /* index=0x0c no mode defined */
        !           300:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           301:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           302:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           303:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           304:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           305:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           306:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           307:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           308: },
        !           309: {
        !           310:  /* index=0x0d vga mode 0x0d */
        !           311:  40, 24, 8, 0x00, 0x20, /* tw, th-1, ch, slength */
        !           312:  0x09, 0x0f, 0x00, 0x06, /* sequ_regs */
        !           313:  0x63, /* miscreg */
        !           314:  0x2d, 0x27, 0x28, 0x90, 0x2b, 0x80, 0xbf, 0x1f,
        !           315:  0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           316:  0x9c, 0x8e, 0x8f, 0x14, 0x00, 0x96, 0xb9, 0xe3,
        !           317:  0xff, /* crtc_regs */
        !           318:  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
        !           319:  0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
        !           320:  0x01, 0x00, 0x0f, 0x00, /* actl_regs */
        !           321:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */
        !           322: },
        !           323: {
        !           324:  /* index=0x0e vga mode 0x0e */
        !           325:  80, 24, 8, 0x00, 0x40, /* tw, th-1, ch, slength */
        !           326:  0x01, 0x0f, 0x00, 0x06, /* sequ_regs */
        !           327:  0x63, /* miscreg */
        !           328:  0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0xbf, 0x1f,
        !           329:  0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           330:  0x9c, 0x8e, 0x8f, 0x28, 0x00, 0x96, 0xb9, 0xe3,
        !           331:  0xff, /* crtc_regs */
        !           332:  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
        !           333:  0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
        !           334:  0x01, 0x00, 0x0f, 0x00, /* actl_regs */
        !           335:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */
        !           336: },
        !           337: {
        !           338:  /* index=0x0f no mode defined */
        !           339:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           340:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           341:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           342:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           343:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           344:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           345:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           346:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           347: },
        !           348: {
        !           349:  /* index=0x10 no mode defined */
        !           350:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           351:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           352:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           353:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           354:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           355:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           356:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           357:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           358: },
        !           359: {
        !           360:  /* index=0x11 vga mode 0x0f */
        !           361:  80, 24, 14, 0x00, 0x80, /* tw, th-1, ch, slength */
        !           362:  0x01, 0x0f, 0x00, 0x06, /* sequ_regs */
        !           363:  0xa3, /* miscreg */
        !           364:  0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0xbf, 0x1f,
        !           365:  0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           366:  0x83, 0x85, 0x5d, 0x28, 0x0f, 0x63, 0xba, 0xe3,
        !           367:  0xff, /* crtc_regs */
        !           368:  0x00, 0x08, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00,
        !           369:  0x00, 0x08, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00,
        !           370:  0x01, 0x00, 0x01, 0x00, /* actl_regs */
        !           371:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */
        !           372: },
        !           373: {
        !           374:  /* index=0x12 vga mode 0x10 */
        !           375:  80, 24, 14, 0x00, 0x80, /* tw, th-1, ch, slength */
        !           376:  0x01, 0x0f, 0x00, 0x06, /* sequ_regs */
        !           377:  0xa3, /* miscreg */
        !           378:  0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0xbf, 0x1f,
        !           379:  0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           380:  0x83, 0x85, 0x5d, 0x28, 0x0f, 0x63, 0xba, 0xe3,
        !           381:  0xff, /* crtc_regs */
        !           382:  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
        !           383:  0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
        !           384:  0x01, 0x00, 0x0f, 0x00, /* actl_regs */
        !           385:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */
        !           386: },
        !           387: {
        !           388:  /* index=0x13 no mode defined */
        !           389:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           390:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           391:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           392:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           393:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           394:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           395:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           396:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           397: },
        !           398: {
        !           399:  /* index=0x14 no mode defined */
        !           400:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           401:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           402:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           403:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           404:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           405:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           406:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           407:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           408: },
        !           409: {
        !           410:  /* index=0x15 no mode defined */
        !           411:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           412:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           413:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           414:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           415:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           416:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           417:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           418:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           419: },
        !           420: {
        !           421:  /* index=0x16 no mode defined */
        !           422:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           423:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           424:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           425:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           426:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           427:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           428:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           429:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           430: },
        !           431: {
        !           432:  /* index=0x17 vga mode 0x01 */
        !           433:  40, 24, 16, 0x00, 0x08, /* tw, th-1, ch, slength */
        !           434:  0x08, 0x03, 0x00, 0x02, /* sequ_regs */
        !           435:  0x67, /* miscreg */
        !           436:  0x2d, 0x27, 0x28, 0x90, 0x2b, 0xa0, 0xbf, 0x1f,
        !           437:  0x00, 0x4f, 0x0d, 0x0e, 0x00, 0x00, 0x00, 0x00,
        !           438:  0x9c, 0x8e, 0x8f, 0x14, 0x1f, 0x96, 0xb9, 0xa3,
        !           439:  0xff, /* crtc_regs */
        !           440:  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
        !           441:  0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
        !           442:  0x0c, 0x00, 0x0f, 0x08, /* actl_regs */
        !           443:  0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x0f, 0xff, /* grdc_regs */
        !           444: },
        !           445: {
        !           446:  /* index=0x18 vga mode 0x03 */
        !           447:  80, 24, 16, 0x00, 0x10, /* tw, th-1, ch, slength */
        !           448:  0x00, 0x03, 0x00, 0x02, /* sequ_regs */
        !           449:  0x67, /* miscreg */
        !           450:  0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0xbf, 0x1f,
        !           451:  0x00, 0x4f, 0x0d, 0x0e, 0x00, 0x00, 0x00, 0x00,
        !           452:  0x9c, 0x8e, 0x8f, 0x28, 0x1f, 0x96, 0xb9, 0xa3,
        !           453:  0xff, /* crtc_regs */
        !           454:  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
        !           455:  0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
        !           456:  0x0c, 0x00, 0x0f, 0x08, /* actl_regs */
        !           457:  0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x0f, 0xff, /* grdc_regs */
        !           458: },
        !           459: {
        !           460:  /* index=0x19 vga mode 0x07 */
        !           461:  80, 24, 16, 0x00, 0x10, /* tw, th-1, ch, slength */
        !           462:  0x00, 0x03, 0x00, 0x02, /* sequ_regs */
        !           463:  0x66, /* miscreg */
        !           464:  0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0xbf, 0x1f,
        !           465:  0x00, 0x4f, 0x0d, 0x0e, 0x00, 0x00, 0x00, 0x00,
        !           466:  0x9c, 0x8e, 0x8f, 0x28, 0x0f, 0x96, 0xb9, 0xa3,
        !           467:  0xff, /* crtc_regs */
        !           468:  0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
        !           469:  0x10, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
        !           470:  0x0e, 0x00, 0x0f, 0x08, /* actl_regs */
        !           471:  0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0a, 0x0f, 0xff, /* grdc_regs */
        !           472: },
        !           473: {
        !           474:  /* index=0x1a vga mode 0x11 */
        !           475:  80, 29, 16, 0x00, 0x00, /* tw, th-1, ch, slength */
        !           476:  0x01, 0x0f, 0x00, 0x06, /* sequ_regs */
        !           477:  0xe3, /* miscreg */
        !           478:  0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0x0b, 0x3e,
        !           479:  0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           480:  0xea, 0x8c, 0xdf, 0x28, 0x00, 0xe7, 0x04, 0xe3,
        !           481:  0xff, /* crtc_regs */
        !           482:  0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f,
        !           483:  0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f,
        !           484:  0x01, 0x00, 0x0f, 0x00, /* actl_regs */
        !           485:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */
        !           486: },
        !           487: {
        !           488:  /* index=0x1b vga mode 0x12 */
        !           489:  80, 29, 16, 0x00, 0x00, /* tw, th-1, ch, slength */
        !           490:  0x01, 0x0f, 0x00, 0x06, /* sequ_regs */
        !           491:  0xe3, /* miscreg */
        !           492:  0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0x0b, 0x3e,
        !           493:  0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           494:  0xea, 0x8c, 0xdf, 0x28, 0x00, 0xe7, 0x04, 0xe3,
        !           495:  0xff, /* crtc_regs */
        !           496:  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
        !           497:  0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
        !           498:  0x01, 0x00, 0x0f, 0x00, /* actl_regs */
        !           499:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */
        !           500: },
        !           501: {
        !           502:  /* index=0x1c vga mode 0x13 */
        !           503:  40, 24, 8, 0x00, 0x00, /* tw, th-1, ch, slength */
        !           504:  0x01, 0x0f, 0x00, 0x0e, /* sequ_regs */
        !           505:  0x63, /* miscreg */
        !           506:  0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0xbf, 0x1f,
        !           507:  0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           508:  0x9c, 0x8e, 0x8f, 0x28, 0x40, 0x96, 0xb9, 0xa3,
        !           509:  0xff, /* crtc_regs */
        !           510:  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
        !           511:  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
        !           512:  0x41, 0x00, 0x0f, 0x00, /* actl_regs */
        !           513:  0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x05, 0x0f, 0xff, /* grdc_regs */
        !           514: },
        !           515: {
        !           516:  /* index=0x1d vga mode 0x6a */
        !           517:  100, 36, 16, 0x00, 0x00, /* tw, th-1, ch, slength */
        !           518:  0x01, 0x0f, 0x00, 0x06, /* sequ_regs */
        !           519:  0xe3, /* miscreg */
        !           520:  0x7f, 0x63, 0x63, 0x83, 0x6b, 0x1b, 0x72, 0xf0,
        !           521:  0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           522:  0x59, 0x8d, 0x57, 0x32, 0x00, 0x57, 0x73, 0xe3,
        !           523:  0xff, /* crtc_regs */
        !           524:  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
        !           525:  0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
        !           526:  0x01, 0x00, 0x0f, 0x00, /* actl_regs */
        !           527:  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */
        !           528: },
        !           529: };
        !           530: 
        !           531: /* Mono */
        !           532: static Bit8u palette0[63+1][3]=
        !           533: {
        !           534:   0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
        !           535:   0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a,
        !           536:   0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a,
        !           537:   0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f,
        !           538:   0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
        !           539:   0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a,
        !           540:   0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a,
        !           541:   0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f 
        !           542: };
        !           543: 
        !           544: static Bit8u palette1[63+1][3]=
        !           545: {
        !           546:   0x00,0x00,0x00, 0x00,0x00,0x2a, 0x00,0x2a,0x00, 0x00,0x2a,0x2a, 0x2a,0x00,0x00, 0x2a,0x00,0x2a, 0x2a,0x15,0x00, 0x2a,0x2a,0x2a,
        !           547:   0x00,0x00,0x00, 0x00,0x00,0x2a, 0x00,0x2a,0x00, 0x00,0x2a,0x2a, 0x2a,0x00,0x00, 0x2a,0x00,0x2a, 0x2a,0x15,0x00, 0x2a,0x2a,0x2a,
        !           548:   0x15,0x15,0x15, 0x15,0x15,0x3f, 0x15,0x3f,0x15, 0x15,0x3f,0x3f, 0x3f,0x15,0x15, 0x3f,0x15,0x3f, 0x3f,0x3f,0x15, 0x3f,0x3f,0x3f,
        !           549:   0x15,0x15,0x15, 0x15,0x15,0x3f, 0x15,0x3f,0x15, 0x15,0x3f,0x3f, 0x3f,0x15,0x15, 0x3f,0x15,0x3f, 0x3f,0x3f,0x15, 0x3f,0x3f,0x3f,
        !           550:   0x00,0x00,0x00, 0x00,0x00,0x2a, 0x00,0x2a,0x00, 0x00,0x2a,0x2a, 0x2a,0x00,0x00, 0x2a,0x00,0x2a, 0x2a,0x15,0x00, 0x2a,0x2a,0x2a,
        !           551:   0x00,0x00,0x00, 0x00,0x00,0x2a, 0x00,0x2a,0x00, 0x00,0x2a,0x2a, 0x2a,0x00,0x00, 0x2a,0x00,0x2a, 0x2a,0x15,0x00, 0x2a,0x2a,0x2a,
        !           552:   0x15,0x15,0x15, 0x15,0x15,0x3f, 0x15,0x3f,0x15, 0x15,0x3f,0x3f, 0x3f,0x15,0x15, 0x3f,0x15,0x3f, 0x3f,0x3f,0x15, 0x3f,0x3f,0x3f,
        !           553:   0x15,0x15,0x15, 0x15,0x15,0x3f, 0x15,0x3f,0x15, 0x15,0x3f,0x3f, 0x3f,0x15,0x15, 0x3f,0x15,0x3f, 0x3f,0x3f,0x15, 0x3f,0x3f,0x3f 
        !           554: };
        !           555: 
        !           556: static Bit8u palette2[63+1][3]=
        !           557: {
        !           558:   0x00,0x00,0x00, 0x00,0x00,0x2a, 0x00,0x2a,0x00, 0x00,0x2a,0x2a, 0x2a,0x00,0x00, 0x2a,0x00,0x2a, 0x2a,0x2a,0x00, 0x2a,0x2a,0x2a,
        !           559:   0x00,0x00,0x15, 0x00,0x00,0x3f, 0x00,0x2a,0x15, 0x00,0x2a,0x3f, 0x2a,0x00,0x15, 0x2a,0x00,0x3f, 0x2a,0x2a,0x15, 0x2a,0x2a,0x3f,
        !           560:   0x00,0x15,0x00, 0x00,0x15,0x2a, 0x00,0x3f,0x00, 0x00,0x3f,0x2a, 0x2a,0x15,0x00, 0x2a,0x15,0x2a, 0x2a,0x3f,0x00, 0x2a,0x3f,0x2a,
        !           561:   0x00,0x15,0x15, 0x00,0x15,0x3f, 0x00,0x3f,0x15, 0x00,0x3f,0x3f, 0x2a,0x15,0x15, 0x2a,0x15,0x3f, 0x2a,0x3f,0x15, 0x2a,0x3f,0x3f,
        !           562:   0x15,0x00,0x00, 0x15,0x00,0x2a, 0x15,0x2a,0x00, 0x15,0x2a,0x2a, 0x3f,0x00,0x00, 0x3f,0x00,0x2a, 0x3f,0x2a,0x00, 0x3f,0x2a,0x2a,
        !           563:   0x15,0x00,0x15, 0x15,0x00,0x3f, 0x15,0x2a,0x15, 0x15,0x2a,0x3f, 0x3f,0x00,0x15, 0x3f,0x00,0x3f, 0x3f,0x2a,0x15, 0x3f,0x2a,0x3f,
        !           564:   0x15,0x15,0x00, 0x15,0x15,0x2a, 0x15,0x3f,0x00, 0x15,0x3f,0x2a, 0x3f,0x15,0x00, 0x3f,0x15,0x2a, 0x3f,0x3f,0x00, 0x3f,0x3f,0x2a,
        !           565:   0x15,0x15,0x15, 0x15,0x15,0x3f, 0x15,0x3f,0x15, 0x15,0x3f,0x3f, 0x3f,0x15,0x15, 0x3f,0x15,0x3f, 0x3f,0x3f,0x15, 0x3f,0x3f,0x3f 
        !           566: };
        !           567: 
        !           568: static Bit8u palette3[256][3]=
        !           569: {
        !           570:   0x00,0x00,0x00, 0x00,0x00,0x2a, 0x00,0x2a,0x00, 0x00,0x2a,0x2a, 0x2a,0x00,0x00, 0x2a,0x00,0x2a, 0x2a,0x15,0x00, 0x2a,0x2a,0x2a,
        !           571:   0x15,0x15,0x15, 0x15,0x15,0x3f, 0x15,0x3f,0x15, 0x15,0x3f,0x3f, 0x3f,0x15,0x15, 0x3f,0x15,0x3f, 0x3f,0x3f,0x15, 0x3f,0x3f,0x3f,
        !           572:   0x00,0x00,0x00, 0x05,0x05,0x05, 0x08,0x08,0x08, 0x0b,0x0b,0x0b, 0x0e,0x0e,0x0e, 0x11,0x11,0x11, 0x14,0x14,0x14, 0x18,0x18,0x18,
        !           573:   0x1c,0x1c,0x1c, 0x20,0x20,0x20, 0x24,0x24,0x24, 0x28,0x28,0x28, 0x2d,0x2d,0x2d, 0x32,0x32,0x32, 0x38,0x38,0x38, 0x3f,0x3f,0x3f,
        !           574:   0x00,0x00,0x3f, 0x10,0x00,0x3f, 0x1f,0x00,0x3f, 0x2f,0x00,0x3f, 0x3f,0x00,0x3f, 0x3f,0x00,0x2f, 0x3f,0x00,0x1f, 0x3f,0x00,0x10,
        !           575:   0x3f,0x00,0x00, 0x3f,0x10,0x00, 0x3f,0x1f,0x00, 0x3f,0x2f,0x00, 0x3f,0x3f,0x00, 0x2f,0x3f,0x00, 0x1f,0x3f,0x00, 0x10,0x3f,0x00,
        !           576:   0x00,0x3f,0x00, 0x00,0x3f,0x10, 0x00,0x3f,0x1f, 0x00,0x3f,0x2f, 0x00,0x3f,0x3f, 0x00,0x2f,0x3f, 0x00,0x1f,0x3f, 0x00,0x10,0x3f,
        !           577:   0x1f,0x1f,0x3f, 0x27,0x1f,0x3f, 0x2f,0x1f,0x3f, 0x37,0x1f,0x3f, 0x3f,0x1f,0x3f, 0x3f,0x1f,0x37, 0x3f,0x1f,0x2f, 0x3f,0x1f,0x27,
        !           578: 
        !           579:   0x3f,0x1f,0x1f, 0x3f,0x27,0x1f, 0x3f,0x2f,0x1f, 0x3f,0x37,0x1f, 0x3f,0x3f,0x1f, 0x37,0x3f,0x1f, 0x2f,0x3f,0x1f, 0x27,0x3f,0x1f,
        !           580:   0x1f,0x3f,0x1f, 0x1f,0x3f,0x27, 0x1f,0x3f,0x2f, 0x1f,0x3f,0x37, 0x1f,0x3f,0x3f, 0x1f,0x37,0x3f, 0x1f,0x2f,0x3f, 0x1f,0x27,0x3f,
        !           581:   0x2d,0x2d,0x3f, 0x31,0x2d,0x3f, 0x36,0x2d,0x3f, 0x3a,0x2d,0x3f, 0x3f,0x2d,0x3f, 0x3f,0x2d,0x3a, 0x3f,0x2d,0x36, 0x3f,0x2d,0x31,
        !           582:   0x3f,0x2d,0x2d, 0x3f,0x31,0x2d, 0x3f,0x36,0x2d, 0x3f,0x3a,0x2d, 0x3f,0x3f,0x2d, 0x3a,0x3f,0x2d, 0x36,0x3f,0x2d, 0x31,0x3f,0x2d,
        !           583:   0x2d,0x3f,0x2d, 0x2d,0x3f,0x31, 0x2d,0x3f,0x36, 0x2d,0x3f,0x3a, 0x2d,0x3f,0x3f, 0x2d,0x3a,0x3f, 0x2d,0x36,0x3f, 0x2d,0x31,0x3f,
        !           584:   0x00,0x00,0x1c, 0x07,0x00,0x1c, 0x0e,0x00,0x1c, 0x15,0x00,0x1c, 0x1c,0x00,0x1c, 0x1c,0x00,0x15, 0x1c,0x00,0x0e, 0x1c,0x00,0x07,
        !           585:   0x1c,0x00,0x00, 0x1c,0x07,0x00, 0x1c,0x0e,0x00, 0x1c,0x15,0x00, 0x1c,0x1c,0x00, 0x15,0x1c,0x00, 0x0e,0x1c,0x00, 0x07,0x1c,0x00,
        !           586:   0x00,0x1c,0x00, 0x00,0x1c,0x07, 0x00,0x1c,0x0e, 0x00,0x1c,0x15, 0x00,0x1c,0x1c, 0x00,0x15,0x1c, 0x00,0x0e,0x1c, 0x00,0x07,0x1c,
        !           587: 
        !           588:   0x0e,0x0e,0x1c, 0x11,0x0e,0x1c, 0x15,0x0e,0x1c, 0x18,0x0e,0x1c, 0x1c,0x0e,0x1c, 0x1c,0x0e,0x18, 0x1c,0x0e,0x15, 0x1c,0x0e,0x11,
        !           589:   0x1c,0x0e,0x0e, 0x1c,0x11,0x0e, 0x1c,0x15,0x0e, 0x1c,0x18,0x0e, 0x1c,0x1c,0x0e, 0x18,0x1c,0x0e, 0x15,0x1c,0x0e, 0x11,0x1c,0x0e,
        !           590:   0x0e,0x1c,0x0e, 0x0e,0x1c,0x11, 0x0e,0x1c,0x15, 0x0e,0x1c,0x18, 0x0e,0x1c,0x1c, 0x0e,0x18,0x1c, 0x0e,0x15,0x1c, 0x0e,0x11,0x1c,
        !           591:   0x14,0x14,0x1c, 0x16,0x14,0x1c, 0x18,0x14,0x1c, 0x1a,0x14,0x1c, 0x1c,0x14,0x1c, 0x1c,0x14,0x1a, 0x1c,0x14,0x18, 0x1c,0x14,0x16,
        !           592:   0x1c,0x14,0x14, 0x1c,0x16,0x14, 0x1c,0x18,0x14, 0x1c,0x1a,0x14, 0x1c,0x1c,0x14, 0x1a,0x1c,0x14, 0x18,0x1c,0x14, 0x16,0x1c,0x14,
        !           593:   0x14,0x1c,0x14, 0x14,0x1c,0x16, 0x14,0x1c,0x18, 0x14,0x1c,0x1a, 0x14,0x1c,0x1c, 0x14,0x1a,0x1c, 0x14,0x18,0x1c, 0x14,0x16,0x1c,
        !           594:   0x00,0x00,0x10, 0x04,0x00,0x10, 0x08,0x00,0x10, 0x0c,0x00,0x10, 0x10,0x00,0x10, 0x10,0x00,0x0c, 0x10,0x00,0x08, 0x10,0x00,0x04,
        !           595:   0x10,0x00,0x00, 0x10,0x04,0x00, 0x10,0x08,0x00, 0x10,0x0c,0x00, 0x10,0x10,0x00, 0x0c,0x10,0x00, 0x08,0x10,0x00, 0x04,0x10,0x00,
        !           596: 
        !           597:   0x00,0x10,0x00, 0x00,0x10,0x04, 0x00,0x10,0x08, 0x00,0x10,0x0c, 0x00,0x10,0x10, 0x00,0x0c,0x10, 0x00,0x08,0x10, 0x00,0x04,0x10,
        !           598:   0x08,0x08,0x10, 0x0a,0x08,0x10, 0x0c,0x08,0x10, 0x0e,0x08,0x10, 0x10,0x08,0x10, 0x10,0x08,0x0e, 0x10,0x08,0x0c, 0x10,0x08,0x0a,
        !           599:   0x10,0x08,0x08, 0x10,0x0a,0x08, 0x10,0x0c,0x08, 0x10,0x0e,0x08, 0x10,0x10,0x08, 0x0e,0x10,0x08, 0x0c,0x10,0x08, 0x0a,0x10,0x08,
        !           600:   0x08,0x10,0x08, 0x08,0x10,0x0a, 0x08,0x10,0x0c, 0x08,0x10,0x0e, 0x08,0x10,0x10, 0x08,0x0e,0x10, 0x08,0x0c,0x10, 0x08,0x0a,0x10,
        !           601:   0x0b,0x0b,0x10, 0x0c,0x0b,0x10, 0x0d,0x0b,0x10, 0x0f,0x0b,0x10, 0x10,0x0b,0x10, 0x10,0x0b,0x0f, 0x10,0x0b,0x0d, 0x10,0x0b,0x0c,
        !           602:   0x10,0x0b,0x0b, 0x10,0x0c,0x0b, 0x10,0x0d,0x0b, 0x10,0x0f,0x0b, 0x10,0x10,0x0b, 0x0f,0x10,0x0b, 0x0d,0x10,0x0b, 0x0c,0x10,0x0b,
        !           603:   0x0b,0x10,0x0b, 0x0b,0x10,0x0c, 0x0b,0x10,0x0d, 0x0b,0x10,0x0f, 0x0b,0x10,0x10, 0x0b,0x0f,0x10, 0x0b,0x0d,0x10, 0x0b,0x0c,0x10,
        !           604:   0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00
        !           605: };
        !           606: 
        !           607: static Bit8u static_functionality[0x10]=
        !           608: {
        !           609:  /* 0 */ 0xff,  // All modes supported #1
        !           610:  /* 1 */ 0xe0,  // All modes supported #2
        !           611:  /* 2 */ 0x0f,  // All modes supported #3
        !           612:  /* 3 */ 0x00, 0x00, 0x00, 0x00,  // reserved
        !           613:  /* 7 */ 0x07,  // 200, 350, 400 scan lines
        !           614:  /* 8 */ 0x02,  // mamimum number of visible charsets in text mode
        !           615:  /* 9 */ 0x08,  // total number of charset blocks in text mode
        !           616:  /* a */ 0xe7,  // Change to add new functions
        !           617:  /* b */ 0x0c,  // Change to add new functions
        !           618:  /* c */ 0x00,  // reserved
        !           619:  /* d */ 0x00,  // reserved
        !           620:  /* e */ 0x00,  // Change to add new functions
        !           621:  /* f */ 0x00   // reserved
        !           622: };

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.