Contributor: FRANK DIACHEYSN { Coded By Frank Diacheysn Of Gemini Software FUNCTION WHEREISDOS Input......: None : : : : Output.....: 2-Character String, Explained Further Below. : : : : Example....: IF Chars[1] = 'O' THEN : WriteLn('DOS Is Resident In ROM') : ELSE : WriteLn('DOS Is Resident In RAM'); : IF Chars[2] = 'H' THEN : WriteLn('DOS Is Loaded Into High Memory (HMA)') : ELSE : WriteLn('DOS Is Loaded Into Conventional Memory'); Description: Returns The Status Of Where DOS Is Loaded Using The Following: : Chars[1] = 'O' (Resident In ROM) : Chars[1] = 'A' (Resident In RAM) : Chars[2] = 'H' (Loaded In High Memory) : Chars[2] = 'C' (Loaded in Conventional Memory) } FUNCTION WHEREISDOS:STRING; VAR Chars : ARRAY [1..2] OF CHAR; BEGIN Regs.AH := $33; Regs.AL := $06; Intr( $33,Regs ); IF (Regs.DH AND $04)=$04 THEN Chars[1] := 'O' ELSE Chars[1] := 'A'; IF (Regs.DH AND $08)=$08 THEN Chars[2] := 'H' ELSE Chars[2] := 'C'; WHEREISDOS := Chars[1]+Chars[2]; END;