INT 13,4 - Verify Disk Sectors

AH = 04

AL = number of sectors to verify (1-128 dec.)

CH = track/cylinder number (0-1023 dec., see below)

CL = sector number (1-17 dec.)

DH = head number (0-15 dec.)

DL = drive number (0=A:, 1=2nd floppy, 80h=drive 0, 81h=drive 1)

ES:BX = pointer to buffer

on return:

AH = status (see ~INT 13,STATUS~)

AL = number of sectors verified

CF = 0 if successful

= 1 if error

- BIOS disk reads should be retried at least three times and the

controller should be reset upon error detection

- causes controller to calculate the CRC of the disk data and

compare it against the CRC stored in the sector header

- BIOS before 11/15/85 required ES:BX point to a valid buffer

that doesn't cross DMA boundaries. More recent BIOS versions

actually ignore the buffer and the DMA boundary requirement

- use this function to check for valid formatted diskette in a

the specified drive and for drive ready for read

- only the disk number is checked for validity

- the parameters in CX change depending on the number of cylinders;

the track/cylinder number is a 10 bit value taken from the 2 high

order bits of CL and the 8 bits in CH (low order 8 bits of track):

¦F¦E¦D¦C¦B¦A¦9¦8¦7¦6¦5-0¦ CX

¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ +----- sector number

¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ +--------- high order 2 bits of track/cylinder

+------------------------ low order 8 bits of track/cyl number

- see ~DETECTING~


Zurück zum Interrupt Info. Roger Morgan / 1998 L.Änderung 29.03.99