Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шп гр.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
2.81 Mб
Скачать

Режим 11h

Графический цветной режим с разрешением 640х480 пикселов. Данный режим поддерживают только видеоадаптеры VGA и SVGA.

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

На рисунке 3.12 представлена структура видеопамяти для режима 11h.

PICTURE._FIG_11.PCX;6";4.308";PCX

Рисунок 3.12 Структура видеопамяти режима 11h

При непосредственном доступе к видеопамяти вы можете воспользоваться следующими формулами:

Смещение байта = 50h*y+x/8 Номер бита = 7-mod(x/8)

Формулы позволяют определить для пиксела, имеющего координаты (x,y), смещение от начала станицы видеопамяти байта и номер бита в нем, управляющего данным пикселом.

Режим 12h

Режим 12h похож на режим 10h, за исключением того, что он имеет большую разрешающую способность - 640х480 пикселов. В видеопамяти задействованы все четыре цветовых слоя. Структура видеопамяти показана на рисунке 3.13.

PICTURE._FIG_10.PCX;6";4.308";PCX

Рисунок 3.13 Структура видеопамяти режима 12h

Формулы, используемые для вычисления битов, управляющих данным пикселом экрана, соответствуют формулам режима 10h.

Режим 13h

Этот режим, как и режим 12h, поддерживается только видеоадаптерами VGA и SVGA. Он обеспечивает отображение 256 различных цветов при разрешающей способности 320х200 пикселов.

Структура видеопамяти приведена на рисунке 3.14. Как видно из рисунка, в этом режиме видеопамять организована линейно. Каждый пиксел определяется одним байтом.

PICTURE._FIG_12.PCX;6";4.308";PCX

Рисунок 3.14 Структура видеопамяти в режиме 13h

Следующая формула позволяет определить смещение от начала видеопамяти байта, управляющего пикселом с координатами (x,y):

Смещение байта = 140h*y+x

5. 7. Видеоадаптеры svga

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

Подавляющее большинство видеоадаптеров SVGA обеспечивают полную совместимость с VGA на уровне регистров. Поэтому все программное обеспечение, разработанное для видеоадаптера VGA, работает с видеоадаптерами SVGA без дополнительных изменений.

Естественно, чтобы расширить возможности видеоадаптера VGA, пришлось дополнить его новыми регистрами. Видеоадаптеры SVGA имеют значительно больше регистров, чем простые видеоадаптеры VGA. Чтобы видеоадаптер SVGA смог проявить все свои возможности, необходимо, чтобы программное обеспечение правильно использовало все регистры видеоадаптера.

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

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

Самые широкие возможности для использования видеоадаптеров SVGA предоставляет операционная система Windows. В ней используются специальные драйверы, выполняющие всю работу по программированию видеоадаптеров на аппаратном уровне. Обычно драйверы разрабатываются самой фирмой создавшей видеоадаптер. Поэтому кропотливая работа с регистрами адаптера скрыта от программистов, разрабатывающих программы Windows. Они имеют дело с хорошо документированными высокоуровневыми функциями графического интерфейса.