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, 04h verify sectors all</b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
Int 13h, 04h            Verify Sectors                                    all

    Verifies one or more fixed disk or diskette sectors.

        Entry   AH = 04h
                AL = Number of sectors to verify
                CH = Cylinder number (10-bit value; upper 2 bits in CL)
                CL = Starting sector number
                DH = Head number
                DL = Drive number

        Return  AH = Status of operation (See Service 01h)
                AL = Number of sectors verified
                CF = Set if error, cleared otherwise

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

    Verifies the specified number of sectors starting at the specified
    location (head, cylinder, and track) on the disk. The verification
    process consists of checking that the sectors can be found and
    read (checking address fields) and that the Cyclic Redundancy
    Check (CRC) is correct. No memory area is needed for this
    operation.


    Note
    Values in DL less than 80h specify floppy disks; values greater
    than 80h specify fixed disks. For example, 0 means the first
    floppy 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.

    The value returned in AL (number of sectors verified) may not give
    the correct number of sectors, even though no error occurred while
    verifying. Use the results of the Carry flag and AH (status flag)
    to determine the status of the operation.

    The sectors verified must all be on the same cylinder and same
    side for diskettes, while a hard disk can verify up to 255 sectors
    at one time.

    If an error is encountered verifying a sector, use Service 0h to
    reset the drive and retry the operation. It is recommended that at
    least 3 retries be attempted before an error is signalled, since
    the error may have resulted from the diskette motor not being up
    to speed.

    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.

See Also: Int 13h, 01h

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