home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 25 / nopv25.iso / 040A / TMTP100D.ZIP / EXAMPLES / VESA / VESADEMO.PAS < prev   
Encoding:
Pascal/Delphi Source File  |  1996-07-02  |  1.6 KB  |  53 lines

  1. {*******************************************************}
  2. {                                                       }
  3. {       Pascal/Lite Runtime Library                     }
  4. {       Vesa Unit Demo                                  }
  5. {                                                       }
  6. {       Copyright (C) 1996    T M T   Corporation       }
  7. {                                                       }
  8. {*******************************************************}
  9.  
  10. program vesademo;
  11. uses vesa, crt;
  12.  
  13. var    buf:pchar;
  14.       mode:integer;
  15.          i:integer;
  16.  
  17. const nbanks: array [1..3] of byte = (4, 8, 12);
  18. const  modes: array [1..3] of word = ($100, $103, $105);
  19.  
  20. begin
  21.     If paramcount <> 1 Then Begin
  22.         Writeln ('Copyright (C) 1996, TMT Development Corporation');
  23.         Writeln ('Vesa interface demonstration');
  24.         Writeln ('Usage: VesaDemo <mode>');
  25.         Writeln ('   <mode> = 1 - 640*480*256');
  26.         Writeln ('   <mode> = 2 - 800*600*256');
  27.         Writeln ('   <mode> = 3 -1024*768*256');
  28.         Halt;
  29.     End;
  30.     val (paramstr (1), mode, i);
  31.     If not (mode in [1..3]) then begin
  32.         WriteLn ('Invalid mode number');
  33.         Halt;
  34.     end;
  35.     VbeSetStart;
  36.     VbeSetBank (1);
  37.     buf:=CheckVbeMode (modes [mode]);
  38.     if vesa.error <> 0 then begin
  39.         writeln ('This mode not supported by your hardware');
  40.         halt;
  41.     end;
  42.     SetVbeMode;
  43.     for i := 0 to nbanks [mode] - 1 do begin
  44.         VbeSetBank (i);
  45.         fillchar (buf^, $10000, (i+2)*$12);
  46.     end;
  47.  
  48.     gotoxy (20+mode*10, 8+mode*4);
  49.     textcolor (lightred);
  50.     writeln ('Press any key');
  51.     repeat until keypressed;
  52. end.
  53.