Смекни!
smekni.com

Адаптер VGA. Организация и работа (стр. 4 из 6)

Регистр разрешения записи цветовогослоя

XXXX|| |---- 0 цветовойслой

|| -------- 1 цветовойслой

|------------ 2 цветовойслой

---------------- 3 цветовойслой

D0,D1,D2,D3 если бит pавен1, то можно записыватьданные в соответствующий цветовой слой.

Регистр выборазнакогенератора

XX|| ----- -----

|| | ---- Выбоp таблицы

|| | знакогенеpатоpа ( D3= 0 )

|| ------------ Выбоp таблицы

|| знакогенеpатоpа ( D3= 1 )

|------------------ Выбоp таблицы

| знакогенеpатоpа ( D3= 0 )

---------------------- Выбоp таблицы

знакогенеpатоpа ( D3= 1 )

Регистp используется для выводасимвола на экpан для адаптеpов VGA 8 таблиц знакогенератора. Одновременно могут использоваться 1 или 2 таблицы. Бит D3 байта атрибутов определяет, какаятаблицабудет использована:

D5 D3D2 ( D3 = 1 )

D4 D1D0 ( D3 = 0 )

0001

0012

0103

0114

1005

1016

1107

1118

Если нужна только1 активная таблица, то значение битов D5, D3, D2 и D4, D1, D0 должны совпадать.

Регистр определения структуры памяти

XXXXXX0------------ Доступ к четным/нечетным

адресам

Если D2 содержит 0, то доступ по четным адресам происходит к0 цветовому слою, а по нечетным- к первому.

РЕГИСТРЫГРАФИЧЕСКОГО КОНТРОЛЛЕРА.

Графический контроллер поддерживает обмен данными между процессором и видеопамятью. Графический контроллер содержит 9 регистров. Обращение к ним происходит черезиндексный порт с адресом 3CEh и портданных с адресом 3CFh.

=========================================================

| индекс | название регистра |

=========================================================

| 00 | Регистр установки/сброса |

|01| Регистрразрешенияустановки/сброса||02| Регистрсравнения цветов ||03| Регистрциклического сдвига и выборафункции ||04| Регистрвыбора читаемого слоя ||05| Регистррежима работы ||06| Регистрразличногоназначения ||07| Регистрмаскирования цветовых слоев||

==08

=====| Регистр

=========битовой маски |

=====================================Регистр установки/сброса

------------- || |---- Данные, записываемые в

||| |0 цветовойслой

||| -------- Данные, записываемые в

|||1 цветовойслой

||------------ Данные, записываемые в

||2 цветовойслой

|---------------- Данные, записываемые в

|3 цветовойслой

-------------------------- Зарезервировано

Используется совместно с регистром разрешения установки/сброса для записив любойцветовой слой 8 битов,равных соответствующему битуданногорегистра.

Регистр разрешения установки/сброса

------------- || |---- Разрешениезаписи в

||| |0 цветовойслой

||| -------- Разрешениезаписи в

|||1 цветовойслой

||------------ Разрешениезаписи в

||2 цветовойслой

|---------------- Разрешениезаписи в

|3 цветовойслой

-------------------------- Зарезервировано

D3, D2, D1, D0 - если данный бит равен 0 то в соответствующий цветовой слой записывается бит, переданный центральным процессором, в противном случае - бит из одноименного бита регистра установки/сброса.

Регистр сравнения цветов

XXXX|| |---- Искомая величина для

|| |0 цветового слоя

|| -------- скомая величина для

||1 цветового слоя

|------------ Искомая величина для

|2 цветового слоя

---------------- Искомая величина для

3 цветового слоя

Данный регистр используется для поиска на экране пикселов требуемого цвета. За 1 цикл чтения видеопамяти провести сравнениес 8 пикселами ивозвратрезультата. Какпроисходит операцияпоиска пикселовданногоцвета изображено на рис. 4.

Регистр циклического сдвига ивыбора функции

XXX--------------

|-------- Счетчик сдвига

------------------ Логическаяфункция

D2, D1, D0 - содержат число бит( 0 - 7 ), на которое данные, поступающие от процессора циклически сдвинутся вправо

D4, D3 - логическая операция, выполняемаямежду данными, поступающими от процессора и содержимым регистров-защелок:

D4 D3выполняемая логическая операция

0 0 запись немодифицированных данных

0 1 " И "

1 0 " ИЛИ "

1 1 " ИСКЛЮЧАЮЩЕЕ ИЛИ "

Результат записывается в соответствующие цветовые слои.

Регистр выбора читаемого слоя

XXXXXX-----

------ Номер цветового слоя

D1, D0 - определяют номер цветового слоя видеопамяти, из которого процессора может читать данные.

Регистр режима работы

XX| || |-----

| || |------ Режим записи

| || ---------------- Разрешениесравнения

| ||цветов

| |-------------------- Четный/нечетный режим

| ------------------------ Режим регистра сдвига

---------------------------- Управлениережимом с 256

цветами

D1, D0 - определяют режим записи ввидеопамять :

D1 D0N режим записи

0 00 непосредственная запись

0 11 использование для записи регистров-защелок

1 02 заполнение N-го цветового слоя битом номер

N из данных, записываемых процессором 1 1- не используется

