CF-ATA command description
SMCxxxBF
10.27
Write Multiple without Erase (CDh)
This command is similar to the Write Multiple command with the exception that an implied
erase before write operation is not performed. The sectors should be pre-erased with the
Erase Sector(s) command before this command is issued. Table 81 defines the Write
Multiple without Erase command Byte sequence.
Table 81. Write Multiple without Erase
Bit
7
6
5
43
2
1
0
Command (7)
CDh
C/D/H (6)
X
LBA
1
Driv
e
Cyl High (5)
Cylinder High
Cyl Low (4)
Cylinder Low
Sect Num (3)
Sector Number
Sect Cnt (2)
Sector Count
Feature (1)
X
Head
10.28
Write Sector(s) (30h or 31h)
This command writes from 1 to 256 sectors as specified in the Sector Count Register. A
sector count of zero requests 256 sectors. The transfer begins at the sector specified in the
Sector Number Register. When this command is accepted, the Card sets BSY, sets DRQ
and clears BSY, then waits for the host to fill the sector buffer with the data to be written. No
interrupt is generated to start the first host transfer operation. No data should be transferred
by the host until BSY has been cleared by the host.
For multiple sectors, after the first sector of data is in the buffer, BSY will be set and DRQ will
be cleared. After the next buffer is ready for data, BSY is cleared, DRQ is set and an
interrupt is generated. When the final sector of data is transferred, BSY is set and DRQ is
cleared. It will remain in this state until the command is completed at which time BSY is
cleared and an interrupt is generated. If an error occurs during a write of more than one
sector, writing terminates at the sector where the error occurred. The Command Block
Registers contain the cylinder, head and sector number of the sector where the error
occurred. The host may then read the command block to determine what error has
occurred, and on which sector. Table 82 defines the Write Sector(s) command Byte
sequence.
80/91