|
@@ -75,7 +75,16 @@ begin
|
|
end;
|
|
end;
|
|
_maxx:=VESAInfo.XResolution;
|
|
_maxx:=VESAInfo.XResolution;
|
|
_maxy:=VESAInfo.YResolution;
|
|
_maxy:=VESAInfo.YResolution;
|
|
-
|
|
|
|
|
|
+
|
|
|
|
+{$ifdef TEST_24BPP}
|
|
|
|
+ { problem with pseudo 32 bit modes !! }
|
|
|
|
+ if BytesPerPixel*VESAInfo.XResolution<>BytesPerLine then
|
|
|
|
+ begin
|
|
|
|
+ Oh_Kacke('Unconsistant VESA data');
|
|
|
|
+ { GetVesaInfo:=False; }
|
|
|
|
+ BytesPerPixel:=BytesPerLine div VESAInfo.XResolution;
|
|
|
|
+ end;
|
|
|
|
+{$endif TEST_24BPP}
|
|
WinSize:=VESAInfo.Winsize*1024;
|
|
WinSize:=VESAInfo.Winsize*1024;
|
|
WinLoMask:=WinSize-1;
|
|
WinLoMask:=WinSize-1;
|
|
case VESAInfo.WinSize of
|
|
case VESAInfo.WinSize of
|
|
@@ -182,7 +191,7 @@ begin
|
|
set_segment_limit(seg_read,(VGAInfo.TotalMem shl 16)-1);
|
|
set_segment_limit(seg_read,(VGAInfo.TotalMem shl 16)-1);
|
|
WinSize:=(VGAInfo.TotalMem shl 16);
|
|
WinSize:=(VGAInfo.TotalMem shl 16);
|
|
WinLoMask:=(VGAInfo.TotalMem shl 16)-1;
|
|
WinLoMask:=(VGAInfo.TotalMem shl 16)-1;
|
|
- WinShift:=16;
|
|
|
|
|
|
+ WinShift:=15;
|
|
Temp:=VGAInfo.TotalMem;
|
|
Temp:=VGAInfo.TotalMem;
|
|
while Temp>0 do
|
|
while Temp>0 do
|
|
begin
|
|
begin
|
|
@@ -295,7 +304,10 @@ end;
|
|
|
|
|
|
{
|
|
{
|
|
$Log$
|
|
$Log$
|
|
- Revision 1.3 1998-11-18 09:31:35 pierre
|
|
|
|
|
|
+ Revision 1.4 1998-11-18 12:12:54 pierre
|
|
|
|
+ * WinShift was wrong for LinearBuffer
|
|
|
|
+
|
|
|
|
+ Revision 1.3 1998/11/18 09:31:35 pierre
|
|
* changed color scheme
|
|
* changed color scheme
|
|
all colors are in RGB format if more than 256 colors
|
|
all colors are in RGB format if more than 256 colors
|
|
+ added 24 and 32 bits per pixel mode
|
|
+ added 24 and 32 bits per pixel mode
|