|
| |
Detecting SUBSTed Drives
INT21/32 can be used to retrieve a pointer to the DRIVE PARAMETER
TABLE (DPT). On return from the call DS:BX will point to this
table. The byte at offset 0 int the DPT will indicate the drive
number and the byte at offset 1 will indicate the unit within the
drive. If these do not match then the drive is either a RAMdisk
or is SUBST'ed. RAMdisks usually have a 0 at offset 1.
1. issue INT 21/32 to get pointer to DPT in DS:BX
2. if ( DS:[BX] == DS:[BX+1] )
then drive is not substituted, done
4. else if ( DS:[BX] == 0 && not Drive A:)
then drive may be a RAMDRIVE
else drive is SUBSTed (or Bernoulli box)
- see DRIVE PARAMETER TABLE and INT 21h/32h |