Subject: Detecting a CD-ROM drive? 69. ***** Q: How to detect if a drive is a CD-ROM drive? A: There are several methods to do this. Here is one option. (* Is a drive a CD-ROM with MSCDEX driver installed *) function CDROMFN (drive : char) : boolean; var regs : registers; begin cdromfn := false; if swap(DosVersion) < $0200 then exit; drive := UpCase(drive); if (drive < 'A') or (drive > 'Z') then exit; FillChar (regs, SizeOf(regs), 0); regs.cx := ord(drive) - ord('A'); regs.ax := $150B; Intr ($2F, regs); cdromfn := (regs.ax <> 0) and (regs.bx = $ADAD); end; (* cdromfn *) The other relevant $2F interrupt functions you can use are $1500, $1501, and in particular $150D. --------------------------------------------------------------------