Format of ATA Request Block (ARB):
Offset	Size	Description	)
 00h	BYTE	command code (see #90002)
 01h	BYTE	(ret) status (see #90004)
 02h	BYTE	ATA controller number
 03h	BYTE	request flags (see #90005)
 04h	DWORD	reserved (0)
---request 00h---
 08h	BYTE	(ret) total number of ATA controllers
		valid only if ATA controller number = 0FFh
 09h	BYTE	reserved (0)
 0Ah 16 BYTEs	(ret) ATA manager ID
 1Ah 16 BYTEs	(ret) ATA controller ID
 2Ah 16 BYTEs	(ret) controller unique parameters (see #90010)
---request 01h---
 08h	BYTE	device ID (00h = master, 01h = slave)
 09h	BYTE	reserved (0)
 0Ah	BYTE	(ret) peripheral device type (see #90007)
---request 02h---
 08h	BYTE	device ID
 09h	BYTE	reserved (0)
 0Ah	DWORD	data  transfer length
		(ret) residual byte length
 0Eh	BYTE	sense allocation length (N)
 0Fh	DWORD	data  buffer pointer
 13h	DWORD	reserved (0)
 17h	BYTE	ACB length (M)
		for Task File requests must be set to 07h, for ATAPI Packet
		  requests must match the number of bytes in the packet
 18h	BYTE	(ret) ATA controller status (see #90006)
 19h	BYTE	(ret) device status
		value of the error register, 00h if no error (see #P0512)
 1Ah	DWORD	post routine  address (see #90009)
 1Eh	WORD	data transfer block size (in bytes)
		number of data bytes to transfer per hardware interrupt for Task
		  File requests; number of data bytes host prefers to transfer
		  per hardware interrupt for ATAPI Packet commands
 20h 32 BYTEs	reserved for ATASPI workspace
 40h  M BYTEs	ATA/ATAPI command block (ACB)
		contains AT Task File Structure (see #90008) if bit 2 of the
		  request flags is set, ATAPI packet (see #03236,#03237,#03238)
		  if bit 2 is cleared
40h+M N BYTEs	sense allocation area
---request 03h---
 08h	DWORD	address of ARB to be aborted
---request 04h---
 08h	BYTE	device ID
 09h 15 BYTEs	reserved (0)
 18h	BYTE	(ret) ATA controller status (see #90006)
 19h	BYTE	(ret) device status
 1Ah	DWORD	post routine address (see #90009)
 1Eh 34 BYTEs	reserved for ATASPI workspace
---request 05h---
 08h 16 BYTEs	controller unique parameters (vendor unique)
---request 06h---
 08h	BYTE	device ID
 09h	BYTE	reserved (0)
 0Ah	BYTE	(ret) drive flags (see #01461)
 0Bh	BYTE	(ret) INT 13h drive
 0Ch	BYTE	(ret) preferred head   translation
 0Dh	BYTE	(ret) preferred sector translation
 0Eh 10 BYTEs	reserved (0)