by rich » Tue May 15, 2007 11:29 am
I have always assumed that the SmartPort format command (that is basically a NOP) is there to support low-level formatting of attached devices. This kind of low-level formatting is not needed on IDE and CF devices. The only formatting that is needed is to write out the file system data and bootlloader at the beginning of the partition. For prodos that means writing < 20 blocks of data to the drive.
Keep in mind that a CF card handles all of the messy FLASH wear-leveling and error detection and correction details internally. To the user it appears as a linear array of 512 byte blocks. When a block goes bad, it is automatically replaced, and the data is copied to the new block from a pool of reserved blocks, if possible. It is typically possible, because it is usually write that fails and read still works fine.
IDE drives also appear as a linear array of blocks, but I don't believe they can auto detect and replace bad blocks like a CF card can. That is why modern OS still scan the entire drive looking for bad blocks when you do a format. Unless you do a Quick format, then that step is skipped.