INT 2F U - DOS 4.0+ DRIVER.SYS support - GET DRIVE DATA TABLE LIST AX = 0803h Return: DS:DI -> first drive data table in list (see #02601,#02602,#02603) Note: not available under DR DOS 5.0, but supported by Novell DOS 7 (using the MS-DOS 4+ data table format) SeeAlso: AX=0801h Format of DOS 3.30 drive data table: Offset Size Description (Table 02601) 00h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. pointer to next table (offset FFFFh if last table) 04h BYTE physical unit number (for INT 13) 05h BYTE logical drive number (0=A:) 06h 19 BYTEs BIOS Parameter BlockThe BIOS Parameter Block stores the low-level layout of a drive. See also INT 21h Function 53h. (see also INT 21/AH=53h) Offset Size Description 00h WORD bytes per sector 02h BYTE sectors per cluster, FFh if unknown 03h WORD number of reserved sectors 05h BYTE number of FATs 06h WORD number of root dir entries 08h WORD total sectors 0Ah BYTE media descriptor, 00h if unknown 0Bh WORD sectors per FATsee File Allocation Table 0Dh WORD sectors per track 0Fh WORD number of heads 11h WORD number of hidden sectors 19h BYTE flags bit 6: 16-bit FATsee File Allocation Table instead of 12-bit FATsee File Allocation Table 1Ah WORD number of DEVICE OPEN calls without corresponding DEVICE CLOSE 1Ch 11 BYTEs volume label or "NO NAME " if none (always "NO NAME" for fixed media) 27h BYTE terminating null for volume label??? 28h BYTE device type (see #01561 at INT 21/AX=440Dh"DOS 3.2+") 29h WORD bit flags describing drive (see #02604) 2Bh WORD number of cylinders 2Dh 19 BYTEs BIOS Parameter BlockThe BIOS Parameter Block stores the low-level layout of a drive. See also INT 21h Function 53h. for highest capacity supported 40h 3 BYTEs ??? 43h 9 BYTEs filesystem type???, default = "NO NAME " (apparently only MS-DOS 3.30 fixed media, nulls for removable media and PC-DOS 3.30) 4Ch BYTE least-significant byte of last-accessed cylinder number ---removable media--- 4Dh DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. time of last access in clock ticks (FFFFFFFFh if never) ---fixed media--- 4Dh WORD partition (FFFFh = primary, 0001h = extended) 4Fh WORD absolute cylinder number of partition's start on physical drive (always FFFFh if primary partition) SeeAlso: #02602,#02603 Format of COMPAQ DOS 3.31 drive data table: Offset Size Description (Table 02602) 00h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. pointer to next table (offset FFFFh if last table) 04h BYTE physical unit number (for INT 13) 05h BYTE logical drive number (0=A:) 06h 25 BYTEs BIOS Parameter BlockThe BIOS Parameter Block stores the low-level layout of a drive. See also INT 21h Function 53h. (see #02603) 1Fh 6 BYTEs reserved fields from BPBsee BIOS Parameter Block above??? 25h BYTE flags bit 6: 16-bit FATsee File Allocation Table instead of 12-bit FATsee File Allocation Table bit 5: large volume??? 26h WORD device-open count??? 28h 11 BYTEs volume label or "NO NAME " if none (always "NO NAME" for fixed media) 33h BYTE terminating null for volume label 34h BYTE device type (see #01561 at INT 21/AX=440Dh"DOS 3.2+") 35h WORD bit flags describing drive (see #02604) 37h WORD number of cylinders 39h 25 BYTEs BIOS(Basic Input/Output System) A set of standardized calls giving low-level access to the hardware. The BIOS is the lowest software layer above the actual hardware and serves to insulate programs (and operating systems) which use it from the details of accessing the hardware directly. parameter block for highest capacity drive supports 52h 6 BYTEs ??? apparently always zeros 58h BYTE least-significant byte of last-accessed cylinder number ---removable media--- 59h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. time of last access in clock ticks (FFFFFFFFh if never) ---fixed media--- 59h WORD partition (FFFFh = primary, 0001h = extended) 5Bh WORD absolute cylinder number of partition's start on physical drive (always FFFFh if primary partition) SeeAlso: #02601,#02603 Format of DOS 4.0-7.0 drive data table: Offset Size Description (Table 02603) 00h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. pointer to next table (offset FFFFh if last table) 04h BYTE physical unit number (for INT 13) 05h BYTE logical drive number (0=A:) 06h 25 BYTEs BIOS Parameter BlockThe BIOS Parameter Block stores the low-level layout of a drive. See also INT 21h Function 53h. (see also INT 21/AH=53h) Offset Size Description 00h WORD bytes per sector 02h BYTE sectors per cluster, FFh if unknown 03h WORD number of reserved sectors 05h BYTE number of FATs 06h WORD number of root dir entries 08h WORD total sectors (refer to offset 15h if zero) 0Ah BYTE media descriptor, 00h if unknown 0Bh WORD sectors per FATsee File Allocation Table 0Dh WORD sectors per track 0Fh WORD number of heads 11h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. number of hidden sectors 15h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. total sectors if WORD at 08h is zero 1Fh BYTE flags bit 6: 16-bit FATsee File Allocation Table instead of 12-bit bit 7: unsupportable disk (all accesses will return Not Ready) 20h WORD device-open count 22h BYTE device type (see #01561 at INT 21/AX=440Dh"DOS 3.2+") 23h WORD bit flags describing drive (see #02604) 25h WORD number of cylinders (for partition only, if hard disk) 27h 25 BYTEs BIOS Parameter BlockThe BIOS Parameter Block stores the low-level layout of a drive. See also INT 21h Function 53h. for default (highest) capacity supported 40h 6 BYTEs reserved (part of BPBsee BIOS Parameter Block above) 46h BYTE last track accessed ---removable media--- 47h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. time of last access in clock ticks (FFFFFFFFh if never) ---fixed media--- 47h WORD partition (FFFFh = primary, 0001h = extended) always 0001h for DOS 5+ 49h WORD absolute cylinder number of partition's start on physical drive (FFFFh if primary partition in DOS 4.x) ------ 4Bh 11 BYTEs volume label or "NO NAME " if none (apparently taken from extended boot record rather than root directory) 56h BYTE terminating null for volume label 57h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. serial number 5Bh 8 BYTEs filesystem type ("FAT12 " or "FAT16 ") 63h BYTE terminating null for filesystem type SeeAlso: #02601,#02602 Bitfields for flags describing drive: Bit(s) Description (Table 02604) 0 fixed media 1 door lock ("changeline") supported 2 current BPBsee BIOS Parameter Block locked 3 all sectors in a track are the same size 4 physical drive has multiple logical units 5 current logical drive for shared physical drive 6 disk change detected 7 device parameters were changed (set DASD before formatting) (see #01560 at INT 21/AX=440Dh"DOS 3.2+") 8 disk reformatted (BPBsee BIOS Parameter Block of current media was changed) 9 access flag (fixed media only, disables reads and writes) (see #01566 at INT 21/AX=440Dh"DOS 3.2+")