Регистры контроллеры VGA

Скачать доклад: Регистры контроллеры VGA

Рассматриваемые ниже регистры VGA часто используются программистами для прямого управления контроллером в обход операционной системы, так как использованние функций DOS замедляет некоторые операции передачи данных в тысячи  раз.

                         !" : INPUT STATUS REGISTER ONE
                           3BAh Monochrome Mode Read Only
                           3DAh Color Mode Read Only
------------------------------------------------------------¬
¦             INPUT STATUS REGISTER ONE                     ¦
+-----------------------------------------------------------+
¦ BIT  7  6  5  4  3  2  1  0                               ¦
¦      ¦  ¦  ¦  ¦  ¦  ¦  ¦  ¦                               ¦
¦      ¦  ¦  ¦  ¦  ¦  ¦  ¦  L-------- Display Enable        ¦
¦      ¦  ¦  ¦  ¦  ¦  ¦  L----------- Light Pen Strobe      ¦
¦      ¦  ¦  ¦  ¦  ¦  L-------------- Light Pen Switch      ¦
¦      ¦  ¦  ¦  ¦  L----------------- Vertical Retrace      ¦
¦      ¦  ¦  ¦  L-------------------- Diagnostic 1          ¦
¦      ¦  ¦  L----------------------- Diagnostic 2          ¦
¦      L--+-------------------------- Not Used              ¦
L------------------------------------------------------------
    DISPLAY ENABLE:
      D0
 
    Color Plane   Input Status
    Register      Register One
        D5  D4    D5       D4
        0   0     Red      Blue
        0   1     S.Red    S.Green
        1   0     S.Blue   Green
        1   1     Not Used Not Used
.     SEQUENCER:
    !" : EGA SEQUENCER INDEX
    :           3C4h Write Only
------------------------------------------------------------¬
¦             EGA SEQUENCER INDEX                           ¦
+-----------------------------------------------------------+
¦ BIT  7  6  5  4  3  2  1  0                               ¦
¦      ¦  ¦  ¦  ¦  ¦  ¦  ¦  ¦                               ¦
¦      ¦  ¦  ¦  ¦  ¦  L--+--+--- Sequencer Index            ¦
¦      L--+--+--+--+------------ Not Used                   ¦
L------------------------------------------------------------
    SEQUENCER INDEX:
      D2  D1  D0 
      0   0   0   00h Reset Register
      0   0   1   01h Clocking Mode Register
      0   1   0   02h Map Mask Register
      0   1   1   03h Character Map Select Register
      1   0   0   04h Memory Mode Register
      1   X   X   
    MAP MASK:
------------------------------------------------------------¬
¦             INDEX = 02h MAP MASK                  
INDEX                                    ¦
+-----------------------------------------------------------+
¦ BIT  7  6  5  4  3  2  1  0                               ¦
¦      ¦  ¦  ¦  ¦  ¦  ¦  ¦  ¦                               ¦
¦      ¦  ¦  ¦  L--+--+--+--+--- CRTC Data Index            ¦
¦      L--+--+------------------ Special Function           ¦
L------------------------------------------------------------
      CRTC DATA INDEX:
        D4-D0
 D4  D3  D2  D1  D0  ДОСТУП  HEX  R#  REG.NAME
 0   0   0   0   0     W     00h  R0  Horizontal Total
 0   0   0   0   1     W     01h  R1  Horizontal Display End
 0   0   0   1   0     W     02h  R2  Start Horizont. Blanking
 0   0   0   1   1     W     03h  R3  End Horizontal Blanking
 0   0   1   0   0     W     04h  R4  Start Horizontal Retrace
 0   0   1   0   1     W     05h  R5  End Horizontal Retrace
 0   0   1   1   0     W     06h  R6  Vertical Total
 0   0   1   1   1     W     07h  R7  CRTC Overflow
 0   1   0   0   0     W     08h  R8  Preset Row Scan
 0   1   0   0   1     W     09h  R9  Maximum Scan Line
 0   1   0   1   0     W     0Ah  RA  Cursor Start
 0   1   0   1   1     W     0Bh  RB  Cursor End
 0   1   1   0   0    R/W    0Ch  RC  Start Address High
 0   1   1   0   1    R/W    0Dh  RD  Start Address Low
 0   1   1   1   0    R/W    0Eh  RE  Cursor Location High
 0   1   1   1   1    R/W    0Fh  RF  Cursor Location Low
 1   0   0   0   0     W     10h  R10 Vertical Retrace Start
 1   0   0   0   0     R     10h  R10 Light Pen High
 1   0   0   0   1     W     11h  R11 Vertical Retrace End
 1   0   0   0   1     R     11h  R11 Light Pen Low
 1   0   0   1   0     W     12h  R12 Vertical Display End
 1   0   0   1   1     W     13h  R13 Offset
 1   0   1   0   0     W     14h  R14 Underline Location
 1   0   1   0   1     W     15h  R15 Start Vertical Blanking
 1   0   1   1   0     W     16h  R16 End Vertical Blanking
 1   0   1   1   1     W     17h  R17 Mode Control
 1   1   0   0   0     W     18h  R18 Line Compare
    SPECIAL FUNCTION:
      D7,D6,D5  Эти три бита используются
