{
    $Id$
    This file is part of the Free Pascal run time library.
    Copyright (c) 1993,97 by the Free Pascal development team.

    See the file COPYING.FPC, included in this distribution,
    for details about the copyright.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

 **********************************************************************}

{ VESADEB.INC - contains Debuginformations for the VESA.PPU }

    writeln('VESA-Signature   : ',
      VGAInfo.VESASignature[1],VGAInfo.VESASignature[2],VGAInfo.VESASignature[3],
      VGAInfo.VESASignature[4],VGAInfo.VESAhiVersion,'.',VGAInfo.VESAloVersion);
    writeln('Memory installed : ',VGAInfo.Totalmem * 64,'K');
    writeln;
    write('Mode $',HexStr(GraphMode,4),'            : ');
      if (VESAInfo.ModeAttributes and 1)=0 then write('not '); writeln('supported');
    writeln('Resolution            : ',VESAInfo.XResolution,'x',VESAInfo.YResolution);
    write('optional Informations : ');
      if (VESAInfo.ModeAttributes and 2)=0 then write('not '); writeln('available');
    write('BIOS Output           : ');
      if (VESAInfo.ModeAttributes and 4)=0 then write('not '); writeln('supported');     
    write('Mode                  : ');
      if (VESAInfo.ModeAttributes and 8)<>0 then write('colour, ') else write('monochrom, ');     
      if (VESAInfo.ModeAttributes and $10)<>0 then writeln('graphic') else writeln('text');     
    if VGAInfo.VESAhiVersion=2 then begin
      write('Mode VGA-compatible   : ');
      if (VESAInfo.ModeAttributes and $20)<>0 then writeln('no') else writeln('yes');
      write('Bankswitching         : ');
      if (VESAInfo.ModeAttributes and $40)<>0 then write('not '); Writeln('supported');
      write('linear FrameBuffer    : ');
      if (VESAInfo.ModeAttributes and $80)=0 then write('not supported') else
       begin Writeln('supported');
             Writeln('PhysBaseAddress at : 0x',HexStr(VESAInfo.PhysAddress,8));
             Writeln('LinearBase at      : 0x',Hexstr(Get_linear_addr(VESAInfo.PhysAddress,VGAInfo.TotalMem shl 16),8));
             Writeln('OffscreenOffset    : 0x',HexStr(VESAInfo.OffScreenPtr,8));
             Writeln('OffscreenMem       : ',VESAInfo.OffScreenMem,'KB');           
       end;
    end;
    writeln;
    writeln('BankSwitchRoutine at: ',HexStr(VESAInfo.RealWinFuncPtr,8));
    write('WindowA: read: '); if VESAInfo.WinAAttributes and 3<>0 then write('yes')else write('no ');
    write('    write: ');     if VESAInfo.WinAAttributes and 7<>0 then write('yes')else write('no ');
    writeln('   Segment:  ',HexStr(VESAInfo.segWinA,4));
    write('WindowB: read: '); if VESAInfo.WinBAttributes and 3<>0 then write('yes')else write('no ');
    write('    write: ');     if VESAInfo.WinBAttributes and 7<>0 then write('yes')else write('no ');
    writeln('   Segment:  ',HexStr(VESAInfo.segWinB,4));
    writeln('Granularity  : ',VESAInfo.WinGranularity);
    writeln('WinSize      : ',VESAInfo.Winsize,' KByte');
    writeln('BytesPerLine : ',BytesPerLine);
    writeln('BytesPerPixel: ',BytesPerPixel);
    readln;
 
{
  $Log$
  Revision 1.1  1998-03-25 11:18:42  root
  Initial revision

  Revision 1.3  1998/01/26 11:58:49  michael
  + Added log at the end


  
  Working file: rtl/dos/ppi/vesadeb.ppi
  description:
  ----------------------------
  revision 1.2
  date: 1997/12/01 12:21:35;  author: michael;  state: Exp;  lines: +14 -0
  + added copyright reference in header.
  ----------------------------
  revision 1.1
  date: 1997/11/27 08:33:52;  author: michael;  state: Exp;
  Initial revision
  ----------------------------
  revision 1.1.1.1
  date: 1997/11/27 08:33:52;  author: michael;  state: Exp;  lines: +0 -0
  FPC RTL CVS start
  =============================================================================
}
