Вывод в графическом режиме, используя функции bios

Вид материалаЛитература
Режимы работы видеоадаптеров
Страницы видеопамяти
Режимы 4 и 5
Режим 0Dh
Режим 0Eh
Режим 0Fh
Режим 10h
Режим 11h
Режим 12h
Режим 13h
Подобный материал:
1   2   3   4

Режимы работы видеоадаптеров


Режимы работы видеоадаптеров характеризуются типом информации, которую они отображают – текстовая или графическая, количеством используемых цветов, разрешающей способностью и размерами символов.

Существуют несколько стандартных режимов работы видеоадаптеров, поддерживаемых практически всеми адаптерами. Список стандартных режимов работы видеоадаптеров представлен в следующей таблице:


Режим работы

Тип информации

Количество цветов

Разрешение, пиксел 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, 0Ah

Используются видеоадаптерами компьютера PC jr, и в настоящее время интереса не представляют

 

0Bh, 0Ch

Зарезервировано




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, имеют номера 100h, 101h, …, 11Ah. Количество цветов может быть равным 16, 256, 32768, 65536, 16777216, разрешение – 80x60, 132x25, 132x43, 132x50, 132x60 для текстовых режимов и 640x400, 640x480, 800x600, 1024x768, 1280x1024 для графических режимов. Подробности см., например, в книге [1].

Страницы видеопамяти


Страницей называется часть видеопамяти, полностью определяющая содержимое одного экрана монитора. Одна из страниц является активной. Ее содержимое отображается на экране. Для изменения активной страницы можно вызвать соответствующую функцию BIOS или непосредственно изменить содержимое регистра начального адреса, расположенного в контроллере электронно-лучевой трубки.

К каждой странице видеопамяти можно обратиться как через функции BIOS, так и напрямую. Во втором случае процессор записывает необходимую информацию непосредственно в видеопамять.

Видеоадаптеры VGA и SVGA в режимах с низким разрешением используют двойное сканирование. Двойное сканирование заключается в том, что при работе видеоадаптера в режимах с разрешением 200 строк, каждая из строк отображается на экране дважды, увеличивая разрешение по вертикали до 400 строк. В результате улучшается восприятие текста на экране, так как фактически увеличивается разрешающая способность. Двойное сканирование реализуется в режимах 0, 1, 2, 3, 4, 5, 6, 0Dh и 0Eh.

Режимы 4 и 5


В этих режимах отображается цветная графическая информация. Экран монитора имеет разрешение 320 пикселов по горизонтали и 200 пикселов по вертикали. При отображении могут использоваться либо четыре основных, либо четыре альтернативных цвета:


Стандартные цвета

Альтернативные цвета

Черный

Черный

Светло-синий

Зеленый

Малиновый

Красный

Белый

Коричневый


В режимах 4 и 5 поддерживается только одна страница видеопамяти. Ее начальный адрес равен B800:0000h.

Режим 6


В этом режиме отображается графическая информация. Экран монитора имеет разрешение 640 пикселов по горизонтали и 200 пикселов по вертикали. Поддерживаются только два цвета. Для видеоадаптера CGA режим 6 является режимом с максимальным разрешением.

Определена только одна страница видеопамяти, имеющая начальный адрес B800:0000h. Если видеоадаптеры VGA или SVGA работают в режиме 6, то они используют двойное сканирование.

Режим 0Dh


Режим 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


Режим 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, то они используют двойное сканирование.

Режим 0Fh


Монохромный графический режим с разрешением 640 пикселов по горизонтали и 350 пикселов по вертикали.

Видеоадаптер EGA поддерживает две страницы экрана за исключением того случая, когда видеопамять ограничена 64 Кбайт. В этом случае доступна только одна страница.

Страницы видеопамяти располагаются по следующим адресам:


Страница 0 - A000:0000h

Страница 1 - A000:8000h


Каждый пиксел определяется двумя битами. Пикселы могут быть черного цвета, белого цвета, интенсивно белого цвета или могут отображаться постоянно мигающими.

Режим 10h


Цветной графический режим с разрешением 640 пикселов по горизонтали и 350 пикселов по вертикали. Данный режим обеспечивает отображение 16 цветов, кроме конфигураций, в которых видеоадаптер EGA укомплектован только 64 Кбайт видеопамяти. Адаптер EGA с 64 Кбайт видеопамяти обеспечивает отображение только четырех цветов.

Стандартная цветовая палитра для данного режима представлена в следующей таблице:


Полная палитра

(объем видеопамяти не меньше 128 Кбайт)

Неполная палитра

(64 Кбайт видеопамяти)

Черный

Черный

Голубой

Голубой

Зеленый

Черный

Синий

Голубой

Красный

Красный

Фиолетовый

Белый

Коричневый

Красный

Белый

Белый

Темно-серый

Черный

Светло-голубой

Голубой

Светло-зеленый

Черный

Светло-синий

Голубой

Светло-красный

Красный

Светло-малиновый

Белый

Желтый

Красный

Интенсивно-белый

Белый




Можно изменить цветовую палитру, переустановив регистры палитры в контроллере атрибутов.

Режим 11h


Цветной графический режим с разрешением 640 пикселов по горизонтали и 480 пикселов по вертикали. Данный режим обеспечивает отображение только двух цветов.

Видеопамять образует одну страницу. Начальный адрес видеопамяти A000:0000h.

Режим 12h


Цветной графический режим с разрешением 640 пикселов по горизонтали и 480 пикселов по вертикали. Данный режим обеспечивает отображение 16 цветов. Видеопамять образует одну страницу. Начальный адрес видеопамяти A000:0000h.

Режим 13h


Цветной графический режим с разрешением 320 пикселов по горизонтали и 200 пикселов по вертикали. Данный режим обеспечивает возможность одновременного отображения 256 цветов.

Несмотря на низкую разрешающую способность монитора в этом режиме, изображение кажется более реалистичным, так как появляется возможность отображать мелкие детали другим цветом.

Видеопамять образует одну страницу. Начальный адрес видеопамяти A000:0000h.