Extensiones de BIOS VESA

Ajustar Compartir Imprimir Citar
Software de tableros de vídeo estándar

Extensiones BIOS VESA (VBE) es un estándar VESA, actualmente en la versión 3, que define la interfaz que puede usar el software para acceder a placas de video compatibles a alta Resoluciones y profundidades de bits. Esto se opone al "tradicional" Llamadas de BIOS INT 10h, que están limitadas a resoluciones de 640 × 480 píxeles con una profundidad de 16 colores (4 bits) o menos. VBE está disponible a través del BIOS de la tarjeta de video, que instala durante el arranque algunos vectores de interrupción que apuntan a sí mismo.

La mayoría de las tarjetas más nuevas implementan el estándar VBE 3.0 de mayor capacidad. Las versiones anteriores de VBE solo brindan una interfaz de modo real, que no se puede usar sin una penalización significativa en el rendimiento dentro de los sistemas operativos en modo protegido. En consecuencia, el estándar VBE casi nunca se ha utilizado para escribir los controladores de una tarjeta de video; por lo tanto, cada proveedor ha tenido que inventar un protocolo propietario para comunicarse con su propia tarjeta de video. A pesar de esto, es común que un controlador recurra a la interrupción del modo real para inicializar los modos de pantalla y obtener acceso directo al búfer de cuadro lineal de una tarjeta, porque de lo contrario estas tareas requerirían manejar muchos cientos de variaciones propietarias que existen de tarjeta en tarjeta.

En los sistemas EFI 1.x, las extensiones INT 10H y VESA BIOS (VBE) se reemplazan por el protocolo EFI UGA. En los sistemas UEFI 2.x ampliamente utilizados, el INT 10H y el VBE se reemplazan por el UEFI GOP.

Estándares

VBE temprana

(feminine)

VBE 1.0 (VS891001) se definió en 1989. VBE 1.1 (VS900602) se definió en 1990. VBE 1.2 (VS911022) se definió en 1991. Estas versiones de VBE requieren el modo real para funcionar.

VBE define varias funciones nuevas llamadas a través de INT 10H. La numeración de funciones comienza con AX=4F00, o (AH=4F, AL=00), para Función 00h. 00h a 05h se definieron en VBE 1.0, 06h y 07h en 1.1 y 08h en 1.2.

Extensiones de BIOS VESA (núcleo VBE) 2.0 (noviembre de 1994)

Este estándar proporciona la funcionalidad principal de las extensiones VESA BIOS. Permite que las aplicaciones determinen las capacidades de la tarjeta gráfica y brinda la posibilidad de establecer los modos de visualización que se encuentran. VBE 2.0 agrega algunas características nuevas por encima del estándar VBE 1.2 anterior, incluido el acceso al búfer de cuadros lineal y la banca en modo protegido. Algunas de las características de VBE Core 2.0 incluyen:

Acceso para amortiguación lineal
Permite el acceso directo de framebuffer en modo protegido como un gran área de memoria en lugar de pequeños trozos menos eficientes.
Banca de modo protegido
Permite el acceso al framebuffer desde el modo protegido sin "tunking" hasta el modo real. Esto se implementa utilizando un nuevo Función 0Ah.
Super VGA página flipando
Permite una animación de mayor rendimiento para ofrecer una animación suave para juegos de computadora y otros programas gráficos de alto rendimiento.
Super VGA pantallas virtuales
Permite que el software establezca resoluciones de pantalla virtual, más grandes que la resolución real mostrada, y desplazarse suavemente o alrededor de la imagen más grande.
Modos de alto color y TrueColor
Modos gráficos estándar de 16 bits y 24 bits para resoluciones de 320×200 hasta 1600×1200.

Extensiones de BIOS VESA (núcleo VBE) 3.0 (septiembre de 1998)

Un superconjunto del estándar VBE 2.0. Este estándar agrega control de frecuencia de actualización, instalaciones para anteojos estéreo, almacenamiento en búfer múltiple mejorado y otras funciones al estándar VBE 2.0.

Triple amortiguación
Permite a las aplicaciones de alta velocidad realizar multi-buffering con menos pantallas y sin tener que esperar al controlador de gráficos.
Control de la tasa de retroceso utilizando los tiempos de GTF
Esto permite que las aplicaciones y las utilidades del sistema operativo cambien la tasa de actualización de forma estándar en todos los controladores gráficos VBE 3.0. Importante para aplicaciones estéreo, ya que cuando esté habilitado el estéreo, la tasa de actualización efectiva del usuario se reduce a la mitad.
Página de Stereo flipando
Al ver una aplicación usando gafas estéreo, el software necesita girar dos veces más a menudo como normal, porque necesita generar imágenes separadas para cada ojo. Esta nueva función permite que el software compatible con estéreo se muestre correctamente.
Sincronización estéreo de hardware
Permite que el software estéreo determine si hay un conector para gafas estéreo en la tarjeta gráfica del usuario.

Un nuevo "punto de entrada al modo protegido" se añadió como alternativa a la Función 0Ah.

VBE/funciones de acelerador (VBE/AF) (agosto de 1996)

