View Single Post
Old 01 December 2017, 21:52   #7
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 3,336
The IBM PC/AT Technical Reference (26MB PDF) has a description of the FORMAT TRACK command on page 609. I'll type that up here:

"Format Track: The track specified by the task file is formatted with ID and data fields according to the interleave table transferred to the buffer. The interleave table is composed of two bytes per sector as follows: 00, Physical Sector 1, 00, Physical Sector 2, ... 00,Physical Sector 17. The table for 2-to-1 interleave is: 00, 01, 00, 0A, 00, 02, 00, 0B, 00, 03, 00, 0C, 00, 04, 00, 0D, 00, 05, 00, 0E, 00, 06, 00, 0F, 00, 07, 00, 10, 00, 08, 00, 11, 00, 09. The data transfer must be 512 bytes even though the table may be only 34 bytes. The sector count register must be loaded with the number of sectors per track before each Format Track command. An interrupt is generated at the completion of the command; the Format Track command supports no error reporting. A bad block may be specified by replacing a 00 table entry with an 80. When switching between drives, a restore command must be executed prior to attempting a format."

(I think the A2090 and other ST-506 controllers support similar functionality.)


There's some info on FORMAT TRACK in the ATA-1 specification; see pages 42-43 of the PDF here.


Note: arriba.device seems to always write 0 to the sector count register, which differs from the text above.


Edit to say: So you could have FORMAT TRACK be a no-op, or maybe have it zero-fill the sectors of the specified track.

Last edited by mark_k; 01 December 2017 at 22:39.
mark_k is offline  
 
Page generated in 0.07561 seconds with 11 queries