Not much done today, but got and hour and a half in this evening. PIC code has now been modified to scan the whole disk, pretty much as follows:
- Select Drive
- Motor On
- Seek to Track Zero
- Select Side 0
- Wait 250ms
- Select Side 1
- Wait 250ms
- Step head
…and do the above for 80 cylinders.
I had modified the Saleae binary parsing code to something like this to do some validation:
if (sectorStruct.SectorNumber >= 0 && sectorStruct.SectorNumber <= 10)
{
if (sectorStruct.TrackNumber >= 0 && sectorStruct.TrackNumber <= 159)
{
if (sectorStruct.DataChecksum == dataChecksum)
{
if (sectorStruct.HeaderChecksum == headerChecksum)
{
blocksFound[sectorStruct.TrackNumber * 11 + sectorStruct.SectorNumber] = true;
}
}
}
}
Looks promising so far. The capture is around 350MB and all 1760 blocks appear to have been found! The main thing I did notice is that towards cylinder 80 the bit timing is much less precise than on the outer tracks and had to modify the tolerances. Tomorrow I will store the decoded sectors into the array and write out a binary (i.e. and ADF file) and see what ADFView and/or WinUAE makes of it. I am quietly confident.
Some other interesting things I’ve started to notice – some sectors have 2-3 bits of junk between them. Must investigate this further at some point.