Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Программирование EGA и VGA


========================================================================
ПОРТ 3c0h: РЕГИСТР АДРЕС АТРИБУТА
           (Attribute Address Register)

ОПИСАНИЕ

     Регистр Адрес Атрибута определяет, какой из регистров должен по-
являться в порте 3c0h. Номер индекса желаемого регистра записывается
в порт 3c0h. В связи с тем, что порт 3c0h разделяется регистром адреса
и индексированными регистрами,регистр Адреса всегда должен быть иници-
ализирован. Выполнение команды IN из первого регистра состояния ввода
в порту 3bah (монохромный) или в порту 3dah (цветной0 всегда устанавли-
вает регистр в функцию Адрес.

Индекс      Регистр


0-fh        Регистры Палитры
10          Управление Режимом
11          Цвет Рамки
12          Разрешение Цветовой Матрицы
13          Горизонтальное Поэлементное Панорамирование
14          Выбор Цвета (только VGA)


ЗАМЕЧАНИЯ

     Установка регистров атрибута должна производиться только во время
обратного хода луча по кадру. Значением бита 5 должен быть 0 (запрет
доступа к EGA), до того как будут модифицированы регистры Палитр и
выполнена переустановка в значение 1 после завершения установки. В VGA значения регистров атрибута могут быть считаны из порта 3c1h.


БИТЫ

    0-4     Адрес Атрибута
            Номер индекса адресуемого регистра

    5       Адрес Палитры
            Установка 1 открывает доступ встроенных регистров EGA к
            данным палитры; 0-запрет доступа

    6-7     Не используется



                                         параллельно-
                последовательный         последовательный
                поток битов              преобразователь
             --¬
  -----------+ +------------------------------TTTTTT¬
  ¦          L--                              ¦¦¦¦¦¦¦
  ¦                                           L+++++-
  ¦          --¬                               ¦
  ¦ ---------+ +---------------TTTTTT¬      ---+--T--T--T--¬
  ¦ ¦        L--               ¦¦¦¦¦¦¦      ¦  ¦  ¦  ¦  ¦  ¦
  ¦ ¦                          L+++++-      +--+--+--+--+--+
  ¦ ¦        --¬                ¦            битовая матрица
  ¦ ¦ -------+ +------TTTTTT¬  -+--T--------+--T--¬    3   ¦
  ¦ ¦ ¦      L--      ¦¦¦¦¦¦¦  ¦   ¦        ¦  ¦  ¦        ¦
  ¦ ¦ ¦   --¬         L+++++-  +---+--------+--+--+        ¦
  ¦ ¦ ¦ --+ +TTTTTT¬ ---+---T--+---T---¬     2    ¦        ¦
  ¦ ¦ ¦ ¦ L--¦¦¦¦¦¦¦ ¦  ¦   ¦  ¦   ¦   ¦          +---------
  ¦ ¦ ¦ ¦    L+++++- +--+---+--+---+---+          ¦
  ¦ ¦ ¦ ¦   --+-T--T-+T---T---¬  1     ¦          ¦
  ¦ ¦ ¦ ¦   ¦   ¦  ¦  ¦   ¦   ¦        ¦          ¦
  ¦ ¦ ¦ ¦   +---+--+--+---+---+        +-----------
  ¦ ¦ ¦ ¦   ¦           0     ¦        ¦
  ¦ ¦ ¦ ¦   ¦                 +---------
  ¦ ¦ ¦ ¦   ¦                 ¦      ------цифровой
  ¦ ¦ ¦ ¦   ¦                 ¦      ¦
  ¦ ¦ ¦ ¦   L------------------      +---- сигнал
 -+T+T+T+¬                           ¦
 ¦ ¦ ¦ ¦ ¦  --T-T-T-T-T-¬            +---- управления
 L-+-+-+--  ¦ ¦ ¦ ¦ ¦ ¦ ¦            ¦
     ¦      +-+-+-+-+-+-+            +-----монитором
значение    ¦ ¦ ¦ ¦ ¦ ¦ ¦            ¦
  цвета     +-+-+-+-+-+-+------------- EGA
     ¦      ¦ ¦ ¦ ¦ ¦ ¦ ¦
     L------+-+-+-+-+-+-+------------¬ VGA
            ¦ ¦ ¦ ¦ ¦ ¦ ¦            ¦               ------аналоговый
            +-+-+-+-+-+-+      ---T--+--T--T--T--¬   ¦
            ¦ ¦ ¦ ¦ ¦ ¦ ¦      ¦  ¦  ¦  ¦  ¦  ¦  ¦   ¦ ----сигнал
            +-+-+-+-+-+-+      L--+--+--+--+--+---   ¦ ¦
            ¦ ¦ ¦ ¦ ¦ ¦ ¦            ¦               ¦ ¦ --управления
            L-+-+-+-+-+--            ¦               ¦ ¦ ¦ монитором
             R'G'B'R G B             ¦             -T+T+T+TTT¬
                                     ¦             ¦¦¦¦¦¦¦¦¦¦¦
                                     ¦             ¦¦¦¦¦¦¦¦¦¦¦
          регистры палитры           ¦             ¦¦¦¦¦¦¦¦¦¦¦
                                     L-------------+¦¦¦¦¦¦¦¦¦¦
                                                   ¦¦¦¦¦¦¦¦¦¦¦
                                                   ¦¦¦¦¦¦¦¦¦¦¦
                                                   ¦¦¦¦¦¦¦¦¦¦¦
                                                   ¦¦¦¦¦¦¦¦¦¦¦
                                                   L+++++++++-
                                                     R G B

                                                  регистры ЦАП


                  Рис.10.1. Поток данных из памяти в ЭЛТ


========================================================================
ПОРТ 3c0h: РЕГИСТРЫ ПАЛИТРЫ (Индекс 0 - fh) 
           (Palette Register)

ОПИСАНИЕ

     В EGA эти  16 регистров управляют фактическим цветом,выводимым
на экран по соответствующему ему номеру (комбинации битовых матриц).
Индексы с 0 до 15 управляют соответственно цветами, пронумерованными
с 0 до 15. Схема определения цвета по умолчанию заключается в том, что
сумма номеров двух цветов дает в результате цвет,представляющий из
себя смесь этих двух цветов. Например, цвет 1 (синий) + цвет 2 (зеле-
ный) дает цвет 3 (голубой, т.е. комбинация синего и зеленого). Основ-
ные цвета _это синий,зеленый и красный, образуют нормализованную дво-
ичную последовательность 1,2,4. Цвета с 8 по 15 являются более яркими
оттенками цветов 0-7. В усовершенствованном цветном дисплее (ECD) при-
нимается следующий порядок цветов:


---------------------T-------------------T------------------¬
¦     Цвет           ¦    R'G'B'R G B    ¦    Значение      ¦
¦                    ¦                   ¦                  ¦
¦     Бит            ¦    5 4 3 2 1 0    ¦                  ¦
+--------------------+-------------------+------------------+
¦                    ¦                   ¦                  ¦
¦ Черный             ¦    0 0 0 0 0 0    ¦        0         ¦
¦ Синий              ¦    0 0 0 0 0 1    ¦        1         ¦
¦ Зеленый            ¦    0 0 0 0 1 0    ¦        1         ¦
¦ Голубой            ¦    0 0 0 0 1 1    ¦        1         ¦
¦ Красный            ¦    0 0 0 1 0 0    ¦        1         ¦
¦ Пурпурный          ¦    0 0 0 1 0 1    ¦        1         ¦
¦ Коричневый         ¦    0 0 0 1 1 0    ¦        1         ¦
¦ Белый              ¦    0 0 0 1 1 1    ¦        1         ¦
¦ Темно-серый        ¦    1 1 1 0 0 0    ¦        1         ¦
¦ Светло-синий       ¦    1 1 1 0 0 1    ¦        1         ¦
¦ Светло-зеленый     ¦    1 1 1 0 1 0    ¦        1         ¦
¦ Светло-голубой     ¦    1 1 1 0 1 1    ¦        1         ¦
¦ Светло-красный     ¦    1 1 1 1 0 0    ¦        1         ¦
¦ Светло-пурпурный   ¦    1 1 1 1 0 1    ¦        1         ¦
¦ Желтый             ¦    1 1 1 1 1 0    ¦        1         ¦
¦ Ярко-белый         ¦    1 1 1 1 1 1    ¦        1         ¦
¦                    ¦                   ¦                  ¦
L--------------------+-------------------+-------------------


ЗАМЕЧАНИЯ

     Понятие основных (RGB) и вторичных (R'G'B') цветов относится
только к мониторам цифрового типа. В аналоговых мониторах VGA применя-
ются цифро-аналоговые преобразователи (ЦАП) для преобразования уста-
новок палитры в соответствующие цвета.В действительности ЦАП дейст-
вуют так же, как и палитра, из которой выбираются фактические цвета;
регистры палитры служат только для определения индекса для встроенной
в ЦАП таблицы цветов (начальный номер может быть определен через ре-
гистр выбор Цвета, индекс 14h).
     В VGA в режиме 13h установка регистров не оказывает никакого дей-
ствия. В этом режиме 8-битовые значения,определяющие цвет, передаются
непосредственно в ЦАП.
     Установка регистров Палитры должна осуществляться только во время
обратного хода луча по кадру.
     В VGA регистры атрибута могут быть считаны из порта 3c1h.
     Установки, принятые в BIOS по умолчанию(шестнадцатеричные значе-
ния): 
      ------T---------------------------T-------T----
      Адап- ¦          Память           ¦ Память¦ ECD
       тер  ¦           64К ¦
      ------+---------------------------+-------+----
      Режим ¦0-3  4-5  6  7   d-e  f  10¦  f  10¦ 0-3
      ------+---------------------------+-------+----
      Индекс¦                           ¦       ¦
            ¦                           ¦       ¦
        0   ¦00   00  00  00  00  00  00¦ 00  00¦ 00
        1   ¦01   13  17  08  01  08  01¦ 08  01¦ 01
        2   ¦02   15  17  08  02  00  00¦ 00  02¦ 02
        3   ¦03   17  17  08  03  00  00¦ 00  03¦ 03
        4   ¦04   02  17  08  04  18  04¦ 18  04¦ 04
        5   ¦05   04  17  08  05  18  17¦ 18  05¦ 05
        6   ¦06   06  17  08  06  00  00¦ 00  14¦ 14
        7   ¦07   07  17  10  10  00  00¦ 00  07¦ 07
        8   ¦10   10  17  10  10  00  00¦ 00  38¦ 38
        9   ¦11   11  17  18  11  08  01¦ 08  39¦ 39
        a   ¦12   12  17  18  12  00  00¦ 00  3a¦ 3a
        b   ¦13   13  17  18  13  00  00¦ 00  3b¦ 3b
        c   ¦14   14  17  18  14  00  04¦ 00  3c¦ 3c
        d   ¦15   15  17  18  15  18  07¦ 18  3d¦ 3d
        e   ¦16   16  17  18  16  00  00¦ 00  3e¦ 3e
        f   ¦17   17  17  18  17  00  00¦ 00  3f¦ 3f
      ------+---------------------------+-------+----
БИТЫ для EGA

   0        Основной Синий (Цветной дисплей (ЦД)/ECD)
   1        Основной Зеленый (ЦД/ECD)
   2        Основной Красный (ЦД/ECD)
   3        Вторичный Синий (ECD) или Основной Видео(монохромный)
   4        Вторичный Зеленый (ECD) или Яркость (ЦД с поддержкой яр-
            кости)
   5        Вторичный Красный (ECD)
   6-7      Не используется


БИТЫ для VGA

   0-5      Палитра
            Выбор цвета из одного из регистров ЦАП (в ЦАП использует-
            ся 256 18-битовых регистров цвета, обеспечивающих выбор из
            262144 цветов). Значение может изменяться с помощью регис-
            тра Управление Режимом (индекс 10h) и регистра Выбор Цвета
            (индекс 14h)
   6-7      Не используется


========================================================================
ПОРТ 3C0H: РЕГИСТР УПРАВЛЕНИЯ РЕЖИМОМ (индекс 10h) 
           (Mode Control Register)

ОПИСАНИЕ

     Регистр выбирает характеристики  режима Атрибут-Контроллера.

ЗАМЕЧАНИЯ

     Бит 3 может быть использован для разрешения режима мерцания при
работе графических систем в графических режимах. Мерцание реализуется
путем чередования двух цветов из палитры, а не просто появлением и
пропаданием цвета. Например, мерцание цвета  15 вызывается чередова-
нием цветов 15 и 8.
     В VGA значения регистров атрибута  могут  быть считаны из порта
3c1h.
     Установки, принятые в BIOS по умолчанию шестнадцатеричные значе-
ния):

     Режим       0  1  2  3  4  5  6  7  d  e  f 10
                08 08 08 08 01 01 01 0e 01 01 0b 01


БИТЫ

    0       Графический/Алфавитно-цифровой режим
            1-графический режим
            0-алфавитно-графический режим
    1       Монохромный Дисплей/ЦД
            1-определение атрибутов монохромного дисплея
            0-определение атрибутов ЦД
    2       Разрешение Символов Псевдографики
            Бит используется в режиме 7 для поддержки 9-битовых псев-
            дографических символов на монохромном дисплее. При уста-
            новке в  бите единицы 9-я точка символов c0h-dfh будет
            такой же , как и 8-я точка, и таким образом псевдографи-
            ческими символами будет воспроизведена непрерывная графи-
            ческая линия. Если установлен 0, то 9-я точка будет вос-
            производиться цветом фона
    3       Разрешение Мерцания/Установка Яркости фона
            Бит осуществляет переключение между повышенной яркость.
            фона и мерцанием символов, вызываемым битом 7 байта атри-
            бута в алфавитно-цифровых режимах (это поддерживает в CGA
            функцию выбора либо 16 цветов фона, либо 8 цветов фона с
            возможностью мерцания). Установка 1 в этом бите приводит
            к определению бита 7 как бита мерцания (это также позво-
            ляет осуществлять мерцание в графических режимах). Уста-
            новка в бите значения 0 определяет бит 7 как бит повышен-
            ной яркости фона (и предотвращает мерцание в графических
            режимах)
    4       Не используется
    5       Совместимость Поэлементного Панорамирования (только VGA)
            При установке в бите 1 в регистре Поэлементное Панорамиро-
            вание (см.индекс 13h) после сравнения строк и до обратного
            хода луча по кадру устанавливается 0 (при окончании обрат-
            ного хода луча по кадру в регистр Поэлементное Панорамиро-
            вание вновь загружается программное значение). Это позво-
            ляет панорамировать только верхнее окно при заданном ре-
            жиме разделения экрана. При установке 0 регистром Поэле-
            ментное Панорамирование игнорируется сравнение строк

    6       Совместимость Поэлементного Панорамирования(только VGA)
            При установке бита в 1 каждый пиксель соответствует 8 би-
            там (применяется в режиме 13h) для получения до 256 цветов.
            Во всех других режимах бит должен быть установлен в 0

    7       Выбор Р5,Р4 (только VGA)
            С помощью этого бита осуществляется управление состоянием
            4 и 5 битов регистров палитры при выборе значения цвета из
            таблицы ЦАП. При установке 1 в биты 4 и 5 регистров палит-
            ры (индексы 0-fh) замещаются битами 0 и 1 регистра Выделе-
            ние цвета (индекс 14h). При установке 0 значения из регис-
            тров палитры в ЦАП передаются без изменений

[ Назад ] [ Оглавление ] [ Далее ]

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог