VESA BIOS Extensions

редактировать
Стандарт программного обеспечения видеоплаты

VESA BIOS Extensions (VBE ) - Стандарт VESA, в настоящее время находится в версии 3, который определяет интерфейс, который может использоваться программным обеспечением для доступа к совместимым видеоплатам с высоким разрешением и битовой глубиной. Это противоположно «традиционным» вызовам int 10h BIOS, которые ограничены разрешением 640 × 480 пикселей с глубиной цвета 16 (4 бита). или менее. VBE предоставляется через BIOS видеокарты , которая устанавливает во время загрузки некоторые векторы прерывания , которые указывают на сам.

Большинство новых карт реализуют более функциональный стандарт VBE 3.0. Более старые версии VBE предоставляют только интерфейс реального режима, который невозможно использовать без значительного снижения производительности в операционных системах защищенного режима. Следовательно, стандарт VBE почти никогда не использовался для написания драйверов видеокарты; Таким образом, каждому поставщику пришлось изобрести собственный протокол для связи со своей собственной видеокартой. Несмотря на это, обычно драйвер преобразует в прерывание реального режима, чтобы инициализировать режимы экрана и получить прямой доступ к линейному буферу кадра карты, поскольку в противном случае эти задачи требуют обработки многих сотен патентованных вариаций, существующих от карты к карте.

Содержание
  • 1 Стандарты
    • 1.1 Ранние версии VBE
    • 1.2 Расширения VESA BIOS (ядро VBE) 2.0 [ноябрь 1994 г.]
    • 1.3 Расширения VESA BIOS (ядро VBE) 3.0 [сентябрь 1998 г.]
    • 1.4 Функции VBE / ускорителя (VBE / AF) [август 1996]
    • 1.5 Дополнительные спецификации
      • 1.5.1 Расширения управления питанием (PM)
      • 1.5.2 Расширения интерфейса плоской панели (FP)
      • 1.5. 3 Расширения аудиоинтерфейса (AI)
      • 1.5.4 Расширения OEM
      • 1.5.5 Канал данных дисплея (DDC)
      • 1.5.6 Интерфейс последовательного управления (SCI)
  • 2 Номера режима VBE
    • 2.1 Режимы, определенные VESA
    • 2.2 Другие широко доступные графические режимы
    • 2.3 Обнаружение режима
    • 2.4 Номера видеорежимов Linux
    • 2.5 Режимы, доступные в Parallels
  • 3 См. Также
  • 4 Ссылки
  • 5 Дополнительная литература
  • 6 Внешние ссылки
Стандарты

Ранняя версия VBE

VBE 1.0 (VS891001) была определена в 1989 году. VBE 1.1 (VS900602) была определена в 1990 году. VBE 1.2 (VS911022)) был определен в 1991 году. Эти версии VBE требуют для работы реального режима.

VBE определяет несколько новых функций, вызываемых через INT 10H. Нумерация функций начинается с AX = 4F00 или (AH = 4F, AL = 00) для функции 00h. 00h до 05h были определены в VBE 1.0, 06h и 07h в 1.1 и 08h в 1.2.

Расширения VESA BIOS (ядро VBE) 2.0 [ноябрь 1994 г.]

Этот стандарт обеспечивает основные функции расширений VESA BIOS. Он позволяет приложениям определять возможности видеокарты и предоставляет возможность устанавливать найденные режимы отображения. VBE 2.0 добавляет некоторые новые функции по сравнению с предыдущим стандартом VBE 1.2, включая линейный фреймбуфер доступ и защищенный режим банкинг. Некоторые из функций VBE Core 2.0 включают в себя:

Линейный доступ к кадровому буферу
Включает прямой доступ к кадровому буферу в защищенном режиме в виде одной большой области памяти вместо менее эффективных небольших фрагментов.
Банкинг в защищенном режиме
Разрешает доступ к фреймбуферу из защищенного режима без «перехода» в реальный режим. Это реализовано с помощью новой функции 0Ah.
Super VGA перелистывание страниц
Позволяет более производительную анимацию обеспечивать плавную анимацию для компьютерных игр и других высокопроизводительных графических программ.
Виртуальные экраны Super VGA
Позволяют программному обеспечению устанавливать виртуальное разрешение экрана, превышающее фактическое отображаемое разрешение, и плавно прокручивать или панорамировать увеличенное изображение.
High Color и TrueColor modes
16-битные и 24-битные графические режимы промышленного стандарта для разрешений от 320 × 200 до 1600 × 1200.

Расширения VESA BIOS (ядро VBE) 3.0 [ Сентябрь 1998 г.]

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

