Browse Source

* fixed multiple page support (bug1536?) (merged)

Jonas Maebe 24 years ago
parent
commit
9e18ea5adf
1 changed files with 21 additions and 3 deletions
  1. 21 3
      rtl/go32v2/vesa.inc

+ 21 - 3
rtl/go32v2/vesa.inc

@@ -2142,6 +2142,7 @@ Const
                   WriteLn('Invalid VESA Window attribute.');
                   WriteLn('Invalid VESA Window attribute.');
                   Halt(255);
                   Halt(255);
            end;
            end;
+         YOffset := 0;
        end;
        end;
 
 
      { if both windows are not supported, then we can assume }
      { if both windows are not supported, then we can assume }
@@ -2691,9 +2692,17 @@ Const
   var
   var
    newStartVisible : word;
    newStartVisible : word;
   begin
   begin
-    if page > HardwarePages then exit;
+    if page > HardwarePages then
+      begin
+        _graphresult := grError;
+        exit;
+      end;
     newStartVisible := (MaxY+1)*page;
     newStartVisible := (MaxY+1)*page;
-    if newStartVisible > ScanLines then exit;
+    if newStartVisible > ScanLines then
+      begin
+        _graphresult := grError;
+        exit;
+      end;
     asm
     asm
       mov ax, 4f07h
       mov ax, 4f07h
       mov bx, 0000h   { set display start }
       mov bx, 0000h   { set display start }
@@ -2713,12 +2722,21 @@ Const
   begin
   begin
     { video offset is in pixels under VESA VBE! }
     { video offset is in pixels under VESA VBE! }
     { This value is reset after a mode set to page ZERO = YOffset = 0 ) }
     { This value is reset after a mode set to page ZERO = YOffset = 0 ) }
+    if page > HardwarePages then
+      begin
+        _graphresult := grError;
+        exit;
+      end;
     YOffset := (MaxY+1)*page;
     YOffset := (MaxY+1)*page;
+    LinearPageOfs := YOffset*(MaxX+1);
   end;
   end;
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.7  2001-09-10 16:15:52  jonas
+  Revision 1.8  2001-10-07 11:47:36  jonas
+    * fixed multiple page support (bug1536?) (merged)
+
+  Revision 1.7  2001/09/10 16:15:52  jonas
     * merged windows mode saving stuff from fixes branch
     * merged windows mode saving stuff from fixes branch
 
 
   Revision 1.6  2000/12/16 15:57:17  jonas
   Revision 1.6  2000/12/16 15:57:17  jonas