INT 13h,  08h (8)        Get Current Drive Parameters                   fixed

Reports disk drive parameters, such as the number of heads, tracks,
and sectors per track.

On entry:      AH         08h
DL         Drive number

Returns:       CH         Maximum value for cylinder (10-bit value;
upper 2 bits in CL)
CL         Maximum value for sector
DH         Maximum value for heads

For Fixed Disks:
AH         Status of operation (See Service 01h)
DL         Number of fixed disks
CF         Set if error; otherwise cleared

For Diskettes:
AX         0
BL         Bits 7 to 4 = 0
Bits 3 to 0    Valid drive type in CMOS (See
BH         0
DL         Number of diskettes
ES:DI      Pointer to 11-byte Diskette Drive Parameter


Notes:         This service is available for diskettes on PC
Convertibles, XT-286s, and ATs dated after 1/10/84.
All machines support the fixed disk mode of this

Values in DL less than 80h specify diskettes; values
greater than 80h specify fixed disks. For example, 0
means the first diskette, while 80h means the first
fixed disk.

The cylinder number is a ten-bit quantity (0 through
1023). Its most significant two bits are in bits 7
and 6 of CL; the remaining eight bits are in CH. The
starting sector number fits in the low-order portion
(lower 6 bits) of CL.

If the drive is a fixed disk and there is an error,
the Carry Flag will be set. If the drive number is
invalid, AH will be equal to 7. And if no fixed disk
drive is present or the fixed disk drive adapter is
not installed, AH will be equal to 1.

If the drive is a diskette and there is an error,

If the drive type is known but 1) the CMOS is invalid,
not present, 2) the battery is discharged, or 3) the
CMOS checksum is invalid, then all registers will
contain valid information, but BL will be 0.

If the drive type is not known or the requested drive is
not installed, then BX, CX, DH, ES, and DI will all be
0. DL will contain the number of diskette drives.

                   Valid Diskette Drive Types in CMOS

                           BL (bits 3-0)      Meaning
00h           Unknown drive type
01h           360K, 5.25 inch, 40 track
02h           1.2M, 5.25 inch, 80 track
03h           720K, 3.5 inch,  80 track

For the AT, XT-286, and PC Convertible, the BIOS
executes INT 15h, Service 90h (Device Busy), for the
diskette (Type = 01h) and the fixed disk (Type =
00h) prior to waiting for the interrupt. INT 15h,
Service 91h (Interrupt Complete), is executed upon
completion. Also diskette operations that require
the diskette motor to be on will call INT 15h,
Service 90 (Device Busy), with the type equal to
"Diskette Drive Motor Start" (Type = FDh). This
allows the system to perform another task while the
drive motor is waiting to get up to speed.

INT 13h, 08h (8) Get Current Drive Parameters fixed