Тройная буферизация
Позволяет высокоскоростным приложениям выполнять мультибуферизацию с меньшим мерцанием экрана и без ожидания графического контроллера.
Управление частотой обновления с использованием времени GTF
Это позволяет приложениям и утилитам операционной системы изменять частоту обновления стандартным способом на всех графических контроллерах VBE 3.0. Это важно для приложений со стереозвуком, поскольку при включении стереозвука эффективная частота обновления пользователя уменьшается вдвое.
Переворот стереостраницы
При просмотре приложения с использованием стерео очков, Программное обеспечение должно переворачивать страницы в два раза чаще, чем обычно, потому что оно должно генерировать отдельные изображения для каждого глаза. Эта новая функция обеспечивает правильное отображение стерео-совместимого программного обеспечения.
Аппаратная стереосинхронизация
Позволяет стереофоническому программному обеспечению определять, есть ли разъем для стереоочков на видеокарте пользователя.

Новый «Точка входа в защищенный режим» была добавлена ​​в качестве альтернативы функции 0Ah.

Функции VBE / ускорителя (VBE / AF) [август 1996]

VBE / AF обеспечивает стандартный интерфейс низкого уровня для общих функций ускорения, доступных на большинстве аппаратных средств. Некоторые из функций, определенных в стандарте, включают доступ к аппаратным курсорам, Передача битовых блоков (Bit Blt), внеэкранные спрайты, аппаратное панорамирование, рисование и другие функции. Он определен для работы в защищенном режиме.

Дополнительные спецификации

Дополнительные характеристики обеспечивают независимый от устройства интерфейс между прикладным программным обеспечением и оборудованием Super VGA. Номера функций назначаются Комитетом по стандартам программного обеспечения VESA (SSC).

Расширения управления питанием (PM)

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

Расширения интерфейса плоской панели (FP)

Обеспечивает доступ к специальным функциям контроллеров плоской панели.

Расширения аудиоинтерфейса (AI)

Обеспечивает стандарт для аудиоуслуг.

В настоящее время (версия 1.00) спецификация VBE / AI определяет три класса устройств: WAVE, MIDI и VOLUME. Типы устройств, на которые не распространяется:

элемент управления CDROM
, охватываемый Microsoft CD-ROM Extensions.
процессоры эффектов
Этот класс устройств будет расширен в будущей версии спецификации VBE / AI.

Расширения OEM

Обеспечивает стандартный ввод для расширений, зависящих от поставщика.

Display Data Channel (DDC)

Display Data Channel или DDC - это цифровое соединение между компьютерным дисплеем и графический адаптер, который позволяет дисплею передавать свои характеристики адаптеру. Стандарт был создан VESA.

последовательным интерфейсом управления (SCI)

Предоставляет аппаратно-независимые средства для операционной системы и приложений для чтения и записи данных через последовательный интерфейс управления I²C.

Номера режимов VBE

Хотя номер режима является 16-битным значением, необязательные номера режимов VBE имеют ширину 14 бит. Бит 15 используется VGA BIOS как флаг для очистки или сохранения памяти дисплея. VBE определил номера режимов следующим образом:

БитЗначение
0–8Номера режимов. Если бит 8 равен 1, это режим VBE, определенный VESA.
9-10Зарезервировано для расширения. Должен быть установлен на 0.
11Контроль частоты обновления Выбрать. Если установлено значение 1, используйте указанные пользователем значения CRTC для частоты обновления, в противном случае используйте частоту обновления BIOS по умолчанию.
12–13Зарезервировано для VBE / AF. Должен быть установлен на 0.
14Выбор буфера линейных / плоских кадров. Если установлено в 1, используйте линейный буфер кадра, в противном случае используйте буфер кадра с разбивкой по банкам.
15Сохранить выбор памяти дисплея. Если установлено значение 1, сохранить память дисплея, в противном случае очистить память дисплея.

Начиная с VBE / Core 2.0, VESA больше не определяет новые номера режимов VESA и больше не требует устройства для реализации старых номеров. Чтобы правильно определить информацию о режиме экрана, используйте функцию 01h - вернуть информацию о режиме VBE.

Режим 81FFh - это специальный видеорежим, предназначенный для сохранения текущего содержимого памяти и предоставления доступа ко всей видеопамяти.

Режимы, определенные VESA

Начиная со стандарта VBE 2.0, новые режимы не будут определяться VESA, а старые режимы больше не являются обязательными. Использование определенных режимов следует считать устаревшим: современные видеокарты могут использовать или не использовать эти номера режимов (даже если большинство из них используют для обратной совместимости), а современное программное обеспечение не должно их использовать. Правильный способ для программного обеспечения обнаружить доступные режимы отображения - получить список режимов (используя «Функция 00h - возврат информации о контроллере VBE»), а затем проверять каждый режим (используя «Функция 01h: возвращать информацию о режиме VBE»), пока не найдет требуемый режим / ы.

