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

Предлагаем купить сейф в Новосибирске в рассрочку. | нлп

5. Архитектура видеоадаптеров EGA и VGA


5.1. Электронно-лучевая трубка

5.2. Видеопамять

Видеоадаптеры EGA и VGA можно условно разделить на шесть логических блоков:

  • Видеопамять. В видеопамяти размещаются данные, отображаемые адаптером на экране дисплея. Для видеоадаптеров EGA и VGA видеопамять, как правило, имеет объем 256К байт. На некоторых моделях Super VGA и XGA объем видеопамяти может быть увеличен до 1М байт. Видеопамять находится в адресном пространстве процессора и программы могут непосредственно производить с ней обмен данными. Физически видеопамять разделена на четыре банка или цветовых слоя, разделяющих единое адресное пространство.
  • Графический контроллер. Посредством его происходит обмен данными между центральным процессором компьютера и видеопамятью. Аппаратура графического контроллера позволяет производить над данными, поступающими в видеопамять, и над данными, расположенными в регистрах-защелках (регистры-защелки описаны ниже) простейшие логические опрерации (И, ИЛИ, ИСКЛЮЧАЮЩЕЕ ИЛИ, циклический сдвиг).
  • Последовательный преобразватель. Выбирает из видеопамяти один или несколько байт, преобразует их в последовательный поток битов и затем передает контроллеру атрибутов.
  • Контроллер ЭЛТ. Генерирует временные синхросигналы, управляющие ЭЛТ.
  • Контроллер атрибутов. Преобразует информацию о цветах из формата, в котором она хранится в видеопамяти, в формат, необходимый для ЭЛТ. Преобразование цветов осуществляется в соответствии с таблицей цветовой палитры (Color Look-up Table). Модифицируя таблицу цветовой палитры, можно выбирать 16 цветов, поддерживаемых видеоадаптером EGA из 64 цветов, которые может отображать цветной улучшенный дисплей.
  • Синхронизатор. Управляет всеми временными параметрами видеоадаптера. Синхронизатор также управляет доступом процессора к цветовым слоям видеоадаптера.

На рисунке 6.1 представлена блок схема видеоадаптеров EGA и VGA, отображающая связи между их основными логическими блоками.

