Общая характеристика стандарта VESA. Стандартизация видеорежимов.
Video Electronics Standards Association (ассоциация стандартизации видеоэлектроники), сокращенно VESA, была основана в 1989 году. В августе того же года она опубликовала свой первый стандарт для 16-цветного видеорежима SVGA с разрешением 800x600 точек. С тех пор ассоциация выпустила множество различных стандартов, охватывающих широкий спектр видеооборудования. Одной из ее известных разработок является стандарт на системную шину VLB (VESA Local BUS) для микропроцессора Intel 486. Однако, как уже говорилось, эта шина не прижилась.
Если у вас есть доступ к сети Internet, то подробные сведения об ассоциации VESA и ее продукции можно найти на серверах www.vesa.org и ftp.vesa.org.
Нас будут интересовать стандарты VESA, регламентирующие способы программирования видеокарт. Первый завершенный стандарт появился в октябре 1991 года, он определял полный набор видеорежимов SVGA и дополнительных функций BIOS и назывался VESA BIOS Extension (VBE) version 1.2.
Это функции той части BIOS, которая расположена на видеокартах и обслуживает видеосервис. Стандарт объединил предыдущие версии VBE 1.0 и VBE 1.1. Ему соответствуют практически все видеокарты, изготовленные начиная с 1992 года. Более современные видеокарты поддерживают версию VBE 2.0, которая совместима (сверху вниз) с версией VBE 1.2. Поэтому учет рекомендаций VESA при программировании работы с графикой позволяет создавать переносимые задачи, которые будут правильно работать независимо от модели видеокарты, установленной на конкретном компьютере.
Стандартизация видеорежимов
Понятие "видеорежим" является обобщенной характеристикой текущего состояния видеоконтроллера. Основная функция видеоконтроллера состоит в отображении содержимого видеопамяти на экране монитора. Выполнение этой функции зависит от множества величин, хранящихся во внутренних регистрах видеоконтроллера. Значения этих величин определяются при установке видеорежима. Нас интересуют те из них, которые не только влияют на работу видеокарты, но и должны учитываться в прикладных задачах.
Характеристики видеорежимов
Прежде всего, видеорежимы делятся на текстовые и графические. В зависимости от типа режима прикладная задача записывает в видеопамять или коды символов в стандарте ASCII, или коды отдельных точек графического объекта. При работе в графических режимах видеоконтроллер просто выводит на экран точки, коды которых хранятся в видеопамяти. При работе в текстовых режимах он, по кодам символов, выбирает их изображения из специальных таблиц, а затем выводит точки изображений на экран.
Другой важной характеристикой является разрешающая способность. В зависимости от типа видеорежима она измеряется количеством символов или точек, которое можно разместить по горизонтали и вертикали в пределах рабочей области экрана. Количество точек является основной, а количество символов – производной единицей, т. к. оно зависит от первой величины и от размеров ячейки (знакоместа), отведенной для размещения одного символа.
Точки, расположенные по горизонтали, образуют строку, а по вертикали – столбец (в документации на BIOS используются термины row (ряд) и column (столбец). Количество точек в строке и в столбце не может быть произвольным, оно всегда кратно восьми. Максимально возможное количество точек в строке зависит от разрешающей способности монитора и его геометрических размеров. У современных мониторов минимальное расстояние между центрами смежных точек составляет от 0.28 до 0.26 мм. При размере экрана 14 дюймов по диагонали количество точек в строке не превышает 1024. У 15-дюймовых мониторов оно достигает значения 1280. Однако возможность работы в режимах с высоком разрешением зависит еще и от видеокарты, о чем будет сказано ниже.
Расстояние между соседними точками, расположенными по горизонтали и вертикали, подбирается одинаковым, для того чтобы изображение квадрата на экране выглядело как квадрат, а не как прямоугольник. Обычно количество точек по горизонтали больше, чем по вертикали, но существуют мониторы и с вертикальной ориентацией страницы.
Рабочая область никогда не заполняет всю видимую часть экрана. Во всех видеорежимах ее окружает пространство, которое в документации называется overscan или border (граница, кайма). Поэтому в разных режимах геометрические размеры рабочей области могут не совпадать.
Важной характеристикой видеорежимов является количество цветов, которое можно одновременно отобразить на экране. Во всех графических режимах цвет получается в результате совмещения в одной точке экрана трех базовых цветов (красного, зеленого и синего) разной интенсивности. В зависимости от видеорежима коды базовых цветов располагаются либо в специальных регистрах видеокарты, либо в видеопамяти, т. е. непосредственно в коде точки. Первую категорию режимов принято называть packed pixel graphics (упакованная точечная графика), а вторую – direct color (непосредственный цвет). Вторая категория, в свою очередь, делится на режимы Hi-Color и True Color. В любом случае от видеорежима зависят размер кода точки и размеры кодов базовых цветов.