VBE/AF proporciona una interfaz estándar de bajo nivel para las funciones de aceleración comunes disponibles en la mayoría del hardware. Algunas de las funciones definidas en el estándar son el acceso a cursores de hardware, transferencias de bloques de bits (Bit Blt), sprites fuera de pantalla, paneo de hardware, dibujo y otras funciones. Está definido para funcionar en modo protegido de 32 bits.

Especificaciones complementarias

Las especificaciones complementarias proporcionan una interfaz independiente del dispositivo entre el software de la aplicación y el hardware Super VGA. Los números de función son asignados por el Comité de estándares de software VESA (SSC).

Extensiones de administración de energía (PM)

DPMS es un estándar de hardware que permite que las tarjetas gráficas se comuniquen con monitores compatibles con DPMS a través de un sistema de señalización especial que se puede usar con controladores de gráficos y cables de monitor existentes. Este sistema de señalización permite que la tarjeta gráfica le indique al monitor que entre en varios estados diferentes de administración de energía o ahorro de energía, lo que permite que el monitor se apague solo cuando no está en uso.

Extensiones de interfaz de panel plano (FP)

Permite el acceso a funciones especiales en los controladores de pantalla plana.

Extensiones de interfaz de audio (IA)

Proporciona estándar a los servicios de audio.

Actualmente (versión 1.00), la especificación VBE/AI define tres clases de dispositivos: WAVE, MIDI y VOLUME. Tipos de dispositivos no cubiertos:

Control de CDROM
que está cubierto por las extensiones CD-ROM de Microsoft.
Procesadores de efectos
Esta clase de dispositivo se ampliará en la versión futura de la especificación VBE/AI.

Extensiones OEM

Proporciona una entrada estándar a las extensiones específicas del proveedor.

Mostrar canal de datos (DDC)

El canal de datos de pantalla o DDC es una conexión digital entre una pantalla de computadora y un adaptador de gráficos que permite que la pantalla comunique sus especificaciones al adaptador. El estándar fue creado por VESA.

Interfaz de control en serie (SCI)

Proporciona medios independientes del hardware para que el sistema operativo y la aplicación lean y escriban datos a través de la interfaz de control serie I²C.

Números de modo VBE

Aunque el número de modo es un valor de 16 bits, los números de modo VBE opcionales tienen 14 bits de ancho. El BIOS VGA utiliza el bit 15 como indicador para borrar o conservar la memoria de la pantalla. Números de modo definidos por VBE de la siguiente manera:

BitSignificado
0 a 8Números de modo. Si el bit 8 es 1, es un modo VESA definido VBE.
9 a 10Reservado para la expansión. Debe estar listo a 0.
11Control de velocidad de ajuste Seleccione. Si se establece en 1, utilice los valores de CRTC especificados por el usuario para tasa de actualización, de lo contrario utilice la tasa de actualización predeterminada de BIOS.
12 a 13Reservado para VBE/AF. Debe estar listo a 0.
14Soporte de marco lineal/Flat Select. Si se establece en 1, utilice búfer de marco lineal, de lo contrario utilice búfer de marco bancario.
15Visualización Preserve Memory Select. Si se establece en 1, conservar la memoria de visualización, de lo contrario la memoria de visualización clara.

A partir de VBE/Core 2.0, VESA ya no define nuevos números de modo VESA y ya no requiere un dispositivo para implementar los números antiguos. Para detectar correctamente la información de un modo de pantalla, utilice la Función 01h - Devolver información del modo VBE.

El modo 81FFh es un modo de video especial diseñado para preservar el contenido actual de la memoria y brindar acceso a toda la memoria de video.

Modos definidos por VESA

A partir del estándar VBE 2.0, VESA no definirá nuevos modos y los modos antiguos ya no serán obligatorios. El uso de modos definidos debe considerarse obsoleto: las tarjetas de video modernas pueden o no usar estos números de modo (aunque la mayoría lo hace por compatibilidad con versiones anteriores), y el software moderno no debe usarlos. La forma correcta para que el software descubra los modos de visualización disponibles es obtener una lista de modos (usando la "Función 00h - Devolver información del controlador VBE") y luego verificar cada modo (usando la "Función 01h: Devolver Información del modo VBE") hasta que encuentre el/los modo/s que requiere.

Modos gráficos 320×200640×400640×480800×6001024×7681280×1024
Paleta de 16 colores 258 (0102h), 106 (6Ah)260 (0104h)262 (0106h)
Paleta de 256 colores 256 (0100h)257 (0101h)259 (0103h)261 (0105h)263 (0107h)
15-bit (5:5:5) 269 (010Dh)272 (0110h)275 (0113h)278 (0116h)281 (0119h)
16-bit (5:6:5) 270 (010Eh)273 (0111h)276 (0114h)279 (0117h)282 (011Ah)
24-bit (8:8:8) 271 (010Fh)274 (0112h)277 (0115h)280 (0118h)283 (011Bh)

Los modos 264–268 son modos de texto. 264 (0108h) es 80 columnas × 60 filas (80 × 60), 265 (0109h) es 132 × 25, 266 (010Ah) es 132 × 43, 267 (010Bh) es 132 × 50 y 268 (010Ch) es 132 × 60

