[Back to EGAVGA SWAG index] [Back to Main SWAG index] [Original]
program EGAORVGA;
{For TP 6.0 because of assembler code.  Put these functions into a UNIT
 for general use.}
  FUNCTION IsEGAorVGA : Boolean; Assembler;
  ASM
    MOV AH, 12h
    MOV BL, 10h
    INT 10h
    MOV AL, 0
    CMP BH, 1
    JA @Nope
    CMP BL, 3
    JA @Nope
    INC AL
    @Nope:
  END;
  FUNCTION IsVGA : Boolean; Assembler;
  ASM
    MOV AH, 12h
    MOV AL, 00h
    MOV BL, 36h
    INT 10h
    MOV AH, 0
    CMP AL, 12h
    JNZ @Nope
    INC AH
    @Nope:
  END;
begin
  If IsEGAorVGA then
  begin
    Writeln('Programs supporting EGA or VGA will run on this computer.');
    If IsVGA then
      Writeln('VGA detected.')
    Else
      Writeln('EGA detected.')
  end
  Else
      Writeln('No EGA or VGA detected!');
end.
[Back to EGAVGA SWAG index] [Back to Main SWAG index] [Original]