Format of DOS 3.x disk buffer:

Offset Size Description
00h DWORD pointer to next disk buffer, offset = FFFFh if last
04h BYTE drive (0=A,1=B, etc), FFh if not in use
05h BYTE flags
bit 7: ???
bit 6: buffer dirty
bit 5: buffer in use
bit 4: ???
bit 3: sector in data area
bit 2: sector in a directory, either root or subdirectory
bit 1: sector in FAT
bit 0: boot sector??? (guess)
06h WORD logical sector number
08h BYTE number of copies to write (1 for non-FAT sectors)
09h BYTE sector offset between copies if multiple copies to be written
0Ah DWORD pointer to DOS Device Control Block (see AH=32h)
0Eh WORD unused??? (almost always 0)
10h buffered data