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


Регистр данных таблицы цветов (Look-up Table Data Register - LTDR)


Регистр используется для получения доступа к регистрам таблицы цветов. Для чтения и записи одного элемента таблицы цветов необходимо три раза прочитать (записать) содержимое регистра данных. При этом каждый раз считывается (записывается) шесть очередных битов. Первые шесть битов отвечают за интенсивность красного, вторые - зеленого и третьи - синего цвета.

Нельзя прерывать цикл чтения регистров таблицы цветов, состоящий из трех операций чтения, выполнением операции записи в другой регистр таблицы и наоборот. Во время доступа к регистру LTDR прерывания должны быть запрещены. Между операциями доступа к регистрам таблицы цвета необходимо выдержать временной интервал не менее 240 наносекунд.

D5-D0    Данные для обмена с регистрами таблицы цветов.

D7-D6    Не используется.

Программа VGA256 (листинг 4.13) записывает новые значения в таблицу цветов непосредственно через регистры цифро-аналогового преобразователя VGA. На экране монитора отображается пять вертикальных полос различного цвета. Каждая полоса состоит из 64 вертикальных линий. Интенсивность цвета этих линий плавно уменьшается слева на право.

Листинг 4.13. Файл VGA256.C

#include                <stdio.h>

#include                <conio.h>

#include                "sysp.h"

#include                "sysgraph.h"

#include                <dos.h>


// Описания функций

int           main( void );

void        SetVideoMode( unsigned char );

void        Hello(void);


// Функция SetVgaDAC определена в файле DACTABLE.ASM

void __pascal __far           SetVgaDAC(unsigned, unsigned);


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

// Главная функция

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

int main( void )

{

 

RGB      color_table[256];

 

int          error, x_num, y_num;

 

unsigned             i, j, iii;

 

unsigned             seg_table,off_table;

 

unsigned char   far *ptr;


// Записываем в массив color_table новые значения для

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




Начало  Назад  Вперед



Книжный магазин