Modos de texto Columnas
Rows 80132
25 265 (0109h)
43 266 (010Ah)
50 267 (010Bh)
60 264 (0108h)268 (010Ch)

Otros modos de gráficos comúnmente disponibles

La siguiente tabla combina los modos definidos por VESA (los valores indicados en negro) junto con los modos comúnmente usados, pero que pueden no funcionar en todas las tarjetas gráficas ya que no están definidos por ningún estándar (indicado en rojo).

Modos gráficos 320×200640×400640×480800×500800×600896×6721,024×6401,024×7681152× 7201280×10241360× 7681440×9001600×1200
Paleta de 16 colores 258 (0102h),
106 (6Ah)
260 (0104h)262 (0106h)
Paleta de 256 colores 256 (0100h)257 (0101h)367 (016Fh)259 (0103h)303 (012Fh)362 (016Ah)261 (0105h)357 (0165h)263 (0107h)352 (0160h) 284 (011Ch)
15-bit (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-bit (5:6:5) 270 (010Eh)290 (0122h)273 (0111h)369 (0171h)276 (0114h)305 (0131h)364 (016Ch)279 (0117h)359 (0167h)282 (011Ah) 978 (03d2h)354 (0162h)286 (011Eh)
24-bit (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-bit (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)

Detección de modo

Se han escrito algunas herramientas para detectar los modos VBE disponibles en un sistema. Por lo general, funcionan invocando la Función 01h, que es más confiable que asumir una tabla de modos extendidos, ya que es parte de la autodocumentación del dispositivo.

Números de modo de vídeo de Linux

El kernel de Linux permite al usuario seleccionar el modo VESA en el momento del arranque pasando un código en la memoria al kernel. El cargador de arranque LILO pasa este código basado en un "vga" parámetro en su archivo de configuración. Toma la forma 'vga=XXX', donde XXX es el valor decimal, o 'vga=0xHHH', donde HHH es el valor hexadecimal. Sin embargo, el 'vga=' el parámetro del cargador de arranque no acepta directamente los números de modo de video VESA; más bien, el número de modo de video de Linux es el número VESA más 512 (en el caso de la representación decimal) o más 0x200 (en el caso de la representación hexadecimal). Por ejemplo, el valor VESA definido de 257 (0x101), que representa 640x480 y 256 colores, tiene un valor de modo de video Linux equivalente de 769 (0x301).

Como se indicó anteriormente, el estándar VESA define un conjunto limitado de modos; en particular, ninguno por encima de 1280×1024 están cubiertos y, en cambio, su implementación es completamente opcional para los fabricantes de adaptadores gráficos. Dado que los proveedores son libres de utilizar los valores adicionales que deseen, esto significa que, en la siguiente tabla, los modos indicados en rojo (y expresados en formato decimal) ¡es posible que no se aplique a su adaptador de gráficos!

320×200 640×400 640×480 800×500 800×600 896×672 1024× 640 1024× 768 1152× 720 1280× 1,024 1400× 1,050 1440×900 1600× 1,200 1920×1200
16 colores 770 0302h 772 0304h 774 0306 h
256 colores 768 0300h 769 0301 h 879 036Fh 771 0303h 815 032Fh 874 036Ah 773 0305 h 869775 0307 h 835864796893
15-bit (5:5:5) 781 030Dh 801 0321 h 784 0310h 880 0370h 787 0313h 816 0330h 875 036Bh 790 0316h 870793 0319h 865797
16-bit (5:6:5) 782 030Eh 802 0322h 785 0311h 881 0371 h 788 0314h 817 0331 h 876 036Ch 791 0317h 871794 031Ah 837866798
24-bit (8:8:8) 783 030 Fh 803 0323h 786 0312h 882 0372h 789 0315 h 818 0332h 877 036Dh 792 0318h 872795 031Bh 838867799
32-bit (8:8:8)1804809883814819878824873829868834

1: 32 bits es realmente (8:8:8:8), pero el número final de 8 bits es un "vacío" canal alfa. Por lo demás, es igual al color de 24 bits. Muchas GPU usan el modo de color de 32 bits en lugar del modo de 24 bits simplemente para un acceso más rápido a la memoria de video a través de la alineación de la memoria de 32 bits.

VGA=864 [ 352 (0160h)] también aparece para seleccionar 1280×800 (8 bits) para varios portátiles' pantallas.
VGA=834 [ 322 (0142h)] es 1400 ×1050

Modos disponibles en Parallels

La emulación VESA BIOS en la máquina virtual Parallels tiene un conjunto diferente de modos VESA no estándar. A partir de la compilación 3214, LRMI vbetest revela estos modos:

640×400 640×480 720×480 800×500 800×600 896×672 1024× 640 1024× 768 1152× 720 1280× 1,024 1440×900 1600× 1,200
Paleta de 256 colores 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-bit (5:5:5) 272 (0110h) 275 (0113h) 278 (0116h) 281 (0119h) 285 (011Dh)
16-bit (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-bit (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)