Графические режимы320 × 200640 × 400640 × 480800 × 6001024 × 7681280 × 1024
16-цветная палитра258 (0102h), 106 (6Ah)260 (0104h)262 (0106h)
256-цветная палитра256 (0100h)257 (0101h)259 (0103h)261 (0105h)263 (0107h)
15-битное (5: 5: 5)269 (010Dh)272 (0110h)275 (0113h)278 (0116h)281 (0119h)
16-бит (5: 6: 5)270 (010Eh)273 (0111h)276 (0114h)279 (0117h)282 (011Ah)
24-бит (8: 8: 8)271 ( 010Fh)274 (0112h)277 (0115h)280 (0118h)283 (011Bh)

Режимы 264–268 являются текстовыми режимами. 264 (0108h) - 80 столбцов × 60 строк (80 × 60), 265 (0109h) - 132 × 25, 266 (010Ah) - 132 × 43, 267 (010Bh) - 132 × 50 и 268 (010Ch) - 132 × 60.

Текстовые режимыСтолбцы
Строки80132
25265 (0109h)
43266 (010Ah)
50267 (010Bh)
60264 (0108h)268 (010Ch)

Другие общедоступные графические режимы

В таблице ниже объединены режимы, определенные VESA (значения обозначены черным цветом) вместе с обычно используемыми режимами, но которые могут работать не на всех видеокартах, поскольку они не определены никаким стандартом (обозначены красным).

Графические режимы320 × 200640 × 400640 × 480800 × 500800 × 600896 ×6721,024 ×6401,024 ×7681152 ×7201280 × 10241360 × 7681440 × 9001600 × 1200
16-цветная палитра258 (0102h),. 106 (6Ah)260 (0104h))262 (0106h)
256-цветная палитра256 (0100h)257 (0101h)367 (016Fh)259 ( 0103h)303 (012Fh)362 (016Ah)261 (0105h)357 (0165h)263 ( 0107h)352 (0160h)284 (011Ch)
15-бит (5: 5: 5)269 (010Dh)289 ( 0121h)272 (0110h)368 (0170h)275 (0113h)304 (0130h)363 ( 016Bh)278 (0116h)358 (0166h)281 (0119h)353 (0161h)285 (011Dh)
16-бит (5: 6: 5)270 (010Eh)290 (0122h)273 (0111h)369 ( 0171h)276 (0114h)305 (0131h)364 (016Ch)279 (0117h)359 ( 0167h)2 82 (011Ah)978 (03d2h)354 (0162h)286 (011Eh)
24-бит (8: 8: 8)271 (010Fh)291 (0123h)274 (0112h)370 (0172h)277 (0115h)306 (0132h)365 (016Dh)280 (0118h)360 (0168h)283 (011Bh)355 (0163h)287 (011Fh)
32-бит (8: 8: 8)292 (0124h)297 (0129h)371 (0173h)302 (012Eh)307 (0133h)366 (016Eh)312 (0138h)361 (0169h)317 (013Dh)980 (03d4h)356 (0164h)322 (0142h)

{{} }

  1. ^ Режимы, доступные через традиционный 10h вызов BIOS
  2. ^352 (0160h), также, по-видимому, выбирают 1280 × 800 (8-бит) для дисплеев различных ноутбуков.
  3. ^32-бит действительно (8: 8: 8: 8), но последнее 8-битное число является «пустым» альфа-каналом. В противном случае он равен 24-битному цвету. Многие графические процессоры используют 32-битный цветовой режим вместо 24-битного просто для более быстрого доступа к видеопамяти за счет 32-битного выравнивания памяти.
  4. ^322 (0142h) составляет 1400 × 1050

Обнаружение режима

Было написано несколько инструментов для обнаружения режимов VBE, доступных в системе. Обычно они работают, вызывая функцию 01h, что более надежно, чем использование таблицы расширенных режимов, поскольку она является частью самодокументирования устройства.

  • hwinfo - это инструмент обнаружения оборудования, используемый в SuSE Linux и некоторых других дистрибутивах Linux. Запуск hwinfo --framebufferсообщает графическую информацию, включая режимы VESA, в строке «Mode».
  • mdt - это инструмент Linux или DOS, который определяет поддержку VBE и печатает видео информация BIOS.
  • Интерфейс реального режима Linux (LRMI) имеет программу vbetest, которая распечатывает информацию VESA.
  • SciTech Software имеет несвязанный vbetestдля DOS, которая датируется 1994 годом.
  • Версия x86 "PC" GNU GRUB 2 имеет команду vbeinfoдля вывода доступных видеорежимов и vbetestдля пробного использования определенного режима. Они используют встроенную таблицу вместо Funcion 01h. Для других платформ, включая x86 EFI, они заменены более общими videoinfoи videotest.