.
    CURSOR START : Только запись.
------------------------------------------------------------¬
¦             INDEX = 0Ah CURSOR START                      ¦
+-----------------------------------------------------------+
¦ BIT  7  6  5  4  3  2  1  0                               ¦
¦      ¦  ¦  ¦  ¦  ¦  ¦  ¦  ¦                               ¦
¦      ¦  ¦  ¦  L--+--+--+--+--- ROW Scan Cursor Begins     ¦
¦      L--+--+------------------ Not Used                   ¦
L------------------------------------------------------------
    ROW SCAN CURSOR BEGINS:
       D4-D0  Курсор появляется, когда счет строк равен
              содержимому регистра,а адрес дисплея указывается
              такой, который равен содержимому регистров OEh и
              OFh.
    CURSOR END: Только запись
-------------------------------------------------------------¬
¦             INDEX = 0Bh CURSOR END                         ¦
+------------------------------------------------------------+
¦ BIT  7  6  5  4  3  2  1  0                                ¦
¦      ¦  ¦  ¦  ¦  ¦  ¦  ¦  ¦                                ¦
¦      ¦  ¦  ¦  L--+--+--+--+- Row Scan Cursor Ends          ¦
¦      ¦  L--+---------------- Cursor Skew Control           ¦
¦      L---------------------- Not Used                      ¦
L-------------------------------------------------------------
    ROW SCAN CURSOR ENDS:
       D4-D0   Если счет строк будет равен или превышает 
               содержимое этого регистра , то отображения
               курсора на дисплее не будет .
    CURSOR SKEW CONTROL:
      D6  D5    Значение, запрограммированное в этом регистре
                определяет перекос курсора, измеренный в
                character clocks.
      0    0    Задержки курсора нет.
      0    1    Курсор задерживается на один character clock.
      1    0    Курсор задерживается на два character clocs .
      1    1    Курсор задерживается на три character clocs.
        START ADDRESS HIGH: Чтение / Запись.
------------------------------------------------------------¬
¦             INDEX = 0Ch START ADDRESS HIGH                ¦
+-----------------------------------------------------------+
¦ BIT  7  6  5  4  3  2  1  0                               ¦
¦      ¦  ¦  ¦  ¦  ¦  ¦  ¦  ¦                               ¦
¦      L--+--+--+--+--+--+--+--- High Order Start Address   ¦
L------------------------------------------------------------

Зто восемь высоких битов 16-ти битового регистра, которые используются для определения начального адреса экранного буфера дисплея.

    START ADDRESS LOW: Чтение / Запись
