КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ. Расширенный графический адаптер EGА
Расширенный графический адаптер EGА. Расширенный графический адаптер (EGA – Епhапсеd Сгаphiсs Аdарtег) – это графический видеоконтроллер высокого разрешения, программно совместимый с адаптерами СGА и МGА, но имеющий гораздо большие возможности. В IBМ РС для ЕGА зарезервированы следующие порты ввода-вывода: ЕGА #1 – порты ЗС0 h – ЗDF h; ЕGА #2 – порты 2С0 h – 2DF h. ЕGА может генерировать прерывание IRQ 2 (Int 0Аh) в начале вертикальной синхронизации. Однако, ВIOS не использует эту возможность; мы также не описываем ее, т. к. вектор Int 0Ah используется в РС АТ как каскад второго контроллера прерываний. Все порты контроллера EGA можно разделить на четыре группы: - ЗС0 h порт доступа к контроллеру атрибутов (АТС) - ЗС2 h порт доступа к многоцелевому регистру - 3C4 h – 3С 5h порт доступа к блоку синхронизации (sequencer) и цвета; - ЗCA h – 3CF h порт доступа к графическому контроллеру (GDС); 3D4 h – 3DC h – порт доступа к блоку управления дисплеем; 3В4 h – 3BC h – порт доступа к блоку управления дисплеем. Контроллер атрибутов (АТС) имеет 20 регистров, управляющих цветами вывода:
Регистр Наименование Описание R0–R15 Регистры палитры R0 Определяют цвета (только для записи) соответствующих атрибутов: Регистры палитры задают соответствие между значением атрибута и его цветом. Например, засылка значения 02h в регистр АТС определит его как зеленый цвет, 10h – как бледно-зеленый, 12h – как ярко-зеленый. Для того, чтобы цвета атрибутов совпадали с цветами СGА, регистры палитры должны иметь следующие значения:
Порт блокасинхронизации – секвенсор 3C4h: 3C5h обеспечивает синхронизацию вывода символов с работой знакогенератора. Он имеет следующие программируемые регистры. Графический контроллер (GDС)управляетработой адаптера в графическом режиме и имеет следующие регистры:
Регистр Наименование Описание R0 Установка/сброс Установка битов 0 – 3 выбирает битовых плоскостей соответствующую битовую плос кость для режима записи 00. R1 Разрешение установки Управляет доступом к R0. сброса R2 Сравнение цветов Биты 0 –3 выбирают цвет для режи ма чтения 1. R3 Параметры записи Имеет следующую структуру: Примечание. Режимы чтения: 0 – использовать выбранную битовую плоскость; 1 – сравнивать цвет пикселя с цветом в регистре R2 и возвращать 1 при их совпадении. Режимы записи: 00 – циклически сдвинуть данные, применить способ вывода, записать в разрешенные плоскости; 01 –вывести в каждую плоскость значение, полученное предыдущим чтением; 10 –выводить в каждую плоскость 8 бит значения соответствующих битов 0-3 данных (быстрая закраска) 11 – недопустим.
Порты ввода-вывода ЕGА имеют следующее назначение.
Порт Операция Описание ЗС0h Запись Регистр контроллера атрибутов. Для доступа к регистрам АТС подайте команды: In аl, ЗС2h перейти в адресный режим out ЗС0h, n; номер регистра АТС (режим данных) оut ЗС0h, vаl; новое значение регистра Биты 0 – 4 в n – номер регистра, бит 5 задает: 1=разрешить вывод на экран, 0=установка регистра АТС. ЗССh Запись Графическая позиция 1 (для ЕGА должна быть 0). ЗСЕh Запись Регистр адреса графического контроллера. ЗСFh Запись Регистр данных графического контроллера. Для прог раммирования регистра Rh нужно выполнить коман ды: оut ЗСЕh, n и out ЗСFh, данные ЗD4h Запись Регистр индекса ЭЛТ. Используется для или ЗВ4h выбора регистра ЭЛТ. Для записи регистра ЭЛТ Rn нужно выполнить команды: out ЗХ4h, n и outЗХ5h, данные. ЗD5h Запись Регистр данных ЭЛТ. Позволяет записывать и ЗВ5h Чтение читать все регистры ЭЛТ. ЗDАh Запись Биnы 0 –1 управляют выходами признаков FС0 и ЗВАh FС1 (контакты 19 и 17 соответственно). В этих режимах видеопамять разбивается на 4 битовые плоскости, каждая из которых содержит образ экрана для одного из основных цветов: красного, зеленого, синего и яркости. Контроллер ЕGА считывает биты всех четырех плоскостей, соответствующие данному пикселю, и формирует его результирующий цвет на экране (комбинация из 4 двоичных цифр дает 16 вариантов цветов). Видеопамять ЕGА отображается в адреса ОЗУ А0000h – В0000h. Размер памяти ЕGА варьируется от 64К до 256К в зависимости от комплектации адаптера. Однако, даже если память ЕGА равна 256К, она размещается в 16К адресного пространства оперативной памяти. Это объясняется тем, что каждая битовая плоскость отображается в одни и те же адреса ОЗУ; для выбора битовой плоскости, с которой необходим обмен данными, надо переустанавливать соответствующие регистры графического контроллера. В графическом режиме 640 х 200 64К оперативной памяти разбивается на 4 страницы по 16К каждая. Адреса этих страниц равны соответственно А0000h, А4000h, А8000h и АС000h. Смещение от начала страницы до байта, содержащего пиксель с координатами (Х, Y), равен 80 Y + int(Х/8), а номер соответствующего бита в этом байте равен 7 –(X % 8). Здесь X – горизонтальная позиция точки (0 – 639), Y– ее вертикальная позиция (0 –199). Графический режим 320 х 200 предоставляет пользователю 8 страниц размером по 8К. Смещение от начала страницы до байта, содержащего пиксель с координатами (Х, Y), равен 40Y + int (Х/8), а номер соответствующего бита в этом байте равен 7 –(X % 8). Здесь X – горизонтальная позиция точки (0 – 639), Y – ее вертикальная позиция (0 -199). В графических режимах 640 х 350 имеются две страницы с адресами А0000h и А8000h соответственно. В остальном этот режим аналогичен предыдущим.
|