CRTC Registers

These are the registers internal to the CRTC. They are accessible at I/O address 03B5h/03D5h when indexed by the CRTC index register. They correspond to registers in standard MDA/CGA/EGA/VGA adapters and have identical functions.

Index   Bits    R/W     Description
==========================================================================================
-0Ah                    CurStart - cursor start scan line and blink mode.
        6-5     R/W     CurBlinkMode, the cursor blink mode bits, can be used to disable
                        the cursor or to enable cursor blinking.  They are defined as:
                        Value    Description
                        00       Blinking cursor at 1 Hz
                        01       No cursor
                        10       Flashing cursor at half of the frame rate
                        11       Non-blinking cursor
        4-0     R/W     Bits 4-0 make up CurStartLine, the cursor start scan line.  The
                        cursor is defined by turning on all the dots of one or more lines
                        of a character position within the display.  These bits define
                        the scan line number of the first line to be turned on (where the
                        scan lines are numbered from zero).  The cursor is not displayed
                        if this value exceeds the highest numbered scan line of a
                        character.
------------------------------------------------------------------------------------------
-0Bh    4-0     R/W     CurStop, the cursor scan line end register, defines the scan line
                        number of the last line to be turned on for the cursor.  The
                        cursor is not displayed if this register's value is less than the
                        CurStartLine value.
------------------------------------------------------------------------------------------
-0Ch    5-0     R/W     DspStHi - display start address high
------------------------------------------------------------------------------------------
-0Dh    7-0     R/W     DspStLo - display start address low Multiplying DspStHi and
                        DspStLo, the 14-bit display start address register-pair, by two
                        defines the address in the frame buffer of the first (upper-
                        leftmost) character in the display.  Horizontal scrolling and
                        vertical scrolling by line or by page may be performed by
                        adjusting this register.  The two most-significant bits of this
                        register-pair will read zero.
------------------------------------------------------------------------------------------
-0Eh    5-0     R/W     CurLocHi - cursor location high
------------------------------------------------------------------------------------------
-0Fh    7-0     R/W     CurLocLo - cursor location low Multiplying CurLocHi and CurLocLo,
                        the 14-bit cursor location register-pair, by two defines the
                        address in the frame buffer of the character that is to be
                        overlaid by the cursor.  If this register-pair points to an
                        address that is not within the display, the cursor will not be
                        displayed.  The two most-significant bits of this register-pair
                        will read zero.
------------------------------------------------------------------------------------------
-10h    5-0     R       LpenHi - light pen high
------------------------------------------------------------------------------------------
-11h    7-0     R       LpenLo - light pen low Multiplying this extremely useful register-
                        pair returns the value contained in the cursor address register-
                        pair.  It is hoped that this will enhance the overall
                        compatibility of the display controller.  The two most-significant
                        bits will read zero.
------------------------------------------------------------------------------------------