Annotation of Examples/DriverKit/TsengLabsET4000/TsengLabsET4000_reloc.tproj/SVGAConstants.h, revision 1.1

1.1     ! root        1: /*     Copyright (c) 1992 NeXT Computer, Inc.  All rights reserved. 
        !             2:  *
        !             3:  * SVGACommonDefines.h
        !             4:  *
        !             5:  */
        !             6: 
        !             7: /*
        !             8: **     Color palette constants
        !             9: */
        !            10: #define WHITE_INDEX 3
        !            11: #define LIGHT_GRAY_INDEX 2
        !            12: #define DARK_GRAY_INDEX 1
        !            13: #define BLACK_INDEX 0
        !            14: 
        !            15: /*
        !            16: **     Color palette constants (gamma 2.2, for typical CRT displays)
        !            17: */
        !            18: #define WHITE_PALETTE_VALUE 0x3F
        !            19: #define LIGHT_GRAY_PALETTE_VALUE 0x34
        !            20: #define DARK_GRAY_PALETTE_VALUE 0x26
        !            21: #define BLACK_PALETTE_VALUE 0
        !            22: 
        !            23: 
        !            24: /*
        !            25: **************************************************************************
        !            26: **                             VGA :- General registers                                     **
        !            27: **************************************************************************
        !            28: */
        !            29: #define        WRIT_MONO_GEN_MISC_OP   0x03C2
        !            30: #define        WRIT_COLR_GEN_MISC_OP   0x03C2
        !            31: #define        WRIT_EIDR_GEN_MISC_OP   0x03C2
        !            32: 
        !            33: #define        READ_MONO_GEN_MISC_OP   0x03CC
        !            34: #define        READ_COLR_GEN_MISC_OP   0x03CC
        !            35: #define        READ_EIDR_GEN_MISC_OP   0x03CC
        !            36: 
        !            37: #define READ_MONO_GEN_IN_ST_0  0x03C2
        !            38: #define READ_COLR_GEN_IN_ST_0  0x03C2
        !            39: #define READ_EIDR_GEN_IN_ST_0  0x03C2
        !            40: 
        !            41: #define READ_MONO_GEN_IN_ST_1  0x03BA
        !            42: #define READ_COLR_GEN_IN_ST_1  0x03DA
        !            43: 
        !            44: #define WRIT_MONO_GEN_FEAT_CT  0x03BA
        !            45: #define WRIT_COLR_GEN_FEAT_CT  0x03DA
        !            46: 
        !            47: #define READ_MONO_GEN_FEAT_CT  0x03CA
        !            48: #define READ_COLR_GEN_FEAT_CT  0x03CA
        !            49: 
        !            50: /*
        !            51: **     Index mask  - not necessary here
        !            52: */
        !            53: #define MONO_GEN_MSK           0x00
        !            54: #define COLR_GEN_MSK           0x00
        !            55: #define EIDR_GEN_MSK           0x00
        !            56: 
        !            57: /*
        !            58: **     List of index registers
        !            59: */
        !            60: 
        !            61: /*
        !            62: **     Bitfields for misc op reg.
        !            63: */
        !            64: #define GEN_AT_VSP             0x80
        !            65: #define GEN_AT_HSP             0x40
        !            66: #define GEN_AT__PB             0x00
        !            67: #define GEN_AT_DVD             0x10
        !            68: #define GEN_AT__CS             0x0C
        !            69: #define GEN_AT__ER             0x02
        !            70: #define GEN_AT_IOA             0x01
        !            71: 
        !            72: /*
        !            73: **     Bitfields for feature control reg.
        !            74: */
        !            75: #define        GEN_AT_VSS              0x08
        !            76: 
        !            77: /*
        !            78: **     Bitfields for Input Status #0 register
        !            79: */
        !            80: #define        GEN_AT__SS              0x10
        !            81: 
        !            82: /*
        !            83: **     Bitfields for Input Status #1 register
        !            84: */
        !            85: #define        GEN_AT__VR              0x08
        !            86: #define        GEN_AT__DE              0x01
        !            87: 
        !            88: /*
        !            89: **************************************************************************
        !            90: **                             VGA :- Sequencer registers                                   **
        !            91: **************************************************************************
        !            92: */
        !            93: #define MONO_SEQ_ADDR          0x03C4
        !            94: #define COLR_SEQ_ADDR          0x03C4
        !            95: #define EIDR_SEQ_ADDR          0x03C4
        !            96: 
        !            97: #define        MONO_SEQ_DATA           0x03C5
        !            98: #define        COLR_SEQ_DATA           0x03C5
        !            99: #define        EIDR_SEQ_DATA           0x03C5
        !           100: 
        !           101: /*
        !           102: **     List of index registers
        !           103: */
        !           104: #define SEQ_AT_RST             0x00
        !           105: #define SEQ_AT_CLO             0x01
        !           106: #define SEQ_AT_MPK             0x02
        !           107: #define SEQ_AT_CRS             0x03
        !           108: #define SEQ_AT_MMD             0x04
        !           109: 
        !           110: /*
        !           111: **      Bitfield - Sequencer registers - Reset
        !           112: */
        !           113: #define SEQ_AT__SR             0x02
        !           114: #define SEQ_AT__AR             0x00
        !           115: 
        !           116: /*
        !           117: **     Bitfields - Sequencer registers - Clocking Mode Register
        !           118: */
        !           119: #define        SEQ_AT__SO              0x20
        !           120: #define        SEQ_AT__S4              0x10
        !           121: #define        SEQ_AT__DC              0x08
        !           122: #define        SEQ_AT__SL              0x04
        !           123: #define        SEQ_AT__89              0x01
        !           124: 
        !           125: /*
        !           126: **      Bitfields - Sequencer registers - Map Mask Register
        !           127: */
        !           128: #define SEQ_AT_EM3             0x08
        !           129: #define SEQ_AT_EM2             0x04
        !           130: #define SEQ_AT_EM1             0x02
        !           131: #define SEQ_AT_EM0             0x01
        !           132: 
        !           133: /*
        !           134: **     Bitfields - Sequencer registers - Character Map Select Registers
        !           135: */
        !           136: #define        SEQ_AT_SAH              0x20
        !           137: #define        SEQ_AT_SBH              0x10
        !           138: #define        SEQ_AT__SA              0x0C
        !           139: #define        SEQ_AT__SB              0x03
        !           140: 
        !           141: /*
        !           142: **      Bitfields - Sequencer registers - Memory Mode Register
        !           143: */
        !           144: #define SEQ_AT__C4             0x08
        !           145: #define SEQ_AT__OE             0x04
        !           146: #define SEQ_AT__EM             0x02
        !           147: 
        !           148: /*
        !           149: **************************************************************************
        !           150: **                             VGA :- CRT Controller Registers                              **
        !           151: **************************************************************************
        !           152: */
        !           153: #define MONO_CRT_ADDR          0x03B4
        !           154: #define MONO_CRT_DATA          0x03B5
        !           155: 
        !           156: #define COLR_CRT_ADDR          0x03D4
        !           157: #define COLR_CRT_DATA          0x03D5
        !           158: 
        !           159: 
        !           160: /*
        !           161: **     List of index registers
        !           162: */
        !           163: #define CRT_AT_HORZ_TOT                0x00
        !           164: #define CRT_AT_HORZ_DND                0x01
        !           165: #define CRT_AT_HORZ_BST                0x02
        !           166: #define CRT_AT_HORZ_BND                0x03
        !           167: #define CRT_AT_HORZ_RST                0x04
        !           168: #define CRT_AT_HORZ_RND                0x05
        !           169: #define CRT_AT_VERT_TOT                0x06
        !           170: #define CRT_AT_OVERFLOW                0x07
        !           171: #define CRT_AT_PRE_ROWS                0x08
        !           172: #define CRT_AT_MAX_SCAN                0x09
        !           173: #define CRT_AT_CURSR_ST                0x0A
        !           174: #define CRT_AT_CURSR_ND                0x0B
        !           175: #define CRT_AT_ST_ADRHI                0x0C
        !           176: #define CRT_AT_ST_ADRLO                0x0D
        !           177: #define CRT_AT_CR_LOCHI                0x0E
        !           178: #define CRT_AT_CR_LOCLO                0x0F
        !           179: #define CRT_AT_VRT_RTST                0x10
        !           180: #define CRT_AT_VRT_RTLO                0x11
        !           181: #define CRT_AT_VRT_DSND                0x12
        !           182: #define CRT_AT___OFFSET                0x13
        !           183: #define CRT_AT_UNDR_LOC                0x14
        !           184: #define CRT_AT_VBLNK_ST                0x15
        !           185: #define CRT_AT_VBLNK_ND                0x16
        !           186: #define CRT_AT_MOD_CTRL                0x17
        !           187: #define CRT_AT_LINE_CMP                0x18
        !           188: 
        !           189: /*
        !           190: **     Bitfields - CRT Controller registers - Horizontal total Register
        !           191: */
        !           192: #define CRT_AT__HT             0xFF
        !           193: 
        !           194: /*
        !           195: **     Bitfields - CRT Controller registers - Horizontal Display End Register
        !           196: */
        !           197: #define        CRT_AT_HDE              0xFF
        !           198: 
        !           199: /*
        !           200: **     Bitfields - CRT Controller registers - Start Horizontal Blanking register
        !           201: */
        !           202: #define CRT_AT_SHB             0xFF
        !           203: 
        !           204: /*
        !           205: **     Bitfields - CRT Controller registers - End Horizontal Blanking Register 
        !           206: */
        !           207: #define        CRT_AT__CR              0x80
        !           208: #define        CRT_AT_DES              0x60
        !           209: #define        CRT_AT_EHB              0x1F
        !           210: 
        !           211: /*
        !           212: **     Bitfields - CRT Controller registers - Start Horizontal Retrace Register
        !           213: */
        !           214: #define        CRT_AT_SHR              0xFF
        !           215: 
        !           216: /*
        !           217: **     Bitfields - CRT Controller registers - End Horizontal Retrace Register
        !           218: */
        !           219: #define        CRT_AT_EHB_6            0x80
        !           220: #define EGA_AT_CRT             0x80
        !           221: #define        CRT_AT_HRD              0x60
        !           222: #define        CRT_AT_EHR              0x1F
        !           223: 
        !           224: /*
        !           225: **     Bitfields - CRT Controller registers - Vertical Total Register
        !           226: */
        !           227: #define CRT_AT_VT              0xFF
        !           228: 
        !           229: /*
        !           230: **     Bitfields - CRT Controller registers - Overflow Register
        !           231: */
        !           232: #define CRT_AT_VRS_9           0x80
        !           233: #define        CRT_AT_VDE_9            0x40
        !           234: #define        EGA_AT_CRT_8            0x20
        !           235: #define        CRT_AT_VT1_8            0x20
        !           236: #define        CRT_AT__LC_8            0x10
        !           237: #define        CRT_AT_VBS_8            0x08
        !           238: #define        CRT_AT_VRS_8            0x04
        !           239: #define        CRT_AT_VDE_8            0x02
        !           240: #define        CRT_AT__VT_8            0x01
        !           241: 
        !           242: /*
        !           243: **     Bitfields - CRT Controller registers - Preset Row Scan Register
        !           244: */
        !           245: #define        CRT_AT__BP              0x60
        !           246: #define        CRT_AT_PRS              0x1F
        !           247: 
        !           248: /*
        !           249: **     Bitfields - CRT Controller registers - Maximum Scan Line Register
        !           250: */
        !           251: #define CRT_AT_2T4             0x80
        !           252: #define        CRT_AT__LC              0x40
        !           253: #define        CRT_AT_VBS_9            0x20
        !           254: #define        CRT_AT_MSL              0x1F
        !           255: 
        !           256: /*
        !           257: **     Bitfields - CRT Controller registers - Cursor Start Register
        !           258: */
        !           259: #define CRT_AT_COO             0x20
        !           260: #define CRT_AT__CS             0x1F
        !           261: 
        !           262: /*
        !           263: **     Bitfields - CRT Controller registers - Cursor End Register
        !           264: */
        !           265: #define CRT_AT_CSK             0x60
        !           266: #define        CRT_AT__CE              0x1F
        !           267: 
        !           268: /*
        !           269: **     Bitfields - CRT Controller registers - Start Address High Register
        !           270: */
        !           271: #define CRT_AT_SAH             0xFF
        !           272: 
        !           273: /*
        !           274: **     Bitfields - CRT Controller registers - Start Address Low Register
        !           275: */
        !           276: #define        CRT_AT_SAL              0xFF
        !           277: 
        !           278: /*
        !           279: **     Bitfields - CRT Controller registers - Cursor Location High Register
        !           280: */
        !           281: #define        CRT_AT_CLH              0xFF
        !           282: 
        !           283: /*
        !           284: **     Bitfields - CRT Controller registers - Cursor Location Low Register
        !           285: */
        !           286: #define        CRT_AT_CLL              0xFF
        !           287: 
        !           288: /*
        !           289: **     Bitfields - CRT Controller registers - Vertical Retrace Start Register
        !           290: */
        !           291: #define        CRT_AT_VRS              0xFF
        !           292: 
        !           293: /*
        !           294: **     Bitfields - CRT Controller registers - Vertical Retrace End Register
        !           295: */
        !           296: #define        CRT_AT__PR              0x80
        !           297: #define        CRT_AT__BW              0x40
        !           298: #define CRT_AT_DVI             0x20
        !           299: #define        CRT_AT_CVI              0x10
        !           300: #define        CRT_AT_EVR              0x0F
        !           301: 
        !           302: /*
        !           303: **     Bitfields - CRT Controller registers - Light Pen High Register 
        !           304: */
        !           305: #define        CRT_AT_LPH              0xFF
        !           306: 
        !           307: /*
        !           308: **     Bitfields - CRT Controller registers - Light Pen Low Register
        !           309: */
        !           310: #define CRT_AT_LPL             0xFF
        !           311: 
        !           312: /*
        !           313: **     Bitfields - CRT Controller registers - Vertical Display End Register
        !           314: */
        !           315: #define CRT_AT_VDE             0xFF
        !           316: 
        !           317: /*
        !           318: **     Bitfields - CRT Controller registers - Offset Register
        !           319: */
        !           320: #define        CRT_AT_OFF              0xFF
        !           321: 
        !           322: /*
        !           323: **     Bitfields - CRT Controller registers - Underline Location Register
        !           324: */
        !           325: #define        CRT_AT__DW              0x40
        !           326: #define        CRT_AT_CB4              0x20
        !           327: #define        CRT_AT__UL              0x1F
        !           328: 
        !           329: /*
        !           330: **     Bitfields - CRT Controller registers - Start vertical Blank register
        !           331: */
        !           332: #define CRT_AT_VBS             0xFF
        !           333: 
        !           334: /*
        !           335: **     Bitfields - CRT Controller registers - End Vertical Blank register
        !           336: */
        !           337: #define        CRT_AT_VBE_H            0x60
        !           338: #define        CRT_AT_VBE_L            0x1F
        !           339: 
        !           340: /*
        !           341: **     Bitfields - CRT Controller registers - Mode Control Register
        !           342: */
        !           343: #define        CRT_AT__HR              0x80
        !           344: #define        CRT_AT__WB              0x40
        !           345: #define        CRT_AT__AW              0x20
        !           346: #define        CRT_AT__OC              0x10
        !           347: #define        CRT_AT_CBT              0x08
        !           348: #define        CRT_AT_HRS              0x04
        !           349: #define        CRT_AT_SRS              0x02
        !           350: #define        CRT_AT_CMS              0x01
        !           351: 
        !           352: /*
        !           353: **     Bitfields - CRT Controller registers - Line Compare Register
        !           354: */
        !           355: #define        CRT_AT_LNC              0xFF
        !           356: 
        !           357: /*
        !           358: **************************************************************************
        !           359: **                             VGA :- GCR Controller Registers                              **
        !           360: **************************************************************************
        !           361: */
        !           362: #define        MONO_GCR_ADDR           0x03CE
        !           363: #define COLR_GCR_ADDR          0x03CE
        !           364: #define        EIDR_GCR_ADDR           0x03CE
        !           365: 
        !           366: #define        MONO_GCR_DATA           0x03CF
        !           367: #define        COLR_GCR_DATA           0x03CF
        !           368: #define        EIDR_GCR_DATA           0x03CF
        !           369: 
        !           370: /*
        !           371: **     List of index registers
        !           372: */
        !           373: #define        GCR_AT_SET_RESET        0x00
        !           374: #define        GCR_AT_ENA_S_RST        0x01
        !           375: #define        GCR_AT_COLR_COMP        0x02
        !           376: #define        GCR_AT_DATA_ROTR        0x03
        !           377: #define        GCR_AT_READ_MAPS        0x04
        !           378: #define        GCR_AT_GCR__MODE        0x05
        !           379: #define        GCR_AT_GCR__MISC        0x06
        !           380: #define        GCR_AT_CLR_NOCAR        0x07
        !           381: #define        GCR_AT_BIT__MASK        0x08
        !           382: 
        !           383: /*
        !           384: **     Bitfields - Graphics Controller Registers - Graphics#1 Position Register
        !           385: */
        !           386: #define        GCR_AT_GP1              0x03
        !           387: 
        !           388: /*
        !           389: **     Bitfields - Graphics Controller Registers - Graphics#2 Position Register
        !           390: */
        !           391: #define        GCR_AT_GP2              0x03
        !           392: 
        !           393: /*
        !           394: **     Bitfields - Graphics Controller Registers - Set/Reset Register
        !           395: */
        !           396: #define        GCR_AT_S_R              0x0F
        !           397: 
        !           398: /*
        !           399: **     Bitfields - Graphics Controller Registers - Enable Set/Reset Register
        !           400: */
        !           401: #define        GCR_AT_ESR              0x0F
        !           402: 
        !           403: /*
        !           404: **     Bitfields - Graphics Controller Registers - Color Compare Register
        !           405: */
        !           406: #define        GCR_AT__CC              0x0F
        !           407: 
        !           408: /*
        !           409: **     Bitfields - Graphics Controller Registers - Data Rotate register
        !           410: */
        !           411: #define        GCR_AT__FS              0x30
        !           412: #define        GCR_AT__RC              0x0F
        !           413: 
        !           414: /*
        !           415: **     Bitfields - Graphics Controller Registers - Read Map Select Register
        !           416: */
        !           417: #define        GCR_AT_RMS              0x03
        !           418: 
        !           419: /*
        !           420: **     Bitfields - Graphics Controller Registers - Mode Register
        !           421: */
        !           422: #define        GCR_AT__SR              0x60
        !           423: #define        GCR_AT__OE              0x10
        !           424: #define        GCR_AT__RM              0x08
        !           425: #define        GCR_AT__TC              0x04
        !           426: #define        GCR_AT__WM              0x03
        !           427: 
        !           428: /*
        !           429: **     Bitfields - Graphics Controller Registers - Miscellaneous register
        !           430: */
        !           431: #define        GCR_AT__MM              0x0C
        !           432: #define        GCR_AT_COE              0x02
        !           433: #define        GCR_AT__GA              0x01
        !           434: 
        !           435: /*
        !           436: **     Bitfields - Graphics Controller Registers - Color Dont Care register
        !           437: */
        !           438: #define        GCR_AT_CDC              0x0F
        !           439: 
        !           440: /*
        !           441: **     Bitfields - Graphics Controller Registers - Bit Mask
        !           442: */
        !           443: #define        GCR_AT__BM              0xFF
        !           444: 
        !           445: /*
        !           446: **************************************************************************
        !           447: **                             VGA :- ACR Controller Registers                              **
        !           448: **************************************************************************
        !           449: */
        !           450: #define        WRIT_TOGL_ACR_ADDR      0x03C0
        !           451: #define        READ_TOGL_ACR_ADDR      0x03C0
        !           452: 
        !           453: #define        WRIT_TOGL_ACR_DATA      0x03C0
        !           454: #define        READ_TOGL_ACR_DATA      0x03C1
        !           455: 
        !           456: /*
        !           457: **     Index mask
        !           458: */
        !           459: #define ACR_MSK                        0x1F
        !           460: 
        !           461: /*
        !           462: **     List of index registers
        !           463: */
        !           464: #define        ACR_AT_PALETTE_0        0x00
        !           465: #define        ACR_AT_PALETTE_1        0x01
        !           466: #define        ACR_AT_PALETTE_2        0x02
        !           467: #define        ACR_AT_PALETTE_3        0x03
        !           468: #define        ACR_AT_PALETTE_4        0x04
        !           469: #define        ACR_AT_PALETTE_5        0x05
        !           470: #define        ACR_AT_PALETTE_6        0x06
        !           471: #define        ACR_AT_PALETTE_7        0x07
        !           472: #define        ACR_AT_PALETTE_8        0x08
        !           473: #define        ACR_AT_PALETTE_9        0x09
        !           474: #define        ACR_AT_PALETTE_A        0x0A
        !           475: #define        ACR_AT_PALETTE_B        0x0B
        !           476: #define        ACR_AT_PALETTE_C        0x0C
        !           477: #define        ACR_AT_PALETTE_D        0x0D
        !           478: #define        ACR_AT_PALETTE_E        0x0E
        !           479: #define        ACR_AT_PALETTE_F        0x0F
        !           480: #define ACR_AT_MODE_CNTL       0x10
        !           481: #define        ACR_AT_OVERSCN_C        0x11
        !           482: #define        ACR_AT_CLR_PL_EN        0x12
        !           483: #define        ACR_AT_HORZ_PXPN        0x13
        !           484: #define        ACR_AT_COLOR_SEL        0x14
        !           485: 
        !           486: /*
        !           487: **     Bitfields - Attribute Controller registers - pallette registers
        !           488: */
        !           489: #define        ACR_AT__SR              0x20
        !           490: #define        ACR_AT__SG              0x10
        !           491: #define        ACR_AT__SB              0x08
        !           492: #define        ACR_AT_REG              0x04
        !           493: #define        ACR_AT_GRN              0x02
        !           494: #define        ACR_AT_BLU              0x01
        !           495: 
        !           496: /*
        !           497: **     Bitfields - Attribute Controller registers -  Mode Control register
        !           498: */
        !           499: #define        ACR_AT_IPS              0x80
        !           500: #define        ACR_AT_PCS              0x40
        !           501: #define        ACR_AT_PPC              0x20
        !           502: #define        ACR_AT__BI              0x08
        !           503: #define        ACR_AT_ELG              0x04
        !           504: #define        ACR_AT__DT              0x02
        !           505: #define        ACR_AT__GA              0x01
        !           506: 
        !           507: /*
        !           508: **     Bitfields - Attribute Controller registers -  Overscan Color Register
        !           509: */
        !           510: 
        !           511: #define        ACR_AT_OSR              0x20
        !           512: #define        ACR_AT_OSG              0x10
        !           513: #define        ACR_AT_OSB              0x08
        !           514: #define        ACR_AT_ORD              0x04
        !           515: #define        ACR_AT_OGR              0x02
        !           516: #define        ACR_AT_OBL              0x01
        !           517: /*
        !           518: **     Bitfields - Attribute Controller registers - Color Plane Enable Register
        !           519: */
        !           520: 
        !           521: #define        ACR_AT_VSM              0x30
        !           522: #define        ACR_AT_CPE              0x0F
        !           523: /*
        !           524: **     Bitfields - Attribute Controller registers - Horizontal Pixel Panning Reg
        !           525: */
        !           526: #define        ACR_AT_HPP              0x0F
        !           527: 
        !           528: /*
        !           529: **     Bitfields - Attribute Controller registers - Color Select Register
        !           530: */
        !           531: #define        ACR_AT_C67              0x0C
        !           532: #define        ACR_AT_C45              0x03
        !           533: 
        !           534: /*
        !           535: **************************************************************************
        !           536: **                             VGA :- PEL Controller Registers                              **
        !           537: **************************************************************************
        !           538: */
        !           539: #define        WRIT_MONO_PEL_AWMR      0x03C8
        !           540: #define        WRIT_COLR_PEL_AWMR      0x03C8
        !           541: #define        READ_MONO_PEL_AWMR      0x03C8
        !           542: #define        READ_COLR_PEL_AWMR      0x03C8
        !           543: 
        !           544: #define        WRIT_MONO_PEL_ARMR      0x03C7
        !           545: #define        WRIT_COLR_PEL_ARMR      0x03C7
        !           546: 
        !           547: #define        WRIT_MONO_PEL_DATA      0x03C9
        !           548: #define        WRIT_COLR_PEL_DATA      0x03C9
        !           549: #define        READ_MONO_PEL_DATA      0x03C9
        !           550: #define        READ_COLR_PEL_DATA      0x03C9
        !           551: 
        !           552: #define        READ_MONO_PEL_DACS      0x03C7
        !           553: #define        READ_COLR_PEL_DACS      0x03C7
        !           554: 
        !           555: #define        WRIT_MONO_PEL_MASK      0x03C6
        !           556: #define        WRIT_COLR_PEL_MASK      0x03C6
        !           557: #define        READ_MONO_PEL_MASK      0x03C6
        !           558: #define        READ_COLR_PEL_MASK      0x03C6
        !           559: 
        !           560: /*
        !           561: **************************************************************************
        !           562: **     VGA :- External Palette RAM
        !           563: **************************************************************************
        !           564: */
        !           565: #define        MONO_PEL_MASK           0x03C6
        !           566: #define        COLR_PEL_MASK           0x03C6
        !           567: #define        EIDR_PEL_MASK           0x03C6
        !           568: 
        !           569: #define        MONO_PEL_WADR           0x03C8
        !           570: #define        COLR_PEL_WADR           0x03C8
        !           571: #define        EIDR_PEL_WADR           0x03C8
        !           572: 
        !           573: #define        MONO_PEL_DATA           0x03C9
        !           574: #define        COLR_PEL_DATA           0x03C9
        !           575: #define        EIDR_PEL_DATA           0x03C9
        !           576: 
        !           577: #define        MONO_PEL_RADR           0x03C7
        !           578: #define        COLR_PEL_RADR           0x03C7
        !           579: #define        EIDR_PEL_RADR           0x03C7
        !           580: 
        !           581: #define        MONO_PEL_DACS           0x03C7
        !           582: #define        COLR_PEL_DACS           0x03C7
        !           583: #define        EIDR_PEL_DACS           0x03C7
        !           584: 
        !           585: /*
        !           586: **************************************************************************
        !           587: **                             VGA :- MODES                                                 **
        !           588: **************************************************************************
        !           589: */
        !           590: #define        MAX_GEN_INDEX           0x01
        !           591: #define        MAX_SEQ_INDEX           SEQ_AT_MMD
        !           592: #define        MAX_CRT_INDEX           CRT_LINE_CMP
        !           593: #define        MAX_GCR_INDEX           GCR_BIT__MASK
        !           594: #define        MAX_ACR_INDEX           ACR_COLOUR_SEL
        !           595: 
        !           596: /* 
        !           597: ** There now follows a symbolic list of modes, these will be used as indeces into tables of
        !           598: ** initial values to be put into the various registers for a given mode.
        !           599: */
        !           600: 
        !           601: #define        MODE_VGA_AT_00          0x00
        !           602: #define        MODE_VGA_AT_01          0x01
        !           603: #define        MODE_VGA_AT_02          0x02
        !           604: #define        MODE_VGA_AT_03          0x03
        !           605: #define        MODE_VGA_AT_04          0x04
        !           606: #define        MODE_VGA_AT_05          0x05
        !           607: #define        MODE_VGA_AT_06          0x06
        !           608: #define        MODE_VGA_AT_07          0x07
        !           609: #define        MODE_VGA_AT_00_X        0x08
        !           610: #define        MODE_VGA_AT_01_X        0x09
        !           611: #define        MODE_VGA_AT_02_X        0x0A
        !           612: #define        MODE_VGA_AT_03_X        0x0B
        !           613: #define        MODE_VGA_AT_07_X        0x0C
        !           614: #define        MODE_VGA_AT_0D          0x0D
        !           615: #define        MODE_VGA_AT_0E          0x0E
        !           616: #define        MODE_VGA_AT_0F          0x0F
        !           617: #define        MODE_VGA_AT_10          0x10
        !           618: #define        MODE_VGA_AT_11          0x11
        !           619: #define        MODE_VGA_AT_12          0x12
        !           620: #define        MODE_VGA_AT_13          0x13
        !           621: 
        !           622: #define MIN_VGA_AT_MODE        MODE_VGA_AT_00
        !           623: #define MAX_VGA_AT_MODE        MODE_VGA_AT_13
        !           624: #define NUM_VGA_AT_MODE MAX_VGA_AT_MODE-MIN_VGA_AT_MODE
        !           625: 
        !           626: #define IS_REG_MODE(a) ((a) <= MAX_VGA_AT_MODE)
        !           627: 
        !           628: struct mode_params     {
        !           629:        char    *m_str;
        !           630:        int     p_type;
        !           631:        int     p_bpp;
        !           632:        int     p_start;
        !           633:        int     p_pages;
        !           634:        int     p_alfa_w;
        !           635:        int     p_alfa_h;
        !           636:        int     p_char_w;
        !           637:        int     p_char_h;
        !           638:        int     p_disp_w;
        !           639:        int     p_disp_h;
        !           640:        int     p_font;
        !           641:        };
        !           642: 
        !           643: /*
        !           644: ** Defines for the type of a particular mode ie - is it alphanummeric(A) or graphical(G),  
        !           645: **     color(C) or mono(M), 
        !           646: */
        !           647: 
        !           648: #define        MODE_A_M 0x00
        !           649: #define MODE_A_C 0x01
        !           650: #define MODE_G_M 0x10
        !           651: #define MODE_G_C 0x11
        !           652: 
        !           653: /*
        !           654: **************************************************************************
        !           655: **                             VGA :- FONTS                                                 **
        !           656: **************************************************************************
        !           657: */
        !           658: 
        !           659: #define FONT_09_BY_16  0x00
        !           660: #define FONT_09_BY_15  0x01
        !           661: #define FONT_09_BY_14  0x02
        !           662: #define FONT_09_BY_13  0x03
        !           663: #define FONT_08_BY_16  0x04
        !           664: #define FONT_08_BY_15  0x05
        !           665: #define FONT_08_BY_14  0x06
        !           666: #define FONT_08_BY_08  0x07
        !           667: 
        !           668: 
        !           669: #define VGA_AT_MAX_PLANES 0x04
        !           670: 
        !           671: 
        !           672: // Start of defines from prototype vga_ts_defs.h file.
        !           673: 
        !           674: /*
        !           675: **************************************************************************
        !           676: **     VGA :- General registers                                          **
        !           677: **************************************************************************
        !           678: */
        !           679: #define WRIT_MONO_MODE_CT      0x03B8
        !           680: #define WRIT_COLR_MODE_CT      0x03D8
        !           681: #define WRIT_EIDR_MODE_CT      0x03D8
        !           682: 
        !           683: #define WRIT_MONO_GEN_VID_EN   0x46E8
        !           684: #define WRIT_COLR_GEN_VID_EN   0x46E8
        !           685: #define WRIT_EIDR_GEN_VID_EN   0x46E8
        !           686: 
        !           687: #define READ_MONO_GEN_VID_EN   0x03C3
        !           688: #define READ_COLR_GEN_VID_EN   0x03C3
        !           689: #define READ_EIDR_GEN_VID_EN   0x03C3
        !           690: 
        !           691: #define WRIT_MONO_ALT_VID_EN   0x46E8
        !           692: #define WRIT_COLR_ALT_VID_EN   0x46E8
        !           693: #define WRIT_EIDR_ALT_VID_EN   0x46E8
        !           694: 
        !           695: #define READ_MONO_ALT_VID_EN   0x46E8
        !           696: #define READ_COLR_ALT_VID_EN   0x46E8
        !           697: #define READ_EIDR_ALT_VID_EN   0x46E8
        !           698: 
        !           699: /*
        !           700: **     Bitfields for Hercules compatibility register
        !           701: */
        !           702: #define        GEN_TS_HER              0xFD
        !           703: #define        GEN_TS_ESP              0x02
        !           704: 
        !           705: /*
        !           706: **     Bitfields for Video Subsystem Register
        !           707: */
        !           708: #define        GEN_TS_WRI              0x01
        !           709: #define GEN_TS_REA             0x08
        !           710: #define        GEN_TS_VSR              0xF6
        !           711: 
        !           712: /*
        !           713: **************************************************************************
        !           714: **     VGA :- 6845 Compatibility registers                             **
        !           715: **************************************************************************
        !           716: */
        !           717: #define MONO_6845_CTL_REG      0x03B4
        !           718: #define COLR_6845_CTL_REG      0x03D4
        !           719: 
        !           720: #define MONO_6845_DTA_REG      0x03B5
        !           721: #define COLR_6845_DTA_REG      0x03D5
        !           722: 
        !           723: #define MONO_6845_DMC_REG      0x03B8
        !           724: #define COLR_6845_DMC_REG      0x03D8
        !           725: 
        !           726: #define WRIT_6845_DCC_REG      0x03D9
        !           727: 
        !           728: #define MONO_6845_DSC_REG      0x03BA
        !           729: #define COLR_6845_DSC_REG      0x03DA
        !           730: 
        !           731: #define WRIT_6845_ATT_REG      0x03DE
        !           732: #define WRIT_HERCULES_REG      0x03BF
        !           733: 
        !           734: /*
        !           735: **************************************************************************
        !           736: **     VGA :- Sequencer registers                                      **
        !           737: **************************************************************************
        !           738: */
        !           739: 
        !           740: /*
        !           741: **      New Registers 
        !           742: */
        !           743: 
        !           744: /*
        !           745: **      List of index registers
        !           746: */
        !           747: #define        SEQ_TS_TSS              0x06
        !           748: #define        SEQ_TS_TAM              0x07
        !           749: 
        !           750: /*
        !           751: **     Bitfields - Sequencer Registers - TS state control                              Tseng Labs
        !           752: */
        !           753: #define SEQ_TS_TSS             0x06
        !           754: 
        !           755: /*
        !           756: **     Bitfields - Sequencer Registers - TS Auxiliary mode                             Tseng Labs
        !           757: */
        !           758: #define        SEQ_TS_VGM              0x80
        !           759: #define        SEQ_TS_MC2              0x40
        !           760: #define        SEQ_TS_RO2              0x20
        !           761: #define        SEQ_TS_RO1              0x08
        !           762: #define        SEQ_TS_SC2              0x02
        !           763: #define        SEQ_TS_MC4              0x01
        !           764: #define        SEQ_TS_MSK              0x14
        !           765: 
        !           766: /*
        !           767: **************************************************************************
        !           768: **     VGA :- CRT Controller Registers                                  **
        !           769: **************************************************************************
        !           770: */
        !           771: 
        !           772: /*
        !           773: **      New Registers 
        !           774: */
        !           775: 
        !           776: /*
        !           777: **      List of index registers
        !           778: */
        !           779: #define        CRT_TS_RAS              0x32
        !           780: #define        CRT_TS_ESA              0x33
        !           781: #define        CRT_TS_CTL              0x34
        !           782: #define        CRT_TS_OVH              0x35
        !           783: #define        CRT_TS_VS1              0x36
        !           784: #define        CRT_TS_VS2              0x37
        !           785: 
        !           786: /*
        !           787: **     Bitfields - CRT Controller registers - RAS/CAS Configuration Reggister  Tseng Labs
        !           788: */
        !           789: #define        CRT_TS_SCM              0x80
        !           790: #define        CRT_TS_RAL              0x40
        !           791: #define        CRT_TS_RCD              0x20
        !           792: #define        CRT_TS_RSP              0x18
        !           793: #define        CRT_TS_CSP              0x04
        !           794: #define        CRT_TS_CSW              0x03
        !           795: 
        !           796: /*
        !           797: **     Bitfields - CRT Controller registers - Extended Start Register          Tseng Labs
        !           798: */
        !           799: #define        CRT_TS_CSA              0x0C
        !           800: #define        CRT_TS_LSA              0x03
        !           801: 
        !           802: /*
        !           803: **     Bitfields - CRT Controller registers - 6845 Compatibility Control Register      Tseng Labs
        !           804: */
        !           805: #define        CRT_TS_CMP              0x80
        !           806: #define        CRT_TS_EBA              0x40
        !           807: #define        CRT_TS_EXL              0x20
        !           808: #define        CRT_TS_EXR              0x10
        !           809: #define        CRT_TS_EVS              0x08
        !           810: #define        CRT_TS_TRI              0x04
        !           811: #define        CRT_TS_MCK              0x02
        !           812: #define CRT_TS_EMK             0x01
        !           813: 
        !           814: /*
        !           815: **     Bitfields - CRT Controller registers - Overflow High                            Tseng Labs
        !           816: */
        !           817: #define CRT_TS_VIM             0x80
        !           818: #define        CRT_TS_ARW              0x40
        !           819: #define        CRT_TS_ESR              0x20
        !           820: #define        CRT_TS_LCA              0x10
        !           821: #define        CRT_TS_VSA              0x08
        !           822: #define        CRT_TS_VDA              0x04
        !           823: #define        CRT_TS_VTA              0x02
        !           824: #define        CRT_TS_VBA              0x01
        !           825: 
        !           826: /*
        !           827: **     Bitfields - CRT Controller registers - Video System Configuration 1             Tseng Labs
        !           828: */
        !           829: #define CRT_TS_RWF             0x80
        !           830: #define        CRT_TS_DMF              0x40
        !           831: #define        CRT_TS_AMD              0x20
        !           832: #define        CRT_TS_SGL              0x10
        !           833: #define        CRT_TS_FWF              0x08
        !           834: #define        CRT_TS_REF              0x07
        !           835: 
        !           836: /*
        !           837: **     Bitfields - CRT Controller registers - Video System Configuration 2             Tseng Labs
        !           838: */
        !           839: #define CRT_TS_DRM             0x80
        !           840: #define        CRT_TS_TST              0x40
        !           841: #define        CRT_TS_PTC              0x20
        !           842: #define        CRT_TS_RM8              0x10
        !           843: #define        CRT_TS_DMD              0x0C
        !           844: #define        CRT_TS_DBW              0x03
        !           845: 
        !           846: /*
        !           847: **************************************************************************
        !           848: **     VGA :- GCR Controller Registers                           **
        !           849: **************************************************************************
        !           850: */
        !           851: 
        !           852: /*
        !           853: **      New Registers 
        !           854: */
        !           855: #define        MONO_GCR_SEGS   0x03CD
        !           856: #define        COLR_GCR_SEGS   0x03CD
        !           857: #define        EIDR_GCR_SEGS   0x03CD
        !           858: 
        !           859: /*
        !           860: **      List of index registers
        !           861: */
        !           862: 
        !           863: /*
        !           864: **     Bitfields - GCR Controller registers - Segment Select Register                  Tseng Labs
        !           865: */
        !           866: #define GCR_TS_GRD             0xF0
        !           867: #define GCR_TS_GWR             0x0F
        !           868: 
        !           869: /*
        !           870: **************************************************************************
        !           871: **     VGA :- ACR Controller Registers                           **
        !           872: **************************************************************************
        !           873: */
        !           874: 
        !           875: /*
        !           876: **      New Registers 
        !           877: */
        !           878: 
        !           879: /*
        !           880: **      List of index registers
        !           881: */
        !           882: #define        ACR_TS_MSC              0x16
        !           883: 
        !           884: /*
        !           885: **     Bitfields - Attribute Controller Registers - Miscellaneous                      Tseng Labs
        !           886: */
        !           887: #define        ACR_TS_BYP              0x80
        !           888: #define        ACR_TS_2BC              0x40
        !           889: #define        ACR_TS_SHR              0x30
        !           890: #define        ACR_TS_RES              0x0F
        !           891: 
        !           892: /*
        !           893: **************************************************************************
        !           894: **                              VGA :- MODES                                                 **
        !           895: **************************************************************************
        !           896: */
        !           897: #define MAX_TS_GEN_INDEX       0x01
        !           898: #define MAX_TS_SEQ_INDEX       SEQ_TS_TAM
        !           899: #define MAX_TS_CRT_INDEX       CRT_TS_VS2
        !           900: #define MAX_TS_GCR_INDEX       GCR_AT_BIT__MASK
        !           901: #define MAX_TS_ACR_INDEX       ACR_TS_MISC
        !           902: 
        !           903: 

unix.superglobalmegacorp.com

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