{***********************************************************************}
{									}
{ __IsEmScn   Return the status of BIOS cursor emulation		}
{									}
{ function  __IsEmScn : boolean;					}
{									}
{ Description The introduction of the EGA adapter introduced the con-	}
{	      cept of cursor emulation.  The problem arises because	}
{	      the EGA board is capable of displaying mode 3 (color text)}
{	      with 350 scan lines and a 14 scan line character set as	}
{	      opposed to the CGA's 200 scan line, 8 scan line character }
{	      set mode 3.  Thus, if a program sets the cursor's top	}
{	      and bottom scan lines to 6 and 7 (0-based), the cursor	}
{	      will rest at the bottom of the character cell on a CGA in }
{	      mode 3, but will become a blinking hyphen on the EGA.  To }
{	      cope with the habits of old programs, the EGA BIOS added	}
{	      a the 'feature' of cursor emulation, which, when enabled, }
{	      attempts to translate old cursor setting values to new	}
{	      ones, e.g., setting top and bottom to 6, 7 results in	}
{	      the familiar bottom-of-box cursor on an EGA or VGA if em- }
{	      ulation is enabled.  See CSetScn for a reliable way to	}
{	      set a variety of cursor types.				}
{									}
{	      The state of emulation is toggled with a bit flag in the	}
{	      BIOS data area.  See also __EmOffScn, which toggles this	}
{	      same bit. 						}
{									}
{ Version     4.00 (C)Copyright Blaise Computing Inc. 1987		}
{_______________________________________________________________________}

function __IsEmScn : boolean;

  var
    Info : byte absolute _BIOSSEG:$0087;

  begin {__IsEmScn}

    { EGA (and VGA) cursor emulation is on when the low order bit of	}
    { the information byte at _BIOSSEG:$0007 is clear (0).		}

    if ((_CurDevice = _EgaAdapter) or (_CurDevice = _VgaAdapter)) then
       __IsEmScn := ((Info and $01) = 0)
    else
       __IsEmScn := FALSE

  end;	{__EmOffScn}
