Інтегральною характеристикою особливостей роботи адаптера є сукупність підтримуваних їм режимів. Поводження адаптера в тім або іншому режимі є фактичним стандартом і цілком характеризує всі особливості адаптера, доступні для програміста засобу керування адаптером і т.п. Режими прийнятий нумерувати, починаючи з нуля. Ніж досконаліше відеоадаптер, тим більше режимів він підтримує. Як правило, більш зроблені адаптери цілком сумісні зі своїми "молодшими братами": якщо адаптер включений у режимі "молодшого брата", він поводиться , з погляду прикладної програми, точно так само, як і "молодший брат". Серед перерахованих відеоадаптерів MDA - самий молодший. Його спадкоємцем є CGA. "Старшим братом" CGA став EGA. Спадкоємцем адаптера EGA є відеоадаптер VGA. Режими роботи відеоадаптерів описані в табл. 8.1.
Відеоадаптери MDA підтримували тільки режими 0 і 1. CGA-адаптери могли вже працювати в режимах 0-6. Далі ці режими часто будемо називати CGA-режимами. Як випливає з таблиці, у CGA-режимах здатні працювати й інші адаптери: EGA і VGA. При цьому вони можуть цілком "прикинутися" CGA-адаптером, і тоді просто неможливо буде відрізнити за картинкою на екрані, чи встановлені CGA-адаптер або це "прикидається" EGA- або VGA-адаптер. Але старший адаптер у CGA-режимі може залишитися і "самим собою", надаючи користувачу додаткові можливості. Наприклад, EGA здатний видавати на екран 350 телевізійних рядків, а не 200, як це може робити CGA. Тому для відображення тексту в режимі "80 стовпців х 25 рядків" можна витратити на кожний текстовий рядок не 8 телевізійних рядків, а вже 14. Отже, при тих же самих розмірах кожний символ буде зображуватися матрицею з 14 рядків крапок по 8 крапок у кожному рядку. Як результат, зображення кожної букви на екрані буде більш чітким. Але якщо EGA-адаптер змусити використовувати для відображення символів матрицю 8х8 і при цьому зберегти максимальне число телевізійних рядків, з'являється можливість розмістити на екрані вже 43 рядка тексту. Природно, у цьому випадку самі символи на чані будуть майже в 2 рази менше.
Режими з номерами ODh - lOh уперше з'явилися в EGA-режимі, і далі ми будемо називати їх EGA-режимами. Цей адаптер, володіючи всіма можливостями своїх попередників, має і ряд нових. Насамперед , він здатний видавати на екран інформацію для 200 і 350 телевізійних ліній по 640 пікселов у кожному рядку. Це дозволяє при роботі в текстових режимах збільшити або чіткість зображення символів, або число рядків тексту на екрані (див. приклад раніше). При роботі в графічних режимах EGA-адаптер здатен відображати пікселы великою кількістю квітів. І, нарешті, режими з номерами llh і старше - це режими найбільш зроблених адаптерів - MCGA, VGA і спеціалізованих графічних адаптерів. Далі ці режими будемо називати VGA-режимами. Особливостями нових графічних стандартів є збільшені максимальне число телевізійних рядків (до 480) і максимальне число пікселов в І, кожній телевізійному рядку (до 720). Адаптер здатний видавати 200, 350, 400 або 480 рядків у залежності від ініціалізації адаптера. При роботі в VGA- режимах ще більш збільшилося число можливих кольорів для пікселов.
При всім різноманітті режимів роботи відеоадаптерів їх можна об'єднати в двох груп: текстові і графічні. Переключення з текстового режиму в графічний і навпаки означає повна зміна логіки роботи відеоадаптера з відеобуфером.
Якщо відеоадаптер в текстовому режим, він "розгляда" екран як сукупність так званих текселов (texel - Text Element) (мал. 8.1).
Кожному знакоместу екрана (текселу) у текстовому режимі відповідають два байти пам'яті відеобуфера. Байт по парній адресі зберігає ASCіі-код символу, а наступний за ним байт по непарній адресі кодує особливості відображення символу на екрані: колір пикселов, з яких формується обрис символу (Foreground Color), колір всіх інших пикселов знакоместа або колір тла символу (Background Color),
Табл. 8.1. Режими роботи відеоадаптерів |
||||||||
|
||||||||
Режим |
Тип |
Мак-сималь-не Число
кольорів |
Раз мер шриф та |
Макси мальное число страниц |
Разрешение |
Начало видео буфера |
Тип видео адаптера |
|
графика |
текст |
|||||||
0,1 |
Текст |
16 |
8х8 |
8 |
- |
40х25 |
b8000h |
CGA.EGA, VGA.AT&T MCGA |
16/64 |
8х14 |
EGA.VGA |
||||||
8х16 |
MCGA |
|||||||
9х16 |
VGA |
|||||||
2,3 |
Текст |
16 |
8х8 |
4 |
- |
80х25 |
b8000h |
CGA |
16/64 |
8 |
EGA.VGA |
||||||
80х43 |
EGA |
|||||||
80х50 |
VGA |
|||||||
8х14 |
80х25 |
EGA.VGA |
||||||
8х16 |
MCGA |
|||||||
9х16 |
VGA |
|||||||
4,5 |
Граф. |
4 |
8х8 |
1 |
320х200 |
40х25 |
b8000h |
CGA.EGA, VGA.AT&T MCGA |
6 |
Граф. |
2 |
8х8 |
1 |
640х200 |
80х25 |
b8000h |
CGA,EGA, VGA.AT&T |
7 |
Текст |
Моно |
9х14 |
1 |
- |
80х25 |
B0000h |
HERCULES |
Граф. |
2 |
720х350 |
HERCULES |
|||||
Текст |
8х14 |
1,4 |
- |
EGA.VGA |
||||
Dh |
Граф. |
16/64 |
8х8 |
8 |
320х200 |
40х25 |
A0000h |
EGA.VGA |
Eh |
4 |
640х200 |
80х25 |
|||||
Ph |
Моно |
8х14 |
2 |
640х350 |
||||
lOh |
16/64 |
|||||||
llh |
2 |
8х16 |
1 |
640х480 |
80х30 |
MCGA.VGA |
||
12h |
16 |
VGA |
||||||
13h |
256 |
8х8 |
320х200 |
40х25 |
MCGA,VG/ |
|||
>13h |
Старшие режимы
специализированных адаптеров – VGA,
IBM8514, Commodor и др. |
![]() |
![]() |
![]() |