// определение конфигурации видеоадаптера

#include <stdio.h>
#include <graph.h>

void main()
{
	struct videoconfig vc;

	// заполняем поля структуры vc

	_getvideoconfig( &vc );

	// выводим на экран данные полученные в структуре vc

	printf("\nВидеоадаптер: ");
	switch(vc.adapter) {
		case _MDPA : puts("MDA.");
						 break;

		case _CGA  : puts("CGA.");
						 break;

		case _EGA  : puts("EGA.");
						 break;

		case _VGA  : puts("VGA.");
						 break;

		case _MCGA : puts("MCGA.");
						 break;

		case _HGC  : puts("Hercules.");
						 break;

		default    : puts(" не известный.");
	}

	printf("\nТип дисплея: ");
	switch(vc.monitor) {
		case _MONO        : puts("монохромный.");
								  break;

		case _COLOR       : puts("цветной или эмулирующий его.");
								  break;

		case _ENHCOLOR    : puts("улучшенный цветной.");
								  break;

		case _ANALOGMONO  : puts("монохромный аналоговый.");
								  break;

		case _ANALOGCOLOR : puts("цветной аналоговый.");
								  break;

		case _ANALOG      : puts("аналоговый.");
								  break;

		default           : puts("не известный.");
	}

	printf("\nОбъем видеопамяти %dК байт.", vc.memory );

	printf("\n\nНомер режима: %d.", vc.mode );

	printf("\n\nЧисло доступных страниц видеопамяти: %d.",
			vc.numvideopages );

	// если режим работы видеоадаптера графический

	if(vc.numxpixels) {
		printf("\n\nРазрешающая способность:%dx%d пикселов.",
				 vc.numxpixels, vc.numypixels );

		printf("\n\nКоличесво бит на пиксел: %d.", vc.bitsperpixel );
	}

	printf("\n\nЧисло символов на строке: %d.", vc.numtextcols );

	printf("\n\nЧисло строк: %d.", vc.numtextrows );

	printf("\n\nЧисло цветов: %d.", vc.numcolors );
}

