// Демонстрация функций - выбор цветовой палитры и вывод
// пиксела.

#include <dos.h>
#include <conio.h>

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

void main(void) {

	union  REGS    inregs, outregs;
	unsigned char i, j;

	// Устанавливаем режим 4  видиоадаптера (графический
	// 320х200, 4 цвета)
	inregs.h.ah = 0x0;
	inregs.h.al = 0x4;

	int86( 0x10, &inregs, &outregs );

	// Устанавливаем цвет фона
	inregs.h.ah = 0x0B;
	inregs.h.bh = 0x0;	//устанавливаем цвет фона
	inregs.h.bl = 0x6;	//номер устанавливаемого цвета фона

	int86( 0x10, &inregs, &outregs );


	for(i = 0; i < 2; i++) {

		// Устанавливаем цветовую палитру палитру
		inregs.h.ah = 0x0B;
		inregs.h.bh = 0x1;	// установка палитры
		inregs.h.bl = i;		// номер палитры

		int86( 0x10, &inregs, &outregs );

		for(j = 0; j < 64; j++) {

			// Выводим на экран дисплея точку
			inregs.h.ah = 0x0C;
			inregs.h.al = (unsigned char)(j / 16);	// номер цвета
			inregs.x.cx = 0x10 + j;	// x-координата точки
			inregs.x.dx = 0x10 + j;	// y-координата точки

			int86( 0x10, &inregs, &outregs );
		}
		getch();
	}
}

