VGA (англ. Video Graphics Adapter) — стандарт мониторов и видеоадаптеров. Выпущен IBM в 1987 году для компьютеров PS/2 Model 50 и более старших[1]. VGA являлся последним стандартом, которому следовало большинство производителей видеоадаптеров.
Видеоадаптер VGA, в отличие от предыдущих видеоадаптеров IBM (MDA, CGA, EGA), использует аналоговый сигнал для передачи цветовой информации. Переход на аналоговый сигнал был обусловлен необходимостью сокращения числа проводов в кабеле. Также аналоговый сигнал давал возможность использовать VGA-мониторы с последующими видеоадаптерами, которые могут выводить большее количество цветов[2].
Официальным последователем VGA стал стандарт IBM XGA, фактически же он был замещен различными расширениями к VGA, известными как SVGA.
Термин VGA также часто используется для обозначения разрешения 640×480 независимо от аппаратного обеспечения для вывода изображения, хотя это не совсем верно (так, режим 640х480 с 16-, 24- и 32-битной глубиной цвета не поддерживаются адаптерами VGA, но могут быть сформированы на мониторе, предназначенном для работы с адаптером VGA, при помощи SVGA-адаптеров). Также этот термин используется для обозначения 15-контактного D-subminiature разъёма VGA для передачи аналоговых видеосигналов при различных разрешениях.
Содержание |
VGA (так же, как и EGA) состоит из следующих основных подсистем (в народе словом "секвенсер" называли набор регистров управления доступом к плоскостям видеопамяти):
В отличие от CGA и EGA, основные подсистемы располагаются в одной микросхеме, что позволяет уменьшить размер видеоадаптера (EGA тоже был реализован в одном чипе, по крайней мере его тайванские неоригинальные клоны). В компьютерах PS/2 видеоадаптер VGA интегрирован в материнскую плату [2].
VGA полностью аналогичен EGA (включая плоскостную видеопамять в 16цветных режимах и секвенсор для доступа процессора к ней), за исключением нижеследующего:
В стандартных текстовых режимах символы формируются в ячейке 9×16 пикселов, возможно использование шрифтов других размеров: 8—9 пикселов в ширину и 1—32 пиксела в высоту. Размеры самих символов, как правило, меньше, так как часть пространства уходит на создание зазора между символами. Функция для выбора размера шрифта в BIOS отделена от функции выбора видеорежима, что позволяет использовать различные комбинации режимов и шрифтов. Имеется возможность загрузки восьми и одновременного вывода на экран двух различных шрифтов[2][6].
В VGA BIOS хранятся следующие виды шрифтов и функции для их загрузки и активации:
Как правило, эти шрифты соответствуют кодовой странице CP437. Также поддерживается программная загрузка шрифтов, которую можно использовать, например, для русификации[7].
Доступны следующие стандартные режимы:
Используя шрифты меньших размеров, чем стандартный 8×16, можно увеличить количество строк в текстовом режиме. Например, если включить шрифт 8×14, то будет доступно 28 строк. Включение шрифта 8×8 увеличивает количество строк до 50 (аналогично режиму EGA 80×43)[8][9].
В текстовых режимах для каждой ячейки с символом можно указать атрибут, задающий способ отображения символа. Существует два отдельных набора атрибутов — для цветных режимов и для монохромных. Атрибуты цветных текстовых режимов позволяют выбрать один из 16-ти цветов символа, один из 8-ми цветов фона и включить или отключить мерцание (возможность выбора мерцания можно заменить на возможность выбора одного из 16-ти цветов фона), что совпадает с возможностями CGA. Атрибуты монохромных режимов совпадают с атрибутами, доступными у MDA, и позволяют включать повышенную яркость символа, подчёркивание, мерцание, инверсию и некоторые их комбинации[2].
В отличие от своих предшественников (CGA и EGA) видеоадаптер VGA имел видеорежим с квадратными пикселами (то есть, на экране с соотношением сторон 4:3 соотношение горизонтального и вертикального разрешений было также 4:3). У адаптеров CGA и EGA пикселы были вытянуты по вертикали.
Перепрограммирование VGA позволяло достичь более высоких разрешений по сравнению со стандартными режимами VGA. Наиболее распространённые режимы таковы:
Во всех этих режимах используется плоскостная организация видеопамяти, концептуально похожая на используемую в 16цветных режимах, но использующая для формирования цвета по 2 бита из каждой плоскости, а не по 1 - т.е. биты 0-1 байта 0 в плоскости 0 давали биты 0-1 цвета пиксела 0, те же биты в плоскости 1 - биты 2-3 цвета, и т.д. Следующие биты того же байта давали цвета следующих пикселов, т.е. 4 расположенные "один параллельно другому" по одному адресу байта в 4 плоскостях задавали цвет 4 пикселов.
Такая организация видеопамяти позволяла использовать всю видеопамять карты, а не только плоскость 0 в 64К, для формирования 256цветной картинки, что давало возможность использования высоких разрешений, или же многих страниц.
Для работы с такой памятью использовался тот же секвенсер, что и в 16цветных режимах.
Зато из-за особенностей контроллера видеопамяти копирование данных в видеопамять происходит вчетверо быстрее, чем в режиме 13h (это сильно зависит от конкретного машинного кода, исполняющего копирование, и конкретного сценария рисования, а именно заливки сплошным цветом, в общем случае плоскостная видеопамять куда медленнее обычной, и именно потому в SVGA от нее отказались полностью).
Термин «X-режим» (англ. Mode X) был придуман Майклом Абрашем в 1991 году для обозначения нестандартного режима 320×240 с 256 цветами. Этот режим был открыт (путем изучения IBMовской документации на аппаратуру VGA, которая в те времена была защищена на правовом уровне и не ходила в виде файлов в публичном доступе, опубликованы были только вызовы VGA BIOS, которые не умели включать эти режимы) различными программистами независимо друг от друга, но стал известным благодаря статьям Майкла Абраша в журнале «Dr. Dobb’s Journal»[10].
Это заготовка статьи о компьютерах. Вы можете помочь проекту, исправив и дополнив её. Это примечание по возможности следует заменить более точным. |
|
||
---|---|---|
Видеоадаптеры | MDA | Tandy | HGC | CGA | EGA | PGC | VGA | MCGA | 8514 | XGA | |
Разрешение экрана | QVGA | VGA | SVGA | XGA | XGA+ | SXGA | SXGA+ | UXGA | QXGA | QSXGA | QUXGA | HXGA | HSXGA | HUXGA | |
Широкоэкранные варианты | WVGA | WXGA | WSXGA/WXGA+ | WSXGA+ | WUXGA | WQXGA | WQSXGA | WHXGA | WHSXGA | WHUXGA | WQUXGA |
VGA.