Paso 13: Inicialización - búfer de vídeo
Los controladores de gráficos están un poco más complejos de configurar, que requiere unos pasos distintos. Como muchos de los otros conductores, el primer paso es llamar a una función Init() que configura los controladores para los parámetros actuales, pero esto requiere de unas variables globales que no se han creado todavía.Existen tres variables para crear e inicializar, siendo el primero la sección de memoria que representa el siguiente fotograma para dibujar o el búfer de vídeo. Los controladores necesitan ser representados como una matriz unidimensional de unsigned char. Para hacer este programa tan modular como sea posible, cada una de las distintas resoluciones de pantalla (y tipos de pantalla) archivos proporcionan una constante con el mismo nombre que define el tamaño del búfer de vídeo. Esta práctica constante tiene el nombre VRAM_BUF_SIZE. La declaración del búfer de vídeo se verá algo como esto:
unsigned char g_VRAMBuffer[VRAM_BUF_SIZE] attribute((far));
La función de atributo establecerá la ubicación de la matriz en el lugar correcto en la memoria.