[Back to COMM SWAG index] [Back to Main SWAG index] [Original]
unit cdchk;
Interface
Function CarrierDetected( ComPort : byte ) : Boolean;
Implementation
Function CarrierDetected( ComPort : byte ) : Boolean;
Const MSR = 6;
VAR
BASEPORT : Array[0..3] Of Word absolute $40:0;
VAR P : Word;
begin
CarrierDetected := FALSE; { Assume no Carrier }
dec( ComPort );
if ComPort in [0..3] then { range check for COMx }
begin { ... not valid ? }
P := BasePort[ComPort]; { Bios-Var for COMx... }
If P <> 0 then { ... not assigned ?! }
begin
CarrierDetected := (Port[P+ MSR] And $80) = 0;
end;
end
end;
{ No Initializing ... }
end.
-------------------------------------------------------------
P.S.: If P=0 ...
Port[P+MSR] ==> Port[6]
this would read the DMA Channel#3-LowAdress-Byte .... (:-))
-------------------------------------------------------------
[Back to COMM SWAG index] [Back to Main SWAG index] [Original]