home *** CD-ROM | disk | FTP | other *** search
/ BUG 1 / BUGCD1996_0708.ISO / pc / util / minilin / minilin.exe / USR / SRC / VGASET / SVGA.H < prev    next >
Text File  |  1992-11-26  |  3KB  |  62 lines

  1. /* svga.h: register definitions for SVGAs
  2.  * Greg Lehey, 8 October 1992
  3.  * XXX Completely incomplete
  4.  */
  5. #define ATTRIBUTE_INDEX 0x3c0
  6. #define ATTRIBUTE_DATA    0x3c1
  7. #define MISC_OUTPUT    0x3c2
  8. #define INPUT_STATUS_1    0x3c2
  9. #define INPUT_STATUS_2    0x3da
  10. #define FEATURE_CONTROL_OUT    0x3da
  11. #define FEATURE_CONTROL_IN    0x3ca
  12. /* sequencer: write index to INDEX, register data to DATA */
  13. #define SEQUENCER_INDEX    0x3c4
  14. #define SEQUENCER_DATA    0x3c5
  15. #define        RESET_REGISTER        0
  16. #define        CLOCK_MODE_REGISTER    1
  17. #define        MAP_MASK_REGISTER    2
  18. #define        MAP_SELECT_REGISTER    3
  19. #define        MEMORY_MODE_REGISTER    4
  20. /* CRT controller registers */
  21. #define CRTCL_INDEX    0x3d4
  22. #define CRTCL_DATA    0x3d5
  23. /* the following registers contain a character count or a pixel count >> 3, depending on the operating
  24.  * mode. They reference 0 as the start of the displayed data */
  25. #define        HT    0                    /* horizontal total */
  26. #define        HDE    1                    /* horizontal display end */
  27. #define        SHB    2                    /* start horizontal blanking */
  28. #define        EHB    3                    /* end horizontal blanking */
  29. #define        SHR    4                    /* start horizontal retrace */
  30. #define        EHR    5                    /* end horizontal retrace */
  31. /* These define the vertical mode. They are line counts starting at the first displayed line */
  32. #define        VT    6                    /* total lines per frame */
  33. #define        OVERFLOW 7                    /* overflow for some other registers */
  34. #define        PRS    8                    /* preset row scan register */
  35. #define        MSL    9                    /* maximum scan lines per character */
  36. #define        CS    10                    /* cursor start line within character scan */
  37. #define        CE    11                    /* cursor end line */
  38. #define        SAH    12                    /* high-order start address of display */
  39. #define        SAL    13                    /* start address low */
  40. #define        CLH    14                    /* cursor location high */
  41. #define        CLL    15                    /* cursor location low */
  42. #define        VRS    16                    /* vertical retrace start - lines */
  43. #define        EVR    17                    /* end vertical retrace */
  44. #define        VDE    18                    /* vertical display end */
  45. #define        OFF    19                    /* offset register: difference in
  46.                                  * address between two vertically neighbouring
  47.                                  * pixels */
  48. #define     UL    20                    /* underling location register */
  49. #define        VBS    21                    /* vertical blank start */
  50. #define        VBE    22                    /* vertical blank end */
  51. #define        MODE_CONTROL    23                /* mode control: */
  52. #define            MC_HR    0x80                /* hardware reset */
  53. #define            W_B    0x40                /* word/byte mode */
  54. #define            AW    0x20                /* address wrap mode */
  55. /* 0x10 not used in VGA */
  56. #define            CBT    0x8                /* count by two increment mode */
  57. #define            HRS    0x4                /* horizontal retrace select */
  58. #define            SRS    0x2                /* select row scan counter */
  59. #define            CMS    0x1                /* compatibility mode support */
  60. #define        LC    24                    /* line compare register */
  61. #define    CRTC_REG_COUNT    25                    /* number of sequencer registers */
  62.