Взаимодействие программ с графическими адаптерами осуществляется с помощью обращения к их регистрам и видеопамяти. Адаптеры должны были обеспечивать совместимость со своими предшественниками и на уровне непосредственного общения с регистрами и памятью, регистры первых адаптеров MDA/HGC, CGA и EGA входят в состав регистров и более современных адаптеров VGA и SVGA. В первых адаптерах многие управляющие регистры были доступны только для записи, что вызывало неудобства при переключении режимов, связанных со сменой задач. В более совершенных адаптерах VGA и SVGA эти же регистры доступны и по чтению. Первоначально адреса регистров были жестко фиксированными, причем адаптер EGA мог иметь блок регистров в одной из двух областей: EGA#1 - 3C0-3DF, EGA#2 - 2C0-2DF, что позволяло устанавливать в систему два адаптера. Адаптеры SVGA для шины PCI, которой свойственна поддержка программного конфигурирования ресурсов (РnР), уже могли обеспечивать перемещение блока своих регистров в некотором диапазоне адресов. При этом положение регистров относительно базового адреса, естественно, сохранялось. Таким образом, в систему бесконфликтно могли быть установлены несколько адаптеров. Назначение регистров адаптеров MDA, CGA, HGC, EGA, VGA и др. приведены ниже.
Регистры адаптера CGA
Адрес |
Регистр |
3D4 |
Регистр индекса контроллера 6845 |
3D5 |
Регистр данных контроллера 6845 |
3D8 |
Управляющий регистр. Бит 5 – действия бита 7 атрибут текста: 1-мигание, 0-подсветка фона Бит 4 – 0-320х200, 1=640х200. Бит 3 – 1-разрешение видео, 0-все черное. Бит 2 – 1=запрет смешения цветов. Бит 1 – 0=текст, 1-графика. Бит 0 – 0-40, 1=80 символов в строке |
3D9 |
Регистр выбора цвета. Бит 5 – выбор палитры (1 добавляет синий). Бит 4 - интенсивность фона (пиксела). Биты 3-0 — цвет бордюра (фона), I, R, G, В |
3DA |
Регистр состояния. Бит 3 – обратный ход по кадру. Бит 2 – переключатель светового пера. Бит 1 – триггер светового пера установлен. Бит 0 – обратный ход по кадру или строке |
Регистры адаптера MDA/HGC
Адрес |
Регистр |
ЗВ4 |
Регистр индекса контроллера 6845 |
ЗВ5 |
Регистр данных контроллера 6845 |
ЗВ8 |
Управляющий регистр. Бит 7 – номер видеостраницы (hgc). Бит 5 - визуализация бита 7 атрибута текста: 1=мигание, 0=подсветка фона. Бит 3 - 1 – разрешение видео, 0-все черное. Бит 0 - 1- графика высокого разрешения |
ЗВА |
Регистр состояния. Бит 7 – обратный ход по кадру. Бит 3 – видео. Бит 0 – обратный ход по строке |
ЗВВ |
Сброс триггера светового пера |
ЗВС |
Установка триггера светового пера |
Регистры адаптера EGA
Адрес |
Регистр |
ЗС0 |
Адрес и данные контроллера атрибутов |
ЗС2 |
Регистр управления |
ЗС4 |
Адресный регистр секвенсера |
ЗС5 |
Регистр данных секвенсера |
ЗСА |
Регистр графической позиции 2 |
ЗСС |
Регистр графической позиции 1 |
ЗСЕ |
Адресный регистр графического контроллера |
3CF |
Регистр данных графического контроллера |
3B4/3D4 |
Аналоги соответствующих регистров CGA и MDA. |
3B5/3D5 |
Адрес обращения (3Вх или 3Dx) определяется битом 0 порта 3c0h |
3BA/3DA |
|
3BB/3DD |
|
3BC/3DC |
|
Регистры адаптера VGA
Адрес |
R/W |
Регистр |
ЗС0 |
RW |
Адресный регистр |
ЗС0 |
W |
Регистры палитры и атрибутов |
ЗС1 |
R |
Регистры палитры |
ЗС2 |
R |
Регистр состояния ввода 0 |
ЗС2 |
W |
Смешанный регистр управления |
ЗСЗ |
RW |
Разрешение видеосистемы |
ЗС4 |
RW |
Адресный регистр секвенсера |
ЗСЗ |
RW |
Регистры секвенсера |
ЗС6 |
RW |
Регистр маски пиксела (PEL) |
ЗС7 |
RW |
Адрес пиксела для чтения |
ЗС7 |
R |
Состояние ЦАП (DAC) |
ЗС8 |
RW |
Адрес пиксела для записи |
ЗС9 |
RW |
Регистр данных пиксела |
ЗСА |
R |
Регистр управляющих признаков |
ЗСС |
R |
Разные признаки |
ЗСЕ |
RW |
Адрес графического регистра |
3CF |
RW |
Графический регистр |
3B4/3D4 |
|
Аналоги соответствующих регистров CGA и MDA. |
3B5/3D5 |
|
Используются для эмуляции этих адаптеров |
3BA/3DA |
|
|