номерами видеорежимов Linux

ядро ​​Linux позволяет пользователь выбирает режим VESA во время загрузки, передавая ядру код из памяти. Загрузчик LILO передает этот код на основе параметра "vga" в своем файле конфигурации. Он принимает форму «vga = XXX», где XXX - десятичное значение, или «vga = 0xHHH», где HHH - шестнадцатеричное значение. Однако параметр загрузчика 'vga =' не принимает напрямую номера видеорежима VESA; скорее, номер видеорежима Linux - это число VESA плюс 512 (в случае десятичного представления) или плюс 0x200 (в случае шестнадцатеричного представления). Например, определенное значение VESA 257 (0x101), представляющее 640x480 и 256 цветов, имеет эквивалентное значение видеорежима Linux 769 (0x301).

Как указывалось ранее, стандарт VESA определяет ограниченный набор режимы; в частности, не распространяется ни один из них с разрешением выше 1280 × 1024, и вместо этого их реализация является полностью необязательной для производителей графических адаптеров. Поскольку поставщики могут использовать любые дополнительные значения, которые им заблагорассудится, это означает, что в приведенной ниже таблице режимы, обозначенные красным (и выраженные в десятичной форме), могут не применяться к вашему графическому адаптеру !

320 × 200640 × 400640 × 480800 × 500800 × 600896 × 6721024 × 6401024 × 7681152 × 7201280 × 10241400 × 10501440 × 9001600 × 12001920 × 1200
16 цветов770 0302h772 0304h774 0306h
256 цветов768 0300h769 0301h879 036Fh771 0303h815 032Fh874 036Ah773 0305h869775 0307h835864796893
15-бит (5: 5: 5)781 030Dh801 0321h784 0310h880 0370h787 0313h816 0330h875 036Bh790 0316h870793 0319h865797
16-бит (5: 6 : 5)782 030Eh802 0322h785 0311h881 0371h788 0314h817 0331h876 036Ch791 0317h871794 031Ah837866798
24-бит (8: 8: 8)783 030Fh803 0323h786 0312h882 0372h789 0315h818 0332h877 036Dh792 0318h872795 031Bh838867799
32-бит (8: 8: 8)804809883814819878824873829868834

1: 32-битный действительно (8 : 8: 8: 8), но последнее 8-битное число - это «пустой» альфа-канал. В противном случае он равен 24-битному цвету. Многие графические процессоры используют 32-битный цветовой режим вместо 24-битного просто для более быстрого доступа к видеопамяти за счет 32-битного выравнивания памяти.

vga = 864 [352 (0160h)] также, по-видимому, выбирает 1280 × 800 (8-битный) для дисплеев различных ноутбуков.. vga = 834 [322 (0142h)] - 1400 × 1050

Режимы, доступные в Parallels

Эмуляция VESA BIOS на виртуальной машине Parallels имеет другой набор нестандартных режимов VESA. Начиная с сборки 3214, LRMI vbetest показывает следующие режимы:

640 × 400640 × 480720 × 480800 × 500800 × 600896 × 6721024 × 6401024 × 7681152 × 7201280 × 10241440 × 9001600 × 1200
256 цветовая палитра256 (0100h)257 (0101h)367 ( 016Fh)364 (016Ch)259 (0103h)297 (0129h)358 (0166h)261 ( 0105h)355 (0163h)263 (0107h)352 (0160h)284 (011Ch)
15-бит (5 : 5: 5)272 (0110h)275 (0113h)278 (0116h)281 (0119h)285 (011Dh)
16-бит (5: 6 : 5)289 (0121h)273 (0111h)368 (0170h)365 (016Dh)276 (0114h)298 (012Ah)359 (0167h)279 (0117h)356 (0164h)282 (011Ah)353 (0161h)286 (011Eh)
24-битное (8: 8: 8)290 (0122h)274 (0112h)369 (0171h)366 (016Eh)277 (0115h)299 (012Bh)360 (0168h)280 (0118h)357 (0165h)283 (011Bh)354 (0162h)287 (011Fh)
См. Также
Ссылки
Дополнительная литература
Внешние ссылки
Последняя правка сделана 2021-06-18 07:37:03
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте