mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-10-22 20:51:32 +02:00
125 lines
5.4 KiB
Plaintext
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
|
|
=============================================================================
|
|
}
|