IBM System 34 double density format

From CPCWiki - THE Amstrad CPC encyclopedia!
Revision as of 14:56, 28 July 2018 by Arnoldemu (Talk | contribs)

Jump to: navigation, search

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).

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).