Difference between revisions of "IBM System 34 double density format"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
Line 19: Line 19:
 
  1 byte 'N' (defined by FDC format command)
 
  1 byte 'N' (defined by FDC format command)
 
  2 bytes CRC (stored big endian, i.e. high 8 bits, then low 8 bits).
 
  2 bytes CRC (stored big endian, i.e. high 8 bits, then low 8 bits).
 +
Gap 2 (22 bytes of 4E)
  
 
The CRC for the ID field is computed from the 3 bytes of A1, the 1 byte FE, C,H,R and N. When verifying include the CRC and if the result is 0, then the  CRC is correct.
 
The CRC for the ID field is computed from the 3 bytes of A1, the 1 byte FE, C,H,R and N. When verifying include the CRC and if the result is 0, then the  CRC is correct.
Line 33: Line 34:
  
 
  Gap 4 ('n' bytes of 4E all the way to the end of the track).
 
  Gap 4 ('n' bytes of 4E all the way to the end of the track).
 +
 +
NOTE: A1/C2 are the only MFM-words which have a missing clock. All the others are written like normal data bytes.

Revision as of 13:57, 28 July 2018

The IBM System 34 double density format is a structure used by NEC765 compatible disc controllers when writing in MFM mode.

The data has this form:

The values below are unencoded data bytes. The data is encoded using MFM when written to the disc.

Gap 0 (80 bytes of data 4E)
Sync (12 bytes of 0)
Index mark IDAM which contains 3 bytes of C2 (which have a missing clock) followed by 1 byte FC.
Gap 1 (50 bytes of data 4e)

Then follows the data for each sector:

Sync (12 bytes of 0)
ID mark IDAM which contains 3 bytes of A1 (which have a missing clock) followed by 1 byte FE.
1 byte 'C' (defined by FDC format command)
1 byte 'H' (defined by FDC format command)
1 byte 'R' (defined by FDC format command)
1 byte 'N' (defined by FDC format command)
2 bytes CRC (stored big endian, i.e. high 8 bits, then low 8 bits).
Gap 2 (22 bytes of 4E)

The CRC for the ID field is computed from the 3 bytes of A1, the 1 byte FE, C,H,R and N. When verifying include the CRC and if the result is 0, then the CRC is correct.

Then comes the data field for the sector:

Sync (12 bytes of 0)
Data mark IDAM which contains 3 bytes of A1 (which have a missing clock) followed by 1 byte FB for Data or F8 for Deleted Data.
'n' bytes of sector data (defined by format when formatting, or by ID field when reading/writing)
2 bytes CRC (stored big endian)
Gap 3 ('n' bytes of data 4E) (defined by FDC format command)

After the last sector:

Gap 4 ('n' bytes of 4E all the way to the end of the track).

NOTE: A1/C2 are the only MFM-words which have a missing clock. All the others are written like normal data bytes.