Дисплейный адаптер, как обязательный компонент персонального компьютера, имеет поддержку основных функций в BIOS (программа BIOS – это программа реализующая свою функцию управления устройством на «физическом» уровне, т. е. на уровне регистров и команд его контроллера). У каждого устройства есть свой комплект программ BIOS. Эти функции выполняются через вызов программного прерывания по команде INT n, например через INT 10h– для программ BIOS видеосистемы. Видеосервис позволяет установить видеорежим (BIOS Video Mode), определяющий формат экрана. Первоначально для задания номера режима отводился один байт, и режим устанавливался параметром функции 0 INT 10h (АН=0, AL=Mode). Режимы 0-13h являлись стандартными для «старых» адаптеров (MDA, CGA, EGA, VGA). Режимы 14h - 7Fh использовались с VGA- или SVGA-расширениями BIOS, они были специфичны для конкретных моделей графических адаптеров. Позже появилось стандартизованное расширение функций видеосервиса VBE(VESA BIOS Extensions) для адаптеров VGA и SVGA были определены и новые видеорежимы с двухбайтными номерами старше l00h. Эти режимы устанавливаются параметром функции 4F02h INT 10h (AX=4F02h, BX=VMode).
В пределах возможностей установленного видеорежима, видеосервис предоставляет возможности отображения информации на различных уровнях. Простейший для программиста телетайпный режим позволяет посылать поток символов, которые будут построчно отображаться на экране с отработкой символов возврата каретки, перевода строки, обеспечивая «прокрутку» изображения при заполнении экрана. Есть функции и для полноэкранной работы с текстом, при которой доступны и атрибуты символа. В графическом режиме имеется возможность чтения и записи пиксела с указанными координатами. Однако видеосервисом INT 10h программисты пользуются далеко не всегда, поскольку работает он довольно медленно. Существенно ускорить работу видеосервиса позволяло затенение области ROMBIOS, хранящей программный код драйверов (Video BIOS Shadowing). Однако самым быстрым способом видеопостроений, конечно же, будет прямая работа с видеопамятью или непосредственное общение с акселератором графического контроллера, ежели таковой имеется. Так что у программиста (и пользователя) обычно есть выбор - от медленной работы, не задумываясь об архитектуре конкретного дисплейного адаптера, до быстрой работы с конкретной моделью адаптера. Программы BIOS часто используют и как средство контроля и диагностики при ремонте компонентов компьютера.
Функции видеосервиса BIOS INT 10h
Функция |
Название |
Стандартные (базовые) функции |
|
00h |
Установка видеорежима |
01h |
Установка размера и формы курсора |
02h |
Установка позиции курсора |
03h |
Чтение позиции курсора |
04h |
Чтение светового пера |
05h |
Выбор активной видеостраницы |
06h |
Прокрутка (очистка) в окне вверх |
07h |
Прокрутка в окне вниз |
08h |
Чтение символа и атрибута |
09h |
Запись символа и атрибута |
0Ah |
Запись символа |
0Bh |
Выбор палитры и бордюра |
0Ch |
Запись графического пиксела |
0Dh |
Чтение графического пиксела |
0Eh |
Вывод в телетайпном режиме |
0Fh |
Чтение видеорежима |
Расширенные функции для адаптеров EGA и VGA |
|
10h |
Установка палитры (EGA, VGA) |
11h |
Знакогенератор (EGA, VGA) |
12h |
Специальные функции (EGA, VGA) |
13h |
Вывод строки (EGA, VGA) |
14h -15h |
Функции LCD-дисплея (PC Convtrtable) |
1Ah |
Чтение/установка кодов активного и дополнительного дисплеев (VGA) |
1Bh |
Чтение блока данных состояния и возможностей видеосистемы (VGA) |
1Ch |
Сохранение и восстановление состояния видеосистемы (VGA) |
Графическиефункции SVGA VBE (VESA BIOS Extensions) |
|
4F00h |
Проверка наличия поддержки VBE |
4F01h |
Информация о режимах VBE |
4F02h |
Установка видеорежимов VBE |
4F03h |
Информация о текущем видеорежиме VBE |
4F04h |
Сохранение и восстановление состояния видеосистемы SVGA |
4F05h |
Определение окна видеопамяти SVGA |
4F06h |
Установка/чтение длины строки |
4F07h |
Установка/чтение начала экрана |
4F08h |
Установка/чтение формата палитр DAC |
4F09h |
Установка/чтение регистров палитр (RAMDAC) |
4F0Ah |
Интерфейс VBE защищенного режима |
Функции дополнительной поддержки VBE |
|
4F10h |
Управление энергопотреблением |
4F11h |
Интерфейс плоских экранных панелей (Flat Panel Interface Extensions — FP) |
4F12h |
Расширение интерфейса курсора |
4 F13h |
Расширение аудиоинтерфейса |
4F14h |
Расширение по усмотрению производителя |
4F15h |
Конфигурирование графической системы |
4F16h |
Канал связи с монитором (DDC) |