Annotation of Examples/DriverKit/QVision/QVision_reloc.tproj/vgaModes.h, revision 1.1.1.1

1.1       root        1: /* CONFIDENTIAL
                      2:  * Copyright (c) 1993 by NeXT Computer, Inc as an unpublished work.
                      3:  * All rights reserved.
                      4:  *
                      5:  * vgaModes.h -- Definitions for the standard VGA.
                      6:  *
                      7:  * Author:  Derek B Clegg      21 May 1993
                      8:  */
                      9: 
                     10: #ifndef VGADEFS_H__
                     11: #define VGADEFS_H__
                     12: 
                     13: /* Miscellaneous output register. */
                     14: 
                     15: #define        VGA_MISC_OUTPUT         0x3C2
                     16: 
                     17: /* Input status 1 register. */
                     18: 
                     19: #define VGA_INPUT_STATUS_1     0x3DA
                     20: 
                     21: /* Feature control register. */
                     22: 
                     23: #define        VGA_FEATURE_CTRL        0x3DA
                     24: 
                     25: /* Sequencer. */
                     26: 
                     27: #define VGA_SEQ_INDEX          0x3C4
                     28: #define VGA_SEQ_DATA           0x3C5
                     29: #define        VGA_SEQ_COUNT           5
                     30: 
                     31: /* Sequencer Indexes. */
                     32: 
                     33: #define VGA_RST_SYNC           0x00    /* Reset register. */
                     34: #define VGA_CLK_MODE           0x01    /* Clocking mode register. */
                     35: #define VGA_EN_WT_PL           0x02    /* Enable write plane register. */
                     36: #define VGA_CH_FONT_SL         0x03    /* Change font select register. */
                     37: #define VGA_MEM_MODE           0x04    /* Memory mode control register. */
                     38: 
                     39: /* CRT Controller. */
                     40: 
                     41: #define VGA_CRTC_INDEX                 0x3D4
                     42: #define VGA_CRTC_DATA                  0x3D5
                     43: #define        VGA_CRTC_COUNT          25
                     44: 
                     45: /* CRT Controller Indexes */
                     46: 
                     47: #define VGA_H_TOTAL            0x00    /* Horizontal total register. */
                     48: #define VGA_H_D_END            0x01    /* Horizontal display end register. */
                     49: #define VGA_S_H_BLNK           0x02    /* Start horizontal blank register. */
                     50: #define VGA_E_H_BLNK           0x03    /* End horizontal blank register. */
                     51: #define VGA_S_H_SY_P           0x04    /* Start horizontal sync position
                     52:                                           register. */
                     53: #define VGA_E_H_SY_P           0x05    /* End horizontal sync position
                     54:                                           register. */
                     55: #define VGA_V_TOTAL            0x06    /* Vertical total register. */
                     56: #define VGA_OVFL_REG           0x07    /* CRTC overflow register. */
                     57: #define VGA_P_R_SCAN           0x08    /* Preset row scan register. */
                     58: #define VGA_MAX_S_LN           0x09    /* Maximum scan line register. */
                     59: #define VGA_CSSL               0x0A    /* Cursor start scan line register. */
                     60: #define VGA_CESL               0x0B    /* Cursor end scan line register. */
                     61: #define VGA_STAH               0x0C    /* Start address high register. */
                     62: #define VGA_STAL               0x0D    /* Start address low register. */
                     63: #define VGA_CLAH               0x0E    /* Cursor location address high
                     64:                                           register. */
                     65: #define VGA_CLAL               0x0F    /* Cursor location address low
                     66:                                           register. */
                     67: #define VGA_VRS                        0x10    /* Vertical retrace start register. */
                     68: #define VGA_VRE                        0x11    /* Vertical retrace end register. */
                     69: #define VGA_VDE                        0x12    /* Vertical display end register. */
                     70: #define VGA_SCREEN_OFFSET      0x13    /* Offset register. */
                     71: #define VGA_ULL                        0x14    /* Underline location register. */
                     72: #define VGA_SVB                        0x15    /* Start vertical blank register. */
                     73: #define VGA_EVB                        0x16    /* End vertical blank register. */
                     74: #define VGA_CRT_MD             0x17    /* CRTC mode control register. */
                     75: #define VGA_LCM                        0x18    /* Line compare register. */
                     76: 
                     77: /* Attribute Controller. */
                     78: 
                     79: #define VGA_ATTR_INDEX         0x3C0
                     80: #define VGA_ATTR_DATA          0x3C0
                     81: #define        VGA_ATTR_COUNT          20
                     82: 
                     83: /* Attribute Controller Indexes. */
                     84: 
                     85: #define VGA_PLT_REG            0x00    /* Palette registers (0x00-0x0F). */
                     86: #define VGA_ATR_MODE           0x10    /* Attribute mode control register. */
                     87: #define VGA_BDR_CLR            0x11    /* Border color register. */
                     88: #define VGA_DISP_PLN           0x12    /* Color plane enable register. */
                     89: #define VGA_H_PX_PAN           0x13    /* Horizontal pixel panning
                     90:                                           register. */
                     91: /* Graphics Controller. */
                     92: 
                     93: #define VGA_GRFX_INDEX         0x3CE
                     94: #define VGA_GRFX_DATA          0x3CF
                     95: #define VGA_GRFX_COUNT         9
                     96: 
                     97: struct VGAMode {
                     98:     /* Miscellaneous output register values (3C2). */
                     99:     unsigned char miscOutput;
                    100: 
                    101:     /* Feature control register value (3DA). */
                    102:     unsigned char featureCtrl;
                    103: 
                    104:     /* Sequencer register values (3C5.00 - 3C5.04). */
                    105:     unsigned char seqx[VGA_SEQ_COUNT];
                    106: 
                    107:     /* CRTC register values (3D5.00 - 3D5.18). */
                    108:     unsigned char crtc[VGA_CRTC_COUNT];
                    109: 
                    110:     /* Attribute controller register values (3C0.00 - 3C0.13). */
                    111:     unsigned char attr[VGA_ATTR_COUNT];
                    112: 
                    113:     /* Graphics controller register values (3CF.00 - 3CF.08). */
                    114:     unsigned char grfx[VGA_GRFX_COUNT];
                    115: };
                    116: typedef struct VGAMode VGAMode;
                    117: 
                    118: extern int VGASetMode(unsigned int mode);
                    119: extern int VGASetModeData(const VGAMode *modeData);
                    120: 
                    121: #endif /* VGADEFS_H__ */

unix.superglobalmegacorp.com

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