Annotation of ntddk/src/video/miniport/cirrus/mode542x.h, revision 1.1

1.1     ! root        1: /*++
        !             2: 
        !             3: Copyright (c) 1992  Microsoft Corporation
        !             4: 
        !             5: Module Name:
        !             6: 
        !             7:     Mode542x.h
        !             8: 
        !             9: Abstract:
        !            10: 
        !            11:     This module contains all the global data used by the Cirrus Logic
        !            12:    CL-542x driver.
        !            13: 
        !            14: Environment:
        !            15: 
        !            16:     Kernel mode
        !            17: 
        !            18: Revision History:
        !            19: 
        !            20: --*/
        !            21: 
        !            22: //
        !            23: // The next set of tables are for the CL542x
        !            24: // Note: all resolutions supported
        !            25: //
        !            26: 
        !            27: //
        !            28: // 640x480 16-color mode (BIOS mode 12) set command string for CL 542x.
        !            29: //
        !            30: 
        !            31: USHORT CL542x_640x480[] = {
        !            32:     OWM,                            // begin setmode
        !            33:     SEQ_ADDRESS_PORT,
        !            34:     2,                             // count
        !            35:     0x1206,                         // enable extensions
        !            36:     0x0012,
        !            37: 
        !            38: #ifndef INT10_MODE_SET
        !            39:     OWM,                            // begin setmode
        !            40:     SEQ_ADDRESS_PORT,
        !            41:     15,                             // count
        !            42:     0x100,                          // start sync reset
        !            43:     0x0101,0x0f02,0x0003,0x0604,    // program up sequencer
        !            44:     0x0007,0x0008,0x4A0B,0x5B0C,
        !            45:     0x450D,0x000E,0x2B1B,
        !            46:     0x2F1C,0x301D,0x001E,
        !            47: 
        !            48:     OB,                             // point sequencer index to ff
        !            49:     SEQ_ADDRESS_PORT,
        !            50:     0x0F,
        !            51: 
        !            52:     METAOUT+MASKOUT,                // masked out.
        !            53:     SEQ_DATA_PORT,
        !            54:     0xDF,0x00,                      // and mask, xor mask
        !            55: 
        !            56:     OB,                             // misc. register
        !            57:     MISC_OUTPUT_REG_WRITE_PORT,
        !            58:     0xe3,
        !            59: 
        !            60:     OW,                             // text/graphics bit
        !            61:     GRAPH_ADDRESS_PORT,
        !            62:     0x506,
        !            63: 
        !            64:     OW,                             // end sync reset
        !            65:     SEQ_ADDRESS_PORT,
        !            66:     0x300,
        !            67: 
        !            68:     OW,                             // unprotect crtc 0-7
        !            69:     CRTC_ADDRESS_PORT_COLOR,
        !            70:     0x2011,
        !            71: 
        !            72:     METAOUT+INDXOUT,                // program crtc registers
        !            73:     CRTC_ADDRESS_PORT_COLOR,
        !            74:     28,0,                           // count, startindex
        !            75:     0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80,
        !            76:     0x0b, 0x3e, 0x00, 0x40, 0x00, 0x00,
        !            77:     0x00, 0x00, 0x00, 0x00, 0xea, 0x8c,
        !            78:     0xdf, 0x28, 0x00, 0xe7, 0x04, 0xe3,
        !            79:     0xff, 0x00, 0x00, 0x00,
        !            80: 
        !            81:     METAOUT+INDXOUT,                // program gdc registers
        !            82:     GRAPH_ADDRESS_PORT,
        !            83:     9,0,                            // count, startindex
        !            84:     0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !            85:     0x05, 0x0F, 0xFF, 
        !            86: 
        !            87:     IB,                             // prepare atc for writing
        !            88:     INPUT_STATUS_1_COLOR,
        !            89: 
        !            90:     METAOUT+ATCOUT,                 // program atc registers
        !            91:     ATT_ADDRESS_PORT,
        !            92:     21,0,                           // count, startindex
        !            93:     0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
        !            94:     0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B,
        !            95:     0x0C, 0x0D, 0x0E, 0x0F, 0x01, 0x00,
        !            96:     0x0F, 0x00, 0x00,
        !            97: 
        !            98:     OB,                             // turn video on.
        !            99:     ATT_ADDRESS_PORT,
        !           100:     0x20,
        !           101: 
        !           102:     OB,
        !           103:     DAC_PIXEL_MASK_PORT,
        !           104:     0xFF,
        !           105: 
        !           106: #endif
        !           107:     OWM,
        !           108:     GRAPH_ADDRESS_PORT,
        !           109:     3,
        !           110:     0x0009, 0x000a, 0x000b,      // no banking in 640x480 mode
        !           111: 
        !           112:     EOD                   
        !           113: };
        !           114: 
        !           115: //
        !           116: // 800x600 16-color (60Hz refresh) mode set command string for CL 542x.
        !           117: //
        !           118: 
        !           119: USHORT CL542x_800x600[] = {
        !           120:     OWM,                            // begin setmode
        !           121:     SEQ_ADDRESS_PORT,
        !           122:     2,                             // count
        !           123:     0x1206,                         // enable extensions
        !           124:     0x0012,
        !           125: 
        !           126: #ifndef INT10_MODE_SET
        !           127:     OWM,                            // begin setmode
        !           128:     SEQ_ADDRESS_PORT,
        !           129:     15,                             // count
        !           130:     0x100,                          // start sync reset
        !           131:     0x0101,0x0f02,0x0003,0x0604,    // program up sequencer
        !           132:     0x0007,0x0008,0x4A0B,0x5B0C,
        !           133:     0x450D,0x7E0E,0x2B1B,
        !           134:     0x2F1C,0x301D,0x331E,
        !           135: 
        !           136:     OB,                             // point sequencer index to ff
        !           137:     SEQ_ADDRESS_PORT,
        !           138:     0x0F,
        !           139: 
        !           140:     METAOUT+MASKOUT,                // masked out.
        !           141:     SEQ_DATA_PORT,
        !           142:     0xDF,0x00,                      // and mask, xor mask
        !           143: 
        !           144:     OB,                             // misc. register
        !           145:     MISC_OUTPUT_REG_WRITE_PORT,
        !           146:     0x2F,
        !           147: 
        !           148:     OW,                             // text/graphics bit
        !           149:     GRAPH_ADDRESS_PORT,
        !           150:     0x506,
        !           151: 
        !           152:     OW,                             // end sync reset
        !           153:     SEQ_ADDRESS_PORT,
        !           154:     0x300,
        !           155: 
        !           156:     OW,                             // unprotect crtc 0-7
        !           157:     CRTC_ADDRESS_PORT_COLOR,
        !           158:     0x2011,
        !           159: 
        !           160:     METAOUT+INDXOUT,                // program crtc registers
        !           161:     CRTC_ADDRESS_PORT_COLOR,
        !           162:     28,0,                           // count, startindex
        !           163:     0x7b, 0x63, 0x64, 0x9e, 0x69, 0x92, // NANAO 9070
        !           164:     0x6F, 0xf0, 0x00, 0x60, 0x00, 0x00,
        !           165:     0x00, 0x00, 0x00, 0x00, 0x58, 0x8a,
        !           166:     0x57, 0x32, 0x00, 0x58, 0x6f, 0xE3,
        !           167:     0xff, 0x00, 0x00, 0x22,
        !           168: 
        !           169:     METAOUT+INDXOUT,                // program gdc registers
        !           170:     GRAPH_ADDRESS_PORT,
        !           171:     9,0,                            // count, startindex
        !           172:     0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           173:     0x05, 0x0F, 0xFF, 
        !           174: 
        !           175:     IB,                             // prepare atc for writing
        !           176:     INPUT_STATUS_1_COLOR,
        !           177: 
        !           178:     METAOUT+ATCOUT,                 // program atc registers
        !           179:     ATT_ADDRESS_PORT,
        !           180:     21,0,                           // count, startindex
        !           181:     0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
        !           182:     0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B,
        !           183:     0x0C, 0x0D, 0x0E, 0x0F, 0x01, 0x00,
        !           184:     0x0F, 0x00, 0x00,
        !           185: 
        !           186:     OB,                             // turn video on.
        !           187:     ATT_ADDRESS_PORT,
        !           188:     0x20,
        !           189: 
        !           190:     OB,
        !           191:     DAC_PIXEL_MASK_PORT,
        !           192:     0xFF,
        !           193: 
        !           194: #endif
        !           195:     OWM,
        !           196:     GRAPH_ADDRESS_PORT,
        !           197:     3,
        !           198:     0x0009, 0x000a, 0x000b,      // no banking in 800x600 mode
        !           199: 
        !           200:     EOD
        !           201: };
        !           202: 
        !           203: //
        !           204: // 1024x768 16-color (60Hz refresh) mode set command string for CL 542x.
        !           205: //
        !           206: 
        !           207: USHORT CL542x_1024x768[] = {
        !           208:     OWM,                            // begin setmode
        !           209:     SEQ_ADDRESS_PORT,
        !           210:     2,                             // count
        !           211:     0x1206,                         // enable extensions
        !           212:     0x0012,
        !           213: 
        !           214: #ifndef INT10_MODE_SET
        !           215:     OWM,                            // begin setmode
        !           216:     SEQ_ADDRESS_PORT,
        !           217:     15,                             // count
        !           218:     0x100,                          // start sync reset
        !           219:     0x0101,0x0f02,0x0003,0x0604,    // program up sequencer
        !           220:     0x0007,0x0008,0x4A0B,0x5B0C,
        !           221:     0x450D,0x3B0E,0x2B1B,
        !           222:     0x2F1C,0x301D,0x1A1E,
        !           223: 
        !           224:     OB,                             // point sequencer index to ff
        !           225:     SEQ_ADDRESS_PORT,
        !           226:     0x0f,
        !           227: 
        !           228:     METAOUT+MASKOUT,                // masked out.
        !           229:     SEQ_DATA_PORT,
        !           230:     0x9f,0x40,                      // and mask, xor mask
        !           231: 
        !           232:     OB,                             // misc. register
        !           233:     MISC_OUTPUT_REG_WRITE_PORT,
        !           234:     0xEF,
        !           235: 
        !           236:     OW,                             // text/graphics bit
        !           237:     GRAPH_ADDRESS_PORT,
        !           238:     0x506,
        !           239: 
        !           240:     OW,                             // end sync reset
        !           241:     SEQ_ADDRESS_PORT,
        !           242:     0x300,
        !           243: 
        !           244:     OW,                             // unprotect crtc 0-7
        !           245:     CRTC_ADDRESS_PORT_COLOR,
        !           246:     0x2011,
        !           247: 
        !           248:     METAOUT+INDXOUT,                // program crtc registers
        !           249:     CRTC_ADDRESS_PORT_COLOR,
        !           250:     28,0,                           // count, startindex
        !           251:     0xa3, 0x7f, 0x80, 0x86, 0x85, 0x96, // SONY GDM-1952
        !           252:     0x24, 0xfd, 0x00, 0x60, 0x00, 0x00,
        !           253:     0x00, 0x00, 0x00, 0x00, 0x02, 0x88,
        !           254:     0xff, 0x40, 0x00, 0x00, 0x24, 0xE3,
        !           255:     0xFF, 0x4A, 0x00, 0x22,
        !           256: 
        !           257:     METAOUT+INDXOUT,                // program gdc registers
        !           258:     GRAPH_ADDRESS_PORT,
        !           259:     9,0,                           // count, startindex
        !           260:     0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           261:     0x05, 0x0F, 0xFF, 
        !           262: 
        !           263: 
        !           264:     IB,                             // prepare atc for writing
        !           265:     INPUT_STATUS_1_COLOR,
        !           266: 
        !           267:     METAOUT+ATCOUT,                 // program atc registers
        !           268:     ATT_ADDRESS_PORT,
        !           269:     21,0,                           // count, startindex
        !           270:     0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
        !           271:     0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B,
        !           272:     0x0C, 0x0D, 0x0E, 0x0F, 0x01, 0x00,
        !           273:     0x0F, 0x00, 0x00,
        !           274: 
        !           275:     OB,                             // turn video on.
        !           276:     ATT_ADDRESS_PORT,
        !           277:     0x20,
        !           278: 
        !           279: #endif
        !           280: 
        !           281:     OWM,
        !           282:     GRAPH_ADDRESS_PORT,
        !           283:     3,
        !           284: #if ONE_64K_BANK
        !           285:     0x0009, 0x000a, 0x000b,
        !           286: #endif
        !           287: #if TWO_32K_BANKS
        !           288:     0x0009, 0x000a, 0x010b,
        !           289: #endif
        !           290: 
        !           291:     OB,
        !           292:     DAC_PIXEL_MASK_PORT,
        !           293:     0xFF,
        !           294: 
        !           295:     EOD
        !           296: };
        !           297: 
        !           298: //-----------------------------
        !           299: // standard VGA text modes here
        !           300: // 80x25 at 640x350
        !           301: //
        !           302: //-----------------------------
        !           303: 
        !           304: //
        !           305: // 80x25 text mode set command string for CL 542x.
        !           306: // (720x400 pixel resolution; 9x16 character cell.)
        !           307: //
        !           308: 
        !           309: USHORT CL542x_80x25Text[] = {
        !           310:     OWM,                            // begin setmode
        !           311:     SEQ_ADDRESS_PORT,
        !           312:     2,                             // count
        !           313:     0x1206,                         // enable extensions
        !           314:     0x0012,
        !           315: 
        !           316: #ifndef INT10_MODE_SET
        !           317:     OWM,                            // begin setmode
        !           318:     SEQ_ADDRESS_PORT,
        !           319:     12,                             // count
        !           320:     0x100,                          // start sync reset
        !           321:     0x0001,0x0302,0x0003,0x0204,    // program up sequencer
        !           322:     0x0007,0x000E,0x0010,
        !           323:     0x0011,0x0013,0x0016,
        !           324:     0x001E,
        !           325: 
        !           326:     OB,                             // point sequencer index to ff
        !           327:     SEQ_ADDRESS_PORT,
        !           328:     0x0F,
        !           329: 
        !           330:     METAOUT+MASKOUT,                // masked out.
        !           331:     SEQ_DATA_PORT,
        !           332:     0xDF,0x00,                      // and mask, xor mask
        !           333: 
        !           334:     OB,                             // misc. regiseter
        !           335:     MISC_OUTPUT_REG_WRITE_PORT,
        !           336:     0x67,
        !           337: 
        !           338:     OW,                             // text/graphics bit
        !           339:     GRAPH_ADDRESS_PORT,
        !           340:     0xe06,
        !           341: 
        !           342:     OW,                             // end sync reset
        !           343:     SEQ_ADDRESS_PORT,
        !           344:     0x300,
        !           345: 
        !           346:     OW,                             // unprotect crtc 0-7
        !           347:     CRTC_ADDRESS_PORT_COLOR,
        !           348:     0x0e11,
        !           349: 
        !           350:     METAOUT+INDXOUT,                // program crtc registers
        !           351:     CRTC_ADDRESS_PORT_COLOR,
        !           352:     28,0,                           // count, startindex
        !           353:     0x5F, 0x4F, 0x50, 0x82, 0x55, 0x81,
        !           354:     0xBF, 0x1F, 0x00, 0x4F, 0x0D, 0x0E,
        !           355:     0x00, 0x00, 0x00, 0x00, 0x9C, 0x8E,
        !           356:     0x8F, 0x28, 0x1F, 0x96, 0xB9, 0xA3,
        !           357:     0xFF, 0x00, 0x00, 0x00,
        !           358: 
        !           359:     METAOUT+INDXOUT,                // program gdc registers
        !           360:     GRAPH_ADDRESS_PORT,
        !           361:     9,0,                            // count, startindex
        !           362:     0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
        !           363:     0x0e, 0x00, 0xFF, 
        !           364: 
        !           365:     IB,                             // prepare atc for writing
        !           366:     INPUT_STATUS_1_COLOR,
        !           367: 
        !           368:     METAOUT+ATCOUT,                 // program atc registers
        !           369:     ATT_ADDRESS_PORT,
        !           370:     21,0,                           // count, startindex
        !           371:     0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
        !           372:     0x14, 0x07, 0x38, 0x39, 0x3A, 0x3B,
        !           373:     0x3C, 0x3D, 0x3E, 0x3F, 0x04, 0x00,
        !           374:     0x0F, 0x08, 0x00,
        !           375: 
        !           376:     OB,
        !           377:     DAC_PIXEL_MASK_PORT,
        !           378:     0xFF,
        !           379: 
        !           380:     IB,                             // prepare to write to Hidden DAC reg
        !           381:     DAC_PIXEL_MASK_PORT,
        !           382:     IB,                             // by reading this register four times
        !           383:     DAC_PIXEL_MASK_PORT,
        !           384:     IB,
        !           385:     DAC_PIXEL_MASK_PORT,
        !           386:     IB,
        !           387:     DAC_PIXEL_MASK_PORT,
        !           388:     OB,
        !           389:     DAC_PIXEL_MASK_PORT,            // clear the hidden DAC register
        !           390:     0x00,
        !           391: 
        !           392:     OB,                             // turn video on.
        !           393:     ATT_ADDRESS_PORT,
        !           394:     0x20,
        !           395: 
        !           396:     OW,
        !           397:     SEQ_ADDRESS_PORT, 0x0006,       // turn off the extension registers
        !           398: 
        !           399: #endif
        !           400:     OWM,
        !           401:     GRAPH_ADDRESS_PORT,
        !           402:     3,
        !           403:     0x0009, 0x000a, 0x000b,      // no banking in text mode
        !           404: 
        !           405:     EOD
        !           406: };
        !           407: 
        !           408: //
        !           409: // 80x25 text mode set command string for CL 542x.
        !           410: // (640x350 pixel resolution; 8x14 character cell.)
        !           411: //
        !           412: 
        !           413: USHORT CL542x_80x25_14_Text[] = {
        !           414:     OWM,                            // begin setmode
        !           415:     SEQ_ADDRESS_PORT,
        !           416:     2,                             // count
        !           417:     0x1206,                         // enable extensions
        !           418:     0x0012,
        !           419: 
        !           420: #ifndef INT10_MODE_SET
        !           421:     OWM,                            // begin setmode
        !           422:     SEQ_ADDRESS_PORT,
        !           423:     12,                             // count
        !           424:     0x100,                          // start sync reset
        !           425:     0x0101,0x0302,0x0003,0x0204,    // program up sequencer
        !           426:     0x0007,0x000E,0x0010,
        !           427:     0x0011,0x0013,0x0016,
        !           428:     0x001E,
        !           429: 
        !           430:     OB,                             // point sequencer index to ff
        !           431:     SEQ_ADDRESS_PORT,
        !           432:     0x0F,
        !           433: 
        !           434:     METAOUT+MASKOUT,                // masked out.
        !           435:     SEQ_DATA_PORT,
        !           436:     0xDF,0x00,                      // and mask, xor mask
        !           437: 
        !           438:     OB,                             // misc. regiseter
        !           439:     MISC_OUTPUT_REG_WRITE_PORT,
        !           440:     0xa3,
        !           441: 
        !           442:     OW,                             // text/graphics bit
        !           443:     GRAPH_ADDRESS_PORT,
        !           444:     0xe06,
        !           445: 
        !           446:     OW,                             // end sync reset
        !           447:     SEQ_ADDRESS_PORT,
        !           448:     0x300,
        !           449: 
        !           450:     OW,                             // unprotect crtc 0-7
        !           451:     CRTC_ADDRESS_PORT_COLOR,
        !           452:     0x0511,
        !           453: 
        !           454:     METAOUT+INDXOUT,                // program crtc registers
        !           455:     CRTC_ADDRESS_PORT_COLOR,
        !           456:     28,0,                           // count, startindex
        !           457:     0x5F, 0x4F, 0x50, 0x82, 0x55, 0x81, 0xBF, 0x1F,
        !           458:     0x00, 0x4D, 0x0B, 0x0C, 0x00, 0x00, 0x00, 0x00,
        !           459:     0x83, 0x85, 0x5D, 0x28, 0x1F, 0x63, 0xBA, 0xA3,
        !           460:     0xFF,0x00, 0x00, 0x00,
        !           461: 
        !           462:     METAOUT+INDXOUT,                // program gdc registers
        !           463:     GRAPH_ADDRESS_PORT,
        !           464:     9,0,                           // count, startindex
        !           465:     0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
        !           466:     0x0e, 0x00, 0xFF, 
        !           467: 
        !           468:     IB,                             // prepare atc for writing
        !           469:     INPUT_STATUS_1_COLOR,
        !           470: 
        !           471:     METAOUT+ATCOUT,                 // program atc registers
        !           472:     ATT_ADDRESS_PORT,
        !           473:     21,0,                           // count, startindex
        !           474:     0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
        !           475:     0x14, 0x07, 0x38, 0x39, 0x3A, 0x3B,
        !           476:     0x3C, 0x3D, 0x3E, 0x3F, 0x08, 0x00,
        !           477:     0x0F, 0x00, 0x00,
        !           478: 
        !           479:     OB,                             // turn video on.
        !           480:     ATT_ADDRESS_PORT,
        !           481:     0x20,
        !           482: 
        !           483:     OB,
        !           484:     DAC_PIXEL_MASK_PORT,
        !           485:     0xFF,
        !           486: 
        !           487:     IB,                             // prepare to write to Hidden DAC reg
        !           488:     DAC_PIXEL_MASK_PORT,
        !           489:     IB,                             // by reading this register four times
        !           490:     DAC_PIXEL_MASK_PORT,
        !           491:     IB,
        !           492:     DAC_PIXEL_MASK_PORT,
        !           493:     IB,
        !           494:     DAC_PIXEL_MASK_PORT,
        !           495:     OB,
        !           496:     DAC_PIXEL_MASK_PORT,            // clear the hidden DAC register
        !           497:     0x00,
        !           498: 
        !           499:     OW,
        !           500:     SEQ_ADDRESS_PORT,
        !           501:     0x0006,                         // turn off the extension registers
        !           502: 
        !           503: #endif
        !           504:     OWM,
        !           505:     GRAPH_ADDRESS_PORT,
        !           506:     3,
        !           507:     0x0009, 0x000a, 0x000b,         // no banking in text mode
        !           508: 
        !           509:     EOD
        !           510: };
        !           511: 
        !           512: //
        !           513: // 1280x1024 16-color mode (BIOS mode 0x6C) set command string for CL 542x.
        !           514: //
        !           515: 
        !           516: USHORT CL542x_1280x1024_I[] = {
        !           517:     OWM,                            // begin setmode
        !           518:     SEQ_ADDRESS_PORT,
        !           519:     2,                             // count
        !           520:     0x1206,                         // enable extensions
        !           521:     0x0012,
        !           522: 
        !           523: #ifndef INT10_MODE_SET
        !           524:     OWM,                            // begin setmode
        !           525:     SEQ_ADDRESS_PORT,
        !           526:     15,                             // count
        !           527:     0x100,                          // start sync reset
        !           528:     0x0101,0x0f02,0x0003,0x0604,    // program up sequencer
        !           529:     0x0007,0x0008,0x4A0B,0x5B0C,
        !           530:     0x450D,0x6E0E,0x2B1B,
        !           531:     0x2F1C,0x301D,0x2A1E,
        !           532: 
        !           533:     OB,                             // point sequencer index to ff
        !           534:     SEQ_ADDRESS_PORT,
        !           535:     0x0F,
        !           536: 
        !           537:     METAOUT+MASKOUT,                // masked out.
        !           538:     SEQ_DATA_PORT,
        !           539:     0xDF,0x00,                      // and mask, xor mask
        !           540: 
        !           541:     OB,                             // misc. register
        !           542:     MISC_OUTPUT_REG_WRITE_PORT,
        !           543:     0xEF,
        !           544: 
        !           545:     OW,                             // text/graphics bit
        !           546:     GRAPH_ADDRESS_PORT,
        !           547:     0x506,
        !           548: 
        !           549:     OW,                             // end sync reset
        !           550:     SEQ_ADDRESS_PORT,
        !           551:     0x300,
        !           552: 
        !           553:     OW,                             // unprotect crtc 0-7
        !           554:     CRTC_ADDRESS_PORT_COLOR,
        !           555:     0x2011,
        !           556: 
        !           557:     METAOUT+INDXOUT,                // program crtc registers
        !           558:     CRTC_ADDRESS_PORT_COLOR,
        !           559:     28,0,                           // count, startindex
        !           560:     0xBD, 0x9f, 0xA0, 0x80, 0xA4, 0x19,
        !           561:     0x2A, 0xB2, 0x00, 0x60, 0x00, 0x00,
        !           562:     0x00, 0x00, 0x00, 0x00, 0x0B, 0x80,
        !           563:     0xFF, 0x50, 0x00, 0x00, 0x2A, 0xE3,
        !           564:     0xFF, 0x60, 0x01, 0x22,
        !           565: 
        !           566:     METAOUT+INDXOUT,                // program gdc registers
        !           567:     GRAPH_ADDRESS_PORT,
        !           568:     9,0,                            // count, startindex
        !           569:     0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        !           570:     0x05, 0x0F, 0xFF, 
        !           571: 
        !           572:     IB,                             // prepare atc for writing
        !           573:     INPUT_STATUS_1_COLOR,
        !           574: 
        !           575:     METAOUT+ATCOUT,                 // program atc registers
        !           576:     ATT_ADDRESS_PORT,
        !           577:     21,0,                           // count, startindex
        !           578:     0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
        !           579:     0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B,
        !           580:     0x0C, 0x0D, 0x0E, 0x0F, 0x01, 0x00,
        !           581:     0x0F, 0x00, 0x00,
        !           582: 
        !           583:     OB,                             // turn video on.
        !           584:     ATT_ADDRESS_PORT,
        !           585:     0x20,
        !           586: 
        !           587:     OB,
        !           588:     DAC_PIXEL_MASK_PORT,
        !           589:     0xFF,
        !           590: 
        !           591: #endif
        !           592:     OWM,
        !           593:     GRAPH_ADDRESS_PORT,
        !           594:     3,
        !           595: #if ONE_64K_BANK
        !           596:     0x0009, 0x000a, 0x000b,
        !           597: #endif
        !           598: #if TWO_32K_BANKS
        !           599:     0x0009, 0x000a, 0x010b,
        !           600: #endif
        !           601: 
        !           602:     EOD
        !           603: };
        !           604: 
        !           605: //
        !           606: // 640x480 256-color mode (BIOS mode 0x5F) set command string for CL 542x.
        !           607: //
        !           608: 
        !           609: USHORT CL542x_640x480_256[] = {
        !           610:     OWM,                            // begin setmode
        !           611:     SEQ_ADDRESS_PORT,
        !           612:     2,                             // count
        !           613:     0x1206,                         // enable extensions
        !           614:     0x0012,
        !           615: 
        !           616: #ifndef INT10_MODE_SET
        !           617:     OWM,                            // begin setmode
        !           618:     SEQ_ADDRESS_PORT,
        !           619:     15,                             // count
        !           620:     0x100,                          // start sync reset
        !           621:     0x0101,0x0F02,0x0003,0x0E04,    // program up sequencer
        !           622:     0x0107,0x0008,0x4A0B,0x5B0C,
        !           623:     0x450D,0x7E0E,0x2B1B,
        !           624:     0x2F1C,0x301D,0x331E,
        !           625: 
        !           626:     OB,                             // point sequencer index to ff
        !           627:     SEQ_ADDRESS_PORT,
        !           628:     0x0F,
        !           629: 
        !           630:     METAOUT+MASKOUT,                // masked out.
        !           631:     SEQ_DATA_PORT,
        !           632:     0xDF,0x20,                      // and mask, xor mask
        !           633: 
        !           634:     OB,                             // misc. register
        !           635:     MISC_OUTPUT_REG_WRITE_PORT,
        !           636:     0xe3,
        !           637: 
        !           638:     OW,                             // text/graphics bit
        !           639:     GRAPH_ADDRESS_PORT,
        !           640:     0x506,
        !           641: 
        !           642:     OW,                             // end sync reset
        !           643:     SEQ_ADDRESS_PORT,
        !           644:     0x300,
        !           645: 
        !           646:     OW,                             // unprotect crtc 0-7
        !           647:     CRTC_ADDRESS_PORT_COLOR,
        !           648:     0x2011,
        !           649: 
        !           650:     METAOUT+INDXOUT,                // program crtc registers
        !           651:     CRTC_ADDRESS_PORT_COLOR,
        !           652:     28,0,                           // count, startindex
        !           653:     0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80,
        !           654:     0x0b, 0x3e, 0x00, 0x40, 0x00, 0x00,
        !           655:     0x00, 0x00, 0x00, 0x00, 0xea, 0x8c,
        !           656:     0xdf, 0x50, 0x00, 0xe7, 0x04, 0xe3,
        !           657:     0xff, 0x00, 0x00, 0x22,
        !           658: 
        !           659:     METAOUT+INDXOUT,                // program gdc registers
        !           660:     GRAPH_ADDRESS_PORT,
        !           661:     9,0,                            // count, startindex
        !           662:     0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
        !           663:     0x05, 0x0F, 0xFF, 
        !           664: 
        !           665:     IB,                             // prepare atc for writing
        !           666:     INPUT_STATUS_1_COLOR,
        !           667: 
        !           668:     METAOUT+ATCOUT,                 // program atc registers
        !           669:     ATT_ADDRESS_PORT,
        !           670:     21,0,                           // count, startindex
        !           671:     0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
        !           672:     0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B,
        !           673:     0x0C, 0x0D, 0x0E, 0x0F, 0x41, 0x00,
        !           674:     0x0F, 0x00, 0x00,
        !           675: 
        !           676:     OB,                             // turn video on.
        !           677:     ATT_ADDRESS_PORT,
        !           678:     0x20,
        !           679: 
        !           680:     OB,
        !           681:     DAC_PIXEL_MASK_PORT,
        !           682:     0xFF,
        !           683: 
        !           684: #endif
        !           685:     OWM,
        !           686:     GRAPH_ADDRESS_PORT,
        !           687:     3,
        !           688: #if ONE_64K_BANK
        !           689:     0x0009, 0x000a, 0x000b,
        !           690: #endif
        !           691: #if TWO_32K_BANKS
        !           692:     0x0009, 0x000a, 0x010b,
        !           693: #endif
        !           694: 
        !           695:     EOD                   
        !           696: };
        !           697: 
        !           698: //
        !           699: // 800x600 256-color mode (BIOS mode 0x5C) set command string for CL 542x.
        !           700: //
        !           701: 
        !           702: USHORT CL542x_800x600_256[] = {
        !           703:     OWM,                            // begin setmode
        !           704:     SEQ_ADDRESS_PORT,
        !           705:     2,                             // count
        !           706:     0x1206,                         // enable extensions
        !           707:     0x0012,
        !           708: 
        !           709: #ifndef INT10_MODE_SET
        !           710:     OWM,                            // begin setmode
        !           711:     SEQ_ADDRESS_PORT,
        !           712:     15,                             // count
        !           713:     0x100,                          // start sync reset
        !           714:     0x0101,0x0F02,0x0003,0x0E04,    // program up sequencer
        !           715:     0x0107,0x0008,0x4A0B,0x5B0C,
        !           716:     0x450D,0x640E,0x2B1B,
        !           717:     0x2F1C,0x301D,0x3A1E,
        !           718: 
        !           719:     OB,                             // point sequencer index to ff
        !           720:     SEQ_ADDRESS_PORT,
        !           721:     0x0F,
        !           722: 
        !           723:     METAOUT+MASKOUT,                // masked out.
        !           724:     SEQ_DATA_PORT,
        !           725:     0xDF,0x20,                      // and mask, xor mask
        !           726: 
        !           727:     OB,                             // misc. register
        !           728:     MISC_OUTPUT_REG_WRITE_PORT,
        !           729:     0x2F,
        !           730: 
        !           731:     OW,                             // text/graphics bit
        !           732:     GRAPH_ADDRESS_PORT,
        !           733:     0x506,
        !           734: 
        !           735:     OW,                             // end sync reset
        !           736:     SEQ_ADDRESS_PORT,
        !           737:     0x300,
        !           738: 
        !           739:     OW,                             // unprotect crtc 0-7
        !           740:     CRTC_ADDRESS_PORT_COLOR,
        !           741:     0x2011,
        !           742: 
        !           743:     METAOUT+INDXOUT,                // program crtc registers
        !           744:     CRTC_ADDRESS_PORT_COLOR,
        !           745:     28,0,                           // count, startindex
        !           746:     0x7D, 0x63, 0x64, 0x80, 0x6D, 0x1C,
        !           747:     0x98, 0xF0, 0x00, 0x60, 0x00, 0x00,
        !           748:     0x00, 0x00, 0x00, 0x00, 0x7B, 0x80,
        !           749:     0x57, 0x64, 0x00, 0x5F, 0x91, 0xe3,
        !           750:     0xff, 0x00, 0x00, 0x22,
        !           751: 
        !           752:     METAOUT+INDXOUT,                // program gdc registers
        !           753:     GRAPH_ADDRESS_PORT,
        !           754:     9,0,                            // count, startindex
        !           755:     0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
        !           756:     0x05, 0x0F, 0xFF, 
        !           757: 
        !           758:     IB,                             // prepare atc for writing
        !           759:     INPUT_STATUS_1_COLOR,
        !           760: 
        !           761:     METAOUT+ATCOUT,                 // program atc registers
        !           762:     ATT_ADDRESS_PORT,
        !           763:     21,0,                           // count, startindex
        !           764:     0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
        !           765:     0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B,
        !           766:     0x0C, 0x0D, 0x0E, 0x0F, 0x41, 0x00,
        !           767:     0x0F, 0x00, 0x00,
        !           768: 
        !           769:     OB,                             // turn video on.
        !           770:     ATT_ADDRESS_PORT,
        !           771:     0x20,
        !           772: 
        !           773:     OB,
        !           774:     DAC_PIXEL_MASK_PORT,
        !           775:     0xFF,
        !           776: #endif
        !           777: 
        !           778:     OWM,
        !           779:     GRAPH_ADDRESS_PORT,
        !           780:     3,
        !           781: #if ONE_64K_BANK
        !           782:     0x0009, 0x000a, 0x000b,
        !           783: #endif
        !           784: #if TWO_32K_BANKS
        !           785:     0x0009, 0x000a, 0x010b,
        !           786: #endif
        !           787: 
        !           788:     EOD                   
        !           789: };
        !           790: 
        !           791: //
        !           792: // 1024x768 256-color mode (BIOS mode 0x60) set command string for CL 542x.
        !           793: //
        !           794: 
        !           795: USHORT CL542x_1024x768_256[] = {
        !           796:     OWM,                            // begin setmode
        !           797:     SEQ_ADDRESS_PORT,
        !           798:     2,                             // count
        !           799:     0x1206,                         // enable extensions
        !           800:     0x0012,
        !           801: 
        !           802: #ifndef INT10_MODE_SET
        !           803:     OWM,                            // begin setmode
        !           804:     SEQ_ADDRESS_PORT,
        !           805:     15,                             // count
        !           806:     0x100,                          // start sync reset
        !           807:     0x0101,0x0F02,0x0003,0x0E04,    // program up sequencer
        !           808:     0x0107,0x0008,0x4A0B,0x5B0C,
        !           809:     0x450D,0x3B0E,0x2B1B,
        !           810:     0x2F1C,0x301D,0x1A1E,
        !           811: 
        !           812:     OB,                             // point sequencer index to ff
        !           813:     SEQ_ADDRESS_PORT,
        !           814:     0x0F,
        !           815: 
        !           816:     METAOUT+MASKOUT,                // masked out.
        !           817:     SEQ_DATA_PORT,
        !           818:     0xDF,0x20,                      // and mask, xor mask
        !           819: 
        !           820:     OB,                             // misc. register
        !           821:     MISC_OUTPUT_REG_WRITE_PORT,
        !           822:     0xEF,
        !           823: 
        !           824:     OW,                             // text/graphics bit
        !           825:     GRAPH_ADDRESS_PORT,
        !           826:     0x506,
        !           827: 
        !           828:     OW,                             // end sync reset
        !           829:     SEQ_ADDRESS_PORT,
        !           830:     0x300,
        !           831: 
        !           832:     OW,                             // unprotect crtc 0-7
        !           833:     CRTC_ADDRESS_PORT_COLOR,
        !           834:     0x2011,
        !           835: 
        !           836:     METAOUT+INDXOUT,                // program crtc registers
        !           837:     CRTC_ADDRESS_PORT_COLOR,
        !           838:     28,0,                           // count, startindex
        !           839:     0xA3, 0x7F, 0x80, 0x86, 0x85, 0x96,
        !           840:     0x24, 0xFD, 0x00, 0x60, 0x00, 0x00,
        !           841:     0x00, 0x00, 0x00, 0x00, 0x02, 0x88,
        !           842:     0xFF, 0x80, 0x00, 0x00, 0x24, 0xe3,
        !           843:     0xff, 0x4A, 0x00, 0x22,
        !           844: 
        !           845:     METAOUT+INDXOUT,                // program gdc registers
        !           846:     GRAPH_ADDRESS_PORT,
        !           847:     9,0,                            // count, startindex
        !           848:     0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
        !           849:     0x05, 0x0F, 0xFF, 
        !           850: 
        !           851:     IB,                             // prepare atc for writing
        !           852:     INPUT_STATUS_1_COLOR,
        !           853: 
        !           854:     METAOUT+ATCOUT,                 // program atc registers
        !           855:     ATT_ADDRESS_PORT,
        !           856:     21,0,                           // count, startindex
        !           857:     0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
        !           858:     0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B,
        !           859:     0x0C, 0x0D, 0x0E, 0x0F, 0x41, 0x00,
        !           860:     0x0F, 0x00, 0x00,
        !           861: 
        !           862:     OB,                             // turn video on.
        !           863:     ATT_ADDRESS_PORT,
        !           864:     0x20,
        !           865: 
        !           866:     OB,
        !           867:     DAC_PIXEL_MASK_PORT,
        !           868:     0xFF,
        !           869: 
        !           870: #endif
        !           871:     OWM,
        !           872:     GRAPH_ADDRESS_PORT,
        !           873:     3,
        !           874: #if ONE_64K_BANK
        !           875:     0x0009, 0x000a, 0x000b,
        !           876: #endif
        !           877: #if TWO_32K_BANKS
        !           878:     0x0009, 0x000a, 0x010b,
        !           879: #endif
        !           880: 
        !           881:     EOD                   
        !           882: };
        !           883: 
        !           884: 

unix.superglobalmegacorp.com

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