------------------------------------------------------------¬
¦             INDEX = 0Dh START ADRESS LOW                  ¦
+-----------------------------------------------------------+
¦ BIT  7  6  5  4  3  2  1  0                               ¦
¦      ¦  ¦  ¦  ¦  ¦  ¦  ¦  ¦                               ¦
¦      L--+--+--+--+--+--+--+--- Low Order Start Address    ¦
L------------------------------------------------------------

Это восемь младших битов 16-ти битового регистра , используемые для определения начального адреса экранного буфера дисплея .

    CURSOR LOCATION HIGH: Чтение/ Запись.
------------------------------------------------------------¬
¦             INDEX = 0Eh CURSOR LOCATION HIGH              ¦
+-----------------------------------------------------------+
¦ BIT  7  6  5  4  3  2  1  0                               ¦
¦      ¦  ¦  ¦  ¦  ¦  ¦  ¦  ¦                               ¦
¦      L--+--+--+--+--+--+--+--- High Order Cursor Location ¦
L------------------------------------------------------------

Это восемь старших битов 16-битового адресного регистра, используемые для определения положения курсора в видеопамяти.

    CURSOR LOCATION LOW: Чтение/Запись.
------------------------------------------------------------¬
¦             INDEX = 0Fh CURSOR LOCATION LOW               ¦
+-----------------------------------------------------------+
¦ BIT  7  6  5  4  3  2  1  0                               ¦
¦      ¦  ¦  ¦  ¦  ¦  ¦  ¦  ¦                               ¦
¦      L--+--+--+--+--+--+--+--- Low Order Cursor Location  ¦
L------------------------------------------------------------

Это восемь младших битов 16-битового адресного регистра, используемые для определения положения курсора в видеопамяти.

    OFFSET: Только запись.
------------------------------------------------------------¬
¦             INDEX = 13h OFFSET                            ¦
+-----------------------------------------------------------+
¦ BIT  7  6  5  4  3  2  1  0                               ¦
¦      ¦  ¦  ¦  ¦  ¦  ¦  ¦  ¦                               ¦
¦      L--+--+--+--+--+--+--+--- Logical Line Width         ¦
L------------------------------------------------------------

Этот регистр содержит значение , используемое для смещения счетчика адресов памяти к началу следующей отображаемой текстовой строки. Это значение представляет собой слова или двойные слова , в зависимости от CRTC clocking mode, в одной текстовой строке.

    LINE COMPARE: Только запись.
-------------------------------------------------------------¬
¦   INDEX = 18h LINE COMPARE                                 ¦
+------------------------------------------------------------+
¦   BIT  7 6 5 4 3 2 1 0                                     ¦
¦        ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦                                     ¦
¦        L-+-+-+-+-+-+-+-----   Line Compare Value           ¦
L-------------------------------------------------------------

Это 8 младших битов 9-ти битового регистра Line Compare.

Бит 8 находится в регистре переполнения CRTC. Адрес памяти дисплея установится в положение 0 в начале следующих двух строк после того, как число отображенных на дисплее строк станет равным содержимому этого регистра.

    НАИМЕНОВАНИЕ РЕГИСТРА:  GRAPHICS 1 AND 2 ADDRESS
    АДРЕС ПОРТА:            3CEh только запись
-------------------------------------------------------------¬
¦   GRAPHICS 1 AND 2 ADDRESS                                 ¦
+------------------------------------------------------------+
¦   BIT  7 6 5 4 3 2 1 0                                     ¦
¦        ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦                                     ¦
¦        ¦ ¦ ¦ ¦ L-+-+-+-----   Graphics Address             ¦
¦        L-+-+-+-------------   Not Used                     ¦
L-------------------------------------------------------------
    GRAPHICS ADDRESS:
     D3  D2  D1  D0    Hex    Register Name
     0   0   0   0     00    Set/Reset
     0   0   0   1     01    Enable Set/Reset
     0   0   1   0     02    Color Compare
     0   0   1   1     03    Data Rotate
     0   1   0   0     04    Read Msp Select
     0   1   0   1     05    Mode
     0   1   1   0     06    Miscellaneous
     0   1   1   1     07    Color Don't Care
     1   0   0   0     08    Bit Mask
    НАИМЕНОВАНИЕ РЕГИСТРА:  GRAPHICS CONTROLLER DATA
    АДРЕС ПОРТА:            3CFh только запись
    SET/RESET:
-------------------------------------------------------------¬
¦   INDEX = 00h SET/RESET                                    ¦
+------------------------------------------------------------+
¦   BIT  7 6 5 4 3 2 1 0                                     ¦
¦        ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦                                     ¦
¦        L-+-+-+-+-+-+-+-----   Refer to Mapping Table       ¦
L-------------------------------------------------------------

Активные положения битов в этом регистре приведены в разделах Mapping Table в начале этого раздела. Этот регистр разрешает или Возврат значений байта в четырех видеоплоскостях соответствующих битам в этом регистре : 1=Set байт, 0=Reset байт. Этот регистр является активным, когда Graphics Controller находится в положении Mode 0, а Enable Set/Reset активируется. Этот регистр эффективен только при записи в видеопамяти.

    ENABLE SET/RESET:
-------------------------------------------------------------¬
¦   INDEX = 01h ENABLE SET/RESET                             ¦
+------------------------------------------------------------+
¦   BIT  7 6 5 4 3 2 1 0                                     ¦
¦        ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦                                     ¦
¦        L-+-+-+-+-+-+-+-----   Refer to Mapping Table       ¦
L-------------------------------------------------------------

Активные положения бита в этом регистре приведены в Mapping Table в начале этого раздела. Этот регистр контролирует активацию Set/Reset регистра. Программирование любого бита с logie 1 разрешает соответствующий бит в регистре Set/Reset .

Logie 0 запрещает соответствующий бит Set/Reset, позволяя записать данные процессора без изменений.

    COLOR COMPARE:
-------------------------------------------------------------¬
¦   INDEX = 02h COLOR COMPARE                                ¦
+------------------------------------------------------------+
¦   BIT  7 6 5 4 3 2 1 0                                     ¦
¦        ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦                                     ¦
¦        L-+-+-+-+-+-+-+-----   Refer to Mapping Table       ¦
L-------------------------------------------------------------

Активные положения бита в этом регистре приведены в Mapping Table в начале этого раздела. Этот регистр определяет эталонный цвет для Read Mode1(см. Mode Register). В этом режиме, когда процессор считывает с памяти дисплея, байт возврата данных будет в положении 1 в каждом положении бита, где данные в 4 плоскостях памяти согласуются со значением в регистре Color Compare (см. таблицу ниже). Тестироваться будут только плоскости, разрешенные регистром Color Don't Care.

                       Color Compare         ----------------¬
                         Register     -------+VRAM Plane 0   ¦
                                      ¦      ¦1 1 0 1 1 0 1 0¦
                       --------¬      ¦      L----------------
      C.P.U.           ¦  Bit  +-------      ----------------¬
----------------¬      ¦       +-------------+VRAM Plane 1   ¦
¦               ¦      ¦ 0 = 1 ¦             ¦1 1 0 0 1 1 0 1¦
¦0 1 0 0 1 0 0 0+------+ 1 = 1 ¦             L----------------
¦               ¦      ¦ 2 = 0 ¦             ----------------¬
L----------------      ¦ 3 = 1 +-------------+VRAM Plane 2   ¦
                       ¦ 4 = X ¦             ¦1 0 1 1 0 1 1 0¦
803@0<<0 ?>:07K205B   ¦ 5 = X ¦             L----------------
A@02=5=85 A GP A = 0,  ¦ 6 = X ¦             ----------------¬
GP B = 1               ¦ 7 = X +-------------+VRAM Plane 3   ¦
                       ¦ 8 = X ¦             ¦1 1 1 1 1 0 1 1¦
                       L--------             L----------------
.
    DATA ROTATE:
