Detecting if you have a colour or monochrome video card is trivial. You can use the values stored in the BIOS data segment to determine this.
Here is some C source example of how I do it.
/* video card mono/colour detection by Dark Fiber
* returns 0=mono, 1=colour
*/
int detect_video_type(void)
{
int rc;
char c=(*(USHORT*)0x410&0x30;
/* C can be 0x00 or 0x20 for colour, 0x30 for mono
if(c==0x30)
{
rc=0; // mono
}
else
{
rc=1; // colour
}
return rc;
}
Categories: HowTo, HardWareVga