Блок схема видеоадаптеров EGA/VGA. 5.1. Электронно-лучевая трубка
Рисунок 6.1 Блок схема видеоадаптеров EGA/VGA....
5.1. Электронно-лучевая трубка
В большинстве дисплеев в качестве устройств отображения используются электронно-лучевая трубка (ЭЛТ), газоразрядная или жидкокристалическая панель. Мы будем рассматривать только ЭЛТ. ЭЛТ состоит и...
Экран электронно-лучевой трубки.
Рисунок 6.2 Экран электронно-лучевой трубки. Изменяя силу тока в луче электронов при формировании им растра, можно менять интенсивность свечения отдельных элементов (пикселов) экрана. Данные в вид...
5.2. Видеопамять
EGA и VGA содержат на своей плате до 256К байт оперативной памяти, разделенной на четыре банка или, другими словами, на четыре цветовых слоя. Эти банки памяти размещаются в одном адресном простран...
Текстовый режим
Текстовый режимВ текстовых режимах на экране могут отображаться только текстовые символы, а также символы псевдографики. Текстовые режимы работы видеоадаптеров рекомендуется использовать всегда, к...
Структура видеопамяти в текстовых режимах.
Рисунок 6.3 Структура видеопамяти в текстовых режимах. Атрибуты определяют цвет символа и цвет фона. Благодаря такому режиму храненеия информации достигается значительная экономия памяти. При отоб...
Преобразование кода ASCII в образ символа на экране.
Рисунок 6.4 Преобразование кода ASCII в образ символа на экране. При непосредственном доступе к видеопамяти нулевой и первый цветовые слои отображаются на общее адресное пространство. При этом про...
Отображение цветовых слоев.
Рисунок 6.5 Отображение цветовых слоев. Ниже приведен дамп видеопамяти в текстовом режиме с разрешением 80х25 символов: Адрес 0 1 2 3 4 5 6 7 8 9 A B C D E F 0123456789ABCDEF B800:0000 91 07 E2...
Знакогенератор
ЗнакогенераторПри установке текстовых режимов работы видеоадаптеров EGA и VGA, BIOS загружает таблицы знакогенератора из ПЗУ во второй цветовой слой видеопамяти. Впоследствии эти таблицы использую...
Активные таблицы знакогенераторов.
Рисунок 6.6 Активные таблицы знакогенераторов. EGA поддерживает два размера для матриц символов: стандартный - 8 пикселов в ширину и 8 пикселов в высоту, а также улучшенный - 8 пикселов в ширину и...
Атрибуты символов
Атрибуты символовКаждый символ, отображаемый на экране в текстовом режиме, определяется не только своим кодом ASCII, но и байтом атрибутов. Атрибуты задют цвет символа, цвет фона а также некоторые...
Байт атрибутов символа.
Рисунок 6.7 Байт атрибутов символа. В таблице 6.2 приведено соответствие цветов символов и фона значениям поля цвета символа байта атрибутов: Код цвета в Стандартный цвет Цвет с повышенной...
Атрибуты символов (монохромный режим)
Атрибуты символов (монохромный режим)Назначение полей байта атрибутов в монохромном режиме сходно с их назначениями в цветном режиме. На рисунке 6.7 представлен формат байта атрибутов. Биты D0-D2...
Видеопамять в графических режимах
Видеопамять в графических режимахРаспределение видеопамяти в графических режимах работы видеоадаптеров отличается от распределения видеопамяти в текстовых режимах. Если вы желаете в дальнейшем изу...
Режимы 4 и 5
Режимы 4 и 5Это режимы низкого разрешения (320х200), используются 4 цвета. Поддерживаются видеоадаптерами CGA, EGA и VGA. У адаптеров EGA и VGA видеоданные расположены в нулевом цветовом слое. Ост...
Структура видеопамяти для режимов 4 и 5.
Рисунок 6.8 Структура видеопамяти для режимов 4 и 5. Если вы хотите выводить информацию на экран дисплея непосредственно через видеопамять, то необходимо уметь определять биты, которые управляют к...
Режим 6
Режим 6Режим 6 (640х200) является режимом наибольшего разрешения для видеоадаптера CGA. Видеоадаптеры EGA и VGA используют для хранения информаци только нулевой цветовой слой. На рисунке 6.9 отобр...
Структура видеопамяти в режиме 6.
Рисунок 6.9 Структура видеопамяти в режиме 6. При непосредственном доступе к видеопамяти вы можете воспользоваться следующими формулами: Если y четное число, то смещение байта = 50h*(y/2)+(x/8) Ес...
Режимы 0Dh и 0Eh
Режимы 0Dh и 0EhРазрешающая способность в режиме 0Dh составляет 320 пикселов по горизонтали и 200 пикселов по вертикали, а в режиме 0Eh соответственно 640 и 200 пикселов. Данный режим поддерживают...
Структура видеопамяти в режимах 0Dh и 0Eh.
Рисунок 6.10 Структура видеопамяти в режимах 0Dh и 0Eh. Следующие формулы позволяют определить смещение байта от начала станицы видеопамяти и номер бита в нем, управляющего пикселом с координатами...
Режим 0Fh
Режим 0FhГрафический монохромный режим с разрешением 640х350 пикселов. Данный режим поддерживают только видеоадаптеры EGA и VGA. Для хранения видеоданных используются два цветовых слоя - нулевой и...
Структура видеопамяти режима 0Fh.
Рисунок 6.11 Структура видеопамяти режима 0Fh. Следующие формулы позволяют определить смещение байта от начала станицы видеопамяти и номер бита в нем, управляющего пикселом с координатами (x,y): С...
Режим 10h
Режим 10hГрафический цветной режим с разрешением 640х350 пикселов. Данный режим поддерживают только видеоадаптеры EGA и VGA. Для хранения видеоданных используются четыре цветовых слоя. Каждому пик...
Структура видеопамяти режима 10h.
Рисунок 6.12 Структура видеопамяти режима 10h. Если вы хотите выводить информацию на экран дисплея непосредственно через видеопамять, то необходимо уметь определять биты, которые управляют каждым...
Режим 11h
Режим 11hГрафический цветной режим с разрешением 640х480 пикселов. Данный режим поддерживает только видеоадаптер VGA. Для хранения видеоданных используется нулевой цветовой слой, остальные три сло...
Структура видеопамяти режима 11h.
Рисунок 6.13 Структура видеопамяти режима 11h. При непосредственном доступе к видеопамяти вы можете воспользоваться следующими формулами: Смещение байта = 50h*y+x/8 Номер бита = 7-mod(x/8) Данные...
Режим 12h
Режим 12hДанный режим является уникальным для VGA. Режим 12h похож на режим 10h, за исключением того, что он имеет большую разрешающую способность - 640х480 пикселов. В видеопамяти задействованы в...
Структура видеопамяти режима 12h.
Рисунок 6.14 Структура видеопамяти режима 12h. Формулы, используемые для вычисления битов, управляющих данным пикселом экрана, соответствуют формулам режима 10h....
Режим 13h
Режим 13hЭтот режим, как и режим 12h, поддерживается только VGA. Он обеспечивает 256 цветов при разрешающей способности 320х200 пикселов. Структура видеопамяти приведена на рисунке 6.15. Как видно...
Структура видеопамяти в режиме 13h.
Рисунок 6.15 Структура видеопамяти в режиме 13h. Следующая формула позволяет определить смещение от начала видеопамяти байта, управляющего пикселом с координатами (x,y): Смещение байта = 140h*y+x...
Графический контроллер
Графический контроллерГрафический контроллер осуществляет обмен данными между видеопамятью и процессором. Графический контроллер может выполнять над данными, поступающими в видеопамять, простейшие...
Исполнение видеоадаптером операции записи
Исполнение видеоадаптером операции записиПри чтении процессором данных из видеопамяти они также запоминаются в регистрах-защелках, расположенных на плате видеоадаптера. Когда затем выполняется цик...
Иллюстрирует выполнение графическим контроллером операции записи данных в видеопамять:
Рисунок 6.16 иллюстрирует выполнение графическим контроллером операции записи данных в видеопамять:...
Запись данных в видеопамять.
Рисунок 6.16 Запись данных в видеопамять. Байт, записываемый прцесоором в видеопамять (11100001b) поступает в графический контроллер. В соответствии со значением регистра циклического сдвига и выб...
Выполнение видеоадаптером операции чтения
Выполнение видеоадаптером операции чтенияВо время цикла чтения данных из видеопамяти, графический контроллер может выполнять операцию сравнения цветов (Color Compare). Эта операция позволяет найти...
Последовательный преобразватель
Последовательный преобразвательЭто устройство запоминает данные, читаемые из видеопамяти в течение цикла регенирации, преобразует их в последовательный поток бит и затем передает контроллеру атриб...
Контроллер атрибутов
Контроллер атрибутовКонтроллер атрибутов в графических и текстовых режимах работы видеоадаптера управляет цветами. Значениям цветовых атрибутов ставится в соответствие определенный цвет при помощи...
Контроллер атрибутов в текстовых режимах.
Рисунок 6.17 Контроллер атрибутов в текстовых режимах. В текстовых режимах видеоадаптеров, цвет символа и его фона определяется его байтом атрибутов. Цвет фона символа, как видно из рисунка, задаю...
Контроллер атрибутов в графических режимах.
Рисунок 6.18 Контроллер атрибутов в графических режимах. В отличае от текстовых режимов, в графических режимах цвет каждого пиксела определяется отдельно. На рисунке 6.18 четыре бита, считанные из...
Контроллер ЭЛТ
Контроллер ЭЛТКонтроллер ЭЛТ выполняет следующие функции: Вырабатывает сигналы, управляющие работой ЭЛТ (развертка и гашение). Определяет формат экрана и символов текста (разрешающую способность э...
Синхронизатор
СинхронизаторСинхронизатор управляет всеми временными параметрами видеоадаптера. С точки зрения программирования, наиболее полезной является функция синхронизатора, управляющая разрешением и запре...








Начало