Введение в архитектуру персонального компьютера. Соппа И.В. - 44 стр.

UptoLike

Составители: 

содержимое битов регистра выбора цвета, а не перезагружать регистры палитры, как это делается
в адаптере EGA. Такой прием позволяет организовать режим мерцания символов одновременно на
значительной площади экрана. Для этого достаточно загрузить в регистры цвета ЦАП 16 палитр с
постепенно увеличивающейся интенсивностью.
BIOS для адаптеров MСGA, VGA и SVGA позволяет преобразовывать значения красного,
синего и зеленого цветов из регистров ЦАП в соответствующие значения оттенков серого. Для
получения эквивалентного значения уровня серого производиться вычисление суммы:
Y = 0.3R + 0.59G + 0.11B, [2.2]
где Y – уровень серого, а R,G и B – равные интенсивности чистых цветов красного,
зеленого и синего. BIOS считывает содержимое группы регистров цвета ЦАП, вычисляет для них
слагаемые в выражении [2.2] и загружает результат вычислений в исходные регистры. Данный
алгоритм автоматически реализуется при подключении к адаптеру монохроматического монитора
и исключается при наличии цветного.
Первый способ Второй способ
Результат
Регистр
палитры
Регистр
выбора
цвета
3210 543210 3210 3410
Результат
Регистр
палитры
Регистр
выбора
цвета
76543210
76543210
Рис. 2.10. Иллюстрация формирования результата объединения в зависимости от
состояния регистра управления атрибутного контроллера адаптера VGA
2.7. Организация дисплейных страниц и управление курсором
Как отмечалось выше, большинство адаптеров имеют емкость видеобуфера большую, чем
требуется для заполнения всего экрана текстовыми данными. В связи с этим предусмотрена
возможность программирования контроллера CRTC для вывода на экран любых смежных байт
видеобуфера. Для текстовых режимов с форматом 8025 на экран выводится 4 Кбайт
видеобуфера, а с форматом 4025 – 2 Кбайт. Напомним, что та часть видеобуфера, которая
непосредственно выводится на экран, называется окном или активной страницей. Следовательно,
при общей емкости видеобуфера 16 Кбайт, в нем может быть организовано четыре или восемь
страниц в зависимости от текстового режима работы (рис. 2.11).
Активная
страница
80 25
Монитор
4К
0
16К
байт
Рис. 2.11. Вывод на экран любой области буфера
Для программирования адаптера на вывод различных областей видеобуфера необходимо
модифицировать регистры начального адреса контроллера CRTC – регистр 0Ch (старший байт
адреса) и регистр 0Dh (младший байт). При загрузке в регистр начального адреса смещения (см.
выражение [2.1]) можно активизировать любую часть видеобуфера, присвоив ей функции
активной страницы. Загрузка этих регистров осуществляется гораздо быстрее пересылок кодов
содержимое битов регистра выбора цвета, а не перезагружать регистры палитры, как это делается
в адаптере EGA. Такой прием позволяет организовать режим мерцания символов одновременно на
значительной площади экрана. Для этого достаточно загрузить в регистры цвета ЦАП 16 палитр с
постепенно увеличивающейся интенсивностью.
       BIOS для адаптеров MСGA, VGA и SVGA позволяет преобразовывать значения красного,
синего и зеленого цветов из регистров ЦАП в соответствующие значения оттенков серого. Для
получения эквивалентного значения уровня серого производиться вычисление суммы:

                Y = 0.3R + 0.59G + 0.11B,                                                 [2.2]

       где Y – уровень серого, а R,G и B – равные интенсивности чистых цветов красного,
зеленого и синего. BIOS считывает содержимое группы регистров цвета ЦАП, вычисляет для них
слагаемые в выражении [2.2] и загружает результат вычислений в исходные регистры. Данный
алгоритм автоматически реализуется при подключении к адаптеру монохроматического монитора
и исключается при наличии цветного.

   Регистр                                                 Регистр
   выбора 3 2 1 0           5 4 3 2 1 0 Регистр
                                        палитры            выбора 3 2 1 0             3 4 1 0 Регистр
                                                                                              палитры
   цвета                                                   цвета


            7   6   5   4   3   2     1    0   Результат          7   6   5   4   3   2    1   0   Результат
                    Первый способ                                         Второй способ

       Рис. 2.10. Иллюстрация формирования результата объединения в зависимости от
состояния регистра управления атрибутного контроллера адаптера VGA



                2.7. Организация дисплейных страниц и управление курсором

       Как отмечалось выше, большинство адаптеров имеют емкость видеобуфера большую, чем
требуется для заполнения всего экрана текстовыми данными. В связи с этим предусмотрена
возможность программирования контроллера CRTC для вывода на экран любых смежных байт
видеобуфера. Для текстовых режимов с форматом 80∗25 на экран выводится 4 Кбайт
видеобуфера, а с форматом 40∗25 – 2 Кбайт. Напомним, что та часть видеобуфера, которая
непосредственно выводится на экран, называется окном или активной страницей. Следовательно,
при общей емкости видеобуфера 16 Кбайт, в нем может быть организовано четыре или восемь
страниц в зависимости от текстового режима работы (рис. 2.11).

                                      0



                                     4К    Активная
                                    байт   страница             Монитор
                                             80 ∗25


                                    16К

       Рис. 2.11. Вывод на экран любой области буфера

       Для программирования адаптера на вывод различных областей видеобуфера необходимо
модифицировать регистры начального адреса контроллера CRTC – регистр 0Ch (старший байт
адреса) и регистр 0Dh (младший байт). При загрузке в регистр начального адреса смещения (см.
выражение [2.1]) можно активизировать любую часть видеобуфера, присвоив ей функции
активной страницы. Загрузка этих регистров осуществляется гораздо быстрее пересылок кодов