Графмческий режим 13h
Устанавливаю графический режим 13h затем надо рисовать по адресу A000:0000 Так вот а как установить цвет точки, то есть установить задавая интенсивность красного зелёного и синего.
Чего то я никак не пойму
Устанавливаю графический режим 13h затем надо рисовать по адресу A000:0000 Так вот а как установить цвет точки, то есть установить задавая интенсивность красного зелёного и синего.
Через порты видеоадаптера VGA.
Чего то я никак не пойму
Устанавливаю графический режим 13h затем надо рисовать по адресу A000:0000 Так вот а как установить цвет точки, то есть установить задавая интенсивность красного зелёного и синего.
Режим 13h имеет расширение 320х200 пиксел. С A000:0000 начинается видеопамять. Каждый пиксел в нем занимает 1 байт. Этот байт указывает на индекс в палитре цветов. Если ты хочешь изменить например цвет верхнего левого пиксела то в адрес A000:0000 ты должен записать его индекс. Если ты запишешь например 1, то на мониторе нарисуется точка тем цветом который находится в палитре под номером 1. Палитра - это массив 3-байтовых структур. Длина массива 256. т.е. выражаясь языком С:
struct
{
unsigned char r, g, b;
} Color;
Color palette[256];
r, g, b - это соответственно красная, зеленая и синяя составляющая.
Если изменишь в палитре какой нибудь индекс то все пиксели с этим индексом мгновенно изменят цвет. А вот как изменить эти цвета в палитре я не помню.