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

1.1     ! root        1: /*++
        !             2: 
        !             3: Copyright (c) 1992  Cirrus Logic, Inc.
        !             4: 
        !             5: Module Name:
        !             6: 
        !             7:     Mode6410.h
        !             8: 
        !             9: Abstract:
        !            10: 
        !            11:     This module contains all the global data used by the Cirrus Logic
        !            12:     CL-6410 driver.
        !            13: 
        !            14: Environment:
        !            15: 
        !            16:     Kernel mode
        !            17: 
        !            18: Revision History:
        !            19: 
        !            20: --*/
        !            21: 
        !            22: //
        !            23: // The first set of tables are for the CL6410
        !            24: // Note that only 640x480 and 800x600 are supported.
        !            25: //
        !            26: // Color graphics mode 0x12, 640x480 16 colors.
        !            27: //
        !            28: USHORT CL6410_640x480_crt[] = {
        !            29: // Unlock Key for color mode
        !            30:     OW,                             // GR0A = 0xEC opens extension registers
        !            31:     GRAPH_ADDRESS_PORT,
        !            32:     0xec0a,
        !            33:     
        !            34: #ifndef INT10_MODE_SET
        !            35:     OWM,
        !            36:     SEQ_ADDRESS_PORT,
        !            37:     5,
        !            38:     0x0100,                         // start synch reset
        !            39:     0x0101,0x0f02,0x0003,0x0604,    // program up sequencer
        !            40: 
        !            41:     OB,
        !            42:     MISC_OUTPUT_REG_WRITE_PORT,
        !            43:     0xe3,
        !            44: 
        !            45:     OW,                             //{ SetGraphCmd,{ "\x05", 0x06, 1 } },
        !            46:     GRAPH_ADDRESS_PORT,
        !            47:     0x0506,
        !            48:     
        !            49: //  EndSyncResetCmd
        !            50:     OW,
        !            51:     SEQ_ADDRESS_PORT,
        !            52:     IND_SYNC_RESET + (END_SYNC_RESET_VALUE << 8),
        !            53: 
        !            54:     OW,
        !            55:     CRTC_ADDRESS_PORT_COLOR,
        !            56:     0x0111,                         
        !            57: 
        !            58:     METAOUT+INDXOUT,                // program crtc registers
        !            59:     CRTC_ADDRESS_PORT_COLOR,
        !            60:     VGA_NUM_CRTC_PORTS,             // count
        !            61:     0,                              // start index
        !            62:     0x5F,0x4F,0x50,0x82,
        !            63:     0x54,0x80,0x0B,0x3E,
        !            64:     0x00,0x40,0x00,0x00,
        !            65:     0x00,0x00,0x00,0x00,
        !            66:     0xEA,0xAC,0xDF,0x28,
        !            67:     0x00,0xE7,0x04,0xE3,
        !            68:     0xFF,
        !            69: 
        !            70: // extension registers
        !            71:     OWM,
        !            72:     GRAPH_ADDRESS_PORT,
        !            73:     16,
        !            74:         0x0262,               // ER62 horz. display end extension
        !            75:         0x8064,               // ER64 horz. retrace end extension
        !            76:         0x0079,               // ER79 vertical overflow
        !            77:         0x007a,               // ER7a coarse vert. retrace skew for interlaced odd fields
        !            78:         0x007b,               // ER7b fine vert. retrace skew for interlaced odd fields
        !            79:         0x007c,               // ER7c screen A start addr. extension
        !            80:         0x0081,               // ER81 display mode
        !            81:         0x0082,               // ER82 character clock selection
        !            82:         0x1084,               // ER84 clock select extension
        !            83:         0x0090,               // ER90 display memory control
        !            84:         0x0091,               // ER91 CRT-circular buffer policy select
        !            85:         0x0095,               // ER95 CRT-circular buffer delta & burst
        !            86:         0x0096,               // ER96 display memory control test
        !            87:         0x12a0,               // ERa0 bus interface unit control
        !            88:         0x00a1,               // ERa1 three-state and test control
        !            89:         0x00c8,               // ERc8 RAMDAC control
        !            90: 
        !            91:     IB,                             // prepare atc for writing
        !            92:     INPUT_STATUS_1_COLOR,
        !            93: 
        !            94:     METAOUT+ATCOUT,                 //
        !            95:     ATT_ADDRESS_PORT,               // port
        !            96:     VGA_NUM_ATTRIB_CONT_PORTS,      // count
        !            97:     0,                              // start index
        !            98:     0x00,0x01,0x02,0x03,0x04,
        !            99:     0x05,0x14,0x07,0x38,0x39,
        !           100:     0x3A,0x3B,0x3C,0x3D,0x3E,
        !           101:     0x3F,0x01,0x00,0x0F,0x00,0x00,
        !           102: 
        !           103:     METAOUT+INDXOUT,                // 
        !           104:     GRAPH_ADDRESS_PORT,             // port        
        !           105:     VGA_NUM_GRAPH_CONT_PORTS,       // count       
        !           106:     0,                              // start index 
        !           107:     0x00,0x0,0x0,0x0,0x0,0x0,0x05,0x0F,0x0FF,
        !           108: 
        !           109:     OB,                             // turn video on.
        !           110:     ATT_ADDRESS_PORT,
        !           111:     VIDEO_ENABLE,
        !           112:  
        !           113: #endif
        !           114: // disable banking
        !           115:     OWM,
        !           116:     GRAPH_ADDRESS_PORT,
        !           117:     3,   
        !           118:     0x030d,                   // ER0D = Paging control: 1 64K page, 
        !           119:     0x000e,                   // ER0E page A address = 0
        !           120:     0x000f,                   // ER0F page B address = 0
        !           121:  
        !           122:     OB,
        !           123:     DAC_PIXEL_MASK_PORT,
        !           124:     0xFF,
        !           125: 
        !           126:     EOD
        !           127: };
        !           128: 
        !           129: USHORT CL6410_640x480_panel[] = {
        !           130: // Unlock Key for color mode
        !           131:     OW,                             // GR0A = 0xEC opens extension registers
        !           132:     GRAPH_ADDRESS_PORT,
        !           133:     0xec0a,
        !           134:     
        !           135: #ifndef INT10_MODE_SET
        !           136:     OWM,
        !           137:     SEQ_ADDRESS_PORT,
        !           138:     5,
        !           139:     0x0100,                         // start synch reset
        !           140:     0x0101,0x0f02,0x0003,0x0604,    // program up sequencer
        !           141: 
        !           142:     OB,
        !           143:     MISC_OUTPUT_REG_WRITE_PORT,
        !           144:     0xe3,
        !           145: 
        !           146:     OW,                             //{ SetGraphCmd,{ "\x05", 0x06, 1 } },
        !           147:     GRAPH_ADDRESS_PORT,
        !           148:     0x0506,
        !           149:     
        !           150: //  EndSyncResetCmd
        !           151:     OW,
        !           152:     SEQ_ADDRESS_PORT,
        !           153:     IND_SYNC_RESET + (END_SYNC_RESET_VALUE << 8),
        !           154: 
        !           155:     OW,
        !           156:     CRTC_ADDRESS_PORT_COLOR,
        !           157:     0x0111,                         
        !           158: 
        !           159:     METAOUT+INDXOUT,                // program crtc registers
        !           160:     CRTC_ADDRESS_PORT_COLOR,
        !           161:     VGA_NUM_CRTC_PORTS,             // count
        !           162:     0,                              // start index
        !           163:     0x5F,0x4F,0x50,0x82,
        !           164:     0x54,0x80,0x0B,0x3E,
        !           165:     0x00,0x40,0x00,0x00,
        !           166:     0x00,0x00,0x00,0x00,
        !           167:     0xEA,0xAC,0xDF,0x28,
        !           168:     0x00,0xE7,0x04,0xE3,
        !           169:     0xFF,
        !           170: 
        !           171: // extension registers
        !           172:     OWM,
        !           173:     GRAPH_ADDRESS_PORT,
        !           174:     16,
        !           175:         0x0262,               // ER62 horz. display end extension
        !           176:         0x8064,               // ER64 horz. retrace end extension
        !           177:         0x0079,               // ER79 vertical overflow
        !           178:         0x007a,               // ER7a coarse vert. retrace skew for interlaced odd fields
        !           179:         0x007b,               // ER7b fine vert. retrace skew for interlaced odd fields
        !           180:         0x007c,               // ER7c screen A start addr. extension
        !           181:         0x0181,               // ER81 display mode
        !           182:         0x8982,               // ER82 character clock selection
        !           183:         0xa684,               // ER84 clock select extension
        !           184:         0x0090,               // ER90 display memory control
        !           185:         0x0091,               // ER91 CRT-circular buffer policy select
        !           186:         0x0095,               // ER95 CRT-circular buffer delta & burst
        !           187:         0x0096,               // ER96 display memory control test
        !           188:         0x12a0,               // ERa0 bus interface unit control
        !           189:         0x00a1,               // ERa1 three-state and test control
        !           190:         0xa0c8,               // ERc8 RAMDAC control
        !           191: 
        !           192:     IB,                             // prepare atc for writing
        !           193:     INPUT_STATUS_1_COLOR,
        !           194: 
        !           195:     METAOUT+ATCOUT,                 //
        !           196:     ATT_ADDRESS_PORT,               // port
        !           197:     VGA_NUM_ATTRIB_CONT_PORTS,      // count
        !           198:     0,                              // start index
        !           199:     0x00,0x01,0x02,0x03,0x04,
        !           200:     0x05,0x14,0x07,0x38,0x39,
        !           201:     0x3A,0x3B,0x3C,0x3D,0x3E,
        !           202:     0x3F,0x01,0x00,0x0F,0x00,0x00,
        !           203: 
        !           204:     METAOUT+INDXOUT,                // 
        !           205:     GRAPH_ADDRESS_PORT,             // port        
        !           206:     VGA_NUM_GRAPH_CONT_PORTS,       // count       
        !           207:     0,                              // start index 
        !           208:     0x00,0x0,0x0,0x0,0x0,0x0,0x05,0x0F,0x0FF,
        !           209: 
        !           210:     OB,                             // turn video on.
        !           211:     ATT_ADDRESS_PORT,
        !           212:     VIDEO_ENABLE,
        !           213:  
        !           214: #endif
        !           215: // disable banking
        !           216:     OWM,
        !           217:     GRAPH_ADDRESS_PORT,
        !           218:     3,   
        !           219:     0x030d,                   // ER0D = Paging control: 1 64K page, 
        !           220:     0x000e,                   // ER0E page A address = 0
        !           221:     0x000f,                   // ER0F page B address = 0
        !           222:  
        !           223:     OB,
        !           224:     DAC_PIXEL_MASK_PORT,
        !           225:     0xFF,
        !           226: 
        !           227:     EOD
        !           228: };
        !           229: 
        !           230: 
        !           231: 
        !           232: //
        !           233: // Cirrus color graphics mode 0x64, 800x600 16 colors.
        !           234: //
        !           235: USHORT CL6410_800x600_crt[] = {
        !           236: // Unlock Key for color mode
        !           237:     OW,                             // GR0A = 0xEC opens extension registers
        !           238:     GRAPH_ADDRESS_PORT,
        !           239:     0xec0a,
        !           240: 
        !           241: #ifndef INT10_MODE_SET
        !           242:     OWM,
        !           243:     SEQ_ADDRESS_PORT,
        !           244:     5,
        !           245:     0x0100,                         // start synch reset
        !           246:     0x0101,0x0f02,0x0003,0x0604,    // program up sequencer
        !           247: 
        !           248:     OB,
        !           249:     MISC_OUTPUT_REG_WRITE_PORT,
        !           250:     0x2f,
        !           251: 
        !           252:     OWM,                
        !           253:     GRAPH_ADDRESS_PORT,
        !           254:     3,
        !           255:     0x0506,
        !           256:     0x0f07,
        !           257:     0xff08,
        !           258:     
        !           259: //  EndSyncResetCmd
        !           260:     OW,
        !           261:     SEQ_ADDRESS_PORT,
        !           262:     IND_SYNC_RESET + (END_SYNC_RESET_VALUE << 8),
        !           263: 
        !           264:     OW,
        !           265:     CRTC_ADDRESS_PORT_COLOR,
        !           266:     0x0E11,                         
        !           267: 
        !           268:     METAOUT+INDXOUT,                // program crtc registers
        !           269:     CRTC_ADDRESS_PORT_COLOR,
        !           270:     VGA_NUM_CRTC_PORTS,             // count
        !           271:     0,                              // start index
        !           272:     0x7b,0x63,0x64,0x9e,
        !           273:     0x69,0x92,0x6f,0xf0,
        !           274:     0x00,0x60,0x00,0x00,
        !           275:     0x00,0x00,0x00,0x00,
        !           276:     0x58,0xaa,0x57,0x32,
        !           277:     0x00,0x58,0x6f,0xe3,
        !           278:     0xFF,
        !           279: 
        !           280: // extension registers
        !           281:     OWM,
        !           282:     GRAPH_ADDRESS_PORT,
        !           283:     16,
        !           284:     0x1e62,                   // ER62 horz. display end extension
        !           285:     0x9264,                   // ER64 horz. retrace end extension
        !           286:     0x0079,                   // ER79 vertical overflow
        !           287:     0x007a,                   // ER7a coarse vert. retrace skew for interlaced odd fields
        !           288:     0x007b,                   // ER7b fine vert. retrace skew for interlaced odd fields
        !           289:     0x007c,                   // ER7c screen A start addr. extension
        !           290:     0x0081,                   // ER81 display mode
        !           291:     0x0082,                   // ER82 character clock selection
        !           292:     0xac84,                   // ER84 clock select extension
        !           293:     0x0090,                   // ER90 display memory control
        !           294:     0x0391,                   // ER91 CRT-circular buffer policy select
        !           295:     0x0a95,                   // ER95 CRT-circular buffer delta & burst
        !           296:     0x0096,                   // ER96 display memory control test
        !           297:     0x12a0,                   // ERa0 bus interface unit control
        !           298:     0x00a1,                   // ERa1 three-state and test control
        !           299:     0x00c8,                   // ERc8 RAMDAC control
        !           300: 
        !           301:     IB,                             // prepare atc for writing
        !           302:     INPUT_STATUS_1_COLOR,
        !           303: 
        !           304:     METAOUT+ATCOUT,                 //
        !           305:     ATT_ADDRESS_PORT,               // port
        !           306:     VGA_NUM_ATTRIB_CONT_PORTS,      // count
        !           307:     0,                              // start index
        !           308:     0x0,0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9,0xA,0xB,0xC,0xD,0xE,0xF,
        !           309:     0x01,0x0,0x0F,0x0,0x0,
        !           310: 
        !           311:     METAOUT+INDXOUT,                // 
        !           312:     GRAPH_ADDRESS_PORT,             // port        
        !           313:     VGA_NUM_GRAPH_CONT_PORTS,       // count       
        !           314:     0,                              // start index 
        !           315:     0x00,0x0,0x0,0x0,0x0,0x0,0x05,0x0F,0x0FF,
        !           316: 
        !           317:     OB,                             // turn video on.
        !           318:     ATT_ADDRESS_PORT,
        !           319:     VIDEO_ENABLE,
        !           320: 
        !           321: #endif
        !           322: // disable banking
        !           323:     OWM,
        !           324:     GRAPH_ADDRESS_PORT,
        !           325:     3,   
        !           326:     0x030d,                   // ER0D = Paging control: 1 64K page, 
        !           327:     0x000e,                   // ER0E page A address = 0
        !           328:     0x000f,                   // ER0F page B address = 0
        !           329:  
        !           330:     OB,
        !           331:     DAC_PIXEL_MASK_PORT,
        !           332:     0xFF,
        !           333: 
        !           334:     EOD
        !           335: };
        !           336: //-----------------------------
        !           337: // standard VGA text modes here
        !           338: //-----------------------------
        !           339: 
        !           340: USHORT CL6410_80x25_14_Text_crt[] = {
        !           341: // Unlock Key for color mode
        !           342:     OW,                             // GR0A = 0xEC opens extension registers
        !           343:     GRAPH_ADDRESS_PORT,
        !           344:     0xec0a,
        !           345:  
        !           346: #ifndef INT10_MODE_SET
        !           347:     OWM,
        !           348:     SEQ_ADDRESS_PORT,
        !           349:     5,
        !           350:     0x0100,0x0001,0x0302,0x0003,0x0204,    // program up sequencer
        !           351: 
        !           352:     OB,
        !           353:     MISC_OUTPUT_REG_WRITE_PORT,
        !           354:     0x67,
        !           355: 
        !           356:     OW,                
        !           357:     GRAPH_ADDRESS_PORT,
        !           358:     0x0e06,
        !           359:     
        !           360: //  EndSyncResetCmd
        !           361:     OW,
        !           362:     SEQ_ADDRESS_PORT,
        !           363:     IND_SYNC_RESET + (END_SYNC_RESET_VALUE << 8),
        !           364: 
        !           365:     OW,
        !           366:     CRTC_ADDRESS_PORT_COLOR,
        !           367:     0x0511,                         
        !           368: 
        !           369:     METAOUT+INDXOUT,                // program crtc registers
        !           370:     CRTC_ADDRESS_PORT_COLOR,
        !           371:     VGA_NUM_CRTC_PORTS,             // count
        !           372:     0,                              // start index
        !           373:     0x5F,0x4f,0x50,0x82,
        !           374:     0x55,0x81,0xbf,0x1f,
        !           375:     0x00,0x4f,0x0d,0x0e,
        !           376:     0x00,0x00,0x01,0xe0,
        !           377:     0x9c,0xae,0x8f,0x28,
        !           378:     0x1f,0x96,0xb9,0xa3,
        !           379:     0xFF,
        !           380: 
        !           381: // extension registers
        !           382:     OWM,
        !           383:     GRAPH_ADDRESS_PORT,
        !           384:     16,
        !           385:     0x0262,                   // ER62 horz. display end extension
        !           386:     0x8164,                   // ER64 horz. retrace end extension
        !           387:     0x0079,                   // ER79 vertical overflow
        !           388:     0x007a,                   // ER7a coarse vert. retrace skew for interlaced odd fields
        !           389:     0x007b,                   // ER7b fine vert. retrace skew for interlaced odd fields
        !           390:     0x007c,                   // ER7c screen A start addr. extension
        !           391:     0x0081,                   // ER81 display mode
        !           392:     0x0082,                   // ER82 character clock selection
        !           393:     0x1084,                   // ER84 clock select extension
        !           394:     0x0090,                   // ER90 display memory control
        !           395:     0x0391,                   // ER91 CRT-circular buffer policy select
        !           396:     0x0095,                   // ER95 CRT-circular buffer delta & burst
        !           397:     0x0096,                   // ER96 display memory control test
        !           398:     0x12a0,                   // ERa0 bus interface unit control
        !           399:     0x00a1,                   // ERa1 three-state and test control
        !           400:     0x00c8,                   // ERc8 RAMDAC control
        !           401: 
        !           402:     IB,                             // prepare atc for writing
        !           403:     INPUT_STATUS_1_COLOR,
        !           404: 
        !           405:     METAOUT+ATCOUT,                 //
        !           406:     ATT_ADDRESS_PORT,               // port
        !           407:     VGA_NUM_ATTRIB_CONT_PORTS,      // count
        !           408:     0,                              // start index
        !           409:     0x0,0x1,0x2,0x3,0x4,0x5,0x14,0x7,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
        !           410:     0x00,0x0,0x0F,0x0,0x0,
        !           411: 
        !           412:     METAOUT+INDXOUT,                //
        !           413:     GRAPH_ADDRESS_PORT,             // port        
        !           414:     VGA_NUM_GRAPH_CONT_PORTS,       // count       
        !           415:     0,                              // start index 
        !           416:     0x00,0x0,0x0,0x0,0x0,0x10,0x0e,0x0,0x0FF,
        !           417: 
        !           418:     IB,                             // prepare atc for writing
        !           419:     INPUT_STATUS_1_COLOR,
        !           420: 
        !           421:     OB,                             // turn video on.
        !           422:     ATT_ADDRESS_PORT,
        !           423:     VIDEO_ENABLE,
        !           424: 
        !           425: #endif
        !           426: // disable banking
        !           427:     OWM,
        !           428:     GRAPH_ADDRESS_PORT,
        !           429:     3,   
        !           430:     0x030d,                   // ER0D = Paging control: 1 64K page, 
        !           431:     0x000e,                   // ER0E page A address = 0
        !           432:     0x000f,                   // ER0F page B address = 0
        !           433:  
        !           434:     OB,
        !           435:     DAC_PIXEL_MASK_PORT,
        !           436:     0xFF,
        !           437: 
        !           438:     EOD
        !           439: };
        !           440: //
        !           441: // 80x25 and 720 x 400
        !           442: //
        !           443: 
        !           444: USHORT CL6410_80x25_14_Text_panel[] = {
        !           445: // Unlock Key for color mode
        !           446:     OW,                             // GR0A = 0xEC opens extension registers
        !           447:     GRAPH_ADDRESS_PORT,
        !           448:     0xec0a,
        !           449:  
        !           450: #ifndef INT10_MODE_SET
        !           451:     OWM,
        !           452:     SEQ_ADDRESS_PORT,
        !           453:     5,
        !           454:     0x0100,0x0001,0x0302,0x0003,0x0204,    // program up sequencer
        !           455: 
        !           456:     OWM,
        !           457:     SEQ_ADDRESS_PORT,
        !           458:     2,
        !           459:     0x0006,0x0fc07,    // program up sequencer
        !           460: 
        !           461:     OB,
        !           462:     MISC_OUTPUT_REG_WRITE_PORT,
        !           463:     0x67,
        !           464: 
        !           465:     OW, 
        !           466:     GRAPH_ADDRESS_PORT,
        !           467:     0x0e06,
        !           468:     
        !           469: //  EndSyncResetCmd
        !           470:     OW,
        !           471:     SEQ_ADDRESS_PORT,
        !           472:     IND_SYNC_RESET + (END_SYNC_RESET_VALUE << 8),
        !           473: 
        !           474:     OW,
        !           475:     CRTC_ADDRESS_PORT_COLOR,
        !           476:     0x0E11,                         
        !           477: 
        !           478:     METAOUT+INDXOUT,                // program crtc registers
        !           479:     CRTC_ADDRESS_PORT_COLOR,
        !           480:     VGA_NUM_CRTC_PORTS,             // count
        !           481:     0,                              // start index
        !           482:     0x5F,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,0x00,0x4f,0xd,0xe,0x0,0x0,0x0,0x0,
        !           483:     0x9c,0x8e,0x8f,0x28,0x1f,0x96,0xb9,0xa3,0xFF,
        !           484: 
        !           485: // extension registers
        !           486:     OWM,
        !           487:     GRAPH_ADDRESS_PORT,
        !           488:     16,
        !           489:     0x1e62,                   // ER62 horz. display end extension
        !           490:     0x9264,                   // ER64 horz. retrace end extension
        !           491:     0x0079,                   // ER79 vertical overflow
        !           492:     0x007a,                   // ER7a coarse vert. retrace skew for interlaced odd fields
        !           493:     0x007b,                   // ER7b fine vert. retrace skew for interlaced odd fields
        !           494:     0x007c,                   // ER7c screen A start addr. extension
        !           495:     0x0081,                   // ER81 display mode
        !           496:     0x0082,                   // ER82 character clock selection
        !           497:     0xac84,                   // ER84 clock select extension
        !           498:     0x0090,                   // ER90 display memory control
        !           499:     0x0391,                   // ER91 CRT-circular buffer policy select
        !           500:     0x0a95,                   // ER95 CRT-circular buffer delta & burst
        !           501:     0x0096,                   // ER96 display memory control test
        !           502:     0x12a0,                   // ERa0 bus interface unit control
        !           503:     0x00a1,                   // ERa1 three-state and test control
        !           504:     0x00c8,                   // ERc8 RAMDAC control
        !           505: 
        !           506:     IB,                             // prepare atc for writing
        !           507:     INPUT_STATUS_1_COLOR,
        !           508: 
        !           509:     METAOUT+ATCOUT,                 //
        !           510:     ATT_ADDRESS_PORT,               // port
        !           511:     VGA_NUM_ATTRIB_CONT_PORTS,      // count
        !           512:     0,                              // start index
        !           513:     0x0,0x1,0x2,0x3,0x4,0x5,0x14,0x7,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
        !           514:     0x04,0x0,0x0F,0x8,0x0,
        !           515: 
        !           516:     METAOUT+INDXOUT,                //
        !           517:     GRAPH_ADDRESS_PORT,             // port        
        !           518:     VGA_NUM_GRAPH_CONT_PORTS,       // count       
        !           519:     0,                              // start index 
        !           520:     0x00,0x0,0x0,0x0,0x0,0x10,0x0e,0x0,0x0FF,
        !           521: 
        !           522:     OB,                             // turn video on.
        !           523:     ATT_ADDRESS_PORT,
        !           524:     VIDEO_ENABLE,
        !           525: 
        !           526: #endif
        !           527: // disable banking
        !           528:     OWM,
        !           529:     GRAPH_ADDRESS_PORT,
        !           530:     3,   
        !           531:     0x030d,                   // ER0D = Paging control: 1 64K page, 
        !           532:     0x000e,                   // ER0E page A address = 0
        !           533:     0x000f,                   // ER0F page B address = 0
        !           534:  
        !           535:     OB,
        !           536:     DAC_PIXEL_MASK_PORT,
        !           537:     0xFF,
        !           538: 
        !           539:     EOD
        !           540: };
        !           541: USHORT CL6410_80x25Text_crt[] = {
        !           542: // Unlock Key for color mode
        !           543:     OW,                             // GR0A = 0xEC opens extension registers
        !           544:     GRAPH_ADDRESS_PORT,
        !           545:     0xec0a,
        !           546:  
        !           547: #ifndef INT10_MODE_SET
        !           548:     OWM,
        !           549:     SEQ_ADDRESS_PORT,
        !           550:     5,
        !           551:     0x0100,0x0001,0x0302,0x0003,0x0204,    // program up sequencer
        !           552: 
        !           553:     OB,
        !           554:     MISC_OUTPUT_REG_WRITE_PORT,
        !           555:     0x67,
        !           556: 
        !           557:     OW,                
        !           558:     GRAPH_ADDRESS_PORT,
        !           559:     0x0e06,
        !           560:     
        !           561: //  EndSyncResetCmd
        !           562:     OW,
        !           563:     SEQ_ADDRESS_PORT,
        !           564:     IND_SYNC_RESET + (END_SYNC_RESET_VALUE << 8),
        !           565: 
        !           566:     OW,
        !           567:     CRTC_ADDRESS_PORT_COLOR,
        !           568:     0x0511,                         
        !           569: 
        !           570:     METAOUT+INDXOUT,                // program crtc registers
        !           571:     CRTC_ADDRESS_PORT_COLOR,
        !           572:     VGA_NUM_CRTC_PORTS,             // count
        !           573:     0,                              // start index
        !           574:     0x5F,0x4f,0x50,0x82,
        !           575:     0x55,0x81,0xbf,0x1f,
        !           576:     0x00,0x4f,0x0d,0x0e,
        !           577:     0x00,0x00,0x01,0xe0,
        !           578:     0x9c,0xae,0x8f,0x28,
        !           579:     0x1f,0x96,0xb9,0xa3,
        !           580:     0xFF,
        !           581: 
        !           582: // extension registers
        !           583:     OWM,
        !           584:     GRAPH_ADDRESS_PORT,
        !           585:     16,
        !           586:     0x0262,                   // ER62 horz. display end extension
        !           587:     0x8164,                   // ER64 horz. retrace end extension
        !           588:     0x0079,                   // ER79 vertical overflow
        !           589:     0x007a,                   // ER7a coarse vert. retrace skew for interlaced odd fields
        !           590:     0x007b,                   // ER7b fine vert. retrace skew for interlaced odd fields
        !           591:     0x007c,                   // ER7c screen A start addr. extension
        !           592:     0x0081,                   // ER81 display mode
        !           593:     0x0082,                   // ER82 character clock selection
        !           594:     0x1084,                   // ER84 clock select extension
        !           595:     0x0090,                   // ER90 display memory control
        !           596:     0x0391,                   // ER91 CRT-circular buffer policy select
        !           597:     0x0095,                   // ER95 CRT-circular buffer delta & burst
        !           598:     0x0096,                   // ER96 display memory control test
        !           599:     0x12a0,                   // ERa0 bus interface unit control
        !           600:     0x00a1,                   // ERa1 three-state and test control
        !           601:     0x00c8,                   // ERc8 RAMDAC control
        !           602: 
        !           603:     IB,                             // prepare atc for writing
        !           604:     INPUT_STATUS_1_COLOR,
        !           605: 
        !           606:     METAOUT+ATCOUT,                 //
        !           607:     ATT_ADDRESS_PORT,               // port
        !           608:     VGA_NUM_ATTRIB_CONT_PORTS,      // count
        !           609:     0,                              // start index
        !           610:     0x0,0x1,0x2,0x3,0x4,0x5,0x14,0x7,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
        !           611:     0x00,0x0,0x0F,0x0,0x0,
        !           612: 
        !           613:     METAOUT+INDXOUT,                //
        !           614:     GRAPH_ADDRESS_PORT,             // port        
        !           615:     VGA_NUM_GRAPH_CONT_PORTS,       // count       
        !           616:     0,                              // start index 
        !           617:     0x00,0x0,0x0,0x0,0x0,0x10,0x0e,0x0,0x0FF,
        !           618: 
        !           619:     IB,                             // prepare atc for writing
        !           620:     INPUT_STATUS_1_COLOR,
        !           621: 
        !           622:     OB,                             // turn video on.
        !           623:     ATT_ADDRESS_PORT,
        !           624:     VIDEO_ENABLE,
        !           625: 
        !           626: #endif
        !           627: // disable banking
        !           628:     OWM,
        !           629:     GRAPH_ADDRESS_PORT,
        !           630:     3,   
        !           631:     0x030d,                   // ER0D = Paging control: 1 64K page, 
        !           632:     0x000e,                   // ER0E page A address = 0
        !           633:     0x000f,                   // ER0F page B address = 0
        !           634:  
        !           635:     OB,
        !           636:     DAC_PIXEL_MASK_PORT,
        !           637:     0xFF,
        !           638: 
        !           639:     EOD
        !           640: };
        !           641: //
        !           642: // 80x25 and 720 x 400
        !           643: //
        !           644: 
        !           645: USHORT CL6410_80x25Text_panel[] = {
        !           646: // Unlock Key for color mode
        !           647:     OW,                             // GR0A = 0xEC opens extension registers
        !           648:     GRAPH_ADDRESS_PORT,
        !           649:     0xec0a,
        !           650:  
        !           651: #ifndef INT10_MODE_SET
        !           652:     OWM,
        !           653:     SEQ_ADDRESS_PORT,
        !           654:     5,
        !           655:     0x0100,0x0001,0x0302,0x0003,0x0204,    // program up sequencer
        !           656: 
        !           657:     OWM,
        !           658:     SEQ_ADDRESS_PORT,
        !           659:     2,
        !           660:     0x0006,0x0fc07,    // program up sequencer
        !           661: 
        !           662:     OB,
        !           663:     MISC_OUTPUT_REG_WRITE_PORT,
        !           664:     0x67,
        !           665: 
        !           666:     OW, 
        !           667:     GRAPH_ADDRESS_PORT,
        !           668:     0x0e06,
        !           669:     
        !           670: //  EndSyncResetCmd
        !           671:     OW,
        !           672:     SEQ_ADDRESS_PORT,
        !           673:     IND_SYNC_RESET + (END_SYNC_RESET_VALUE << 8),
        !           674: 
        !           675:     OW,
        !           676:     CRTC_ADDRESS_PORT_COLOR,
        !           677:     0x0E11,                         
        !           678: 
        !           679:     METAOUT+INDXOUT,                // program crtc registers
        !           680:     CRTC_ADDRESS_PORT_COLOR,
        !           681:     VGA_NUM_CRTC_PORTS,             // count
        !           682:     0,                              // start index
        !           683:     0x5F,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,0x00,0x4f,0xd,0xe,0x0,0x0,0x0,0x0,
        !           684:     0x9c,0x8e,0x8f,0x28,0x1f,0x96,0xb9,0xa3,0xFF,
        !           685: 
        !           686: // extension registers
        !           687:     OWM,
        !           688:     GRAPH_ADDRESS_PORT,
        !           689:     16,
        !           690:     0x1e62,                   // ER62 horz. display end extension
        !           691:     0x9264,                   // ER64 horz. retrace end extension
        !           692:     0x0079,                   // ER79 vertical overflow
        !           693:     0x007a,                   // ER7a coarse vert. retrace skew for interlaced odd fields
        !           694:     0x007b,                   // ER7b fine vert. retrace skew for interlaced odd fields
        !           695:     0x007c,                   // ER7c screen A start addr. extension
        !           696:     0x0081,                   // ER81 display mode
        !           697:     0x0082,                   // ER82 character clock selection
        !           698:     0xac84,                   // ER84 clock select extension
        !           699:     0x0090,                   // ER90 display memory control
        !           700:     0x0391,                   // ER91 CRT-circular buffer policy select
        !           701:     0x0a95,                   // ER95 CRT-circular buffer delta & burst
        !           702:     0x0096,                   // ER96 display memory control test
        !           703:     0x12a0,                   // ERa0 bus interface unit control
        !           704:     0x00a1,                   // ERa1 three-state and test control
        !           705:     0x00c8,                   // ERc8 RAMDAC control
        !           706: 
        !           707:     IB,                             // prepare atc for writing
        !           708:     INPUT_STATUS_1_COLOR,
        !           709: 
        !           710:     METAOUT+ATCOUT,                 //
        !           711:     ATT_ADDRESS_PORT,               // port
        !           712:     VGA_NUM_ATTRIB_CONT_PORTS,      // count
        !           713:     0,                              // start index
        !           714:     0x0,0x1,0x2,0x3,0x4,0x5,0x14,0x7,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
        !           715:     0x04,0x0,0x0F,0x8,0x0,
        !           716: 
        !           717:     METAOUT+INDXOUT,                //
        !           718:     GRAPH_ADDRESS_PORT,             // port        
        !           719:     VGA_NUM_GRAPH_CONT_PORTS,       // count       
        !           720:     0,                              // start index 
        !           721:     0x00,0x0,0x0,0x0,0x0,0x10,0x0e,0x0,0x0FF,
        !           722: 
        !           723:     OB,                             // turn video on.
        !           724:     ATT_ADDRESS_PORT,
        !           725:     VIDEO_ENABLE,
        !           726: 
        !           727: #endif
        !           728: // disable banking
        !           729:     OWM,
        !           730:     GRAPH_ADDRESS_PORT,
        !           731:     3,   
        !           732:     0x030d,                   // ER0D = Paging control: 1 64K page, 
        !           733:     0x000e,                   // ER0E page A address = 0
        !           734:     0x000f,                   // ER0F page B address = 0
        !           735:  
        !           736:     OB,
        !           737:     DAC_PIXEL_MASK_PORT,
        !           738:     0xFF,
        !           739: 
        !           740:     EOD
        !           741: };
        !           742: 
        !           743: 

unix.superglobalmegacorp.com

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