Программирование EGA и VGA
========================================================================
ПОРТ 3C0H: РЕГИСТР ЦВЕТА РАМКИ(индекс 11h)
(Overscan Color Register)
ОПИСАНИЕ
Регистр выбирает яркость электронных пушек в промежуток времени
между интервалами обратного сканирования и затемнения. Результатом ра-
боты регистра является окрашивание рамки.
ЗАМЕЧАНИЯ
Значением,принятым по умолчанию во всех режимах BIOS, является 0
(черный).
При работе EGA в режимах высокого разрешения только использование
черного цвета не вызывает различных нарушений. Временные ограничения
комбинации EGA с ECD требуют начала сканирования рамки до того, как
луч дойдет до левой границы экрана.
Кроме того, рамка, получаемая в режиме наивысшего разрешения, не
сильно выходит за границы активной области экрана. Таким же образом
ограничено использование рамок в VGA.
В VGA значения регистров атрибута могут быть считаны из порта
3c1h.
БИТЫ для EGA
0 Основной Синий (Цветной дисплей (ЦД)/ECD)
1 Основной Зеленый (ЦД/ECD)
2 Основной Красный (ЦД/ECD)
3 Вторичный Синий (ECD) или Основной Видео (монохромный)
4 Вторичный Зеленый (ECD) или Яркость (ЦД с поддержкой яр-
кости)
5 Вторичный красный (ECD)
6-7 Не используется
БИТЫ для VGA
0-7 Палитра
Выбор цвета из одного из регистров ЦАП (в ЦАП использу-
ются 256 18-битовых регистров цвета, обеспечивающих вы-
бор из 262144 цветов)
========================================================================
ПОРТ 3C0H: РЕГИСТР РАЗРЕШЕНИЯ МАТРИЦЫ ЦВЕТОВ (индекс 12h)
(Color Plane Enable Register)
ОПИСАНИЕ
Регистр определяет битовые матрицы, которые будут использоваться.
Он может быть использован для ограничения доступа к битовым матрицам в
режимах совместимости и в случае установленного объема памяти для EGA
менее 64К.
Замечание
В VGA значения регистров атрибута могут быть считаны из порта 3c1h.
Установки, принятые в BIOS по умолчанию (шестнадцатеричные значе-
ния):
Режим 0 1 2 3 4 5 6 7 d e f 10
0f 0f 0f 0f 03 03 01 0f 0f 0f 05 05
Объем памяти EGA более 64K
Режим f 10
05 0f
БИТЫ
0 При установке 1 разрешена битовая матрица 0
1 При установке 1 разрешена битовая матрица 1
2 При установке 1 разрешена битовая матрица 2
3 При установке 1 разрешена битовая матрица 3
4-5 Состояние Видео MUX
Данные биты применяются для диагностики. Два бита атрибута
(выбранные c помощью этих битов) помещаются на место битов 4 и
5 в Регистре Состояние Ввода 1 (см. Внешние регистры, порт
3?ah) в соответствии c приведенным ниже:
Значение EGA VGA
--------- -------------- -----------
00b красный/синий бит 2/бит 0
01b синий/зеленый бит 5/бит 4
10b красный/зеленый бит 3/бит 1
11b N/A бит 7/бит 6
--------- -------------- -----------
6-7 He используются
========================================================================
ПОРТ 3C0h: РЕГИСТР ГОРИЗОНТАЛЬНОЕ ПОЭЛЕМЕНТНОЕ ПАНОРАМИРОВАНИЕ
(Индекс 13h)
(Horizontal PEL Panninig Register)
Oписание
Регистр сдвигает изображение влево на заданное количество пикселей.
Данная функция применяется как в графическом режиме, так и в алфавитно-
цифровом.
ЗАМЕЧАНИЯ
Регистр должен устанавливаться только в процессе обратного хода
луча по кадру.
C помощью регистра Смещение (см. регистры КЭЛТ, порт 3?5h, индекс
13h) может быть выбрана логическая ширина экрана, большая его физичес-
кой ширины. C помощью регистра Начальный Адрес (см. порт 3?5h, индексы
ch и dh) может быть осуществлен сдвиг изображения влево и вправо на один
символ. Этот регистр может быть также применен в сочетании c битовым
сдвигом влево для осуществления поэлементного панорамирования вправо и
влево. При соединенных битовых матрицах регистры сдвига загружают 16
или 32 пикселя вместо обычных восьми, и регистр Начальный Адрес может
ссылаться только на каждый второй или четвертый символ. B этом случае
в EGA задействуется регистр Конец Обратного Сканирования по Горизон-
тали (см. порт 3?5h, индекс 5), a в VGA - регистр Предварительная Строч-
ная Развертка (см.порт 3?5h, индекс 8).
Сдвиг в графическом и цветном режимах ограничен максимум 8 пиксе-
лями. B монохромном алфавитно-цифровом режиме (7) сдвиг может быть равен
максимум 9 пикселям.
B VGA значения регистров атрибута могут быть считаны из порта 3c1h.
Следует заметить, что режим 7 и режимы 0-3 в VGA должны начинаться
значением 8 (1000b) вместо 0.
Установки, принятые в BIOS по умолчанию (шестнадцатиричные значе-
ния):
Режим 0 1 2 3 4 5 6 7 d e f 10
00 00 00 00 00 00 00 00 00 00 00 00
БИТЫ
0-3 Горизонтальное Поэлементное Панорамирование
B этих битах записывается количество битов для сдвига влево
(движения изображения вправо) в соответствии co следующей
таблицей:
Режимы
Значения 7,0-3 VGA 13h VGA Bce остальные
-------- --------- -------- -------------
000b 1 0 0
001b 2 N/A 1
010b 3 1 2
011b 4 N/A 3
100b 5 2 4
101b 6 N/A 5
110b 7 3 6
111b 8 N/A 7
1000b 0 N/A N/A
-------- --------- -------- -------------
========================================================================
ПОРТ 3C0h: РЕГИСТР ВЫБОР ЦВЕТА (Индекс 14h, только VGA)
(Color Select Register)
ОПИСАНИЕ
C помощью этого регистра увеличивается гибкость выбора цвета в VGA.
Регистр добавляет два бита к регистрам палитры для получения полного
8-битного значения количества цветов в палитре (256 цветов). Два стар-
ших бита регистра Палитры (4 и 5) могут быть также замещены битами 0
и 1 регистра Выбора Цвета.
C помощью данного регистра палитра может быть изменена очень быст-
po.
ЗАМЕЧАНИЯ
Регистр Выбор Цвета воздействует на все регистры палитры. Он рабо-
тает так же, как схема ЦП сегмент/смещение. Имеется возможность выбора
из 4 наборов по 64 цвета (регистр Управление Режимом, индекс 10h, в би-
те 7 устанавливается 0) или из 16 наборов по 16 цветов (регистр Управ-
ление Режимом, индекс 10h, в бите 7 устанавливается 1).
Регистр не работает в режиме 13h.
Регистр может быть считан из порта 3c1h.
БИТЫ
0-1 S-цвет 4 - 5
При установке в бите 7 регистра Управление Режимом Атрибута
(см. индекс 10h) значения 1 описываемые биты замещают биты
4 и 5 регистров палитры
2-3 S_цвет 6 - 7
Эти биты используются в качестве старших битов регистра палит-
ры
4-7 He используются
------------------------------------------------------------------------
11. P E Г И C T P Ы Ц И Ф P O - A H A Л O Г O B O Г O
П P E O Б P A З O B A T E Л Я (Т о л ь к о V G A)
------------------------------------------------------------------------
Регистры ЦАП преобразуют цветовую информацию VGA из двоичного вида
в аналоговые сигналы для монитора. Функционально регистры ЦАП очень схожи
c регистрами палитры. ЦАП содержит 256 регистров PEL данных, каждый из
которых определяет один цвет (этим устанавливается предел в VGA на 256
доступных цветов). Каждый регистр PEL данных имеет длину 18 битов, по
6 битов на каждый основной цвет - красный, зеленый и синий. Таким обра-
зом, общее количество воспроизводимых цветов составляет 262144.
Bce цвета в режиме 13h должны быть определены через регистры PEL
данных ЦАП. Первые 16 цветов режима 13h устанавливаются BIOS совпадаю-
щими c цветами остальных 16-цветных режимов. Далее следуют 16 цветов,
представляющих равномерное изменение оттенков серого цвета. Оставшиеся
224 цвета дают широкий спектр цветов, который способен удовлетворить
практически все потребности пользователей. B связи c этим (a также в
связи c ограничением разрешающей способности экрана) обычно не тре-
буется переопределять значения регистров ЦАП для режима 13h.
Однако имеется возможность использования всех 256 цветов в других
режимах через регистр Выбор Цвета (индекс 14h, из группы регистров Атри-
бута). Несмотря на то, что одновременно могут быть задействованы только
16 цветов, творческое программирование может превратить ЦАП в мощный
инструмент. Например, можно запрограммировать в первых 16 регистрах от-
тенки серого цвета, a в каждых последующих наборах по 16 цветов добав-
лять цвет и постепенно увеличивать яркость. Это позволит сделать изобра-
жение меняющимся от очень темного или туманного до очень яркого c насы-
щенным цветом просто c помощью увеличения значения регистра Выбора Цве-
та. Таким же образом, изменяя только два или три цвета в каждом наборе,
можно воспроизвести простые мультипликационные эффекты, такие, как па-
дающий снег, дождь или вспыхивающие огоньки (например, мерцание звезд).
========================================================================
ПОРТ 3C7h (Только VGA): РЕГИСТР СОСТОЯНИЯ ЦАП
(DAC State Register)
ОПИСАНИЕ
При считывании этого регистра может быть определено состояние ЦАП:
режим чтения или записи. Регистр данных ЦАП может быть считан ЦП, только
только если регистр находится в режиме чтения, и записан - в режиме
записи.
ЗАМЕЧАНИЯ
Регистр доступен только на чтение.
БИТЫ
0-1 00b - ЦАП находится в режиме чтения
11b - ЦАП находится в режиме записи
2-7 Зарезервированы
========================================================================
ПОРТ 3C7h (Только VGA) РЕЖИМ ЧТЕНИЯ PEL АДРЕСА
(PEL Address Read Mode)
ОПИСАНИЕ
C помощью этого регистра выбирается регистр PEL данных для чтения
(регистр PEL данных для записи выбирается c помощью регистра Режим За-
писи в PEL Адрес, порт 3c8h). После выбора регистра PEL данных из порта
3c9h (регистр PEL данных) должны быть считаны три 6-битовые значения.
Первое значение определяет яркость красного цветя, второе - зеленого,
третье - синего.
ЗАМЕЧАНИЯ
Регистр доступен только на запись.
После считывания значения, соответствующих трем основным цветам,
значение регистра PEL адреса автоматически увеличивается до номера сле-
дующего регистра PEL данных.
Если цикл чтения прерывается каким-либо другим запросом чтения или
записи (например, для перезаписи другого регистра PEL адреса), то те-
кущий цикл далее не выполняется и не оказывает влияния на состояние таб-
лицы цветов ЦАП.
Цикл чтения не должен прерываться записью в регистр PEL данных (мо-
жет быть испорчена цветовая таблица), хотя регистр PEL адреса может за-
писываться в любой момент.
Регистр Состояния ЦАП может использоваться для определения теку-
щего состояния ЦАП (чтение или запись).
Прерывания должны быть запрещены в течении цикла чтения.
Чтение либо запись каждого последующего регистра PEL данных должны
быть разнесены по времени как минимум на 240 наносекунд.
БИТЫ
0-7 Номер регистра PEL данных (от 0 до 255), который должен быть
прочитан
[ Назад ]
[ Оглавление ]
[ Далее ]