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

       

Режим 10h


Цветной графический режим с разрешением 640 пикселов по горизонтали и 350 пикселов по вертикали. Данный режим обеспечивает отображение 16 цветов, кроме конфигураций, в которых видеоадаптер EGA укомпклектован только 64К видеопамяти. EGA с 64К видеопамяти обеспечивает отображение только четырех цветов.

Стандартная цветовая палитра для данного режима представлена в таблице 3.4. Вы можете изменить цветовую палитру, переустановив регистры палитры в контроллере атрибутов, о которм будет рассказано в главе "Контроллер атрибутов".

В качестве дисплея могут использоваться улучшенный цветной дисплей (ECD), дисплей VGA, а также некоторые многчастотные дисплеи.



Полная палитра Неполная палитра
(>=128К) (64К)
черный черный
голубой голубой
зелный черный
синий голубой
красный красный
фиолетовый белый
коричневый красный
белый белый
темно-серый черный
светло-голубой голубой
светло-зеленый черный
светло-синий голубой
светло-красный красный
светло-малиновый белый
желтый красный
интенсивно-белый белый

Таблица 3.4 Стандартная, 16 - цветная палитра.


Графический цветной режим с разрешением 640х350 пикселов. Данный режим поддерживают только видеоадаптеры EGA и VGA.

Для хранения видеоданных используются четыре цветовых слоя. Каждому пикселу соответствует по одному биту из каждого цветового слоя. Четыре бита на пиксел позволяют отображать 16 различных цветов. Запись в каждый из этих черырех слоев можно разрешить или запретить при помощи регистра разрешения записи цветового слоя.

На рисунке 6.12 представлена cтруктура видеопамяти для этого режима.

Рисунок 6.12 Структура видеопамяти режима 10h.

Если вы хотите выводить информацию на экран дисплея непосредственно через видеопамять, то необходимо уметь определять биты, которые управляют каждым пикселом изображения. Следующие формулы позволяют определить смещение байта от начала станицы видеопамяти и номер бита в нем, управляющего пикселом с координатами (x,y):

Смещение байта = 50h*y+x/8

Номер бита = 7-mod(x/8)



Содержание раздела