Электронная библиотека книг Александра Фролова и Григория Фролова.
Shop2You.ru Создайте свой интернет-магазин
Библиотека
Братьев
Фроловых

Программирование видеоадаптеров CGA, EGA и VGA

© Александр Фролов, Григорий Фролов
Том 3, М.: Диалог-МИФИ, 1992, 287 стр.

[Назад] [Содеожание] [Дальше]

4.1. Текстовые режимы CGA

В текстовых режимах (режимы 1, 2, 3, 4) на экране могут отображаться только текстовые символы, а также символы псевдографики. Символы псевдографики позволяют в текстовых режимах работы видеоадаптеров строить вертикальные и горизонтальные линии.

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

Стандартные текстовые режимы работы видеоадаптеров позволяют вывести на экран 25 строк по 40 или 80 символов. Для кодирования каждого знакоместа экрана (символа) используются два байта. Первый из них содержит ASCII код отображаемого символа, а второй - атрибуты символа. Коды символов имеют четные адреса, а их атрибуты - нечетные.

Атрибуты определяют цвет символа и цвет фона. Благодаря такому режиму хранения информации достигается значительная экономия памяти по сравнению с графическим режимом. Формат байта атрибутов символа приведен ниже:

D2-D0 Цвет символа.
D3 Интенсивность символа.
D6-D4 Цвет фона символа.
D7 Мигание фона символа или интенсивность фона.

Рисунок 5.1 Байт атрибутов символа.

При отображении символа на экране происходит преобразование его из формата ASCII в двумерный массив пикселов. Для этого преобразования используется таблица трансляции символов (знакогенератор).

Режимы 0 и 2 являются режимами с подавлением цвета. Тоесть в этих режимах вместо цвета выводится сигнал яркости серого. К сожалению цвет подавляется только на композитном выходе адаптера, а не на выходе RGB. Это ведет к различиям при работе видеоадаптера в этих режимах с разными дисплеями.

Знакогенератор

У видеоадаптеров MDA, CGA и Hercules, таблицы знакогенератора находятся в ПЗУ, которое расположено вне адресного пространства процессора. Программы не имеют возможности изменить или даже считать информацию из этих таблиц. Таким образом, в текстовых режимах программы не могут изменить набор символов, используемых видеоадаптерами MDA, CGA и Hercules.

Для "русификации" (использования символов кирилицы) или изменения шрифтов, используемых в текстовых режимах видеоадаптеров MDA, CGA и Hercules, необходимо перепрограммировать микросхему ПЗУ знакогенератора, расположенную на плате видеоадаптера. Это не относится к использованию символов кирилицы в графических режимах видеоадаптера CGA.

[Назад] [Содеожание] [Дальше]