-------------------------------------------------------------¬
¦   INDEX = 03h DATA ROTATE                                  ¦
+------------------------------------------------------------+
¦   BIT  7 6 5 4 3 2 1 0                                     ¦
¦        ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦                                     ¦
¦        ¦ ¦ ¦ ¦ ¦ L-+-+-----   Rotate Count                 ¦
¦        ¦ ¦ ¦ L-+-----------   Function Select              ¦
¦        L-+-+---------------   Not Used                     ¦
L-------------------------------------------------------------
    ROTATE COUNT:
                     ROTATE COUNT
                   7 6 5 4 3 2 1 0
                  --T-T-T-T-T-T-T-¬
                  ¦X¦X¦X¦X¦X¦1¦0¦1¦   Count = 5h
                  L-+-+-+-+-+-+-+--
         CPU BUS                            VIDEO MEMORY
     7 6 5 4 3 2 1 0                       7 6 5 4 3 2 1 0
    --T-T-T-T-T-T-T-¬                     --T-T-T-T-T-T-T-¬
----+0¦1¦0¦0¦1¦1¦0¦1+---¬    -----------> ¦0¦1¦1¦0¦1¦0¦1¦0¦
¦   L-+-+-+-+-+-+-+--   ¦                 L-+-+-+-+-+-+-+--
L-----------<------------
    FUNCTION SELECT:
      0   1   Logical AND c 
      1   0   Logical OR A 
      1   1   Logical XOR A 
.
    READ MAP SELECT:
-------------------------------------------------------------¬
¦   INDEX = 04h READ MAP SELECT                              ¦
+------------------------------------------------------------+
¦   BIT  7 6 5 4 3 2 1 0                                     ¦
¦        ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦                                     ¦
¦        ¦ ¦ ¦ ¦ ¦ L-+-+-----   Map Select                   ¦
¦        L-+-+-+-+-----------   Not Used                     ¦
L-------------------------------------------------------------
    MAP SELECT:
         D3
               Video Memory Plane.
              A<. 2 Color Compare).
    ODD/EDEN:

    SHIFT REGISTER MODE:

.
D5 = 0:
     -----------T----------¬
     ¦   P1     ¦   P0     ¦             COLOR Palette
     +----------+----------+
     ¦ 01234567 ¦ 01234567 +-----¬      -------------¬
     L----------+-----------     ¦      ¦            ¦
                                 ¦      ¦            ¦
                -----------¬     ¦      ¦            ¦
                ¦   P1     ¦     L------+ A0         ¦
     -----------+----------+            ¦            ¦
     ¦ 00000000 ¦ 01234567 +-----¬      ¦            ¦
     L----------+-----------     L------+ A1         ¦
                                        ¦            ¦
                                        ¦            ¦
     -----------T----------¬     -------+ A2         ¦
     ¦   P3     ¦   P2     ¦     ¦      ¦            ¦
     +----------+----------+     ¦      ¦            ¦
     ¦ 01234567 ¦ 01234567 +------      ¦            ¦
     L----------+-----------     -------+ A3         ¦
                                 ¦      ¦            ¦
                -----------¬     ¦      ¦            ¦
                ¦   P3     ¦     ¦      L-------------
     -----------+----------+     ¦
     ¦ 00000000 ¦ 01234567 +------
     L----------+-----------
D5 = 1:
     -----------T----------¬
     ¦ P1   P0  ¦ P1   P0  ¦             COLOR Palette
     +----+-----+----+-----+
     ¦1357¦ 1357¦0246¦0246 +-----¬      -------------¬
     L----+-----+----+------     ¦      ¦            ¦
                                 ¦      ¦            ¦
                -----------¬     L------+ A0         ¦
                ¦ P1   P0  ¦            ¦            ¦
     -----T-----+----+-----+            ¦            ¦
     ¦0000¦ 0000¦1357¦1357 +------------+ A1         ¦
     L----+-----+----+------            ¦            ¦
                                        ¦            ¦
     -----------T----------¬            ¦            ¦
     ¦ P3   P2  ¦ P3   P2  ¦     -------+ A2         ¦
     +----+-----+----+-----+     ¦      ¦            ¦
     ¦1357¦ 1357¦0246¦0246 +------      ¦            ¦
     L----+-----+----+------            ¦            ¦
                                 -------+ A3         ¦
         

Активное наложение битов в этом регистре описаны в Mapping Table в начале этого раздела. Этот регистр взаимодействует только с Read Mode 1.

Только А позволяет включить соответствующую Video Memory Plane в color compare (как изображено в таблицах GPA и GPB).

    BIT MASK:
---------------------------------------------------------¬
¦   INDEX = 08h Bit Mask                                 ¦
+--------------------------------------------------------+
¦    BIT 7 6 5 4 3 2 1 0                                 ¦
¦        ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦                                 ¦
¦        L-+-+-+-+-+-+-+------   Bit Mask                ¦
L---------------------------------------------------------
    BIT MASK:
         0      Это позволяет записать соответствующий бит в
                каждой плоскости памяти вместе с данными из
                фиксаторов процессора. Фиксаторы процессора
                загружаются Video memory чтения процессора.
         1      Это позволяет соответствующий бит в плоскостях
                видеопамяти изменить выбранным режимом записи
                и данными CPU.
.     ATTRIBUTES CONTROLLER:
        ATTRIBUTE ADDRESS AND DATA:

Регистры Attribute Address и Data являются регистрами только записи, которая занимает одни и те же адреса порта 1 0 (3C0h). Чтобы сначала выбрать регистр Attribute Address процессор должен считывать из адреса 1 0 3BAh или 3DAh.

Это приводит в адресное состояние flip-flop выбора address/data. Запись в порты 3C0h с нужным атрибутным адресом позволяет выбрать этот регистр для последующей записи данных и переключает тригер выбора адреса/данных. Дополнительная запись переключает между адресом и данными в этом адресе порта.

    ATTRIBUTE ADDRESS:
    First Write to 3C0h
-------------------------------------------------------¬
¦   ATTRIBUTE ADDRESS                                  ¦
+------------------------------------------------------+
¦    BIT 7 6 5 4 3 2 1 0                               ¦
¦        ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦                               ¦
¦        ¦ ¦ ¦ L-+-+-+-+---- Attribute Address         ¦
¦        ¦ ¦ L-------------- Palette Address Source    ¦
¦        L-+---------------- Not Used                  ¦
¦                                                      ¦
L-------------------------------------------------------
    INDEX:
     D4  D3  D2  D1  D0
     0   X   X   X   X        00h - 0Fh Palette Registers
     1   0   0   0   0        10h Mode Control
     1   0   0   0   1        11h Over-scan Color
     1   0   0   1   0        12h Color Plane Enable
     1   0   0   1   1        13h Horizontal Picture Element
                                                  Panning
    PALETE ADDRESS SOURCE:
      D5
      0      Разрешена загрузка Palette регистров. Биты
             D3-D0 атрибутного регистра адресов применяются
             к входам color palette address.

      1      Видеоданные применяются к входам адреса
             патитры цветов.
.
    PALETTE:
-------------------------------------------------------¬
¦   INDEX = 00h-0Fh Palette Registers                  ¦
+------------------------------------------------------+
¦    BIT 7 6 5 4 3 2 1 0                               ¦
¦        ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦                               ¦
¦        ¦ ¦ ¦ ¦ ¦ ¦ ¦ L---- Blue                      ¦
¦        ¦ ¦ ¦ ¦ ¦ ¦ L------ Green                     ¦
¦        ¦ ¦ ¦ ¦ ¦ L-------- Red                       ¦
¦        ¦ ¦ ¦ ¦ L---------- Secondary Blue/Mono Video ¦
¦        ¦ ¦ ¦ L------------ Secondary Green/Intensity ¦
¦        ¦ ¦ L-------------- Secondary Red             ¦
¦        L-+---------------- Not Used                  ¦
L-------------------------------------------------------

