Browse Source

* support 4 pages instead of 3 in the 640x200 EGA mode

git-svn-id: trunk@30282 -
nickysn 10 years ago
parent
commit
c2628e9917
1 changed files with 4 additions and 3 deletions
  1. 4 3
      packages/graph/src/go32v2/graph.pp

+ 4 - 3
packages/graph/src/go32v2/graph.pp

@@ -2307,7 +2307,7 @@ End;
 
 
 
 
  procedure SetVisual200(page: word); {$ifndef fpc}far;{$endif fpc}
  procedure SetVisual200(page: word); {$ifndef fpc}far;{$endif fpc}
-  { two page supPort... }
+  { four page support... }
   begin
   begin
     if page > HardwarePages then exit;
     if page > HardwarePages then exit;
     asm
     asm
@@ -2342,12 +2342,13 @@ End;
   end;
   end;
 
 
  procedure SetActive200(page: word); {$ifndef fpc}far;{$endif fpc}
  procedure SetActive200(page: word); {$ifndef fpc}far;{$endif fpc}
-  { two page supPort... }
+  { four page support... }
   begin
   begin
     case page of
     case page of
      0 : VideoOfs := 0;
      0 : VideoOfs := 0;
      1 : VideoOfs := 16384;
      1 : VideoOfs := 16384;
      2 : VideoOfs := 32768;
      2 : VideoOfs := 32768;
+     3 : VideoOfs := 49152;
     else
     else
       VideoOfs := 0;
       VideoOfs := 0;
     end;
     end;
@@ -3767,7 +3768,7 @@ const CrtAddress: word = 0;
          mode.ModeName:='640 x 200 EGA';
          mode.ModeName:='640 x 200 EGA';
          mode.MaxX := 639;
          mode.MaxX := 639;
          mode.MaxY := 199;
          mode.MaxY := 199;
-         mode.HardwarePages := 2;
+         mode.HardwarePages := 3;
          mode.SetVisualPage := {$ifdef fpc}@{$endif}SetVisual200;
          mode.SetVisualPage := {$ifdef fpc}@{$endif}SetVisual200;
          mode.SetActivePage := {$ifdef fpc}@{$endif}SetActive200;
          mode.SetActivePage := {$ifdef fpc}@{$endif}SetActive200;
          mode.InitMode := {$ifdef fpc}@{$endif}Init640x200x16;
          mode.InitMode := {$ifdef fpc}@{$endif}Init640x200x16;