Format of DOS 4.x disk buffer:

Offset Size Description
00h WORD forward ptr, offset only, to next least recently used buffer
02h WORD backward ptr, offset only
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: ???
06h DWORD logical sector number
0Ah BYTE number of copies to write
for FAT sectors, same as number of FATs
for data and directory sectors, usually 1
0Bh WORD offset in sectors between copies to write for FAT sectors
0Dh DWORD pointer to DOS Device Control Block (see AH=32h)
11h 3 BYTEs ??? zero or unset garbage
14h buffered data


Note: All buffered sectors which have the same address modulo NDBCH are on
the same doubly-linked circular chain. The links consist of offset
addresses only, the segment being the same for all buffers in the
chain.