en:docs:dos:api:int21:32

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

en:docs:dos:api:int21:32 [2020/12/09 05:39] – created prokusheven:docs:dos:api:int21:32 [2024/05/02 04:55] (current) prokushev
Line 29: Line 29:
 ===== Notes ===== ===== Notes =====
  
-  the OS/2 compatibility box supports the DOS 3.3 version of this call +the OS/2 compatibility box supports the DOS 3.3 version of this call except for the DWORD at offset 12h 
-          except for the DWORD at offset 12h +           
-        this call updates the DPB by reading the disk; the DPB may be accessed +this call updates the DPB by reading the disk; the DPB may be accessed via the DOS list of lists (see #01627 at AH=52h) if disk access is not desirable. 
-          via the DOS list of lists (see #01627 at AH=52h) if disk access is not +           
-          desirable. +undocumented prior to the release of DOS 5.0; only the DOS 4.0+ version of the DPB has been documented, however 
-        undocumented prior to the release of DOS 5.0; only the DOS 4.0+ +           
-          version of the DPB has been documented, however +supported by DR DOS 3.41+; DR DOS 3.41-6.0 return the same data as MS-DOS 3.31 
-        supported by DR DOS 3.41+; DR DOS 3.41-6.0 return the same data as +           
-          MS-DOS 3.31 +IBM ROM-DOS v4.0 also reports invalid/network (AL=FFh) on the ROM drive
-        IBM ROM-DOS v4.0 also reports invalid/network (AL=FFh) on the ROM drive+
  
 Format of DOS Drive Parameter Block: Format of DOS Drive Parameter Block:
-Offset  Size    Description     (Table 01395) + 
- 00h    BYTE    drive number (00h = A:, 01h = B:, etc) +Offset Size Description ^ 
- 01h    BYTE    unit number within device driver +00h BYTE drive number (00h = A:, 01h = B:, etc) | 
- 02h    WORD    bytes per sector +01h BYTE unit number within device driver | 
- 04h    BYTE    highest sector number within a cluster +02h WORD bytes per sector | 
- 05h    BYTE    shift count to convert clusters into sectors +04h BYTE highest sector number within a cluster | 
- 06h    WORD    number of reserved sectors at beginning of drive +05h BYTE shift count to convert clusters into sectors | 
- 08h    BYTE    number of FATs +06h WORD number of reserved sectors at beginning of drive | 
- 09h    WORD    number of root directory entries +08h BYTE number of FATs | 
- 0Bh    WORD    number of first sector containing user data +09h WORD number of root directory entries | 
- 0Dh    WORD    highest cluster number (number of data clusters + 1) +0Bh WORD number of first sector containing user data | 
-                16-bit FAT if greater than 0FF6h, else 12-bit FAT +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 +0Fh BYTE number of sectors per FAT | 
- 10h    WORD    sector number of first directory sector +10h WORD sector number of first directory sector | 
- 12h    DWORD   address of device driver header (see #01646) +12h DWORD address of device driver header (see #01646) | 
- 16h    BYTE    media ID byte (see #01356) +16h BYTE media ID byte (see #01356) | 
- 17h    BYTE    00h if disk accessed, FFh if not +17h BYTE 00h if disk accessed, FFh if not | 
- 18h    DWORD   pointer to next DPB +18h DWORD pointer to next DPB | 
----DOS 2.x--- +---DOS 2.x--- ||| 
- 1Ch    WORD    cluster containing start of current directory, 0000h=root, +1Ch WORD cluster containing start of current directory, 0000h=root, FFFFh = unknown | 
-                FFFFh = unknown +1Eh 64 BYTEs ASCIZ pathname of current directory for drive | 
- 1Eh 64 BYTEs   ASCIZ pathname of current directory for drive +---DOS 3.x--- ||| 
----DOS 3.x--- +1Ch WORD cluster at which to start search for free space when writing | 
- 1Ch    WORD    cluster at which to start search for free space when writing +1Eh WORD number of free clusters on drive, FFFFh = unknown | 
- 1Eh    WORD    number of free clusters on drive, FFFFh = unknown +---DOS 4.0-6.0--- ||| 
----DOS 4.0-6.0--- +0Fh WORD number of sectors per FAT | 
- 0Fh    WORD    number of sectors per FAT +11h WORD sector number of first directory sector | 
- 11h    WORD    sector number of first directory sector +13h DWORD address of device driver header (see #01646) | 
- 13h    DWORD   address of device driver header (see #01646) +17h BYTE media ID byte (see #01356) | 
- 17h    BYTE    media ID byte (see #01356) +18h BYTE 00h if disk accessed, FFh if not | 
- 18h    BYTE    00h if disk accessed, FFh if not +19h DWORD pointer to next DPB | 
- 19h    DWORD   pointer to next DPB +1Dh WORD cluster at which to start search for free space when writing, usually the last cluster allocated | 
- 1Dh    WORD    cluster at which to start search for free space when writing, +1Fh WORD number of free clusters on drive, FFFFh = unknown |
-                usually the last cluster allocated +
- 1Fh    WORD    number of free clusters on drive, FFFFh = unknown+
  
 ===== See also ===== ===== See also =====
  
- AH=1Fh,AH=52h,AX=7302h+AH=[[en:docs:dos:api:int21:1f|1Fh]],AH=[[en:docs:dos:api:int21:52|52h]],AX=[[en:docs:dos:api:int21:73:02|7302h]]
  
 ===== Note ===== ===== Note =====