Browse Source

* new graph unit is default for go32v2
* removed warnings/notes

peter 26 years ago
parent
commit
85c3b9ff3b

+ 22 - 11
rtl/go32v2/Makefile

@@ -38,7 +38,7 @@ ifneq ("$(FPC_VERSION)","0.99.10")
 ifndef BROWSER
 NEEDOPT=-b-
 endif
-endif 
+endif
 
 # Where to place the result files
 TARGETDIR=.
@@ -53,7 +53,7 @@ UNITPREFIX=rtl
 
 # Paths
 OBJPASDIR=$(RTL)/objpas
-PPI=ppi
+GRAPHDIR=$(INC)/graph
 
 # Define Go32v2 Units
 SYSTEMUNIT=system
@@ -63,11 +63,11 @@ LOADEROBJECTS=prt0 exceptn fpu
 
 # Unit Objects
 UNITOBJECTS=$(SYSTEMUNIT) objpas strings \
-          go32 initc dpmiexcp profile dxeload emu387 \
-          dos crt objects printer graph \
-          sysutils math typinfo \
-          cpu mmx getopts heaptrc \
-          msmouse ports
+	  go32 initc dpmiexcp profile dxeload emu387 \
+	  dos crt objects printer graph \
+	  sysutils math typinfo \
+	  cpu mmx getopts heaptrc \
+	  msmouse ports
 
 
 #####################################################################
@@ -216,9 +216,16 @@ objects$(PPUEXT) : $(INC)/objects.pp objinc.inc $(SYSTEMPPU)
 
 printer$(PPUEXT) : printer.pp $(SYSTEMPPU)
 
