Annotation of Examples/DriverKit/QVision/QVision_reloc.tproj/QVisionModes.c, revision 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.