Specifications
AMD Geode™ GeodeROM Functional Specification 69
Non-Removable Media
32087C
6.5.3 Fixed Disk Parameter Table Extensions
In addition to determining the physical geometry of a fixed disk, it is useful to determine other fixed disk configuration
parameters such as base I/O addresses, IRQ assignments, etc. For this reason, many newer system BIOS implementa-
tions support Fixed Disk Parameter Table Extensions (FDPTs).
Within such a system, the FDPTs take much of the guesswork out of determining the physical geometry and resources
assigned to the system’s fixed disks. If the system BIOS supports the INT 13h Functions Extensions, as described by IBM,
there exists for each fixed disk in the system a FDPT00 that the user can retrieve by issuing INT 13h Function 48h.
Note: The FDPTs are an enhancement introduced to IBM’s original INT 13h Function Extensions by Phoenix Technolo-
gies. In order to determine if the FDPTs support is present within the system, the caller should first issue INT 13h
Function 41h, as shown in Section 6.3.3.1 "Function 41h - Check Extensions Present" on page 57.
The Fixed Disk Parameter Table Extension is a 16-byte table that adheres to the format described in Table 6-4. This
FPDT is available only if the Check Extensions Present function described in Section 6.3.3.1 on page 57 returns a
major version of 20h or greater.
Table 6-4. Fixed Disk Parameter Table (FDPT)
Offset Size Description
00h WORD Controller I/O Port Base Address (i.e., 1F0h): Contains the I/O port base address for the drive.
For example, if the drive is connected to the primary IDE controller in a PC/AT compatible sys-
tem, this field contains the value 1F0h.
02h WORD Drive Control Port Address (i.e., 3F6h): Contains the address of the control port for the drive.
For example, if the drive is connected to the primary IDE controller in a PC/AT compatible sys-
tem, this field contains the value 3F6h.
04h BYTE Status byte #1, drive head register prefix: The drive head register prefix byte serves two pur-
poses. First, it indicates to the caller of INT 13h Function 48h if the drive is in Large Block
Address (LBA) mode, and whether the drive is a master or slave drive. Second, the BIOS
stores the LBA and master/slave information in the same form as the upper four bits of the
drive controller's head register. This simplifies the BIOS' programming of the drive's master/
slave and LBA modes because during a disk read/write operation, the BIOS merely ORs this
value with the desired drive head when it programs the head register.
Bit 7 = Reserved: Must be set to 1
Bit 6 = If set, the drive is in LBA mode, otherwise the drive is CHS
Bit 5 = Reserved: Must be set to 1
Bit 3 = If set, the drive is an IDE master, otherwise the drive is a slave
Bits [3:0] = Reserved: Must be set to 0
05h BYTE Reserved: Bits [7:4] are always 0.
06h BYTE Drive IRQ Assignment: Contains the ordinal number of the IRQ assigned to the drive.
07h BYTE Multi-Sector Transfer Byte Count: Contains the number of sectors the BIOS transfers during a
read or write to the drive.
08h BYTE Drive DMA Assignment:
Bits [7:4] = Specify the ATA-DMA mode in which the drive is currently operating.
Bits [3:0] = Contain the ordinal number of the DMA channel currently assigned to the drive. If
the drive does not support DMA, or is not currently in DMA mode, the value in this field is
undefined.
09h BYTE Drive PIO (Programmable I/O) Timings: Contains the ordinal number of the Small Form Factor
Committee-specified PIO mode in which the drive is currently operating. Legal values for this
field are 1, 2, 3 and 4. The SFF Committee ATA-2 specification contains a comprehensive
explanation of each PIO timing mode.