VGA (англ.: Video Graphics Array) — стандарт манітораў і відэаадаптараў. Выпушчаны IBM у 1987 годзе для камп'ютараў PS/2 Model 50 і больш старых[1]. VGA з'яўляўся апошнім стандартам, якому падпарадкоўвалася большасць вытворцаў відэаадаптараў.
Відэаадаптар VGA, у адрозненні ад папярэдніх відэаадаптараў IBM (MDA, CGA, EGA), ужывае аналагавы сігнал для перадачы колернай інфармацыі. Пераход на аналагавы сігнал быў выкліканы неабходнасцю скарачэння колькасці дратоў у кабелі. Таксама аналагавы сігнал даваў магчымасці выкарыстоўваць VGA-маніторы з наступнымі відэаадаптарамі, якія могуць выводзіць большую колькасць колераў[2].
Афіцыйным паслядоўнікам VGA стаў стандарт IBM XGA, фактычна ж ён быў замешчаны рознымі пашырэннямі да VGA, вядомымі як «Super VGA» (SVGA).
Тэрмін VGA таксама часта ўжываецца для пазначэння разрознення 640×480 незалежна ад апаратнага забеспячэння для вываду выявы, хоць гэта не зусім верна (так, рэжымы 640×480 з 16-, 24- і 32-бітнай глыбінёй колеру не падтрымліваюцца адаптарамі VGA, але могуць быць сфарміраваны на маніторы, прызначаным для работы з адаптарам VGA, з дапамогай SVGA-адаптараў). Таксама гэты тэрмін ужываецца для пазначэння 15-кантактнага раздыму 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].
Даступны наступныя стандартныя рэжымы:
Хоць у тэкставых рэжымах VGA адно знакамесца мае шырыню 9 пікселяў, у даных знакагенератара вызначаюцца толькі 8 з іх (8 біт аднаго байта на радок); пікселі правай калонкі сімвальнай матрыцы вызначаюцца аўтаматычна: пустымі (для сімвалаў у дыяпазоне 0x00–0xAF і 0xE0–0xFF) ці такімі ж, як пікселі 8-й калонкі (для сімвалаў псеўдаграфікі ў дыяпазоне 0xB0-0xDF).
Ужываючы шрыфты меншых памераў, чым стандартны 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].