(→MFM) |
|||
(4 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
+ | NEC D765AC-2 is a floppy disc controller used in the Amstrad. | ||
− | + | It supports [[FM]] and [[MFM]] recording. | |
− | + | ||
== MFM == | == MFM == | ||
Line 9: | Line 9: | ||
The following applies to the NEC D765AC-2 and was found through testing: | The following applies to the NEC D765AC-2 and was found through testing: | ||
− | * The index mark pre-amble, syncs and mark are not required. If this area is filled with 0x04e the FDC will still read the sectors. | + | * The index mark pre-amble, syncs and address mark are not required for operation. If this area is filled with 0x04e then the FDC will still read the sectors. |
* The only address mark which identifies the ID field is 0x0fe. Attempting to use any other mark for an ID field will result in the ID field being ignored. | * The only address mark which identifies the ID field is 0x0fe. Attempting to use any other mark for an ID field will result in the ID field being ignored. | ||
* The only data marks which identify the data field are 0x0fb (Data) and 0x0f8 (Deleted Data). Attempting to use any other mark for a data field will result in the field being ignored. | * The only data marks which identify the data field are 0x0fb (Data) and 0x0f8 (Deleted Data). Attempting to use any other mark for a data field will result in the field being ignored. | ||
− | * Only 3 sync marks (4489) can proceed an ID field or data field. Fewer or more | + | * Only 3 sync marks (4489) can proceed an ID field or data field. Fewer or more will result in the field being ignored (applies to both ID and Data fields). |
− | * Following the data separator synchronization the first sync mark must be seen within 3 MFM words. | + | * Following the data separator synchronization the first sync mark (0x0a1/0x04489) must be seen within 3 MFM words. |
− | * When a valid ID field has been read the data field must be found within a certain number of bytes from the end of the ID field. The minimum | + | * When a valid ID field has been read the data field must be found within a certain number of bytes from the end of the ID field. The minimum and maximum are to be determined. This does mean that if you have multiple IDs followed by a data block and read each using READ DATA then only the last will have data. |
* Sector within sector is possible. | * Sector within sector is possible. | ||
* If an ID field with a CRC error is found then the ID will not be reported by READ ID and the data field will not be read when using READ DATA or similar commands. | * If an ID field with a CRC error is found then the ID will not be reported by READ ID and the data field will not be read when using READ DATA or similar commands. | ||
Line 20: | Line 20: | ||
* Any data can exist in Gap 3 and will not affect reading of the ID fields or sectors. | * Any data can exist in Gap 3 and will not affect reading of the ID fields or sectors. | ||
* The first sector ID of the track will not be seen when using READ DATA if the "index gap" is 896 microseconds or less. (TODO: Find exact value because 896 is within 4 MFM words). | * The first sector ID of the track will not be seen when using READ DATA if the "index gap" is 896 microseconds or less. (TODO: Find exact value because 896 is within 4 MFM words). | ||
+ | |||
+ | [[Category:DATA Storage]] [[Category:Electronic Component]] [[Category:CPC Internal Components]] |
Latest revision as of 09:41, 11 May 2021
MFM
The structure of the data on the disc which defines the sectors is IBM System 34 double density format.
The following applies to the NEC D765AC-2 and was found through testing:
- The index mark pre-amble, syncs and address mark are not required for operation. If this area is filled with 0x04e then the FDC will still read the sectors.
- The only address mark which identifies the ID field is 0x0fe. Attempting to use any other mark for an ID field will result in the ID field being ignored.
- The only data marks which identify the data field are 0x0fb (Data) and 0x0f8 (Deleted Data). Attempting to use any other mark for a data field will result in the field being ignored.
- Only 3 sync marks (4489) can proceed an ID field or data field. Fewer or more will result in the field being ignored (applies to both ID and Data fields).
- Following the data separator synchronization the first sync mark (0x0a1/0x04489) must be seen within 3 MFM words.
- When a valid ID field has been read the data field must be found within a certain number of bytes from the end of the ID field. The minimum and maximum are to be determined. This does mean that if you have multiple IDs followed by a data block and read each using READ DATA then only the last will have data.
- Sector within sector is possible.
- If an ID field with a CRC error is found then the ID will not be reported by READ ID and the data field will not be read when using READ DATA or similar commands.
- Any data can exist in Gap 2 and will not affect reading of the ID fields or sectors.
- Any data can exist in Gap 3 and will not affect reading of the ID fields or sectors.
- The first sector ID of the track will not be seen when using READ DATA if the "index gap" is 896 microseconds or less. (TODO: Find exact value because 896 is within 4 MFM words).