Int 13h, 18h            Set Media Type for Format                        many

This service returns a Diskette Drive Parameter Table (DDPT) for a
specified diskette drive. This service can be performed on
diskettes only.

Entry AH = 18h
CH = Number of tracks (10-bit value; upper 2 bits in CL)
CL = Sectors per track
DL = Drive number (Bit 7 must be clear)

Return CF Set if error, else cleared
AH = Status of operation (See Service 01h)
ES:DI = Pointer to 11-byte Diskette Drive Parameter
Table.
──────────────────────────────────────────────────────────────────

This service is not available for PCs, PCjrs, XTs dated before
1/10/86, and ATs dated before 11/15/85.

Machines that support this service call it before calling Service
05h (Format a Track).

For each supported media type, there is one Diskette Drive
Parameter Table (DDPT).

In the event that the Change Status line is active (i.e., that a
disk change has occurred), this service first attempts to
deactivate the Change Status line (by properly recognizing the new
diskette). If unable to do so, the service returns an error.
Therefore, if no diskette is present in the drive, an error will
be returned.

For the AT, XT-286, and PC Convertible, the BIOS executes Int 15h,
Service 90h (Device Busy), for the diskette (Type = 01h) prior to
waiting for the interrupt. Int 15h, Service 91h (Interrupt
Complete), is executed upon completion. 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.