This message is from the T13 list server.
[EMAIL PROTECTED] said: > This message is from the T13 list server. > Last time I checked, the ATA standard did not mention supporting > "a host that only performs 16-bit register accesses". True, but that is because we are conditioned to live in a world where the X86 processor or motherboard chipset will convert a 16-bit I/O read/write request (an x86 INW/OUTW instruction) into two 8-bit I/O cycles when accessing an 8-bit I/O port (remember the IOCS16- signal?). === begin History of NOP The NOP command was added at the request of PCMCIA PC Card ATA and CF developers at a time when there where host devices (not x86 PCs) that had only a 16-bit data bus. That required the host to access the ATA registers in pairs, including the pair DriveHead&Command. At that time (and to this day) ATA has no true no-operation command. But since command code 00h was an invalid command and command code 00H is traditionally a NOP command, it was assigned as the ATA NOP command with the unusual provision that it would always fail with ERR=1 ABRT=1. PCMCIA PC Card ATA and CF still expect and require this implementation of NOP (command code 00H). Then later on to support the ADMA host controller (see document 1510 Host Controller Standard) the NOP command was enhanced with various sub-command codes in the Features reqister, but that enhancement basically applied only to a host controller that would intercept the command, and based on sub-command code, pass the command on to the drive or not let the drive see the command. This was done so that the host controller could respond to the command (when the sub-command code was not 0) with various status information concerning the state of the host controller's command queue. A drive that saw command code 00H (NOP) would always give ERR=1 ABRT=1 status. Note that NOP with some specific non-zero sub-command values is part of the Overlap/Queued feature set (ATA and ATAPI). See the following text from ATA/ATAPI-6 clause 6.9: "The NOP Poll command [when the sub-command is not 0] is a host adapter function and is ignored by the device. The host software can test for the support of this feature by issuing the NOP Auto Poll subcommand and examining the Status register. If the host adapter does not support this feature, the response received by the host will be from the device with the ERR bit set to one. If the host adapter does support the command, the response will be from the host adapter with the ERR bit cleared to zero. The only action taken by a device supporting the Overlapped feature set will be to return the error indication in the Status register and to not abort any outstanding commands." Also see the NOP command description. === end History of NOP > There IS mention of support for CFA where the DATA register is only > 8-bits.... That is a different issue and unrelated and/or not related to the NOP command. -- Hale Landis -- [EMAIL PROTECTED]
