Category: BIOS

INT 13 - DISK - VERIFY DISK SECTOR(S)

	AH = 04h
	AL = number of sectors to verify (must be nonzero)
	CH = low eight bits of cylinder number
	CL = sector number 1-63 (bits 0-5)
	     high two bits of cylinder (bits 6-7, hard disk only)
	DH = head number
	DL = drive number (bit 7 set for hard disk)
	ES:BX -> data buffer (PC,XT,AT with BIOS prior to 1985/11/15)
Return: CF set on error
	CF clear if successful
	AH = status (see #00234)
	AL = number of sectors verified
Notes:	errors on a floppy may be due to the motor failing to spin up quickly
	  enough (timeout error 80h); the write should be retried at least
	  three times, resetting the disk with AH=00h between attempts
	on floppys, the operation should also be retried on media change
	  (06h) detection.
	this function does not compare the disk with memory, it merely
	  checks whether the sector's stored CRC matches the data's actual CRC
	the IBM AT BIOS and many other BIOSes use only the low four bits of
	  DH (head number) since the WD-1003 controller which is the standard
	  AT controller (and the controller that IDE emulates) only supports
	  16 heads
	AWARD AT BIOS and AMI 386sx BIOS have been extended to handle more
	  than 1024 cylinders by placing bits 10 and 11 of the cylinder number
	  into bits 6 and 7 of DH
BUG:	some Epson ROM BIOSes sometimes have problems properly handling this
	  function. The workaround is to reset the disk (INT 13/AH=00h) before
	  the call.
SeeAlso: AH=02h,AH=44h,INT 4D/AH=04h,INT 4D/AH=06h