Это регистры 16 палитр. Каждый из этих регистров соответствует одной возможной комбинации из 4 входов видеоплоскости в систему атрибутного контроллера.

    FUNCTION DIAGRAM:
                          Sec.Red              ------------¬
                          ---------------------+           ¦
                          ¦ -------------------+           ¦
                          ¦ ¦ Sec.Blue         ¦ Drive     ¦
                          ¦ ¦ -----------------+           ¦
                          ¦ ¦ ¦ Red            ¦ Video     ¦
                          ¦ ¦ ¦ ---------------+           ¦
                          ¦ ¦ ¦ ¦ Green        ¦ Out       ¦
                          ¦ ¦ ¦ ¦ -------------+           ¦
                          ¦ ¦ ¦ ¦ ¦ Blue       ¦           ¦
                          ¦ ¦ ¦ ¦ ¦ -----------+           ¦
-------¬                  ¦ ¦ ¦ ¦ ¦ ¦          ¦           ¦
¦      +--¬ -------------T+T+T+T+T+T+T-¬       L------------
¦Video ¦  ¦ ¦        00h ¦1¦0¦0¦1¦0¦1¦ ¦
¦Shift +-¬L-+ A0      •  LT+T+T+T+T+T- ¦
¦Regis-+¬L--+ A1      •   ¦ ¦ ¦ ¦ ¦ ¦  ¦
¦ter   ¦L---+ A2      •  -+T+T+T+T+T+¬ ¦
¦      +----+ A3     /Fh ¦0¦1¦1¦0¦0¦1¦ ¦
¦      ¦    ¦            L-+-+-+-+-+-- ¦
L-------    L---------------------------
             Attributes Controller Palette

Выход из палитры будет таким:

For A3-0 = 00h:ONS.Red            For A3-0 = OFh:OFFS.Red
           OOFS.Green                        ONS.Green
           OFFS.Blue                         ONS.Blue
           ONRed                             OFFRed
           OFFGreen                          OFFGreen
           ONBlue                            ONBlue
.
    COLOR PLANE ENABLE:
-------------------------------------------------------¬
¦   INDEX = 12h Color Plane Enable                     ¦
+------------------------------------------------------+
¦    BIT 7 6 5 4 3 2 1 0                               ¦
¦        ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦                               ¦
¦        ¦ ¦ ¦ ¦ L-+-+-+---- Enable Color Plane        ¦
¦        ¦ ¦ L-+------------ Video Status MUX          ¦
¦        L-+---------------- Not Used                  ¦
¦                                                      ¦
L-------------------------------------------------------
    ENABLE COLOR PLANE
    D3 -  D0
    1         Данные соответствующей Video Memory plane
              (plane 3-0) применяются к палитре цветов.
    0         Выход палитры цветов соединяется с logic 0.
    VIDEO STATUS MUX:
      D5  D4    Эти биты выбирают 2 из 6 цветовых выхода для
                Status Port (см. порты 3BAh, 3DAh биты D5 и
                D4).
                   Status Port
                       D5               D4
      0   0           Red             Blue
      0   1          S.Red           S.Green
      1   0          S.Blue           Green
      1   1         Not Used         Not Used
    HORIZONTAL PICTURE ELEMENT PANNING:
-------------------------------------------------------¬
¦   INDEX = 13h Horizontal Pel Panning                 ¦
+------------------------------------------------------+
¦    BIT 7 6 5 4 3 2 1 0                               ¦
¦        ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦                               ¦
¦        ¦ ¦ ¦ ¦ L-+-+-+---- Horizontal Pel Panning    ¦
¦        L-+-+-+------------ Not Used                  ¦
¦                                                      ¦
L-------------------------------------------------------
    HORIZONTAL PEL PANNING
      D3 - D0    Этот регистр используется для горизонтальной
                 прокрутки. В 8 Pels на character modes этот
                 регистр обычно программируеися со значением
                 0. Отображаемое значение смещается влево
                 определенным числом точек растра,
                 определяемым с помощью этого регистра.
                 Максимально разрешается 7. В 9 точках на
                 character modes этот регистр обычно
                 программируется со значением 8.
                 Программирование значений 0-7 будет все
                 больше смещать изображение влево.