fpc/rtl/go32v2/ppi/vesadeb.ppi
1998-12-21 13:06:10 +00:00

125 lines
5.4 KiB
Plaintext

{
$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('startmode = ',HexStr(StartMode,4));
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;
if (VESAInfo.ModeAttributes and $200)<>0 then
write('(VBE/AF v1.0P) application must call EnableDirectAccess '+
'before calling bank-switching functions');
end;
writeln;
writeln('BankSwitchRoutine at: ',HexStr(VESAInfo.RealWinFuncPtr,8));
write('WindowA: read: '); if (VESAInfo.WinAAttributes and 3)=3 then write('yes')else write('no ');
write(' write: '); if (VESAInfo.WinAAttributes and 5)=5 then write('yes')else write('no ');
writeln(' Segment: ',HexStr(VESAInfo.segWinA,4));
write('WindowB: read: '); if (VESAInfo.WinBAttributes and 3)=3 then write('yes')else write('no ');
write(' write: '); if (VESAInfo.WinBAttributes and 5)=5 then write('yes')else write('no ');
writeln(' Segment: ',HexStr(VESAInfo.segWinB,4));
writeln('Granularity : ',VESAInfo.WinGranularity);
writeln('WinSize : ',Winsize,' KByte WinShift : ',WinShift);
write('BytesPerLine : ',BytesPerLine:4);
writeln(' BytesPerPixel: ',BytesPerPixel);
writeln('Number of pages: ',VESAInfo.NumberOfPages);
if isDPMI then
begin
write('Write selector linear base: ',hexstr(get_segment_base_address(seg_write),8));
writeln(' linear limit: ',hexstr(get_segment_limit(seg_write),8));
end;
if not same_window then
begin
write('Read selector linear base: ',hexstr(get_segment_base_address(seg_read),8));
writeln(' linear limit: ',hexstr(get_segment_limit(seg_read),8));
end;
{$ifndef FPC_PROFILE}
readln;
{$endif not FPC_PROFILE}
{
$Log$
Revision 1.1 1998-12-21 13:07:05 peter
* use -FE
Revision 1.4 1998/11/25 13:04:47 pierre
+ added multi page support
Revision 1.3 1998/11/18 13:23:37 pierre
* floodfill got into an infinite loop !!
+ added partial support for fillpoly
(still wrong if the polygon is not convex)
Simply make a floodfill from the barycenter !
* some 24BPP code changed (still does not work for my S3VBE program !)
Revision 1.2 1998/11/18 09:31:43 pierre
* changed color scheme
all colors are in RGB format if more than 256 colors
+ added 24 and 32 bits per pixel mode
(compile with -dDEBUG)
24 bit mode with banked still as problems on pixels across
the bank boundary, but works in LinearFrameBufferMode
Look at install/demo/nmandel.pp
Revision 1.1.1.1 1998/03/25 11:18:42 root
* Restored version
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
=============================================================================
}