Browse Source

* fixes for LFB mode

pierre 25 years ago
parent
commit
c653648412
2 changed files with 22 additions and 6 deletions
  1. 17 4
      rtl/go32v2/vesa.inc
  2. 5 2
      rtl/go32v2/vesah.inc

+ 17 - 4
rtl/go32v2/vesa.inc

@@ -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
 
-*)
+*)

+ 5 - 2
rtl/go32v2/vesah.inc

@@ -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
 
-}
+}