Программирование видеоадаптеров




Таблица настройки палитры


Таблица настройки палитры содержит значения, загружаемые при выборе режима работы видеоадаптера в регистр положения подчеркивания символа (регистра ULR), регистры палитры, и регистры таблицы цветов.

Смещение

Размер

Описание

00h

Байт

Управление подчеркиванием символов в текстовых режимах:

1 подчеркивание разрешено во всех текстовых режимах;

0 подчеркивание разрешено во всех монохромных текстовых режимах;

-1 подчеркивание не используется

01h

Байт

Зарезервировано

02h

Слово

Зарезервировано

04h

Слово

Количество регистров контроллера атрибутов, определенных в таблице

06h

Слово

Номер первого регистра контроллера атрибутов

08h

Двойное слово

Адрес таблицы, содержащей значения регистров контроллера атрибутов

0Ch

Слово

Количество регистров таблицы цветов

0Eh

Слово

Номер первого регистра таблицы цветов

10h

Двойное слово

Адрес таблицы, содержащей значения регистров таблицы цветов

14h

Массив байт переменной длины

Список режимов, в которых используется данная таблица. Каждый байт содержит номер режима. Список заканчивается числом 0FFh

Программа BIOSVAR, исходный текст которой представлен в листинге 6.1, считывает из оперативной памяти компьютера значения переменных видеофункций BIOS, а затем отображает их на экране монитора.

Формат вызова программы BIOSVAR имеет следующий вид:

BIOSVAR <номер режима>

Единственный параметр программы BIOSVAR должен задавать режим, в который переводится видеоадаптер перед чтением переменных видеофункций BIOS.

Листинг 6.1. Файл BIOSVAR.С

#include <stdio.h>

#include <dos.h>

#include <mem.h>

#include "sysgraph.h"

int           main( int, char ** );

//===========================================================

// Главная функция программы

//===========================================================

int main( int argc, char * argv[] )

{

 

BIOS_VAR _far  *bios_var_ptr;

 

BIOS_VAR bios_var_table;




Содержание  Назад  Вперед