Режимы работы видеоадаптеров характеризуются типом информации, которую они отображают - текстовая или графическая, количеством используемых цветов, разрешающей способностью и размерами символов.
Существуют несколько стандартных режимов работы видеоадаптеров, поддерживаемых практически всеми адаптерами. Список стандартных режимов работы видеоадаптеров представлен в следующей таблице:
Режим работы |
Тип информации |
Количество цветов |
Разрешение, пиксел x пиксел |
Размер символов, пиксел x пиксел |
||
0, 1 |
Текстовый цветной |
16 |
40x25 |
8x8 |
||
0*, 1* |
Текстовый цветной |
16 |
40x25 |
8x14 |
||
0+, 1+ |
Текстовый цветной |
16 |
40x25 |
9x16 |
||
2, 3 |
Текстовый цветной |
16 |
80x25 |
8x8 |
||
2*, 3* |
Текстовый цветной |
16 |
80x25 |
8x14 |
||
2+, 3+ |
Текстовый цветной |
16 |
80x25 |
9x16 |
||
4, 5 |
Графический цветной |
4 |
320x200 |
|
||
6 |
Графический цветной |
2 |
640x200 |
|
||
7 |
Текстовый монохромный |
2 |
80x25 |
9x14 |
||
7+ |
Текстовый монохромный |
2 |
80x25 |
9x16 |
||
8, 9, |
Используются видеоадаптерами компьютера PC jr, и в настоящее время интереса не представляют |
|||||
0Bh, |
Зарезервировано |
|||||
0Dh |
Графический цветной |
16 |
320x200 |
|
||
0Eh |
Графический цветной |
16 |
640x200 |
|
||
0Fh |
Графический монохромный |
2 |
640x350 |
|
||
10h |
Графический цветной |
16 |
640x350 |
|
||
11h |
Графический цветной |
2 |
640x480 |
|
||
12h |
Графический цветной |
16 |
640x480 |
|
||
13h |
Графический цветной |
256 |
320x200 |
|
Для видеоадаптеров EGA, VGA и SVGA режимы 0 и 1, 2 и 3, 4 и 5 не различаются. Отличие этих режимов существенно только для видеоадаптера CGA. В режимах 0, 2 и 5 не выполняется разбивка цветов (color burst) для композитного видеосигнала. В результате изображение на монохромных мониторах становиться более качественным.
Стандартные режимы работы не включают в себя все режимы, в которых могут работать видеоадаптеры. Видеоадаптеры SVGA могут также работать в режимах, имеющих улучшенные характеристики. Характеристики этих режимов отличаются у видеоадаптеров разных фирм.
Такие различия значительно усложняют программирование видеоадаптеров в режимах с высоким разрешением и большим количеством цветов. Вы должны позаботиться о том, чтобы программа распознавала тип видеоадаптера и использовала соответствующие методы работы с видеоадаптером. Примером может служить графический пакет CompuShow. Он содержит специальные драйверы для каждого типа видеоадаптеров. Во время установки пакета он определяет тип видеоадаптера и подключает соответствующий драйвер.
Чтобы преодолеть несовместимость и избавить разработчиков программного обеспечения от необходимости создания собственных драйверов, ассоциация VESA (Video Electronics Standards Association) разработала одноименный стандарт VESA. Этот стандарт охватывает практически все возможности, предоставляемые современными видеоадаптерами.
Приведем список режимов работы видеоадаптеров, соответствующих стандарту VESA:
Режим работы |
Тип информации |
Количество цветов |
Разрешение, пиксел x пиксел |
Размер символов, пиксел x пиксел |
100h |
Графический цветной |
256 |
640x400 |
|
101h |
Графический цветной |
256 |
640x480 |
8х16 |
102h |
Графический цветной |
16 |
800x600 |
8х8 |
103h |
Графический цветной |
256 |
800x600 |
8х8 |
104h |
Графический цветной |
16 |
1024x768 |
|
105h |
Графический цветной |
256 |
1024x768 |
8х16 |
106h |
Графический цветной |
16 |
1280x1024 |
|
107h |
Графический цветной |
256 |
1280x1024 |
|
108h |
Текстовый цветной |
16 |
80x60 |
|
109h |
Текстовый цветной |
16 |
132x25 |
9х16 |
10Ah |
Текстовый цветной |
16 |
132x43 |
9х9 |
10Bh |
Текстовый цветной |
16 |
132x50 |
|
10Ch |
Текстовый цветной |
16 |
132x60 |
|
10Dh |
Графический цветной |
32768 |
320x200 |
|
10Eh |
Графический цветной |
65536 |
320x200 |
|
10Fh |
Графический цветной |
16777216 |
320x200 |
|
110h |
Графический цветной |
32768 |
640x480 |
|
111h |
Графический цветной |
65536 |
640x480 |
|
112h |
Графический цветной |
16777216 |
640x480 |
|
113h |
Графический цветной |
32768 |
800x600 |
|
114h |
Графический цветной |
65536 |
800x600 |
|
115h |
Графический цветной |
16777216 |
800x600 |
|
116h |
Графический цветной |
32768 |
1024x768 |
|
117h |
Графический цветной |
65536 |
1024x768 |
|
118h |
Графический цветной |
16777216 |
1024x768 |
|
119h |
Графический цветной |
32768 |
1024x768 |
|
11Ah |
Графический цветной |
65536 |
1280x1024 |
|
Более полную информацию о стандарте VESA мы привели в главе "Видеоадаптеры SVGA". В этой главе мы также поместили описание расширения BIOS, позволяющего легко программировать видеоадаптеры SVGA, совместимые со стандартом VESA.
При использовании видеоадаптеров EGA или VGA не существует функциональных различий между режимом 0 и режимом 1. В данных режимах монитор отображает цветную текстовую (алфавитно-цифровую) информацию - 25 строк и 40 столбцов. Из-за низкой разрешающей способности режимы 0 и 1 практически не применяются. Современные видеоадаптеры поддерживают эти режимы только для обеспечения совместимости с видеоадаптерами CGA и MDA.
Для отображения каждого символа используется матрица пикселов размера 8x8 пикселов, что соответствует низкому качеству изображения. Можно различить отдельные пикселы из которых состоят символы отображаемого текста.
Символы текста можно отображать в 8 основных и 8 дополнительных цветах. Дополнительные цвета имеют большую интенсивность, чем основные. Для каждого символа можно независимо задать его цвет и цвет фона. Список стандартных и дополнительных цветов представлен в следующей таблице:
Стандартный цвет |
Дополнительный цвет |
Черный |
Серый |
Синий |
Светло-синий |
Зеленый |
Светло-зеленый |
Морской волны |
Голубой |
Красный |
Светло-красный |
Фиолетовый |
Малиновый |
Коричневый |
Желтый |
Белый |
Ярко-белый |
Для видеоадаптеров EGA, VGA и SVGA можно изменить используемую палитру цветов. Адаптер EGA с улучшенным цветным монитором позволяет выбрать 16 цветов из 64 возможных, а VGA и SVGA - 16 цветов из 262144 возможных.
В режимах 0 и 1 адаптеры EGA, VGA и SVGA поддерживают восемь страниц видеопамяти. Страницей называется часть видеопамяти, полностью определяющая содержимое одного экрана монитора. Одна из этих восьми страниц является активной. Ее содержимое отображается на экране. Для изменения активной страницы можно вызвать соответствующую функцию BIOS или непосредственно изменить содержимое регистра начального адреса, расположенного в контроллере электронно лучевой трубки.
Рисунок 2.1 демонстрирует страничную организацию видеопамяти. На мониторе отображается содержимое первой страницы памяти, расположенной по адресу B000:0800h.
Рисунок 2.1 Страничная организация видеопамяти
К каждой странице видеопамяти вы можете обратиться как через функции BIOS, так и напрямую. Во втором случае процессор записывает необходимую информацию непосредственно в видеопамять.
Страницы видеопамяти располагаются по следующим адресам:
Страница 0 - B800:0000h |
Страница 1 - B800:0800h |
Страница 2 - B800:1000h |
Страница 3 - B800:1800h |
Страница 4 - B800:2000h |
Страница 5 - B800:2800h |
Страница 6 - B800:3000h |
Страница 7 - B800:3800h |
Видеоадаптеры VGA и SVGA в режимах с низким разрешением используют двойное сканирование. Двойное сканирование заключается в том, что при работе видеоадаптера в режимах с разрешением 200 строк, каждая из строк отображается на экране дважды, увеличивая разрешение по вертикали до 400 строк. В результате улучшается восприятие текста на экране, так как фактически увеличивается разрешающая способность. Двойное сканирование реализуется в режимах 0, 1, 2, 3, 4, 5, 6, 0Dh и 0Eh.
Режимы EGA 0* и 1* являются расширенными версиями режимов 0 и 1 адаптера CGA. Эти режимы отличаются только размером матрицы пикселов, используемой для отображения символов текста. В режимах 0* и 1* матрица имеет большее число элементов - 8х14 пикселов.
Из-за различий в размерности матриц символов ухудшается совместимость между видеоадаптерами CGA и EGA. В частности возникают трудности при установке формы курсора и положения линии подчеркивания символов.
Видеоадаптеры VGA и SVGA реализуют собственные расширенные версии режимов 0 и 1. Они обозначаются как 0+ и 1+. Эти режимы отличаются от режимов 0 и 1 только размером матрицы пикселов, используемой при отображении символов текста. В режимах 0+ и 1+ матрица имеет большее число элементов - 9х16 пикселов.
Как и для режимов 0* и 1*, отличие размерности матриц символов создает трудности при создании совместимых программ для адаптеров CGA, EGA, VGA и SVGA. Необходимо быть уверенным в правильности установки формы курсора и положения линии подчеркивания символов.
Во втором и третьем режимах монитор отображает цветную текстовую информацию. Количество строк, также как и в режимах 0 и 1, равно 25, а количество столбцов увеличено до 80. Для видеоадаптеров EGA, VGA и SVGA данные режимы не имеют различий.
Символы текста можно отображать в 8 основных и 8 дополнительных цветах, имеющих большую интенсивность, чем основные. Для каждого символа можно независимо задать его цвет и цвет фона. Вы можете использовать те же цвета, что в режимах 0 и 1.
В данных режимах работы видеоадаптеры EGA, VGA и SVGA поддерживают 8 страниц экрана. Исключение составляют конфигурации, в которых видеоадаптер EGA имеет только 64 Кбайт видеопамяти. В этом случае EGA поддерживает только первые 4 страницы видеопамяти. Одна из этих восьми страниц является активной.
Страницы видеопамяти располагаются по следующим адресам:
Страница 0 - B800:0000h |
Страница 1 - B800:1000h |
Страница 2 - B800:2000h |
Страница 3 - B800:3000h |
Страница 4 - B800:3000h |
Страница 5 - B800:5000h |
Страница 6 - B800:4000h |
Страница 7 - B800:7000h |
Режимы EGA 2* и 3* являются расширенными версиями режимов 2 и 3 для CGA. Эти режимы отличаются только размером матрицы пикселов, используемой для отображения символов текста. В режимах 2* и 3* матрица имеет большее число элементов - 8х14 пикселов.
Видеоадаптеры VGA и SVGA реализуют собственные расширенные версии режимов 2 и 3. Они обозначаются как 2+ и 3+. Эти режимы отличаются от режимов 2 и 3 только размером матрицы пикселов, используемой при отображении символов текста. В режимах 2+ и 3+ матрица имеет большее число элементов - 9х16 пикселов.
Как указывалось выше, в режимах 2 и 3 видеоадаптеры VGA и SVGA используют двойное сканирование.
В этих режимах отображается цветная графическая информация. Экран монитора имеет разрешение 320 пикселов по горизонтали и 200 пикселов по вертикали. При отображении могут использоваться либо четыре основных, либо четыре альтернативных цвета:
Стандартные цвета |
Альтернативные цвета |
Черный |
Черный |
Светло-синий |
Зеленый |
Малиновый |
Красный |
Белый |
Коричневый |
В отличие от предыдущих режимов поддерживается только одна страница видеопамяти. Ее начальный адрес равен B800:0000h.
В этом режиме отображается графическая информация. Экран монитора имеет разрешение 640 пикселов по горизонтали и 200 пикселов по вертикали. Поддерживаются только два цвета. Для видеоадаптера CGA режим 6 является режимом с максимальным разрешением.
Определена только одна страница видеопамяти, имеющая начальный адрес B800:0000h. Если видеоадаптеры VGA или SVGA работают в режиме 6, то они используют двойное сканирование.
В этом режиме отображается монохромная текстовая информация. Экран монитора имеет разрешающую способность 25 строк на 80 столбцов. Матрица символов имеет ширину 9 пикселов, а высоту - 14 пикселов.
Видеоадаптеры EGA, VGA и SVGA в режиме 7 практически полностью программно совместимы с видеоадаптером MDA.
В режиме 7 видеоадаптеры EGA, VGA и SVGA поддерживают 8 страниц видеопамяти, за исключением конфигураций, в которых адаптер EGA имеет только 64 Кбайт памяти. В этом случае EGA поддерживает только первые 4 страницы.
Страницы экрана располагаются в видеопамяти по следующим адресам:
Страница 0 - B800:0000h |
Страница 1 - B800:1000h |
Страница 2 - B800:2000h |
Страница 3 - B800:3000h |
Страница 4 - B800:3000h |
Страница 5 - B800:5000h |
Страница 6 - B800:4000h |
Страница 7 - B800:7000h |
Режим видеоадаптеров VGA и SVGA номер 7+, является расширенной версией режима 7 адаптера EGA. Этот режим отличается только размером матрицы пикселов, используемой для отображения символов текста. В режиме 7+ матрица имеет большее число элементов - 9х16 пикселов.
Данные режимы используются только в компьютере PCjr и в нашей книге не рассматриваются.
Режим 0Dh используется для отображения графической информации. При этом разрешающая способность составляет 320 пикселов по горизонтали и 200 пикселов по вертикали. Данный режим похож на режим 4, но в нем видеоадаптер может отображать 16 цветов.
В зависимости от объема памяти видеоадаптера, поддерживается различное количество страниц видеопамяти:
Объем видеопамяти |
Количество страниц видеопамяти |
256 Кбайт |
8 |
128 Кбайт |
4 |
64 Кбайт |
2 |
Страницы видеопамяти располагаются по следующим адресам:
Страница 0 - B800:0000h |
Страница 1 - B800:1000h |
Страница 2 - B800:2000h |
Страница 3 - B800:3000h |
Страница 4 - B800:3000h |
Страница 5 - B800:5000h |
Страница 6 - B800:4000h |
Страница 7 - B800:7000h |
Если видеоадаптеры VGA и SVGA работают в режиме 0Dh, то для увеличения разрешающей способности они используют двойное сканирование.
Режим 0Eh используется для отображения графической информации. Разрешающая способность составляет 640 пикселов по горизонтали и 200 пикселов по вертикали. В данном режиме видеоадаптер может одновременно отображать 16 различных цветов.
В зависимости от объема видеопамяти поддерживается различное количество страниц видеопамяти:
Объем видеопамяти |
Количество страниц видеопамяти |
256 Кбайт |
4 |
128 Кбайт |
2 |
64 Кбайт |
1 |
Страницы видеопамяти располагаются по следующим адресам:
Страница 0 - A000:0000h |
Страница 1 - A000:4000h |
Страница 2 - A000:8000h |
Страница 3 - A000:C000h |
Если видеоадаптеры VGA и SVGA работают в режиме 0Eh, то они используют двойное сканирование.
Монохромный графический режим с разрешением 640 пикселов по горизонтали и 350 пикселов по вертикали.
Видеоадаптер EGA поддерживает две страницы экрана за исключением того случая, когда видеопамять ограничена 64 Кбайт. В этом случае доступна только одна страница.
Страницы видеопамяти располагаются по следующим адресам:
Страница 0 - A000:0000h |
Страница 1 - A000:8000h |
Каждый пиксел определяется двумя битами. Пикселы могут быть черного цвета, белого цвета, интенсивно белого цвета или могут отображаться постоянно мигающими.
Цветной графический режим с разрешением 640 пикселов по горизонтали и 350 пикселов по вертикали. Данный режим обеспечивает отображение 16 цветов, кроме конфигураций, в которых видеоадаптер EGA укомплектован только 64 Кбайт видеопамяти. Адаптер EGA с 64 Кбайт видеопамяти обеспечивает отображение только четырех цветов.
Стандартная цветовая палитра для данного режима представлена в следующей таблице:
Полная палитра(объем видеопамяти не меньше 128 Кбайт) |
Неполная палитра(64 Кбайт видеопамяти) |
Черный |
Черный |
Голубой |
Голубой |
Зеленый |
Черный |
Синий |
Голубой |
Красный |
Красный |
Фиолетовый |
Белый |
Коричневый |
Красный |
Белый |
Белый |
Темно-серый |
Черный |
Светло-голубой |
Голубой |
Светло-зеленый |
Черный |
Светло-синий |
Голубой |
Светло-красный |
Красный |
Светло-малиновый |
Белый |
Желтый |
Красный |
Интенсивно-белый |
Белый |
Вы можете изменить цветовую палитру, переустановив регистры палитры в контроллере атрибутов. Как это сделать мы расскажем в главе "Контроллер атрибутов".
Цветной графический режим с разрешением 640 пикселов по горизонтали и 480 пикселов по вертикали. Данный режим обеспечивает отображение только двух цветов.
Видеопамять образует одну страницу. Начальный адрес видеопамяти A000:0000h.
Цветной графический режим с разрешением 640 пикселов по горизонтали и 480 пикселов по вертикали. Данный режим обеспечивает отображение 16 цветов. Видеопамять образует одну страницу. Начальный адрес видеопамяти A000:0000h.
Цветной графический режим с разрешением 320 пикселов по горизонтали и 200 пикселов по вертикали. Данный режим обеспечивает возможность одновременного отображения 256 цветов.
Несмотря на низкую разрешающую способность монитора в этом режиме, изображение кажется более реалистичными, так как появляется возможность отображать мелкие детали другим цветом.
Видеопамять образует одну страницу. Начальный адрес видеопамяти A000:0000h.