Режим 0 : процессор имеетдоступ к видеопамяти, при этом возможны циклические сдвиги,логические функции и использованиерегистра битовой маски ( рис. 1).

Режим 1 : данный режим полезен для быстрого копирования данных из одной области видеопамятив другую. Причтении

данных из видеопамяти происходит запись байта из каждого цветового слоя в 4 регистра-защелки. При выполнении операции записи содержимое регистров-защелок записывается обратно в видеопамять, но по другому адресу ( рис. 2 ).

Режим 2 :так какв этом режиме каждый цветовой слой заполняется соответствующим битом, то содержимое старшей тетрады записываемого байта значения не имеет ( рис. 3 ).

D3- если данный бит равен1, то можно осуществлять сравнениецветов.

D4 - данный бит устанавливается втекстовых режимах, при этом доступ по четным адресам происходит к четным цветовым слоям, а по нечетным адресам - к нечетным цветовым слоям.

D5- используется в режимах 4 и 5 для обработки видеоданных вформате" 2 бита на пиксел".

D6- используется в режимес 256 цветами.

Регистрмногоцелевого назначения

XXXXXXX---- Разрешение графического

режима

D0- бит должен содержать 0 для текстовогорежима и 1 для графического.

Регистр маскирования цветовых слоев

XXXX|| |---- 0 цветовойслой

|| -------- 1 цветовойслой

|------------ 2 цветовойслой

---------------- 3 цветовойслой

Данный регистр используется в режиме сравнения цветов. Если какие-либо биты D0 - D3 содержат0, то данный цветовой слой при операции сравнения цветов нерассматривается.

Регистр битовой маски

Данный регистр используется только в 0 режиме записи. Если какой-либо бит содержит 0, то соответствующий бит будет записываться в видеопамять из регистра-защелки, иначе бит поступает из процессора.

РЕГИСТРЫ КОНТРОЛЛЕРА ЭЛТ.

Регистры контроллера ЭЛТ управляют сигналами синхронизации, определяют формукурсора, а также формат данныхна экране.Назначение и формат ряда регистров у разных фирм-производителей может различаться. Доступ к регистрам производитсячерез индексный регистр и регистр данных. Адреса этих регистров зависят от типа монитора:

индексный регистррегистрданных

монохромный 3B4h3B5h

цветной 3D4h3D5h

Адресиндексного регистра можно прочитать в области переменных BIOS по адресу 0000:0463.

=========================================================

| индекс | название регистра |

00Общая длина линии горизонтальной развертки| 01 | Длина отображаемойчасти горизонтальной |

| | развертки |

---------------------------------------------------------

| 02 | Начало импульса гашения луча горизонтальной |

| | развертки |

---------------------------------------------------------

| 03 | Конец импульса гашения луча горизонтальной |

| | развертки |

---------------------------------------------------------

| 04 | Начало импульса горизонтального обратного |

| | хода луча |

---------------------------------------------------------

| 05 | Конец импульса горизонтального обратного |

| | хода луча |

---------------------------------------------------------

| 06 | Число горизонтальных линийрастра |

---------------------------------------------------------

| 07 | Дополнительный регистр |

---------------------------------------------------------

| 08 | Предварительная установка горизонтальной |

| | развертки |

|09| Высота символов текста ||0A| Начальная линия курсора ||0B| Конечная линия курсора ||0C| Старший байт начального адреса ||0D| Младший байт начального адреса ||0E| Старший байт позиции курсора ||0F| Младший байт позиции курсора ||10| Начало вертикального обратного хода луча ||11| Конец вертикального обратного ходалуча |--

|-----

12------------------------------------------------

| Начало гашения вертикальной развертки ||13| Логическаяширина экрана ||14| Положение подчеркивания символа || 15 | Начало импульса гашения вертикальной |

| | развертки |

---------------------------------------------------------

| 16 | Конец импульса гашения вертикальной |

| | развертки |

---------------------------------------------------------

| 17 | Управлениережимом |

---------------------------------------------------------

| 18 | Сравнение линий |

=========================================================

Общая длина линии горизонтальной развертки

Данный регистр определяет число знако-местна одной линии сканирования,включаяобратный ход и рамку экрана. Это число будетна 5 больше, чем содержимое этого регистра.

Длина отображаемой части горизонтальнойразвертки

Содержимоерегистра = число символов в строке - 1.

Начало импульса гашения луча горизонтальной развертки

Определяет началоимпульса гашения лучагоризонтальной развертки.

Конец импульса гашения луча горизонтальной развертки

1----------------------

|------------ Конец импульса

-------------------------- Биты смещения

D4- D0 гашение луча горизонтальной развертки происходит, когда эти биты равны счетчикудлины отображаемой части горизонтальной развертки.

D5, D6 - длина смещения в символах. Используются в текстовых режимах, чтобы разрешить отображение символов до разрешения вывода.

Начало импульса горизонтального обратного хода луча

Регистр задает начало импульса горизонтального обратного хода луча.

Конец импульса горизонтального обратногохода луча

XXX-----------------

------------ Конец импульса

Регистр задает конец импульса горизонтального обратного хода луча.

Число горизонтальных линий растра

Регистр определяет общее число линий горизонтальной развертки в кадре вертикальной развертки, включая гашение вертикального хода луча и обратный вертикальный ход луча. Регистр содержит 10 битов. 9 и 10 биты расположены в дополнительном регистре.