home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS - Coast to Coast / simteldosarchivecoasttocoast.iso / pcmag / vol7n20.zip / VIDEODEM.PAS < prev   
Pascal/Delphi Source File  |  1988-07-14  |  1KB  |  42 lines

  1. {$R+}
  2. PROGRAM VidModeDemo;
  3. VAR
  4.   VidMode : Byte;
  5.  
  6.   FUNCTION VideoMode : Byte;
  7.   CONST
  8.     BiosVidSvc = $10;         (* Bios Video Services Interrupt *)
  9.     GetVidMode = $0F;         (* Bios Request for Get Video Mode *)
  10.   TYPE
  11.     RegRec = RECORD
  12.                AX, BX, CX, DX : Integer;
  13.                BP, SI, DI     : Integer;
  14.                DS, ES, Flags  : Integer;
  15.              END;
  16.   VAR
  17.     Registers   : RegRec;
  18.   BEGIN
  19.     Registers.AX := GetVidMode SHL 8;
  20.     Intr(BiosVidSvc, Registers);
  21.     VideoMode := Lo(registers.AX);
  22.   END;                        (* VideoMode *)
  23.  
  24. BEGIN
  25.   VidMode := VideoMode;
  26.   IF VidMode = 7 THEN
  27.     WriteLn('Using MONOCHROME monitor, 80x25 TEXT mode')
  28.   ELSE
  29.     BEGIN
  30.       Write('Using Color/Graphics monitor, ');
  31.       CASE VidMode OF
  32.              0 : WriteLn('40x25 black-and-white TEXT mode');
  33.              1 : WriteLn('40x25 color TEXT mode');
  34.              2 : WriteLn('80x25 black-and-white TEXT mode');
  35.              3 : WriteLn('80x25 color TEXT mode');
  36.           4..6 : WriteLn('CGA graphics mode ',VidMode);
  37.          8..10 : WriteLn('PCjr graphics mode ',VidMode);
  38.          11,12 : WriteLn('UNKNOWN graphics mode ',VidMode);
  39.         13..16 : WriteLn('EGA graphics mode ',VidMode);
  40.       END;
  41.   END;
  42. END.