The Barbitoric disk image, as downloaded from the authoritative source contains the following sequence for describing the data of sector 2 on track 0:
Code: Select all
A1A1A1FB0000FF00D09FD09F02B90100FF0000B9E4B90000E6120078A9608500200000BACA18BD000
169228500BD010169008501A000B10099D0A7C8CCA500D0F54CD0A7A064A9A88CFEFF8DFFFFA97F8D0D0
3A9058D12038D72A8A9078D73A8203CA878A9818D14034C00E0A200EC1103F0108E1303AD180330FBA91
F8D10032057A8AD72A88D1203A9858D1403A9808D1003A01EEAEA88D0FBA000AD180330FBAD13039900E
0C8D0F2AD1003291C60A0048D74A820F8A7F005CE74A8D0F6EE72A8EE32A8CE73A8D0EB60A00488D0FDA
D10034AB0FA0A60686868A9818D1403AD1003297C6000000020444546454E43452D464F52434520202020
200D0A0000000000000
Per my code, and per this example of somebody else's code — copy and paste the quoted text into the box, removing the line breaks, select 'hex', click 'calculate CRC', look at the "CRC-CCITT (0xFFFF)" value — the correct CRC is $332B.
The FDC1973 data sheet is explicit, under 'Read Sector': "If there is a CRC error at the end of the data field, the CRC error status bit is set, and the command is terminated (even if it is a multiple record command)". So the WD is supposed to verify that CRC.
Am I therefore on solid ground to argue that the disk image is encoded correctly?
(if I implement my emulated WD to check the CRC then Sedoric rejects the disk as faulty and hence Barbitoric fails to load. With a quick peek I can find no evidence that either Euphoric or Oricutron actually checks this CRC, but I'm no expert on those. It strikes me as possible that various output tools might have the same deficiency as floppy controllers will usually generate this value for itself. But surely it's more likely that I'm in the wrong?)