Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- BIOS ref. - <b>int 13h, 08h get current drive parameters fixed</b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
Int 13h, 08h            Get Current Drive Parameters                    fixed

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

        Entry   AH = 08h
                DL = Drive number

        Return  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 below)
                BH    = 0
                DL    = Number of diskettes
                ES:DI = Pointer to 11-byte Diskette Drive Parameter
                        Table

    ------------------------------------------------------------------

    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 service.

    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, then:

    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
             04h           1.44MB, 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.

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson