(Created page with " == MFM == Some FDCs are quite relaxed in the data that they accept. The following applies to the NEC D765AC-2 and was found through testing: * The only address mark which i...") |
|||
(10 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 == | ||
− | + | 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 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 | + | * 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). |
− | * When a valid ID field has been read | + | * 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. | * Sector within sector is possible. | ||
− | * If an ID field with a CRC error is found then the data field will not be read when using | + | * 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 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. | * 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). | ||
+ | |||
+ | [[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).