Annotation of Examples/DriverKit/QVision/QVision_reloc.tproj/QVisionModes.c, revision 1.1.1.1

1.1       root        1: /* CONFIDENTIAL
                      2:  * Copyright (c) 1993 by NeXT Computer, Inc as an unpublished work.
                      3:  * All rights reserved.
                      4:  *
                      5:  * QVisionModes.c -- support for QVision driver modes.
                      6:  *
                      7:  * Author:  Derek B Clegg      21 May 1993
                      8:  * Based on work by Joe Pasqua, 30 September 1992.
                      9:  */
                     10: #include "QVisionModes.h"
                     11: 
                     12: /* Tables of register values for the supported modes. */
                     13: 
                     14: /* QVision 1024 x 768 x 8 (QVision mode 0x38) @ 60Hz.
                     15:  */
                     16: static const struct QVisionMode Mode_38_60Hz = {
                     17:     "QVision[1024 x 768 x 8] @ 60Hz", QVisionAdapter, NO,
                     18: 
                     19:     /* Control register 1 value (63CA).  */
                     20:     0x03,
                     21: 
                     22:     /* DAC command register 1 value (13C8). */
                     23:     0x40,
                     24: 
                     25:     /* Overflow register 1 value (3CF.42). */
                     26:     0x00,
                     27: 
                     28:     /* Overflow register 2 value (3CF.51). */
                     29:     0x00,
                     30: 
                     31:     /* Standard VGA data. */
                     32:     {
                     33:        0xe3,   /* Miscellaneous output register value (3C2). */
                     34:        0x00,   /* Feature control register value (3DA). */
                     35: 
                     36:        /* Sequencer register values. */
                     37:        { 0x01, 0x01, 0xff, 0x00, 0x0e },
                     38: 
                     39:        /* CRTC register values (3D5.00 - 3D5.18). */
                     40:        {
                     41:            0x9b, 0x7f, 0x7f, 0x9e, 0x87, 0x17, 0x31, 0xf5, 0x00, 0x60, 0x00,
                     42:            0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x94, 0xff, 0x80, 0x00, 0xff,
                     43:            0x31, 0xe3, 0xff,
                     44:        },
                     45: 
                     46:        /* Attribute controller register values (3C0.00 - 3C0.13). */
                     47:        {
                     48:            0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
                     49:            0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x41, 0x00, 0x0f, 0x00,
                     50:        },
                     51: 
                     52:        /* Graphics controller register values (3CF.00 - 3CF.08). */
                     53:        { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff },
                     54:     }
                     55: };
                     56: 
                     57: /* QVision 1024 x 768 x 8 (QVision mode 0x38) @ 66Hz.
                     58:  */
                     59: static const struct QVisionMode Mode_38_66Hz = {
                     60:     "QVision[1024 x 768 x 8] @ 66Hz", QVisionAdapter, NO,
                     61:     
                     62:     /* Control register 1 value (63CA).  */
                     63:     0x03,
                     64: 
                     65:     /* DAC command register 1 value (13C8). */
                     66:     0x40,
                     67: 
                     68:     /* Overflow register 1 value (3CF.42). */
                     69:     0x00,
                     70: 
                     71:     /* Overflow register 2 value (3CF.51). */
                     72:     0x00,
                     73: 
                     74:     /* Standard VGA data. */
                     75:     {
                     76:        0x27,   /* Miscellaneous output register value (3C2). */
                     77:        0x00,   /* Feature control register value (3DA). */
                     78: 
                     79:        /* Sequencer register values. */
                     80:        { 0x01, 0x01, 0xff, 0x00, 0x0e },
                     81: 
                     82:        /* CRTC register values (3D5.00 - 3D5.18). */
                     83:        {
                     84:            0xa1, 0x7f, 0x7f, 0x84, 0x85, 0x9b, 0x2e, 0xf5, 0x00, 0x60, 0x00,
                     85:            0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x8b, 0xff, 0x80, 0x00, 0xff,
                     86:            0x2e, 0xe3, 0xff,
                     87:        },
                     88: 
                     89:        /* Attribute controller register values (3C0.00 - 3C0.13). */
                     90:        {
                     91:            0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
                     92:            0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x41, 0x00, 0x0f, 0x00,
                     93:        },
                     94: 
                     95:        /* Graphics controller register values (3CF.00 - 3CF.08). */
                     96:        { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff },
                     97:     }
                     98: };
                     99: 
                    100: /* QVision 1024 x 768 x 8 (QVision mode 0x38) @ 72Hz.
                    101:  */
                    102: static const struct QVisionMode Mode_38_72Hz = {
                    103:     "QVision[1024 x 768 x 8] @ 72Hz", QVisionAdapter, NO,
                    104: 
                    105:     /* Control register 1 value (63CA).  */
                    106:     0x03,
                    107: 
                    108:     /* DAC command register 1 value (13C8). */
                    109:     0x40,
                    110: 
                    111:     /* Overflow register 1 value (3CF.42). */
                    112:     0x00,
                    113: 
                    114:     /* Overflow register 2 value (3CF.51). */
                    115:     0x00,
                    116: 
                    117:     /* Standard VGA data. */
                    118:     {
                    119:        0x2b,   /* Miscellaneous output register value (3C2). */
                    120:        0x00,   /* Feature control register value (3DA). */
                    121: 
                    122:        /* Sequencer register values. */
                    123:        { 0x01, 0x01, 0xff, 0x00, 0x0e },
                    124: 
                    125:        /* CRTC register values (3D5.00 - 3D5.18). */
                    126:        {
                    127:            0x9e, 0x7f, 0x7f, 0x81, 0x83, 0x93, 0x1e, 0xf1, 0x00, 0x60, 0x00,
                    128:            0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x83, 0xff, 0x80, 0x00, 0xff,
                    129:            0x1e, 0xe3, 0xff,
                    130:        },
                    131: 
                    132:        /* Attribute controller register values (3C0.00 - 3C0.13). */
                    133:        {
                    134:            0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
                    135:            0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x41, 0x00, 0x0f, 0x00,
                    136:        },
                    137:        
                    138:        /* Graphics controller register values (3CF.00 - 3CF.08). */
                    139:        { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff },
                    140:     }
                    141: };
                    142: 
                    143: /* Orion12 1024 x 768 x 8 (QVision mode 0x38) @ 76Hz.
                    144:  */
                    145: static const struct QVisionMode Mode_38_76Hz = {
                    146:     "Orion12[1024 x 768 x 8] @ 76Hz", Orion12Adapter, YES,
                    147: 
                    148:     /* Control register 1 value (63CA).  */
                    149:     0x03,
                    150: 
                    151:     /* DAC command register 1 value (13C8). */
                    152:     0x40,
                    153: 
                    154:     /* Overflow register 1 value (3CF.42). */
                    155:     0x00,
                    156: 
                    157:     /* Overflow register 2 value (3CF.51). */
                    158:     0x00,
                    159: 
                    160:     /* Standard VGA data. */
                    161:     {
                    162:        0x33,   /* Miscellaneous output register value (3C2). */
                    163:        0x00,   /* Feature control register value (3DA). */
                    164: 
                    165:        /* Sequencer register values. */
                    166:        { 0x01, 0x01, 0xff, 0x00, 0x0e },
                    167: 
                    168:        /* CRTC register values (3D5.00 - 3D5.18). */
                    169:        {
                    170:            0x9c, 0x7f, 0x7f, 0x1f, 0x85, 0x10, 0x26, 0xf5, 0x00, 0x60, 0x00,
                    171:            0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x8b, 0xff, 0x80, 0x00, 0xff,
                    172:            0x26, 0xe3, 0xff,
                    173:        },
                    174:        
                    175:        /* Attribute controller register values (3C0.00 - 3C0.13). */
                    176:        {
                    177:            0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
                    178:            0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x41, 0x00, 0x0f, 0x00,
                    179:        },
                    180:        
                    181:        /* Graphics controller register values (3CF.00 - 3CF.08). */
                    182:        { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff },
                    183:     }
                    184: };
                    185: 
                    186: /* QVision 640 x 400 x 24 (QVision mode 0x4E) @ 60Hz.
                    187:  */
                    188: static const struct QVisionMode Mode_4E_60Hz = {
                    189:     "QVision[640 x 400 x 24] @ 60Hz", QVisionAdapter, NO,
                    190: 
                    191:     /* Control register 1 value (63CA). */
                    192:     0x07,
                    193: 
                    194:     /* DAC command register 1 value (13C8). */
                    195:     0x00,
                    196: 
                    197:     /* Overflow register 1 value (3CF.42). */
                    198:     0x01,
                    199: 
                    200:     /* Overflow register 2 value (3CF.51). */
                    201:     0x08,
                    202: 
                    203:     /* Standard VGA data. */
                    204:     {
                    205:        0x6f,   /* Miscellaneous output register value (3C2). */
                    206:        0x00,   /* Feature control register value (3DA). */
                    207: 
                    208:        /* Sequencer register values. */
                    209:        { 0x01, 0x01, 0xff, 0x00, 0x0e },
                    210:        
                    211:        /* CRTC register values (3D5.00 - 3D5.18). */
                    212:        {
                    213:            0x5f, 0x4f, 0x50, 0x81, 0x53, 0x9f, 0x0b, 0x3e, 0x00, 0x40, 0x00,
                    214:            0x00, 0x00, 0x00, 0x00, 0x00, 0xc2, 0x84, 0x8f, 0x40, 0x00, 0x95,
                    215:            0x03, 0xe3, 0xff,
                    216:        },
                    217:        
                    218:        /* Attribute controller register values (3C0.00 - 3C0.13). */
                    219:        {
                    220:            0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
                    221:            0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x41, 0x00, 0x0f, 0x00,
                    222:        },
                    223:        
                    224:        /* Graphics controller register values (3CF.00 - 3CF.08). */
                    225:        { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff },
                    226:     }    
                    227: };
                    228: 
                    229: /* QVision 640 x 400 x 24 (QVision mode 0x4E) @ 70Hz.
                    230:  */
                    231: static const struct QVisionMode Mode_4E_70Hz = {
                    232:     "QVision[640 x 400 x 24] @ 70Hz", QVisionAdapter, NO,
                    233: 
                    234:     /* Control register 1 value (63CA). */
                    235:     0x07,
                    236: 
                    237:     /* DAC command register 1 value (13C8). */
                    238:     0x00,
                    239: 
                    240:     /* Overflow register 1 value (3CF.42). */
                    241:     0x01,
                    242: 
                    243:     /* Overflow register 2 value (3CF.51). */
                    244:     0x28,
                    245: 
                    246:     /* Standard VGA data. */
                    247:     {
                    248:        0x6f,   /* Miscellaneous output register value (3C2). */
                    249:        0x00,   /* Feature control register value (3DA). */
                    250: 
                    251:        /* Sequencer register values. */
                    252:        { 0x01, 0x01, 0xff, 0x00, 0x0e },
                    253: 
                    254:        /* CRTC register values (3D5.00 - 3D5.18). */
                    255:        {
                    256:            0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0xbf, 0x1f, 0x00, 0x40, 0x00,
                    257:            0x00, 0x00, 0x00, 0x00, 0x00, 0x9c, 0x8e, 0x8f, 0x40, 0x00, 0x96,
                    258:            0xb9, 0xe3, 0xff,
                    259:        },
                    260:        
                    261:        /* Attribute controller register values (3C0.00 - 3C0.13). */
                    262:        {
                    263:            0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
                    264:            0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x41, 0x00, 0x0f, 0x00,
                    265:        },
                    266:        
                    267:        /* Graphics controller register values (3CF.00 - 3CF.08). */
                    268:        { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff },
                    269:     }
                    270: };
                    271: 
                    272: /* QVision 800 x 600 x 15 (QVision mode 0x3F) @ 60Hz.
                    273:  */
                    274: static const struct QVisionMode Mode_3F_60Hz = {
                    275:     "QVision[800 x 600 x 15] @ 60Hz", QVisionAdapter, NO,
                    276: 
                    277:     /* Control register 1 value (63CA). */
                    278:     0x05,
                    279: 
                    280:     /* DAC command register 1 value (13C8). */
                    281:     0x20,
                    282: 
                    283:     /* Overflow register 1 value (3CF.42). */
                    284:     0x00,
                    285: 
                    286:     /* Overflow register 2 value (3CF.51). */
                    287:     0x20,
                    288: 
                    289:     /* Standard VGA data. */
                    290:     {
                    291:        0xf3,   /* Miscellaneous output register value (3C2). */
                    292:        0x00,   /* Feature control register value (3DA). */
                    293: 
                    294:        /* Sequencer register values. */
                    295:        { 0x01, 0x01, 0xff, 0x00, 0x0e },
                    296:        
                    297:        /* CRTC register values (3D5.00 - 3D5.18). */
                    298:        {
                    299:            0x7f, 0x63, 0x64, 0x80, 0x68, 0x19, 0x73, 0xf0, 0x00, 0x60, 0x00,
                    300:            0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x8c, 0x57, 0xc8, 0x00, 0x58,
                    301:            0x72, 0xe3, 0xff,
                    302:        },
                    303:        
                    304:        /* Attribute controller register values (3C0.00 - 3C0.13). */
                    305:        {
                    306:            0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
                    307:            0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x41, 0x00, 0x0f, 0x00,
                    308:        },
                    309:        
                    310:        /* Graphics controller register values (3CF.00 - 3CF.08). */
                    311:        { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff },
                    312:     }
                    313: };
                    314: 
                    315: /* QVision 800 x 600 x 15 (QVision mode 0x3F) @ 72Hz.
                    316:  */
                    317: static const struct QVisionMode Mode_3F_72Hz = {
                    318:     "QVision[800 x 600 x 15] @ 72Hz", QVisionAdapter, NO,
                    319: 
                    320:     /* Control register 1 value (63CA). */
                    321:     0x05,
                    322: 
                    323:     /* DAC command register 1 value (13C8). */
                    324:     0x20,
                    325: 
                    326:     /* Overflow register 1 value (3CF.42). */
                    327:     0x00,
                    328: 
                    329:     /* Overflow register 2 value (3CF.51). */
                    330:     0x20,
                    331: 
                    332:     /* Standard VGA data. */
                    333:     {
                    334:        0x23,   /* Miscellaneous output register value (3C2). */
                    335:        0x00,   /* Feature control register value (3DA). */
                    336: 
                    337:        /* Sequencer register values. */
                    338:        { 0x01, 0x01, 0xff, 0x00, 0x0e },
                    339:        
                    340:        /* CRTC register values (3D5.00 - 3D5.18). */
                    341:        {
                    342:            0x84, 0x63, 0x64, 0x83, 0x6b, 0x1c, 0x73, 0xf0, 0x00, 0x60, 0x00,
                    343:            0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x5c, 0x57, 0xc8, 0x00, 0x58,
                    344:            0x72, 0xe3, 0xff,
                    345:        },
                    346: 
                    347:        /* Attribute controller register values (3C0.00 - 3C0.13). */
                    348:        {
                    349:            0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
                    350:            0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x41, 0x00, 0x0f, 0x00,
                    351:        },
                    352:        
                    353:        /* Graphics controller register values (3CF.00 - 3CF.08). */
                    354:        { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff },
                    355:     }
                    356: };
                    357: 
                    358: /* Orion12 1280 x 1024 x 8 (QVision mode 0x3A) @ 68Hz.
                    359:  */
                    360: static const struct QVisionMode Mode_3A_68Hz = {
                    361:     "Orion12[1280 x 1024 x 8] @ 68Hz", Orion12Adapter, YES,
                    362: 
                    363:     /* Control register 1 value (63CA). */
                    364:     0x03,
                    365: 
                    366:     /* DAC command register 1 value (13C8). */
                    367:     0x40,
                    368: 
                    369:     /* Overflow register 1 value (3CF.42). */
                    370:     0x81,
                    371: 
                    372:     /* Overflow Register 2 values (3CF.51h). */
                    373:     0xe8,
                    374: 
                    375:     /* Standard VGA data. */
                    376:     {
                    377:        0x23,   /* Miscellaneous output register values (3C2). */
                    378:        0x00,   /* Feature control register value (3DA). */
                    379: 
                    380:        /* Sequencer register values. */
                    381:        { 0x01, 0x01, 0xff, 0x00, 0x0e },
                    382: 
                    383:        /* CRTC register values (3D5.00 - 3D5.18h) */
                    384:        {
                    385:            0xcf, 0x9f, 0x9f, 0x12, 0xa4, 0x19, 0x2e, 0x5a, 0x00, 0x60, 0x00,
                    386:            0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x8b, 0xff, 0x00, 0x00, 0xff,
                    387:            0x2e, 0xe3, 0xff,
                    388:        },
                    389:        
                    390:        /* Attribute controller register values (3C0.00 - 3C0.13). */
                    391:        {
                    392:            0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
                    393:            0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x41, 0x00, 0x0f, 0x00,
                    394:        },
                    395:        
                    396:        /* Graphics controller register values (3CF.00 - 3CF.08). */
                    397:        { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff },
                    398:     }
                    399: };
                    400: 
                    401: /* Orion 1024 x 768 x 15 (QVision mode 0x40) @ 60Hz.
                    402:  */
                    403: static const struct QVisionMode Mode_40_60Hz = {
                    404:     "Orion[1024 x 768 x 15] @ 60Hz", OrionAdapter, NO,
                    405: 
                    406:     /* Control register 1 value (63CA). */
                    407:     0x05,
                    408: 
                    409:     /* DAC command register 1 value (13C8). */
                    410:     0x20,
                    411: 
                    412:     /* Overflow register 1 value (3CF.42). */
                    413:     0x01,
                    414: 
                    415:     /* Overflow register 2 value (3CF.51). */
                    416:     0x00,
                    417: 
                    418:     /* Standard VGA data. */
                    419:     {
                    420:        0xe3,   /* Miscellaneous output register values (3C2). */
                    421:        0x00,   /* Feature control register value (3DA). */
                    422: 
                    423:        /* Sequencer register values. */
                    424:        { 0x01, 0x01, 0xff, 0x00, 0x0e },
                    425:        
                    426:        /* CRTC register values (3D5.00 - 3D5.18). */
                    427:        {
                    428:            0x9b, 0x7f, 0x7f, 0x9e, 0x87, 0x17, 0x31, 0xf5, 0x00, 0x60, 0x00,
                    429:            0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x94, 0xff, 0x00, 0x00, 0xff,
                    430:            0x31, 0xe3, 0xff,
                    431:        },
                    432:        
                    433:        /* Attribute controller register values (3C0.00 - 3C0.13). */
                    434:        {
                    435:            0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
                    436:            0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x41, 0x00, 0x0f, 0x00,
                    437:        },
                    438:        
                    439:        /* Graphics controller register values (3CF.00 - 3CF.08). */
                    440:        { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff },
                    441:     }
                    442: };
                    443: 
                    444: /* Orion 1024 x 768 x 15 (QVision mode 0x40) @ 72Hz.
                    445:  */
                    446: static const struct QVisionMode Mode_40_72Hz = {
                    447:     "Orion[1024 x 768 x 15] @ 72Hz", OrionAdapter, NO,
                    448: 
                    449:     /* Control register 1 value (63CA). */
                    450:     0x05,
                    451: 
                    452:     /* DAC command register 1 value (13C8). */
                    453:     0x20,
                    454: 
                    455:     /* Overflow register 1 value (3CF.42). */
                    456:     0x01,
                    457: 
                    458:     /* Overflow register 2 value (3CF.51). */
                    459:     0x00,
                    460: 
                    461:     /* Standard VGA data. */
                    462:     {
                    463:        0x2b,   /* Miscellaneous output register value (3C2). */
                    464:        0x00,   /* Feature control register value (3DA). */
                    465: 
                    466:        /* Sequencer register values. */
                    467:        { 0x01, 0x01, 0xff, 0x00, 0x0e },
                    468:        
                    469:        /* CRTC register values (3D5.00 - 3D5.18). */
                    470:        {
                    471:            0x9e, 0x7f, 0x7f, 0x81, 0x83, 0x93, 0x1e, 0xf1, 0x00, 0x60, 0x00,
                    472:            0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x83, 0xff, 0x00, 0x00, 0xff,
                    473:            0x1e, 0xe3, 0xff,
                    474:        },
                    475:        
                    476:        /* Attribute controller register values (3C0.00 - 3C0.13). */
                    477:        {
                    478:            0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
                    479:            0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x41, 0x00, 0x0f, 0x00,
                    480:        },
                    481:        
                    482:        /* Graphics controller register values (3CF.00 - 3CF.08). */
                    483:        { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff },
                    484:     }
                    485: };
                    486: 
                    487: /* Orion 640 x 480 x 24 (QVision mode 0x4F) @ 60Hz.
                    488:  */
                    489: static const struct QVisionMode Mode_4F_60Hz = {
                    490:     "Orion[640 x 480 x 24] @ 60Hz", OrionAdapter, NO,
                    491: 
                    492:     /* Control register 1 values (63CA).  */
                    493:     0x07,
                    494: 
                    495:     /* DAC command register 1 value (13C8). */
                    496:     0x00,
                    497: 
                    498:     /* Overflow register 1 value (3CF.42). */
                    499:     0x02,
                    500: 
                    501:     /* Overflow register 2 value (3CF.51). */
                    502:     0x08,
                    503: 
                    504:     /* Standard VGA data. */
                    505:     {
                    506:        0xef,   /* Miscellaneous output register value (3C2). */
                    507:        0x00,   /* Feature control register value (3DA). */
                    508: 
                    509:        /* Sequencer register values. */
                    510:        { 0x01, 0x01, 0xff, 0x00, 0x0e },
                    511:        
                    512:        /* CRTC register values (3D5.00 - 3D5.18). */
                    513:        {
                    514:            0x5f, 0x4f, 0x50, 0x81, 0x53, 0x9f, 0x0b, 0x3e, 0x00, 0x40, 0x00,
                    515:            0x00, 0x00, 0x00, 0x00, 0x00, 0xea, 0x8c, 0xdf, 0x00, 0x00, 0xe5,
                    516:            0x03, 0xe3, 0xff,
                    517:        },
                    518: 
                    519:        /* Attribute controller register values (3C0.00 - 3C0.13). */
                    520:        {
                    521:            0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
                    522:            0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x41, 0x00, 0x0f, 0x00,
                    523:        },
                    524:        
                    525:        /* Graphics controller register values (3CF.00 - 3CF.08). */
                    526:        { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff },
                    527:     }
                    528: };
                    529: 
                    530: const IODisplayInfo QVisionModeTable[] = {
                    531:     /* 0: QVision 1024 x 768 x 8 (Mode 0x38) @ 60Hz. */
                    532:     {
                    533:        1024, 768, 1024, 1024, 60, 0,
                    534:        IO_8BitsPerPixel, IO_OneIsWhiteColorSpace, "WWWWWWWW",
                    535:        0, (void *)&Mode_38_60Hz,
                    536:     },
                    537: 
                    538:     /* 1: QVision 1024 x 768 x 8 (Mode 0x38) @ 66Hz. */
                    539:     {
                    540:        1024, 768, 1024, 1024, 66, 0,
                    541:        IO_8BitsPerPixel, IO_OneIsWhiteColorSpace, "WWWWWWWW",
                    542:        0, (void *)&Mode_38_66Hz,
                    543:     },
                    544: 
                    545:     /* 2: QVision 1024 x 768 x 8 (Mode 0x38) @ 72Hz. */
                    546:     {
                    547:        1024, 768, 1024, 1024, 72, 0,
                    548:        IO_8BitsPerPixel, IO_OneIsWhiteColorSpace, "WWWWWWWW",
                    549:        0, (void *)&Mode_38_72Hz,
                    550:     },
                    551: 
                    552:     /* 3: Orion12 1024 x 768 x 8 (Mode 0x38) @ 76Hz. */
                    553:     {
                    554:        1024, 768, 1024, 1024, 76, 0,
                    555:        IO_8BitsPerPixel, IO_OneIsWhiteColorSpace, "WWWWWWWW",
                    556:        0, (void *)&Mode_38_76Hz,
                    557:     },
                    558: 
                    559:     /* 4: QVision 640 x 400 x 24 (Mode 0x4E) @ 60Hz. */
                    560:     {
                    561:        640, 400, 640, 2560, 60, 0,
                    562:        IO_24BitsPerPixel, IO_RGBColorSpace,"--------RRRRRRRRGGGGGGGGBBBBBBBB",
                    563:        0, (void *)&Mode_4E_60Hz,
                    564:     },
                    565: 
                    566:     /* 5: QVision 640 x 400 x 24 (Mode 0x4E) @ 70Hz. */
                    567:     {
                    568:        640, 400, 640, 2560, 70, 0,
                    569:        IO_24BitsPerPixel, IO_RGBColorSpace,"--------RRRRRRRRGGGGGGGGBBBBBBBB",
                    570:        0, (void *)&Mode_4E_70Hz,
                    571:     },
                    572: 
                    573:     /* 6: QVision 800 x 600 x 15 (QVision mode 0x3F) @ 60Hz. */
                    574:     {
                    575:        800, 600, 800, 1600, 60, 0,
                    576:        IO_15BitsPerPixel, IO_RGBColorSpace, "-RRRRRGGGGGBBBBB",
                    577:        0, (void *)&Mode_3F_60Hz,
                    578:     },
                    579: 
                    580:     /* 7: QVision 800 x 600 x 15 (Mode 0x3F) @ 72Hz. */
                    581:     {
                    582:        800, 600, 800, 1600, 72, 0,
                    583:        IO_15BitsPerPixel, IO_RGBColorSpace, "-RRRRRGGGGGBBBBB",
                    584:        0, (void *)&Mode_3F_72Hz,
                    585:     },
                    586: 
                    587:     /* 8: Orion12 1280 x 1024 x 8 (Mode 0x3A) @ 68Hz. */
                    588:     {
                    589:        1280, 1024, 2048, 2048, 68, 0,
                    590:        IO_8BitsPerPixel, IO_OneIsWhiteColorSpace, "WWWWWWWW",
                    591:        0, (void *)&Mode_3A_68Hz,
                    592:     },
                    593: 
                    594:     /* 9: Orion 1024 x 768 x 15 (Mode 0x40) @ 60Hz. */
                    595:     {
                    596:        1024, 768, 1024, 2048, 60, 0,
                    597:        IO_15BitsPerPixel, IO_RGBColorSpace, "-RRRRRGGGGGBBBBB",
                    598:        0, (void *)&Mode_40_60Hz,
                    599:     },
                    600: 
                    601:     /* 10: Orion 1024 x 768 x 15 (Mode 0x40) @ 72Hz. */
                    602:     {
                    603:        1024, 768, 1024, 2048, 72, 0,
                    604:        IO_15BitsPerPixel, IO_RGBColorSpace, "-RRRRRGGGGGBBBBB",
                    605:        0, (void *)&Mode_40_72Hz,
                    606:     },
                    607: 
                    608:     /* 11: Orion 640 x 480 x 24 (Mode 0x4F) @ 60Hz. */
                    609:     {
                    610:        640, 480, 1024, 4096, 60, 0,
                    611:        IO_24BitsPerPixel, IO_RGBColorSpace,"--------RRRRRRRRGGGGGGGGBBBBBBBB",
                    612:        0, (void *)&Mode_4F_60Hz,
                    613:     },
                    614: 
                    615:        /* 8-bit color modes */
                    616:     /* 12: QVision 1024 x 768 x 8 (Mode 0x38) @ 60Hz. */
                    617:     {
                    618:        1024, 768, 1024, 1024, 60, 0,
                    619:        IO_8BitsPerPixel, IO_RGBColorSpace, "PPPPPPPP",
                    620:        0, (void *)&Mode_38_60Hz,
                    621:     },
                    622: 
                    623:     /* 13: QVision 1024 x 768 x 8 (Mode 0x38) @ 66Hz. */
                    624:     {
                    625:        1024, 768, 1024, 1024, 66, 0,
                    626:        IO_8BitsPerPixel, IO_RGBColorSpace, "PPPPPPPP",
                    627:        0, (void *)&Mode_38_66Hz,
                    628:     },
                    629: 
                    630:     /* 14: QVision 1024 x 768 x 8 (Mode 0x38) @ 72Hz. */
                    631:     {
                    632:        1024, 768, 1024, 1024, 72, 0,
                    633:        IO_8BitsPerPixel, IO_RGBColorSpace, "PPPPPPPP",
                    634:        0, (void *)&Mode_38_72Hz,
                    635:     },
                    636: 
                    637:     /* 15: Orion12 1024 x 768 x 8 (Mode 0x38) @ 76Hz. */
                    638:     {
                    639:        1024, 768, 1024, 1024, 76, 0,
                    640:        IO_8BitsPerPixel, IO_RGBColorSpace, "PPPPPPPP",
                    641:        0, (void *)&Mode_38_76Hz,
                    642:     },
                    643: 
                    644:     /* 16: Orion12 1280 x 1024 x 8 (Mode 0x3A) @ 68Hz. */
                    645:     {
                    646:        1280, 1024, 2048, 2048, 68, 0,
                    647:        IO_8BitsPerPixel, IO_RGBColorSpace, "PPPPPPPP",
                    648:        0, (void *)&Mode_3A_68Hz,
                    649:     },
                    650: };
                    651: 
                    652: const int QVisionModeTableCount =
                    653:     sizeof(QVisionModeTable)/sizeof(QVisionModeTable[0]);

unix.superglobalmegacorp.com

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