Purpose
This function returns geometry and physical parameters about the specified
physical hard disk, if available. This information is acquired from BIOS
via INT 13h function 48h at system boot.
Parameter Packet Format
Field Length
Drive Number BYTE
Drive Number
The BIOS drive number for which geometry
and physical parameters are requested. The value must be 80h or greater.
Data Packet Format
Field LengthReserved WORD
Information Flags WORD
Number of Physical Cylinders DWORD
Number of Physical Heads DWORD
Number of Sectors Per Track DWORD
Number of Physical Sectors QWORD
Number of Bytes in a Sector WORD
Reserved DWORD
I/O Port Base Address WORD
Control Port Address WORD
Head Register Upper Nibble BYTE
Reserved BYTE
IRQ Information BYTE
Block Count for ATA R/W Multiple BYTE
DMA Information BYTE
PIO Information BYTE
BIOS Selected Hardware Option Flags WORD
Reserved WORD
DPT Extension Revision BYTE
Information Flags
Bits are defined as follows
Bit
0
DMA
boundary errors are handled transparently
1
The
geometry returned in bytes 4 15 is valid
2
Media
is removable. Bits 4 6 are not valid if this bit is 0
3
Device supports write verify
4
Device has media change notification
5
6
Device
geometry is set to maximum and no media is present when this bit is set
to 1.
7 15
Number
of Physical Cylinders
The number of physical cylinders
on the physical drive. This field is valid only if BIT 1 of the information
flags is set to 1.
Number of Physical Heads
The
number of physical heads on the physical drive. This field is valid only
if BIT 1 of the information flags is set to 1.
Number
of Sectors Per Track
The number of sectors per track
on the physical drive. This field is valid only if BIT 1 of the information
flags is set to 1.
Number of Physical Sectors
The
number of physical sectors on the physical drive.
Number
of Bytes in a Sector
The number of bytes per sector
on the physical drive.
I/O Port Base Address
This
word is the address of the data register in ATA Command Block.
Control
Port Address
This word is the address of the ATA
Control Block Register.
Head Register Upper Nibble
The upper nibble of this byte is logically ORed
with the head number, or upper 4 bits of the LBA, each time the disk is
accessed.
Bit
0
3
4
5
6
LBA
enabled (1 = enabled)
7
IRQ Information
Bits
are defined as follows
Bit
0
3
4
7
Block
Count for ATA R/W Multiple
If the hard disk was
configured to use the READ/WRITE MULTIPLE command, then this field contains
the block size of the transfer in sectors.
DMA Information
If the BIOS has configured the system to perform
multi-word DMA transfers in place of the normal PIO transfers, this field
specified the DMA mode in the upper nibble, as per the ATA-2 or later definition,
and the DMA Channel in the lower nibble. ATA Channels which conform to SFF-8038i
set the DMA channel to 0. Note that the DMA Type field does not follow the
format of the data returned by the drive. The value of the DMA mode is not
limited to 2.
Bit
0
3
4
7
PIO
Information
If the BIOS has configured the system
to perform PIO data transfers other than mode 0, this field specifies the
PIO mode as per the ATA-2 or later definition.
Bit
0
3
4
7
BIOS
Selected Hardware Option Flags