home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PASCAL / SVGAPAS.ZIP / VGA1.PAS < prev   
Encoding:
Pascal/Delphi Source File  |  1992-06-19  |  1.5 KB  |  74 lines

  1. { Sample program that initializes the SuperVGA driver}
  2. Program Test256;
  3.  
  4. Uses Graph,Crt,Dos;
  5.  
  6. {$I svga256.inc}
  7.  
  8. var
  9.   AutoDetect : pointer;
  10.   GraphMode, GraphDriver,i : integer;
  11.   a: dacpalette;
  12.   Ky : Char;
  13.  
  14. (* 'Detection' routine *)
  15. {$F+}                    (* Force to far calls *)
  16. function DetectVGA : Integer;
  17. var Vid : Integer;
  18.  
  19. begin
  20.   Writeln('Which video mode would you like to use?');
  21.   Writeln('  0) 320x200x256');
  22.   Writeln('  1) 640x400x256');
  23.   Writeln('  2) 640x480x256');
  24.   Writeln('  3) 800x600x256');
  25.   Writeln('  4) 1024x768x256');
  26.   Write('> ');
  27.   Readln(Vid);
  28.   DetectVGA := Vid;
  29. end;
  30. {$F-}
  31. VAR J:WORD;
  32.  
  33. begin
  34.   AutoDetect := @DetectVGA;
  35.   GraphDriver := InstallUserDriver('SVGA256',AutoDetect);
  36.   GraphDriver := Detect;
  37.   InitGraph(GraphDriver,GraphMode,'');
  38.   sETCOLOR(15);
  39.   rECTANGLE(0,0,1023,767);
  40.  
  41.  
  42.   For I:=0 to 767 do bEGIN
  43.      sETcOLOR(i);
  44.      Line(0,I,getmaxx,I);
  45.      END;
  46.  
  47. {********************************************************}
  48.     for i:=0 to 255 do begin
  49.        a[i][0]:=i;
  50.        a[i][1]:=i div 63;
  51.  
  52.        a[i][2]:=0;
  53.        end;
  54.   setvgapalette(a);
  55. {********************************************************}
  56.   readln;
  57.  
  58. {eND. }
  59.   {Line(0,0,}
  60.   setcolor(15);                (* Remember to do this *)
  61.  
  62.   setvgapalette(a);
  63.  
  64.   for i:=0 to 63 do
  65.     begin
  66.       setcolor(i);
  67.       line(i,0,i,200);
  68.       outtextxy(9*i,100,'H');
  69.       line(0,0,GetMaxX,GetMaxY);
  70.       line(0,GetMaxY,GetMaxX,0);
  71.     end;
  72.   Ky := ReadKey;
  73.   CloseGraph;
  74. end.