Introducción

El acrónimo VBE significa “VESA BIOS Extensions”. El acrónimo VESA significa “Video Electronics Standard Association”. Del acrónimo BIOS creo que no hace falta aclarar el significado. Es decir que desglosar las siglas “VBE” nos lleva da algo así como “Extensiones de la BIOS de la Asociación de Estandares de Electrónica de Video”. Simplificando, las VBE son unas extensiones a las rutinas de manejo de video de la BIOS.

Las rutinas de manejo originales de la BIOS se manejan a través de una interrupción, la 10h, y permiten un manejo de la placa de video suficiente si se usa el modo texto, o modo gráfico de baja resolución. Aunque hoy en día sería más correcto quizás decir modo gráfico de muy baja resolución, ya que hablamos de resoluciones de 320×200, o 640×480, y menos de 256 colores. Las VBE habilitan configuraciones que hoy en día consideraríamos más normales. Y más allá de que tienen un grado de standarización, también existen funciones particulares asociadas a cada hardware, que permiten sacar mayor provecho del mismo.

En el caso del Bochs, por ser este un simulador, naturalmente que todo el tema tiene un grado de abstracción de la realidad, ya que al programar las VBE no estamos programando realmente ningún hardware. No obstante, el Bochs si tiene un BIOS de video, que se controla de una forma particular, similar a las de las placas del mercado, y que permite modificar sus registros, ejecutar comandos, etc, que se verán reflejados en la pantalla de la simulación.

Una referencia sobre esta Bios, llamada genéricamente “Bochs Graphic Adapter” se puede encontrar en http://wiki.osdev.org/BGA . Aquí intentaremos complementar esa información, enfocándonos en los usos prácticos que deban usarse para resolver la Guia de TP de la materia.

Interfaz con el sistema

La programación del adaptador gráfico se hace a través de dos puertos de 16 bits, los puertos 0x01CE y 0x01CF.

Por lo tanto, cada comando involucra al menos dos accesos a puertos, la primera para seleccionar la función, y la segunda para ejecutar la transacción en si. Ciertas funciones requieren que las extensiones estén deshabilitadas para poder ejecutarse correctamente, lo que puede implicar más accesos a puertos antes y después de realizar la función deseada.

Memoria de video

La bios del BGA admite dos modos de funcionamiento:

Para habilitar el modo Framebuffer, es necesario setear el bit correspondiente en el comando de habilitación de VBE.