{***********************************************************************}
{									}
{ __VInfoScn  Return system video parameter block			}
{									}
{ function  __VInfoScn(var VParms : VParmBlock_) : boolean;		}
{									}
{ Description This function returns a record type containing various	}
{	      video function data (see record type in Unit_Scn inter-	}
{	      face section).  This function calls BIOS video function	}
{	      AH = $1B (Return Functionality/State Information), which	}
{	      was introduced with IBM's PS/2 models.  If the function	}
{	      is not supported by the hardware, __VInfoScn returns	}
{	      FALSE and all members of VParms are set to zero.		}
{									}
{ Version     4.00 (C)Copyright Blaise Computing Inc. 1987		}
{_______________________________________________________________________}

function  __VInfoScn(var VParms : VParmBlock_) : boolean;

  var
    Reg : registers;

  begin {__VInfoScn}

    with Reg do 		       { Call BIOS, return pointer	}
      begin
	AH := $1B;
	AL := 0;
	BX := 0;
	ES := Seg(VParms);
	DI := Ofs(VParms);
	Intr(_VIDEO,Reg);
	if (AL = $1B) then
	   __VInfoScn := TRUE
	else			       { Function not supported, so	}
	   begin		       { set VParms to zero.		}
	     FillChar(VParms,SizeOf(VParms),0);
	     __VInfoScn := FALSE
	   end
      end

  end;	{__VInfoScn}
