* fixes for LFB mode

This commit is contained in:
pierre 2000-03-09 22:32:22 +00:00
parent 5430f96660
commit c653648412
2 changed files with 22 additions and 6 deletions

View File

@ -1834,11 +1834,21 @@ end;
FrameBufferLinearAddress:=Get_linear_addr(VESAModeInfo.PhysAddress and $FFFF0000,
VESAInfo.TotalMem shl 16);
if int31error<>0 then
writeln(stderr,'Unable to get linear address for ',hexstr(VESAModeInfo.PhysAddress,8));
begin
writeln(stderr,'Unable to get linear address for ',hexstr(VESAModeInfo.PhysAddress,8));
exit;
end;
WinWriteSeg:=allocate_ldt_descriptors(1);
WinReadSeg:=allocate_ldt_descriptors(1);
set_segment_base_address(WinWriteSeg,FrameBufferLinearAddress);
set_segment_limit(WinWriteSeg,(VESAInfo.TotalMem shl 16)-1);
set_segment_base_address(WinReadSeg,FrameBufferLinearAddress);
set_segment_limit(WinReadSeg,(VESAInfo.TotalMem shl 16)-1);
if int31error<>0 then
begin
writeln(stderr,'Error in linear memory selectors creation');
exit;
end;
InLinear:=true;
SetUpLinear:=true;
{ WinSize:=(VGAInfo.TotalMem shl 16);
@ -2010,7 +2020,7 @@ end;
{ VBE 2.0 and higher supports >= non VGA linear buffer types...}
{ this is backward compatible. }
if ((VESAModeInfo.Attr and ModeNoWindowed) <> 0) and
if (((VESAModeInfo.Attr and ModeNoWindowed) <> 0) or ForceVesa) and
((VESAModeInfo.Attr and ModeLinearBuffer) <> 0) then
begin
if not SetupLinear(VESAModeInfo,mode) then
@ -2499,7 +2509,10 @@ end;
(*
$Log$
Revision 1.19 2000-02-12 13:39:19 jonas
Revision 1.20 2000-03-09 22:32:22 pierre
* fixes for LFB mode
Revision 1.19 2000/02/12 13:39:19 jonas
+ new, faster fillpoly from Thomas Schatzl
* some logging commands in vesa.inc disabled
@ -2664,4 +2677,4 @@ Revision 1.6 1999/07/14 13:17:29 jonas
Revision 1.5 1999/07/12 13:28:33 jonas
* forgot log tag in previous commit
*)
*)

View File

@ -96,7 +96,10 @@ var
{ initialized in QueryAdapterInfo in graph.inc }
{
$Log$
Revision 1.4 2000-01-07 16:41:32 daniel
Revision 1.5 2000-03-09 22:32:30 pierre
* fixes for LFB mode
Revision 1.4 2000/01/07 16:41:32 daniel
* copyright 2000
Revision 1.3 2000/01/07 16:32:24 daniel
@ -126,4 +129,4 @@ var
* bugfix for notput in 32k and 64k vesa modes
* a div replaced by / in fillpoly
}
}