-graph$(PPUEXT) : graph.pp go32$(PPUEXT) $(SYSTEMPPU) mmx$(PPUEXT) \
-		 $(wildcard $(PPI)/*.ppi)
-	$(COMPILER) -I$(PPI) graph.pp $(REDIR)
+#
+# Graph
+#
+
+include $(GRAPHDIR)/makefile.inc
+GRAPHINCDEPS=$(addprefix $(GRAPHDIR)/,$(GRAPHINCNAMES))
+
+graph$(PPUEXT) : $(GRAPHDIR)/graph.pp go32$(PPUEXT) ports$(PPUEXT) $(SYSTEMPPU) \
+		 $(GRAPHINCDEPS)
+	$(COMPILER) -I$(GRAPHDIR) $(GRAPHDIR)/graph.pp $(REDIR)
 
 #
 # Delphi Compatible Units
@@ -252,7 +259,11 @@ msmouse$(PPUEXT) : msmouse.pp $(SYSTEMPPU)
 ports$(PPUEXT) : ports.pp $(SYSTEMPPU)
 #
 # $Log$
-# Revision 1.17  1999-09-08 14:22:54  pierre
+# Revision 1.18  1999-09-27 23:34:40  peter
+#   * new graph unit is default for go32v2
+#   * removed warnings/notes
+#
+# Revision 1.17  1999/09/08 14:22:54  pierre
 #  + ports unit
 #
 # Revision 1.16  1999/06/01 13:23:13  peter

+ 6 - 2
rtl/inc/graph/fills.inc

@@ -401,7 +401,7 @@ var
   Var
    stemp: PWordArray;
    Beginx : Integer;
-   d, e, a : Byte;
+   d, e : Byte;
    Cont : Boolean;
    BackupColor : Word;
    x1, x2, prevy: integer;
@@ -509,7 +509,11 @@ var
 
 {
 $Log$
-Revision 1.10  1999-09-24 22:52:38  jonas
+Revision 1.11  1999-09-27 23:34:40  peter
+  * new graph unit is default for go32v2
+  * removed warnings/notes
+
+Revision 1.10  1999/09/24 22:52:38  jonas
   * optimized patternline a bit (always use hline when possible)
   * isgraphmode stuff cleanup
   * vesainfo.modelist now gets disposed in cleanmode instead of in

+ 209 - 500
rtl/inc/graph/graph.inc

@@ -19,35 +19,6 @@
   {$asmmode intel}
 {$endif fpc}
 
-CONST
-  { VESA Specific video modes. }
-  m320x200x32k      = $10D;
-  m320x200x64k      = $10E;
-
-  m640x400x256      = $100;
-
-  m640x480x256      = $101;
-  m640x480x32k      = $110;
-  m640x480x64k      = $111;
-
-  m800x600x16       = $102;
-  m800x600x256      = $103;
-  m800x600x32k      = $113;
-  m800x600x64k      = $114;
-
-  m1024x768x16      = $104;
-  m1024x768x256     = $105;
-  m1024x768x32k     = $116;
-  m1024x768x64k     = $117;
-
-  m1280x1024x16     = $106;
-  m1280x1024x256    = $107;
-  m1280x1024x32k    = $119;
-  m1280x1024x64k    = $11A;
-
-
-
-
 
 { How to access real mode memory }
 { using 32-bit DPMI memory       }
@@ -451,7 +422,7 @@ Procedure GetScanLine16(y: integer; var data);
 
 var dummylong: longint;
     Offset, count, count2, amount, index: word;
-    shift, plane: byte;
+    plane: byte;
 Begin
 {$ifdef logging}
   LogLn('GetScanLine16 start, length to get: '+strf(ViewWidth+1)+' at y = '+strf(y));
@@ -1866,25 +1837,14 @@ const CrtAddress: word = 0;
          mode.DirectColor := FALSE;
          mode.MaxX := 319;
          mode.MaxY := 199;
-{$ifndef fpc}
-         mode.DirectPutPixel:=DirectPutPixel320;
-         mode.PutPixel:=PutPixel320;
-         mode.GetPixel:=GetPixel320;
-         mode.SetRGBPalette := SetVGARGBPalette;
-         mode.GetRGBPalette := GetVGARGBPalette;
-         mode.SetVisualPage := SetVisual320;
-         mode.SetActivePage := SetActive320;
-         mode.InitMode := Init320;
-{$else fpc}
-         mode.DirectPutPixel:=@DirectPutPixel320;
-         mode.PutPixel:=@PutPixel320;
-         mode.GetPixel:=@GetPixel320;
-         mode.SetRGBPalette := @SetVGARGBPalette;
-         mode.GetRGBPalette := @GetVGARGBPalette;
-         mode.SetVisualPage := @SetVisual320;
-         mode.SetActivePage := @SetActive320;
-         mode.InitMode := @Init320;
-{$endif fpc}
+         mode.DirectPutPixel:={$ifdef fpc}@{$endif}DirectPutPixel320;
+         mode.PutPixel:={$ifdef fpc}@{$endif}PutPixel320;
+         mode.GetPixel:={$ifdef fpc}@{$endif}GetPixel320;
+         mode.SetRGBPalette := {$ifdef fpc}@{$endif}SetVGARGBPalette;
+         mode.GetRGBPalette := {$ifdef fpc}@{$endif}GetVGARGBPalette;
+         mode.SetVisualPage := {$ifdef fpc}@{$endif}SetVisual320;
+         mode.SetActivePage := {$ifdef fpc}@{$endif}SetActive320;
+         mode.InitMode := {$ifdef fpc}@{$endif}Init320;
          mode.XAspect := 10000;
          mode.YAspect := 10000;
          AddMode(mode);
@@ -1900,25 +1860,14 @@ const CrtAddress: word = 0;
          mode.PaletteSize := mode.MaxColor;
          mode.MaxX := 319;
          mode.MaxY := 199;
-{$ifndef fpc}
-         mode.DirectPutPixel:=DirectPutPixelX;
-         mode.PutPixel:=PutPixelX;
-         mode.GetPixel:=GetPixelX;
-         mode.SetRGBPalette := SetVGARGBPalette;
-         mode.GetRGBPalette := GetVGARGBPalette;
-         mode.SetVisualPage := SetVisualX;
-         mode.SetActivePage := SetActiveX;
-         mode.InitMode := InitModeX;
-{$else fpc}
-         mode.DirectPutPixel:=@DirectPutPixelX;
-         mode.PutPixel:=@PutPixelX;
-         mode.GetPixel:=@GetPixelX;
-         mode.SetRGBPalette := @SetVGARGBPalette;
-         mode.GetRGBPalette := @GetVGARGBPalette;
-         mode.SetVisualPage := @SetVisualX;
-         mode.SetActivePage := @SetActiveX;
-         mode.InitMode := @InitModeX;
-{$endif fpc}
+         mode.DirectPutPixel:={$ifdef fpc}@{$endif}DirectPutPixelX;
+         mode.PutPixel:={$ifdef fpc}@{$endif}PutPixelX;
+         mode.GetPixel:={$ifdef fpc}@{$endif}GetPixelX;
+         mode.SetRGBPalette := {$ifdef fpc}@{$endif}SetVGARGBPalette;
+         mode.GetRGBPalette := {$ifdef fpc}@{$endif}GetVGARGBPalette;
+         mode.SetVisualPage := {$ifdef fpc}@{$endif}SetVisualX;
+         mode.SetActivePage := {$ifdef fpc}@{$endif}SetActiveX;
+         mode.InitMode := {$ifdef fpc}@{$endif}InitModeX;
          mode.XAspect := 10000;
          mode.YAspect := 10000;
          AddMode(mode);
@@ -1933,29 +1882,17 @@ const CrtAddress: word = 0;
          mode.PaletteSize := mode.MaxColor;
          mode.MaxX := 639;
          mode.MaxY := 199;
-{$ifndef fpc}
-         mode.DirectPutPixel:=DirectPutPixel16;
-         mode.PutPixel:=PutPixel16;
-         mode.GetPixel:=GetPixel16;
-         mode.SetRGBPalette := SetVGARGBPalette;
-         mode.GetRGBPalette := GetVGARGBPalette;
-         mode.SetVisualPage := SetVisual200;
-         mode.SetActivePage := SetActive200;
-         mode.InitMode := Init640x200x16;
-         mode.GetScanLine := GetScanLine16;
-{$else fpc}
-         mode.DirectPutPixel:=@DirectPutPixel16;
-         mode.PutPixel:=@PutPixel16;
-         mode.GetPixel:=@GetPixel16;
-         mode.SetRGBPalette := @SetVGARGBPalette;
-         mode.GetRGBPalette := @GetVGARGBPalette;
-         mode.SetVisualPage := @SetVisual200;
-         mode.SetActivePage := @SetActive200;
-         mode.InitMode := @Init640x200x16;
-         mode.HLine := @HLine16;
-         mode.VLine := @VLine16;
-         mode.GetScanLine := @GetScanLine16;
-{$endif fpc}
+         mode.DirectPutPixel:={$ifdef fpc}@{$endif}DirectPutPixel16;
+         mode.PutPixel:={$ifdef fpc}@{$endif}PutPixel16;
+         mode.GetPixel:={$ifdef fpc}@{$endif}GetPixel16;
+         mode.SetRGBPalette := {$ifdef fpc}@{$endif}SetVGARGBPalette;
+         mode.GetRGBPalette := {$ifdef fpc}@{$endif}GetVGARGBPalette;
+         mode.SetVisualPage := {$ifdef fpc}@{$endif}SetVisual200;
+         mode.SetActivePage := {$ifdef fpc}@{$endif}SetActive200;
+         mode.InitMode := {$ifdef fpc}@{$endif}Init640x200x16;
+         mode.HLine := {$ifdef fpc}@{$endif}HLine16;
+         mode.VLine := {$ifdef fpc}@{$endif}VLine16;
+         mode.GetScanLine := {$ifdef fpc}@{$endif}GetScanLine16;
          mode.XAspect := 10000;
          mode.YAspect := 10000;
          AddMode(mode);
@@ -1970,29 +1907,17 @@ const CrtAddress: word = 0;
          mode.PaletteSize := mode.MaxColor;
          mode.MaxX := 639;
          mode.MaxY := 349;
-{$ifndef fpc}
-         mode.DirectPutPixel:=DirectPutPixel16;
-         mode.PutPixel:=PutPixel16;
-         mode.GetPixel:=GetPixel16;
-         mode.InitMode := Init640x350x16;
-         mode.SetRGBPalette := SetVGARGBPalette;
-         mode.GetRGBPalette := GetVGARGBPalette;
-         mode.SetVisualPage := SetVisual350;
-         mode.SetActivePage := SetActive350;
-         mode.GetScanLine := GetScanLine16;
-{$else fpc}
-         mode.DirectPutPixel:=@DirectPutPixel16;
-         mode.PutPixel:=@PutPixel16;
-         mode.GetPixel:=@GetPixel16;
-         mode.InitMode := @Init640x350x16;
-         mode.SetRGBPalette := @SetVGARGBPalette;
-         mode.GetRGBPalette := @GetVGARGBPalette;
-         mode.SetVisualPage := @SetVisual350;
-         mode.SetActivePage := @SetActive350;
-         mode.HLine := @HLine16;
-         mode.VLine := @VLine16;
-         mode.GetScanLine := @GetScanLine16;
-{$endif fpc}
+         mode.DirectPutPixel:={$ifdef fpc}@{$endif}DirectPutPixel16;
+         mode.PutPixel:={$ifdef fpc}@{$endif}PutPixel16;
+         mode.GetPixel:={$ifdef fpc}@{$endif}GetPixel16;
+         mode.InitMode := {$ifdef fpc}@{$endif}Init640x350x16;
+         mode.SetRGBPalette := {$ifdef fpc}@{$endif}SetVGARGBPalette;
+         mode.GetRGBPalette := {$ifdef fpc}@{$endif}GetVGARGBPalette;
+         mode.SetVisualPage := {$ifdef fpc}@{$endif}SetVisual350;
+         mode.SetActivePage := {$ifdef fpc}@{$endif}SetActive350;
+         mode.HLine := {$ifdef fpc}@{$endif}HLine16;
+         mode.VLine := {$ifdef fpc}@{$endif}VLine16;
+         mode.GetScanLine := {$ifdef fpc}@{$endif}GetScanLine16;
          mode.XAspect := 10000;
          mode.YAspect := 10000;
          AddMode(mode);
@@ -2007,29 +1932,17 @@ const CrtAddress: word = 0;
          mode.PaletteSize := mode.MaxColor;
          mode.MaxX := 639;
          mode.MaxY := 479;
-{$ifndef fpc}
-         mode.DirectPutPixel:=DirectPutPixel16;
-         mode.PutPixel:=PutPixel16;
-         mode.GetPixel:=GetPixel16;
-         mode.SetRGBPalette := SetVGARGBPalette;
-         mode.GetRGBPalette := GetVGARGBPalette;
-         mode.InitMode := Init640x480x16;
-         mode.SetVisualPage := SetVisual480;
-         mode.SetActivePage := SetActive480;
-         mode.GetScanLine := GetScanLine16;
-{$else fpc}
-         mode.DirectPutPixel:=@DirectPutPixel16;
-         mode.PutPixel:=@PutPixel16;
-         mode.GetPixel:=@GetPixel16;
-         mode.SetRGBPalette := @SetVGARGBPalette;
-         mode.GetRGBPalette := @GetVGARGBPalette;
-         mode.InitMode := @Init640x480x16;
-         mode.SetVisualPage := @SetVisual480;
-         mode.SetActivePage := @SetActive480;
-         mode.HLine := @HLine16;
-         mode.VLine := @VLine16;
-         mode.GetScanLine := @GetScanLine16;
-{$endif fpc}
+         mode.DirectPutPixel:={$ifdef fpc}@{$endif}DirectPutPixel16;
+         mode.PutPixel:={$ifdef fpc}@{$endif}PutPixel16;
+         mode.GetPixel:={$ifdef fpc}@{$endif}GetPixel16;
+         mode.SetRGBPalette := {$ifdef fpc}@{$endif}SetVGARGBPalette;
+         mode.GetRGBPalette := {$ifdef fpc}@{$endif}GetVGARGBPalette;
+         mode.InitMode := {$ifdef fpc}@{$endif}Init640x480x16;
+         mode.SetVisualPage := {$ifdef fpc}@{$endif}SetVisual480;
+         mode.SetActivePage := {$ifdef fpc}@{$endif}SetActive480;
+         mode.HLine := {$ifdef fpc}@{$endif}HLine16;
+         mode.VLine := {$ifdef fpc}@{$endif}VLine16;
+         mode.GetScanLine := {$ifdef fpc}@{$endif}GetScanLine16;
          mode.XAspect := 10000;
          mode.YAspect := 10000;
          AddMode(mode);
@@ -2070,25 +1983,14 @@ const CrtAddress: word = 0;
              mode.DirectColor := TRUE;
              mode.MaxX := 319;
              mode.MaxY := 199;
-{$ifndef fpc}
-             mode.DirectPutPixel:=DirectPutPixVESA32k;
-             mode.PutPixel:=PutPixVESA32k;
-             mode.GetPixel:=GetPixVESA32k;
-             mode.SetRGBPalette := SetVESARGBPalette;
-             mode.GetRGBPalette := GetVESARGBPalette;
-             mode.InitMode := Init320x200x32k;
-             mode.SetVisualPage := SetVisualVESA;
-             mode.SetActivePage := SetActiveVESA;
-{$else fpc}
-             mode.DirectPutPixel:=@DirectPutPixVESA32k;
-             mode.PutPixel:=@PutPixVESA32k;
-             mode.GetPixel:=@GetPixVESA32k;
-             mode.SetRGBPalette := @SetVESARGBPalette;
-             mode.GetRGBPalette := @GetVESARGBPalette;
-             mode.InitMode := @Init320x200x32k;
-             mode.SetVisualPage := @SetVisualVESA;
-             mode.SetActivePage := @SetActiveVESA;
-{$endif fpc}
+             mode.DirectPutPixel:={$ifdef fpc}@{$endif}DirectPutPixVESA32k;
+             mode.PutPixel:={$ifdef fpc}@{$endif}PutPixVESA32k;
+             mode.GetPixel:={$ifdef fpc}@{$endif}GetPixVESA32k;
+             mode.SetRGBPalette := {$ifdef fpc}@{$endif}SetVESARGBPalette;
+             mode.GetRGBPalette := {$ifdef fpc}@{$endif}GetVESARGBPalette;
+             mode.InitMode := {$ifdef fpc}@{$endif}Init320x200x32k;
+             mode.SetVisualPage := {$ifdef fpc}@{$endif}SetVisualVESA;
+             mode.SetActivePage := {$ifdef fpc}@{$endif}SetActiveVESA;
              mode.XAspect := 10000;
              mode.YAspect := 10000;
              AddMode(mode);
@@ -2107,25 +2009,14 @@ const CrtAddress: word = 0;
              mode.DirectColor := TRUE;
              mode.MaxX := 319;
              mode.MaxY := 199;
-{$ifndef fpc}
-             mode.DirectPutPixel:=DirectPutPixVESA64k;
-             mode.PutPixel:=PutPixVESA64k;
-             mode.GetPixel:=GetPixVESA64k;
-             mode.SetRGBPalette := SetVESARGBPalette;
-             mode.GetRGBPalette := GetVESARGBPalette;
-             mode.InitMode := Init320x200x64k;
-             mode.SetVisualPage := SetVisualVESA;
-             mode.SetActivePage := SetActiveVESA;
-{$else fpc}
-             mode.DirectPutPixel:=@DirectPutPixVESA64k;
-             mode.PutPixel:=@PutPixVESA64k;
-             mode.GetPixel:=@GetPixVESA64k;
-             mode.SetRGBPalette := @SetVESARGBPalette;
-             mode.GetRGBPalette := @GetVESARGBPalette;
-             mode.InitMode := @Init320x200x64k;
-             mode.SetVisualPage := @SetVisualVESA;
-             mode.SetActivePage := @SetActiveVESA;
-{$endif fpc}
+             mode.DirectPutPixel:={$ifdef fpc}@{$endif}DirectPutPixVESA64k;
+             mode.PutPixel:={$ifdef fpc}@{$endif}PutPixVESA64k;
+             mode.GetPixel:={$ifdef fpc}@{$endif}GetPixVESA64k;
+             mode.SetRGBPalette := {$ifdef fpc}@{$endif}SetVESARGBPalette;
+             mode.GetRGBPalette := {$ifdef fpc}@{$endif}GetVESARGBPalette;
+             mode.InitMode := {$ifdef fpc}@{$endif}Init320x200x64k;
+             mode.SetVisualPage := {$ifdef fpc}@{$endif}SetVisualVESA;
+             mode.SetActivePage := {$ifdef fpc}@{$endif}SetActiveVESA;
              mode.XAspect := 10000;
              mode.YAspect := 10000;
              AddMode(mode);
@@ -2144,29 +2035,16 @@ const CrtAddress: word = 0;
              mode.DirectColor := FALSE;
              mode.MaxX := 639;
              mode.MaxY := 399;
-{$ifndef fpc}
-             mode.DirectPutPixel:=DirectPutPixVESA256;
-             mode.PutPixel:=PutPixVESA256;
-             mode.GetPixel:=GetPixVESA256;
-             mode.SetRGBPalette := SetVESARGBPalette;
-             mode.GetRGBPalette := GetVESARGBPalette;
-             mode.InitMode := Init640x400x256;
-             mode.SetVisualPage := SetVisualVESA;
-             mode.SetActivePage := SetActiveVESA;
-             mode.hline := HLineVESA256;
-             mode.vline := VLineVESA256;
-{$else fpc}
-             mode.DirectPutPixel:=@DirectPutPixVESA256;
-             mode.PutPixel:=@PutPixVESA256;
-             mode.GetPixel:=@GetPixVESA256;
-             mode.SetRGBPalette := @SetVESARGBPalette;
-             mode.GetRGBPalette := @GetVESARGBPalette;
-             mode.InitMode := @Init640x400x256;
-             mode.SetVisualPage := @SetVisualVESA;
-             mode.SetActivePage := @SetActiveVESA;
-             mode.hline := @HLineVESA256;
-             mode.vline := @VLineVESA256;
-{$endif fpc}
+             mode.DirectPutPixel:={$ifdef fpc}@{$endif}DirectPutPixVESA256;
+             mode.PutPixel:={$ifdef fpc}@{$endif}PutPixVESA256;
+             mode.GetPixel:={$ifdef fpc}@{$endif}GetPixVESA256;
+             mode.SetRGBPalette := {$ifdef fpc}@{$endif}SetVESARGBPalette;
+             mode.GetRGBPalette := {$ifdef fpc}@{$endif}GetVESARGBPalette;
+             mode.InitMode := {$ifdef fpc}@{$endif}Init640x400x256;
+             mode.SetVisualPage := {$ifdef fpc}@{$endif}SetVisualVESA;
+             mode.SetActivePage := {$ifdef fpc}@{$endif}SetActiveVESA;
+             mode.hline := {$ifdef fpc}@{$endif}HLineVESA256;
+             mode.vline := {$ifdef fpc}@{$endif}VLineVESA256;
              mode.XAspect := 10000;
              mode.YAspect := 10000;
              AddMode(mode);
@@ -2184,29 +2062,16 @@ const CrtAddress: word = 0;
              mode.PaletteSize := mode.MaxColor;
              mode.MaxX := 639;
              mode.MaxY := 479;
-{$ifndef fpc}
-             mode.DirectPutPixel:=DirectPutPixVESA256;
-             mode.PutPixel:=PutPixVESA256;
-             mode.GetPixel:=GetPixVESA256;
-             mode.SetRGBPalette := SetVESARGBPalette;
-             mode.GetRGBPalette := GetVESARGBPalette;
-             mode.InitMode := Init640x480x256;
-             mode.SetVisualPage := SetVisualVESA;
-             mode.SetActivePage := SetActiveVESA;
-             mode.hline := HLineVESA256;
-             mode.vline := VLineVESA256;
-{$else fpc}
-             mode.DirectPutPixel:=@DirectPutPixVESA256;
-             mode.PutPixel:=@PutPixVESA256;
-             mode.GetPixel:=@GetPixVESA256;
-             mode.SetRGBPalette := @SetVESARGBPalette;
-             mode.GetRGBPalette := @GetVESARGBPalette;
-             mode.InitMode := @Init640x480x256;
-             mode.SetVisualPage := @SetVisualVESA;
-             mode.SetActivePage := @SetActiveVESA;
-             mode.hline := @HLineVESA256;
-             mode.hline := @HLineVESA256;
-{$endif fpc}
+             mode.DirectPutPixel:={$ifdef fpc}@{$endif}DirectPutPixVESA256;
+             mode.PutPixel:={$ifdef fpc}@{$endif}PutPixVESA256;
+             mode.GetPixel:={$ifdef fpc}@{$endif}GetPixVESA256;
+             mode.SetRGBPalette := {$ifdef fpc}@{$endif}SetVESARGBPalette;
+             mode.GetRGBPalette := {$ifdef fpc}@{$endif}GetVESARGBPalette;
+             mode.InitMode := {$ifdef fpc}@{$endif}Init640x480x256;
+             mode.SetVisualPage := {$ifdef fpc}@{$endif}SetVisualVESA;
+             mode.SetActivePage := {$ifdef fpc}@{$endif}SetActiveVESA;
+             mode.hline := {$ifdef fpc}@{$endif}HLineVESA256;
+             mode.hline := {$ifdef fpc}@{$endif}HLineVESA256;
              mode.XAspect := 10000;
              mode.YAspect := 10000;
              AddMode(mode);
@@ -2225,25 +2090,14 @@ const CrtAddress: word = 0;
              mode.DirectColor := TRUE;
              mode.MaxX := 639;
              mode.MaxY := 399;
-{$ifndef fpc}
-             mode.DirectPutPixel:=DirectPutPixVESA32k;
-             mode.PutPixel:=PutPixVESA32k;
-             mode.GetPixel:=GetPixVESA32k;
-             mode.SetRGBPalette := SetVESARGBPalette;
-             mode.GetRGBPalette := GetVESARGBPalette;
-             mode.InitMode := Init640x480x32k;
-             mode.SetVisualPage := SetVisualVESA;
-             mode.SetActivePage := SetActiveVESA;
-{$else fpc}
-             mode.DirectPutPixel:=@DirectPutPixVESA32k;
-             mode.PutPixel:=@PutPixVESA32k;
-             mode.GetPixel:=@GetPixVESA32k;
-             mode.SetRGBPalette := @SetVESARGBPalette;
-             mode.GetRGBPalette := @GetVESARGBPalette;
-             mode.InitMode := @Init640x480x32k;
-             mode.SetVisualPage := @SetVisualVESA;
-             mode.SetActivePage := @SetActiveVESA;
-{$endif fpc}
+             mode.DirectPutPixel:={$ifdef fpc}@{$endif}DirectPutPixVESA32k;
+             mode.PutPixel:={$ifdef fpc}@{$endif}PutPixVESA32k;
+             mode.GetPixel:={$ifdef fpc}@{$endif}GetPixVESA32k;
+             mode.SetRGBPalette := {$ifdef fpc}@{$endif}SetVESARGBPalette;
+             mode.GetRGBPalette := {$ifdef fpc}@{$endif}GetVESARGBPalette;
+             mode.InitMode := {$ifdef fpc}@{$endif}Init640x480x32k;
+             mode.SetVisualPage := {$ifdef fpc}@{$endif}SetVisualVESA;
+             mode.SetActivePage := {$ifdef fpc}@{$endif}SetActiveVESA;
              mode.XAspect := 10000;
              mode.YAspect := 10000;
              AddMode(mode);
@@ -2262,25 +2116,14 @@ const CrtAddress: word = 0;
              mode.DirectColor := TRUE;
              mode.MaxX := 639;
              mode.MaxY := 479;
-{$ifndef fpc}
-             mode.DirectPutPixel:=DirectPutPixVESA64k;
-             mode.PutPixel:=PutPixVESA64k;
-             mode.GetPixel:=GetPixVESA64k;
-             mode.SetRGBPalette := SetVESARGBPalette;
-             mode.GetRGBPalette := GetVESARGBPalette;
-             mode.InitMode := Init640x480x64k;
-             mode.SetVisualPage := SetVisualVESA;
-             mode.SetActivePage := SetActiveVESA;
-{$else fpc}
-             mode.DirectPutPixel:=@DirectPutPixVESA64k;
-             mode.PutPixel:=@PutPixVESA64k;
-             mode.GetPixel:=@GetPixVESA64k;
-             mode.SetRGBPalette := @SetVESARGBPalette;
-             mode.GetRGBPalette := @GetVESARGBPalette;
-             mode.InitMode := @Init640x480x64k;
-             mode.SetVisualPage := @SetVisualVESA;
-             mode.SetActivePage := @SetActiveVESA;
-{$endif fpc}
+             mode.DirectPutPixel:={$ifdef fpc}@{$endif}DirectPutPixVESA64k;
+             mode.PutPixel:={$ifdef fpc}@{$endif}PutPixVESA64k;
+             mode.GetPixel:={$ifdef fpc}@{$endif}GetPixVESA64k;
+             mode.SetRGBPalette := {$ifdef fpc}@{$endif}SetVESARGBPalette;
+             mode.GetRGBPalette := {$ifdef fpc}@{$endif}GetVESARGBPalette;
+             mode.InitMode := {$ifdef fpc}@{$endif}Init640x480x64k;
+             mode.SetVisualPage := {$ifdef fpc}@{$endif}SetVisualVESA;
+             mode.SetActivePage := {$ifdef fpc}@{$endif}SetActiveVESA;
              mode.XAspect := 10000;
              mode.YAspect := 10000;
              AddMode(mode);
@@ -2299,25 +2142,14 @@ const CrtAddress: word = 0;
              mode.PaletteSize := mode.MaxColor;
              mode.MaxX := 799;
              mode.MaxY := 599;
-{$ifndef fpc}
-             mode.DirectPutPixel:=DirectPutPixVESA16;
-             mode.SetRGBPalette := SetVESARGBPalette;
-             mode.GetRGBPalette := GetVESARGBPalette;
-             mode.PutPixel:=PutPixVESA16;
-{             mode.GetPixel:=GetPixVESA16;}
-             mode.InitMode := Init800x600x16;
-             mode.SetVisualPage := SetVisualVESA;
-             mode.SetActivePage := SetActiveVESA;
-{$else fpc}
-             mode.DirectPutPixel:=@DirectPutPixVESA16;
-             mode.SetRGBPalette := @SetVESARGBPalette;
-             mode.GetRGBPalette := @GetVESARGBPalette;
-             mode.PutPixel:=@PutPixVESA16;
-{             mode.GetPixel:=@GetPixVESA16;}
-             mode.InitMode := @Init800x600x16;
-             mode.SetVisualPage := @SetVisualVESA;
-             mode.SetActivePage := @SetActiveVESA;
-{$endif fpc}
+             mode.DirectPutPixel:={$ifdef fpc}@{$endif}DirectPutPixVESA16;
+             mode.SetRGBPalette := {$ifdef fpc}@{$endif}SetVESARGBPalette;
+             mode.GetRGBPalette := {$ifdef fpc}@{$endif}GetVESARGBPalette;
+             mode.PutPixel:={$ifdef fpc}@{$endif}PutPixVESA16;
+(*             mode.GetPixel:={$ifdef fpc}@{$endif}GetPixVESA16; *)
+             mode.InitMode := {$ifdef fpc}@{$endif}Init800x600x16;
+             mode.SetVisualPage := {$ifdef fpc}@{$endif}SetVisualVESA;
+             mode.SetActivePage := {$ifdef fpc}@{$endif}SetActiveVESA;
              mode.XAspect := 10000;
              mode.YAspect := 10000;
              AddMode(mode);
@@ -2336,29 +2168,16 @@ const CrtAddress: word = 0;
              mode.DirectColor := FALSE;
              mode.MaxX := 799;
              mode.MaxY := 599;
-{$ifndef fpc}
-             mode.DirectPutPixel:=DirectPutPixVESA256;
-             mode.PutPixel:=PutPixVESA256;
-             mode.GetPixel:=GetPixVESA256;
-             mode.SetRGBPalette := SetVESARGBPalette;
-             mode.GetRGBPalette := GetVESARGBPalette;
-             mode.InitMode := Init800x600x256;
-             mode.SetVisualPage := SetVisualVESA;
-             mode.SetActivePage := SetActiveVESA;
-             mode.hline := HLineVESA256;
-             mode.vline := VLineVESA256;
-{$else fpc}
-             mode.DirectPutPixel:=@DirectPutPixVESA256;
-             mode.PutPixel:=@PutPixVESA256;
-             mode.GetPixel:=@GetPixVESA256;
-             mode.SetRGBPalette := @SetVESARGBPalette;
-             mode.GetRGBPalette := @GetVESARGBPalette;
-             mode.InitMode := @Init800x600x256;
-             mode.SetVisualPage := @SetVisualVESA;
-             mode.SetActivePage := @SetActiveVESA;
-             mode.hline := @HLineVESA256;
-             mode.vline := @VLineVESA256;
-{$endif fpc}
+             mode.DirectPutPixel:={$ifdef fpc}@{$endif}DirectPutPixVESA256;
+             mode.PutPixel:={$ifdef fpc}@{$endif}PutPixVESA256;
+             mode.GetPixel:={$ifdef fpc}@{$endif}GetPixVESA256;
+             mode.SetRGBPalette := {$ifdef fpc}@{$endif}SetVESARGBPalette;
+             mode.GetRGBPalette := {$ifdef fpc}@{$endif}GetVESARGBPalette;
+             mode.InitMode := {$ifdef fpc}@{$endif}Init800x600x256;
+             mode.SetVisualPage := {$ifdef fpc}@{$endif}SetVisualVESA;
+             mode.SetActivePage := {$ifdef fpc}@{$endif}SetActiveVESA;
+             mode.hline := {$ifdef fpc}@{$endif}HLineVESA256;
+             mode.vline := {$ifdef fpc}@{$endif}VLineVESA256;
              mode.XAspect := 10000;
              mode.YAspect := 10000;
              AddMode(mode);
@@ -2377,25 +2196,14 @@ const CrtAddress: word = 0;
              mode.DirectColor := TRUE;
              mode.MaxX := 799;
              mode.MaxY := 599;
-{$ifndef fpc}
-             mode.DirectPutPixel:=DirectPutPixVESA32k;
-             mode.PutPixel:=PutPixVESA32k;
-             mode.GetPixel:=GetPixVESA32k;
-             mode.SetRGBPalette := SetVESARGBPalette;
-             mode.GetRGBPalette := GetVESARGBPalette;
-             mode.InitMode := Init800x600x32k;
-             mode.SetVisualPage := SetVisualVESA;
-             mode.SetActivePage := SetActiveVESA;
-{$else fpc}
-             mode.DirectPutPixel:=@DirectPutPixVESA32k;
-             mode.PutPixel:=@PutPixVESA32k;
-             mode.GetPixel:=@GetPixVESA32k;
-             mode.SetRGBPalette := @SetVESARGBPalette;
-             mode.GetRGBPalette := @GetVESARGBPalette;
-             mode.InitMode := @Init800x600x32k;
-             mode.SetVisualPage := @SetVisualVESA;
-             mode.SetActivePage := @SetActiveVESA;
-{$endif fpc}
+             mode.DirectPutPixel:={$ifdef fpc}@{$endif}DirectPutPixVESA32k;
+             mode.PutPixel:={$ifdef fpc}@{$endif}PutPixVESA32k;
+             mode.GetPixel:={$ifdef fpc}@{$endif}GetPixVESA32k;
+             mode.SetRGBPalette := {$ifdef fpc}@{$endif}SetVESARGBPalette;
+             mode.GetRGBPalette := {$ifdef fpc}@{$endif}GetVESARGBPalette;
+             mode.InitMode := {$ifdef fpc}@{$endif}Init800x600x32k;
+             mode.SetVisualPage := {$ifdef fpc}@{$endif}SetVisualVESA;
+             mode.SetActivePage := {$ifdef fpc}@{$endif}SetActiveVESA;
              mode.XAspect := 10000;
              mode.YAspect := 10000;
              AddMode(mode);
@@ -2414,25 +2222,14 @@ const CrtAddress: word = 0;
              mode.DirectColor := TRUE;
              mode.MaxX := 799;
              mode.MaxY := 599;
-{$ifndef fpc}
-             mode.DirectPutPixel:=DirectPutPixVESA64k;
-             mode.PutPixel:=PutPixVESA64k;
-             mode.GetPixel:=GetPixVESA64k;
-             mode.SetRGBPalette := SetVESARGBPalette;
-             mode.GetRGBPalette := GetVESARGBPalette;
-             mode.InitMode := Init800x600x64k;
-             mode.SetVisualPage := SetVisualVESA;
-             mode.SetActivePage := SetActiveVESA;
-{$else fpc}
-             mode.DirectPutPixel:=@DirectPutPixVESA64k;
-             mode.PutPixel:=@PutPixVESA64k;
-             mode.GetPixel:=@GetPixVESA64k;
-             mode.SetRGBPalette := @SetVESARGBPalette;
-             mode.GetRGBPalette := @GetVESARGBPalette;
-             mode.InitMode := @Init800x600x64k;
-             mode.SetVisualPage := @SetVisualVESA;
-             mode.SetActivePage := @SetActiveVESA;
-{$endif fpc}
+             mode.DirectPutPixel:={$ifdef fpc}@{$endif}DirectPutPixVESA64k;
+             mode.PutPixel:={$ifdef fpc}@{$endif}PutPixVESA64k;
+             mode.GetPixel:={$ifdef fpc}@{$endif}GetPixVESA64k;
+             mode.SetRGBPalette := {$ifdef fpc}@{$endif}SetVESARGBPalette;
+             mode.GetRGBPalette := {$ifdef fpc}@{$endif}GetVESARGBPalette;
+             mode.InitMode := {$ifdef fpc}@{$endif}Init800x600x64k;
+             mode.SetVisualPage := {$ifdef fpc}@{$endif}SetVisualVESA;
+             mode.SetActivePage := {$ifdef fpc}@{$endif}SetActiveVESA;
              mode.XAspect := 10000;
              mode.YAspect := 10000;
              AddMode(mode);
@@ -2451,25 +2248,14 @@ const CrtAddress: word = 0;
              mode.DirectColor := FALSE;
              mode.MaxX := 1023;
              mode.MaxY := 767;
-{$ifndef fpc}
-             mode.DirectPutPixel:=DirectPutPixVESA16;
-             mode.PutPixel:=PutPixVESA16;
-             mode.SetRGBPalette := SetVESARGBPalette;
-             mode.GetRGBPalette := GetVESARGBPalette;
-{             mode.GetPixel:=GetPixVESA16;}
-             mode.InitMode := Init1024x768x16;
-             mode.SetVisualPage := SetVisualVESA;
-             mode.SetActivePage := SetActiveVESA;
-{$else fpc}
-             mode.DirectPutPixel:=@DirectPutPixVESA16;
-             mode.PutPixel:=@PutPixVESA16;
-             mode.SetRGBPalette := @SetVESARGBPalette;
-             mode.GetRGBPalette := @GetVESARGBPalette;
-{             mode.GetPixel:=@GetPixVESA16;}
-             mode.InitMode := @Init1024x768x16;
-             mode.SetVisualPage := @SetVisualVESA;
-             mode.SetActivePage := @SetActiveVESA;
-{$endif fpc}
+             mode.DirectPutPixel:={$ifdef fpc}@{$endif}DirectPutPixVESA16;
+             mode.PutPixel:={$ifdef fpc}@{$endif}PutPixVESA16;
+             mode.SetRGBPalette := {$ifdef fpc}@{$endif}SetVESARGBPalette;
+             mode.GetRGBPalette := {$ifdef fpc}@{$endif}GetVESARGBPalette;
+(*             mode.GetPixel:={$ifdef fpc}@{$endif}GetPixVESA16; *)
+             mode.InitMode := {$ifdef fpc}@{$endif}Init1024x768x16;
+             mode.SetVisualPage := {$ifdef fpc}@{$endif}SetVisualVESA;
+             mode.SetActivePage := {$ifdef fpc}@{$endif}SetActiveVESA;
              mode.XAspect := 10000;
              mode.YAspect := 10000;
              AddMode(mode);
@@ -2488,29 +2274,16 @@ const CrtAddress: word = 0;
              mode.DirectColor := FALSE;
              mode.MaxX := 1023;
              mode.MaxY := 767;
-{$ifndef fpc}
-             mode.DirectPutPixel:=DirectPutPixVESA256;
-             mode.PutPixel:=PutPixVESA256;
-             mode.GetPixel:=GetPixVESA256;
-             mode.SetRGBPalette := SetVESARGBPalette;
-             mode.GetRGBPalette := GetVESARGBPalette;
-             mode.InitMode := Init1024x768x256;
-             mode.SetVisualPage := SetVisualVESA;
-             mode.SetActivePage := SetActiveVESA;
-             mode.hline := HLineVESA256;
-             mode.vline := VLineVESA256;
-{$else fpc}
-             mode.DirectPutPixel:=@DirectPutPixVESA256;
-             mode.PutPixel:=@PutPixVESA256;
-             mode.GetPixel:=@GetPixVESA256;
-             mode.SetRGBPalette := @SetVESARGBPalette;
-             mode.GetRGBPalette := @GetVESARGBPalette;
-             mode.InitMode := @Init1024x768x256;
-             mode.SetVisualPage := @SetVisualVESA;
-             mode.SetActivePage := @SetActiveVESA;
-             mode.vline := @VLineVESA256;
-             mode.hline := @HLineVESA256;
-{$endif fpc}
+             mode.DirectPutPixel:={$ifdef fpc}@{$endif}DirectPutPixVESA256;
+             mode.PutPixel:={$ifdef fpc}@{$endif}PutPixVESA256;
+             mode.GetPixel:={$ifdef fpc}@{$endif}GetPixVESA256;
+             mode.SetRGBPalette := {$ifdef fpc}@{$endif}SetVESARGBPalette;
+             mode.GetRGBPalette := {$ifdef fpc}@{$endif}GetVESARGBPalette;
+             mode.InitMode := {$ifdef fpc}@{$endif}Init1024x768x256;
+             mode.SetVisualPage := {$ifdef fpc}@{$endif}SetVisualVESA;
+             mode.SetActivePage := {$ifdef fpc}@{$endif}SetActiveVESA;
+             mode.vline := {$ifdef fpc}@{$endif}VLineVESA256;
+             mode.hline := {$ifdef fpc}@{$endif}HLineVESA256;
              mode.XAspect := 10000;
              mode.YAspect := 10000;
              AddMode(mode);
@@ -2529,25 +2302,14 @@ const CrtAddress: word = 0;
              mode.DirectColor := TRUE;
              mode.MaxX := 1023;
              mode.MaxY := 767;
-{$ifndef fpc}
-             mode.DirectPutPixel:=DirectPutPixVESA32k;
-             mode.PutPixel:=PutPixVESA32k;
-             mode.GetPixel:=GetPixVESA32k;
-             mode.SetRGBPalette := SetVESARGBPalette;
-             mode.GetRGBPalette := GetVESARGBPalette;
-             mode.InitMode := Init640x480x32k;
-             mode.SetVisualPage := SetVisualVESA;
-             mode.SetActivePage := SetActiveVESA;
-{$else fpc}
-             mode.DirectPutPixel:=@DirectPutPixVESA32k;
-             mode.PutPixel:=@PutPixVESA32k;
-             mode.GetPixel:=@GetPixVESA32k;
-             mode.SetRGBPalette := @SetVESARGBPalette;
-             mode.GetRGBPalette := @GetVESARGBPalette;
-             mode.InitMode := @Init640x480x32k;
-             mode.SetVisualPage := @SetVisualVESA;
-             mode.SetActivePage := @SetActiveVESA;
-{$endif fpc}
+             mode.DirectPutPixel:={$ifdef fpc}@{$endif}DirectPutPixVESA32k;
+             mode.PutPixel:={$ifdef fpc}@{$endif}PutPixVESA32k;
+             mode.GetPixel:={$ifdef fpc}@{$endif}GetPixVESA32k;
+             mode.SetRGBPalette := {$ifdef fpc}@{$endif}SetVESARGBPalette;
+             mode.GetRGBPalette := {$ifdef fpc}@{$endif}GetVESARGBPalette;
+             mode.InitMode := {$ifdef fpc}@{$endif}Init640x480x32k;
+             mode.SetVisualPage := {$ifdef fpc}@{$endif}SetVisualVESA;
+             mode.SetActivePage := {$ifdef fpc}@{$endif}SetActiveVESA;
              mode.XAspect := 10000;
              mode.YAspect := 10000;
              AddMode(mode);
@@ -2566,25 +2328,14 @@ const CrtAddress: word = 0;
              mode.PaletteSize := mode.MaxColor;
              mode.MaxX := 1023;
              mode.MaxY := 767;
-{$ifndef fpc}
-             mode.DirectPutPixel:=DirectPutPixVESA64k;
-             mode.PutPixel:=PutPixVESA64k;
-             mode.GetPixel:=GetPixVESA64k;
-             mode.SetRGBPalette := SetVESARGBPalette;
-             mode.GetRGBPalette := GetVESARGBPalette;
-             mode.InitMode := Init1024x768x64k;
-             mode.SetVisualPage := SetVisualVESA;
-             mode.SetActivePage := SetActiveVESA;
-{$else fpc}
-             mode.DirectPutPixel:=@DirectPutPixVESA64k;
-             mode.PutPixel:=@PutPixVESA64k;
-             mode.GetPixel:=@GetPixVESA64k;
-             mode.SetRGBPalette := @SetVESARGBPalette;
-             mode.GetRGBPalette := @GetVESARGBPalette;
-             mode.InitMode := @Init1024x768x64k;
-             mode.SetVisualPage := @SetVisualVESA;
-             mode.SetActivePage := @SetActiveVESA;
-{$endif fpc}
+             mode.DirectPutPixel:={$ifdef fpc}@{$endif}DirectPutPixVESA64k;
+             mode.PutPixel:={$ifdef fpc}@{$endif}PutPixVESA64k;
+             mode.GetPixel:={$ifdef fpc}@{$endif}GetPixVESA64k;
+             mode.SetRGBPalette := {$ifdef fpc}@{$endif}SetVESARGBPalette;
+             mode.GetRGBPalette := {$ifdef fpc}@{$endif}GetVESARGBPalette;
+             mode.InitMode := {$ifdef fpc}@{$endif}Init1024x768x64k;
+             mode.SetVisualPage := {$ifdef fpc}@{$endif}SetVisualVESA;
+             mode.SetActivePage := {$ifdef fpc}@{$endif}SetActiveVESA;
              mode.XAspect := 10000;
              mode.YAspect := 10000;
              AddMode(mode);
@@ -2603,25 +2354,14 @@ const CrtAddress: word = 0;
              mode.PaletteSize := mode.MaxColor;
              mode.MaxX := 1279;
              mode.MaxY := 1023;
-{$ifndef fpc}
-             mode.DirectPutPixel:=DirectPutPixVESA16;
-             mode.SetRGBPalette := SetVESARGBPalette;
-             mode.GetRGBPalette := GetVESARGBPalette;
-             mode.PutPixel:=PutPixVESA16;
-{             mode.GetPixel:=GetPixVESA16;}
-             mode.InitMode := Init1280x1024x16;
-             mode.SetVisualPage := SetVisualVESA;
-             mode.SetActivePage := SetActiveVESA;
-{$else fpc}
-             mode.DirectPutPixel:=@DirectPutPixVESA16;
-             mode.SetRGBPalette := @SetVESARGBPalette;
-             mode.GetRGBPalette := @GetVESARGBPalette;
-             mode.PutPixel:=@PutPixVESA16;
-{             mode.GetPixel:=@GetPixVESA16;}
-             mode.InitMode := @Init1280x1024x16;
-             mode.SetVisualPage := @SetVisualVESA;
-             mode.SetActivePage := @SetActiveVESA;
-{$endif fpc}
+             mode.DirectPutPixel:={$ifdef fpc}@{$endif}DirectPutPixVESA16;
+             mode.SetRGBPalette := {$ifdef fpc}@{$endif}SetVESARGBPalette;
+             mode.GetRGBPalette := {$ifdef fpc}@{$endif}GetVESARGBPalette;
+             mode.PutPixel:={$ifdef fpc}@{$endif}PutPixVESA16;
+(*             mode.GetPixel:={$ifdef fpc}@{$endif}GetPixVESA16; *)
+             mode.InitMode := {$ifdef fpc}@{$endif}Init1280x1024x16;
+             mode.SetVisualPage := {$ifdef fpc}@{$endif}SetVisualVESA;
+             mode.SetActivePage := {$ifdef fpc}@{$endif}SetActiveVESA;
              mode.XAspect := 10000;
              mode.YAspect := 10000;
              AddMode(mode);
@@ -2640,29 +2380,16 @@ const CrtAddress: word = 0;
              mode.PaletteSize := mode.MaxColor;
              mode.MaxX := 1279;
              mode.MaxY := 1023;
-{$ifndef fpc}
-             mode.DirectPutPixel:=DirectPutPixVESA256;
-             mode.PutPixel:=PutPixVESA256;
-             mode.GetPixel:=GetPixVESA256;
-             mode.InitMode := Init1280x1024x256;
-             mode.SetRGBPalette := SetVESARGBPalette;
-             mode.GetRGBPalette := GetVESARGBPalette;
-             mode.SetVisualPage := SetVisualVESA;
-             mode.SetActivePage := SetActiveVESA;
-             mode.hline := HLineVESA256;
-             mode.vline := VLineVESA256;
-{$else fpc}
-             mode.DirectPutPixel:=@DirectPutPixVESA256;
-             mode.PutPixel:=@PutPixVESA256;
-             mode.GetPixel:=@GetPixVESA256;
-             mode.InitMode := @Init1280x1024x256;
-             mode.SetRGBPalette := @SetVESARGBPalette;
-             mode.GetRGBPalette := @GetVESARGBPalette;
-             mode.SetVisualPage := @SetVisualVESA;
-             mode.SetActivePage := @SetActiveVESA;
-             mode.vline := @VLineVESA256;
-             mode.hline := @HLineVESA256;
-{$endif fpc}
+             mode.DirectPutPixel:={$ifdef fpc}@{$endif}DirectPutPixVESA256;
+             mode.PutPixel:={$ifdef fpc}@{$endif}PutPixVESA256;
+             mode.GetPixel:={$ifdef fpc}@{$endif}GetPixVESA256;
+             mode.InitMode := {$ifdef fpc}@{$endif}Init1280x1024x256;
+             mode.SetRGBPalette := {$ifdef fpc}@{$endif}SetVESARGBPalette;
+             mode.GetRGBPalette := {$ifdef fpc}@{$endif}GetVESARGBPalette;
+             mode.SetVisualPage := {$ifdef fpc}@{$endif}SetVisualVESA;
+             mode.SetActivePage := {$ifdef fpc}@{$endif}SetActiveVESA;
+             mode.vline := {$ifdef fpc}@{$endif}VLineVESA256;
+             mode.hline := {$ifdef fpc}@{$endif}HLineVESA256;
              mode.XAspect := 10000;
              mode.YAspect := 10000;
              AddMode(mode);
@@ -2681,25 +2408,14 @@ const CrtAddress: word = 0;
              mode.PaletteSize := mode.MaxColor;
              mode.MaxX := 1279;
              mode.MaxY := 1023;
-{$ifndef fpc}
-             mode.DirectPutPixel:=DirectPutPixVESA32k;
-             mode.PutPixel:=PutPixVESA32k;
-             mode.GetPixel:=GetPixVESA32k;
-             mode.InitMode := Init1280x1024x32k;
-             mode.SetRGBPalette := SetVESARGBPalette;
-             mode.GetRGBPalette := GetVESARGBPalette;
-             mode.SetVisualPage := SetVisualVESA;
-             mode.SetActivePage := SetActiveVESA;
-{$else fpc}
-             mode.DirectPutPixel:=@DirectPutPixVESA32k;
-             mode.PutPixel:=@PutPixVESA32k;
-             mode.GetPixel:=@GetPixVESA32k;
-             mode.InitMode := @Init1280x1024x32k;
-             mode.SetRGBPalette := @SetVESARGBPalette;
-             mode.GetRGBPalette := @GetVESARGBPalette;
-             mode.SetVisualPage := @SetVisualVESA;
-             mode.SetActivePage := @SetActiveVESA;
-{$endif fpc}
+             mode.DirectPutPixel:={$ifdef fpc}@{$endif}DirectPutPixVESA32k;
+             mode.PutPixel:={$ifdef fpc}@{$endif}PutPixVESA32k;
+             mode.GetPixel:={$ifdef fpc}@{$endif}GetPixVESA32k;
+             mode.InitMode := {$ifdef fpc}@{$endif}Init1280x1024x32k;
+             mode.SetRGBPalette := {$ifdef fpc}@{$endif}SetVESARGBPalette;
+             mode.GetRGBPalette := {$ifdef fpc}@{$endif}GetVESARGBPalette;
+             mode.SetVisualPage := {$ifdef fpc}@{$endif}SetVisualVESA;
+             mode.SetActivePage := {$ifdef fpc}@{$endif}SetActiveVESA;
              mode.XAspect := 10000;
              mode.YAspect := 10000;
              AddMode(mode);
@@ -2718,25 +2434,14 @@ const CrtAddress: word = 0;
              mode.PaletteSize := mode.MaxColor;
              mode.MaxX := 1279;
              mode.MaxY := 1023;
-{$ifndef fpc}
-             mode.DirectPutPixel:=DirectPutPixVESA64k;
-             mode.PutPixel:=PutPixVESA64k;
-             mode.GetPixel:=GetPixVESA64k;
-             mode.InitMode := Init1280x1024x64k;
-             mode.SetRGBPalette := SetVESARGBPalette;
-             mode.GetRGBPalette := GetVESARGBPalette;
-             mode.SetVisualPage := SetVisualVESA;
-             mode.SetActivePage := SetActiveVESA;
-{$else fpc}
-             mode.DirectPutPixel:=@DirectPutPixVESA64k;
-             mode.PutPixel:=@PutPixVESA64k;
-             mode.GetPixel:=@GetPixVESA64k;
-             mode.InitMode := @Init1280x1024x64k;
-             mode.SetRGBPalette := @SetVESARGBPalette;
-             mode.GetRGBPalette := @GetVESARGBPalette;
-             mode.SetVisualPage := @SetVisualVESA;
-             mode.SetActivePage := @SetActiveVESA;
-{$endif fpc}
+             mode.DirectPutPixel:={$ifdef fpc}@{$endif}DirectPutPixVESA64k;
+             mode.PutPixel:={$ifdef fpc}@{$endif}PutPixVESA64k;
+             mode.GetPixel:={$ifdef fpc}@{$endif}GetPixVESA64k;
+             mode.InitMode := {$ifdef fpc}@{$endif}Init1280x1024x64k;
+             mode.SetRGBPalette := {$ifdef fpc}@{$endif}SetVESARGBPalette;
+             mode.GetRGBPalette := {$ifdef fpc}@{$endif}GetVESARGBPalette;
+             mode.SetVisualPage := {$ifdef fpc}@{$endif}SetVisualVESA;
+             mode.SetActivePage := {$ifdef fpc}@{$endif}SetActiveVESA;
              mode.XAspect := 10000;
              mode.YAspect := 10000;
              AddMode(mode);
@@ -2746,7 +2451,11 @@ const CrtAddress: word = 0;
 
 {
 $Log$
-Revision 1.20  1999-09-26 13:31:06  jonas
+Revision 1.21  1999-09-27 23:34:40  peter
+  * new graph unit is default for go32v2
+  * removed warnings/notes
+
+Revision 1.20  1999/09/26 13:31:06  jonas
   * changed name of modeinfo variable to vesamodeinfo and fixed
     associated errors (fillchar(modeinfo,sizeof(tmodeinfo),#0) instead
     of sizeof(TVesamodeinfo) etc)

+ 15 - 13
rtl/inc/graph/graph.pp

@@ -192,7 +192,9 @@ Unit Graph;
 
 { text.inc will crash on aligned requirement machines.          }
 { (packed record for fontrec)                                   }
-{$G+}
+{$ifndef fpc}
+  {$G+}
+{$endif}
 
 Interface
 
@@ -340,6 +342,7 @@ Interface
        HercMonoHi = 0;
 
 
+       {$i graphmod.inc}
 
        MaxColors   = 255;   { Maximum possible colors using a palette }
                             { otherwise, direct color encoding        }
@@ -400,8 +403,8 @@ Interface
         graph_float = single;   { the platform's preferred floating point size }
 {$ELSE}
         graph_int = integer;    { platform specific integer used for indexes;
-                                                          should be 16 bits on TP/BP and 32 bits on every-
-                                                          thing else for speed reasons }
+                                  should be 16 bits on TP/BP and 32 bits on every-
+                                  thing else for speed reasons }
         graph_float = real;     { the platform's preferred floating point size }
 {$ENDIF}
 
@@ -704,10 +707,10 @@ Begin
   Close(debuglog);
 End;
 {$endif logging}
+
 const
    StdBufferSize = 4096;   { Buffer size for FloodFill }
 
-
 type
 
 
@@ -725,9 +728,6 @@ const
    RevbitArray: Array[0..7] of byte =
      ($80,$40,$20,$10,$08,$04,$02,$01);
 
-
-
-
     { pre expanded line patterns }
     { 0 = LSB of byte pattern    }
     { 15 = MSB of byte pattern   }
@@ -841,7 +841,6 @@ var
   procedure VLineDefault(x,y,y2: integer); {$ifndef fpc}far;{$endif fpc}
 
    var
-    Col: word;
     ytmp: integer;
   Begin
     { must we swap the values? }
@@ -874,7 +873,7 @@ var
       xinc2          : Integer;
       yinc1          : Integer;
       yinc2          : Integer;
-      i, j           : Integer;
+      i              : Integer;
       Flag           : Boolean; { determines pixel direction in thick lines }
       NumPixels      : Integer;
       PixelCount     : Integer;
@@ -1309,10 +1308,7 @@ var
    var
     j, Delta, DeltaEnd: graph_float;
     NumOfPixels: longint;
-    NumOfPix: Array[0..2] of longint;
-    count: longint;
     ConvFac,TempTerm: graph_float;
-    aval,bval: integer;
     xtemp, ytemp, xp, yp, xm, ym, xnext, ynext,
       plxpyp, plxmyp, plxpym, plxmym: integer;
     BackupColor, DeltaAngle, TmpAngle, OldLineWidth: word;
@@ -2049,12 +2045,14 @@ end;
   function InstallUserDriver(Name: string; AutoDetectPtr: Pointer): integer;
    begin
      _graphResult := grError;
+     InstallUserDriver:=grError;
    end;
 
   function RegisterBGIDriver(driver: pointer): integer;
 
    begin
      _graphResult := grError;
+     RegisterBGIDriver:=grError;
    end;
 
 
@@ -2845,7 +2843,11 @@ SetGraphBufSize
 
 {
   $Log$
-  Revision 1.29  1999-09-26 13:31:06  jonas
+  Revision 1.30  1999-09-27 23:34:41  peter
+    * new graph unit is default for go32v2
+    * removed warnings/notes
+
+  Revision 1.29  1999/09/26 13:31:06  jonas
     * changed name of modeinfo variable to vesamodeinfo and fixed
       associated errors (fillchar(modeinfo,sizeof(tmodeinfo),#0) instead
       of sizeof(TVesamodeinfo) etc)

+ 27 - 0
rtl/inc/graph/graphmod.inc

@@ -0,0 +1,27 @@
+CONST
+  { VESA Specific video modes. }
+  m320x200x32k      = $10D;
+  m320x200x64k      = $10E;
+
+  m640x400x256      = $100;
+
+  m640x480x256      = $101;
+  m640x480x32k      = $110;
+  m640x480x64k      = $111;
+
+  m800x600x16       = $102;
+  m800x600x256      = $103;
+  m800x600x32k      = $113;
+  m800x600x64k      = $114;
+
+  m1024x768x16      = $104;
+  m1024x768x256     = $105;
+  m1024x768x32k     = $116;
+  m1024x768x64k     = $117;
+
+  m1280x1024x16     = $106;
+  m1280x1024x256    = $107;
+  m1280x1024x32k    = $119;
+  m1280x1024x64k    = $11A;
+
+

+ 7 - 9
rtl/inc/graph/gtext.inc

@@ -152,7 +152,6 @@
     function unpack(buf: pchar; index: integer; var Stroke: TStrokes): integer;
 
      var
-      pb: pword;
       po: TStrokes;
       num_ops: integer;
       opcode, i, opc: word;
@@ -258,7 +257,7 @@
       var
          hp : pchar;
          b : word;
-         i,j: longint;
+         i: longint;
          Header: THeader;
          counter: longint;
          FontData: pchar;
@@ -358,13 +357,9 @@
          X,Y: Integer;
        end;
       var
-         ch: char;
-         b1,b2         : shortint;
-         b3            : byte;
          i,j,k,c       : longint;
          oldvalues     : linesettingstype;
-         nextpos       : word;
-         xpos,ypos,offs: longint;
+         xpos,ypos     : longint;
          counter       : longint;
          FontBitmap    : TBitmapChar;
          chr: char;
@@ -372,7 +367,6 @@
          cnt3,cnt4     : integer;
          charsize      : word;
 
-         TextBuffer    : array[1..sizeof(string)*2] of Tpoint;
          WriteMode     : word;
          CurX, CurY    : integer;
 
@@ -734,7 +728,11 @@
 
 {
 $Log$
-Revision 1.4  1999-09-26 13:31:07  jonas
+Revision 1.5  1999-09-27 23:34:42  peter
+  * new graph unit is default for go32v2
+  * removed warnings/notes
+
+Revision 1.4  1999/09/26 13:31:07  jonas
   * changed name of modeinfo variable to vesamodeinfo and fixed
     associated errors (fillchar(modeinfo,sizeof(tmodeinfo),#0) instead
     of sizeof(TVesamodeinfo) etc)

+ 5 - 0
rtl/inc/graph/makefile.inc

@@ -0,0 +1,5 @@
+GRAPHINCNAMES=graph.inc fontdata.inc clip.inc fills.inc gtext.inc palette.inc modes.inc
+
+ifeq ($(OS_TARGET),go32v2)
+GRAPHINCNAMES+=vesa.inc vesah.inc dpmi.inc
+endif

+ 11 - 14
rtl/inc/graph/vesa.inc

@@ -95,11 +95,12 @@ end;
     ptrlong : longint;
     VESAPtr : ^TVESAInfo;
     regs : TDPMIRegisters;
+{$ifndef fpc}
     ModeSel: word;
     offs: longint;
+{$endif}
     { added... }
     modelist: PmodeList;
-    modeptr : pointer;
     i: longint;
     RealSeg : word;
    begin
@@ -393,7 +394,6 @@ end;
 
   procedure PutPixVESA256(x, y : integer; color : word); {$ifndef fpc}far;{$endif fpc}
   var
-     bank : word;
      offs : longint;
   begin
      X:= X + StartXViewPort;
@@ -413,7 +413,6 @@ end;
 
   procedure DirectPutPixVESA256(x, y : integer); {$ifndef fpc}far;{$endif fpc}
   var
-     bank : word;
      offs : longint;
      col : byte;
   begin
@@ -447,7 +446,6 @@ end;
 
   function GetPixVESA256(x, y : integer): word; {$ifndef fpc}far;{$endif fpc}
   var
-     bank : word;
      offs : longint;
   begin
      X:= X + StartXViewPort;
@@ -891,7 +889,6 @@ end;
 
   procedure PutPixVESA32k(x, y : integer; color : word); {$ifndef fpc}far;{$endif fpc}
   var
-     bank : word;
      offs : longint;
   begin
      X:= X + StartXViewPort;
@@ -911,7 +908,6 @@ end;
 
   procedure PutPixVESA64k(x, y : integer; color : word); {$ifndef fpc}far;{$endif fpc}
   var
-     bank : word;
      offs : longint;
   begin
      X:= X + StartXViewPort;
@@ -931,7 +927,6 @@ end;
 
   function GetPixVESA32k(x, y : integer): word; {$ifndef fpc}far;{$endif fpc}
   var
-     bank : word;
      offs : longint;
   begin
      X:= X + StartXViewPort;
@@ -943,7 +938,6 @@ end;
 
   function GetPixVESA64k(x, y : integer): word; {$ifndef fpc}far;{$endif fpc}
   var
-     bank : word;
      offs : longint;
   begin
      X:= X + StartXViewPort;
@@ -955,7 +949,7 @@ end;
 
   procedure DirectPutPixVESA32k(x, y : integer); {$ifndef fpc}far;{$endif fpc}
   var
-     bank, col : word;
+     col : word;
      offs : longint;
   begin
      offs := longint(y) * BytesPerLine + 2*x;
@@ -988,7 +982,7 @@ end;
 
   procedure DirectPutPixVESA64k(x, y : integer); {$ifndef fpc}far;{$endif fpc}
   var
-     bank, Col : word;
+     Col : word;
      offs : longint;
   begin
      offs := longint(y) * BytesPerLine + 2*x;
@@ -1025,7 +1019,6 @@ end;
 
   procedure PutPixVESA16(x, y : integer; color : word); {$ifndef fpc}far;{$endif fpc}
     var
-     bank : word;
      offs : longint;
      dummy_read : byte;
   begin
@@ -1058,7 +1051,6 @@ end;
 
   procedure DirectPutPixVESA16(x, y : integer); {$ifndef fpc}far;{$endif fpc}
     var
-     bank : word;
      offs : longint;
      dummy_read : byte;
   begin
@@ -1173,8 +1165,9 @@ end;
       RedValue, GreenValue, BlueValue : integer);
    var
     pal: PalRec;
-    Error: boolean;
+{$ifndef fpc}
     palptr : ^PalRec;
+{$endif}
     regs : TDPMIRegisters;
     RealSeg: word;
     ptr: longint;
@@ -1880,7 +1873,11 @@ end;
 
 {
 $Log$
-Revision 1.16  1999-09-26 13:31:07  jonas
+Revision 1.17  1999-09-27 23:34:42  peter
+  * new graph unit is default for go32v2
+  * removed warnings/notes
+
+Revision 1.16  1999/09/26 13:31:07  jonas
   * changed name of modeinfo variable to vesamodeinfo and fixed
     associated errors (fillchar(modeinfo,sizeof(tmodeinfo),#0) instead
     of sizeof(TVesamodeinfo) etc)