I formatted several 5.25" diskettes with 360k and 1.2M on the Windows XP PC using 1.2M (HD) drive. I am using the same drive to read data from 360k diskette back using custom driver. The controller returns "address mark not found". Here's what I send to controller:
46 00 00 00 01 02 01 2A FF
and here's what I get in response
40 01 00 00 00 01 02
The FDC speed set is 250 kb/s (CR1=1, CR0=0). The same custom driver works properly with 3.5" drives' 1.44M and 720k formats, and with 5.25" drive's 1.2M format, only 360k is having problems.
I have problems finding information on how to support older 360k formats on newer drives. My assumption was that I just *2 track number, at least it must yield correct reading of data. But here driver is unable to read even sector 1 at head 0 track 0 (boot sector) to identify the geometry.
I suspect there must be something else, but I can not figure out what it might be.
(Not sure if EE is correct place to put this question to; however stackoverflow [programming] seems to be less proper, serverfault is also non-fit. Question is too low level and must be related to how electronics/architecture works).