Программное управление видеоадаптером и параметрами генерируемых им сигналов осуществляется через группу его программно-доступных регистров. Видеоадаптер имеет свыше 60 регистров (каждый из которых имеет свое функциональное назначение, отдельные разряды и группы разрядов регистров тоже имеют свое функциональное назначение), уже поэтому управление видеоадаптером на уровне регистров реализуется очень сложно. Эту проблему для нас решают программы BIOS видеосистемы (VBIOS), которые «знают» как управлять на уровне регистров и команд контроллеров. ПЗУ_VBIOS не используется видеоконтроллером напрямую - к нему обращается только центральный процессор ПК.
Каждая программа VBIOS реализует свою элементарную функцию управления видеосистемой, например:
INT 10h, функция 00h - Установка видеорежима;
INT 10h, функция 02h - Установка позиции курсора;
INT 10h, функция 09h - Запись символа и атрибута в позицию курсора;
INT 10h, функция 0Сh - Запись пиксела;
и т. д.).
«Прерывание» по команде INT 10h передает управление программе обслуживания BIOSa видеосистемы, которая по номеру функции (00h, 02h, 09h, 0Ch...) запускает соответствующую программу BIOS на исполнение. Используя программы BIOS можно достаточно просто создавать программы для диагностики видеосистемы при поиcке неисправности и создавать условия для исследования процессов осциллографом и т. д.
Для управления видеоадаптерами, специалисты рекомендуют преимущественно использовать программы-функции VBIOS. Это избавит вас от неприятных минут, когда ваша работающая программа, при переносе на другую машину перестанет правильно выполняться. Видеокарты имеют свою VBIOS, которая подобна системной BIOS, но полностью независима от нее (другие устройства в компьютере тоже могут также иметь собственную BIOS). Если вы включите монитор первым и немедленно посмотрите на экран, то сможете увидеть опознавательный знак BIOS видеоадаптера в самом начале загрузки системы. BIOS видеокарты (VBIOS), подобно системной BIOS, хранится в микросхеме ROM; она содержит основные команды (программы), которые предоставляют интерфейс между оборудованием видеоадаптера и программным обеспечением, информацию о видеоадаптере, экранные шрифты и т. д. Программа, которая обращается к функциям VBIOS видеокарты, может быть автономным приложением, операционной системой или системной BIOS. Обращение к функциям VBIOS позволяет вывести информацию о мониторе во время выполнения процедуры POST и начать загрузку системы до начала загрузки с диска любых других программных драйверов. VBIOS видеокарты, как и системную BIOS, можно модернизировать двумя способами. Если VBIOS записана в микросхеме EEPROM, то ее содержимое можно модифицировать с помощью специальной программы, поставляемой изготовителем адаптера. В противном случае микросхему можно заменить новой, опять-таки поставляемой изготовителем. VBIOS, которую можно модифицировать с помощью программного обеспечения, иногда называется flash BIOS. Обновление VBIOS видеокарты может потребоваться в том случае, если старый адаптер используется в новой операционной системе или изготовитель обнаруживает существенный дефект в первоначальном коде программы. Модернизировать VBIOS видеоадаптера только потому, что появилась новая, пересмотренная версия конечно не следует (не модернизируйте, если в этом нет необходимости).
В ПЗУ_VBIOS записаны программы BIOS видеокарты, экранные шрифты, служебные таблицы и т. п. VBIOS обеспечивает инициализацию и работу видеокарты до загрузки основной операционной системы, задаёт все низкоуровневые параметры видеокарты, в том числе рабочие частоты и питающие напряжения графического процессора и видеопамяти, тайминги памяти. Также VBIOS содержит системные данные, которые могут читаться и интерпретироваться видеодрайвером в процессе работы (в зависимости от применяемого метода разделения ответственности между драйвером и BIOS). На многих современных картах устанавливаются электрически перепрограммируемые ПЗУ (EEPROM, Flash ROM), допускающие перезапись видео-BIOS самим пользователем при помощи специальной программы.
Рис. 1. Пример использования программ VBIOS.