home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 8 / CDASC08.ISO / NEWS / 554 / JUIN / DETADLIB.PAS < prev    next >
Pascal/Delphi Source File  |  1993-10-07  |  2KB  |  41 lines

  1. {─ Fido Pascal Conference ────────────────────────────────────────────── PASCAL ─
  2. Msg  : 367 of 413
  3. From : T.C. Doyle                          1:120/324.0          25 Jun 93  17:55
  4. To   : All
  5. Subj : Pascal Code How To Detect Adlib Sound Card
  6. ────────────────────────────────────────────────────────────────────────────────
  7.  I found this in the shareware echo...hmm...wrong place:)
  8.  So I decided to forward this message here:
  9.  
  10.  
  11.  
  12.  * Originally By: Mark Shadaram
  13.  * Originally To: All
  14.  * Originally Re: Pascal Code How To Detect Adlib Sound Card
  15.  * Original Area: <FIDO> Shareware Forum
  16.  * Forwarded by : Blue Wave v2.12       }
  17.  
  18. { How to Detect Adlib Sound Card}
  19. { Coded By Mark Shadaram ( mark.shadaram@oubbs.telecom.uoknor.edu)}
  20. Procedure SetAdlib(Address, Data:Byte);  VAR X,I:Byte;
  21. BEGIN Port[$388]:=Address;
  22.       for I:= 1 to 6 do X:=Port[$388];  {Delay}
  23.       Port[$389]:=Data;
  24.       for I:= 1 to 35 do X:=Port[$388]; {Delay}
  25. END;
  26. Function DetectAdlib:Boolean; VAR X,X2:Byte;
  27. BEGIN SetAdlib($4,$60);                  {Step 1}
  28.       SetAdlib($4,$80);                  {Step 2}
  29.       Delay(10);{Just to make sure!}
  30.       X:=Port[$388];                     {Step 3}
  31.       SetAdlib($2,$ff);                  {Step 4}
  32.       SetAdlib($4,$21);                  {Step 5}
  33.       Delay(10);{Just to make sure!}     {Step 6}
  34.       X2:=Port[$388];                    {Step 7}
  35.       SetAdlib($4,$60);                  {Step 8}
  36.       SetAdlib($4,$80);
  37.       X:= X AND $E0;                     {Step 9}
  38.       X2:= X2 AND $E0;
  39.       IF (X =$0) AND (X2 =$C0) THEN
  40.       DetectAdlib:=TRUE ELSE DetectAdlib:=FALSE;
  41. END;