Up ] Docs Home ]

Format of DOS Drive Parameter Block

Back ] Next ]

Offset Size Description

00h

BYTE

drive number
00h = A:
01h = B:
02h = C:
03h = D:
04h = E:
05h = F:
06h = G:
07h = H:
08h = I:
09h = J:
0Ah = K:
0Bh = L:
0Ch = M:
0Bh = N:
0Eh = O:
0Fh = P:
10h = Q:
11h = R:
12h = S:
13h = T:
14h = U:
15h = V:
16h = W:
17h = X:
18h = Y:
19h = Z:

01h

BYTE

unit number within device driver

02h

WORD

bytes per sector

04h

BYTE

highest sector number within a cluster

05h

BYTE

shift count to convert clusters into sectors

06h

WORD

number of reserved sectors at beginning of drive

08h

BYTE

number of FATs

09h

WORD

number of root directory entries

0Bh

WORD

number of first sector containing user data

0Dh

WORD

highest cluster number (number of data clusters + 1) 16-bit FAT if greater than 0FF6h, else 12-bit FAT

0Fh

BYTE

number of sectors per FAT

10h

WORD

sector number of first directory sector

12h

DWORD

address of device driver header (see #01646)

16h

BYTE

media ID byte (see #01356)

17h

BYTE

00h if disk accessed, FFh if not

18h

DWORD

pointer to next DPB

---DOS 2.x---

1Ch

WORD

cluster containing start of current directory
0000h - root
FFFFh - unknown

1Eh

64 BYTEs

ASCIZ pathname of current directory for drive

---DOS 3.x---

1Ch

WORD

cluster at which to start search for free space when writing

1Eh

WORD

number of free clusters on drive, FFFFh = unknown

---DOS 4.0-6.0---

0Fh

WORD

number of sectors per FAT

11h

WORD

sector number of first directory sector

13h

DWORD

address of device driver header (see #01646)

17h

BYTE

media ID byte (see #01356)

18h

BYTE

00h - if disk accessed
FFh - if disk not accessed

19h

DWORD

pointer to next DPB

1Dh

WORD

cluster at which to start search for free space when writing, usually the last cluster allocated

1Fh

WORD

number of free clusters on drive, FFFFh = unknown

See Also:

#01357,#01663,#01787 at AX=7302h,#04039 at INT E0/CL=71h