VGA работает с аналоговыми дисплеями, имеющими три раздельных видеовхода. Величина напряжения на каждом из них управляет, соответственно, интенсивностью красного, зеленого и голубого цвета изображения. Аналоговое напряжение для дисплея формируется из двоичной цветовой информации при помощи трех ЦАП.
Цветовая 8-битовая информация, поступающая от контроллера атрибутов (см. рисунок 8.17), преобразуется согласно таблице цветов в три 6-битовые сигнала для трех ЦАП. Такая схема позволяет одновременно отображать на экране 256 различных цветов, каждый из которых можно отдельно выбрать из 26+6+6 = 218 = 262144 возможных цветов.
Рисунок 8.17 Схема управления цветами (VGA).
Таблица цветов фактически является набором из 256 18-битовых регистров. Используя регистры ЦАП, можно получить доступ для чтения и для записи к каждому регистру таблицы цветов.
ЦАП видеоадаптера VGA управляется пятью регистрами, перечисленными в таблице 8.19.
Адрес | Регистр |
3C6h | регистр маскирования пикселов (Pixel Mask Register - PMR) |
3C7h | регистр состояния ЦАП (для чтения) (DAC State Register - DAC_SR) |
3C7h | индекс читаемого регистра таблицы цветов (для записи) (Look-up Table Read Index Register - LTRIR) |
3C8h | индекс записываемого регистра таблицы цветов (Look-up Table Write Index Register - LTWIR) |
3C9h | регистр данных таблицы цветов (Look-up Table Data Register - LTDR) |
Таблица 8.19 Регистры управления ЦАП.
Адрес Регистр
3C6h регистр маскирования пикселов (Pixel Mask Register - PMR)
3C7h регистр состояния ЦАП (для чтения) (DAC State Register - DAC_SR)
3C7h индекс читаемого регистра таблицы цветов (для записи) (Look-up Table Read Index Register - LTRIR)
3C8h индекс записываемого регистра таблицы цветов (Look-up Table Write Index Register - LTWIR)
3C9h регистр данных таблицы цветов (Look-up Table Data Register - LTDR)