Detecting Colour and Monochrome Monitors
Detecting whether a user has a colour or monochrome video card is a trivial task. The BIOS data segment has a value in it for this information. Below is a function (in ISO C) to retrieve this:
The Function
/*
Video card mono/colour detection.
Return values: false=colour
true=monochrome
*/
_Bool detectVideoType(void)
{
_Bool type;
char c=(*(volatile USHORT*)0x410)&0x30;
//c can be 0x00 or 0x20 for colour, 0x30 for mono.
return (c==0x30);
}