The threads Commodore 8050 and We need to go deeper suggest mcrostepping is a solution to reading 100 TPI disks, so I PMed ZrX about the status. I'll copy the conversation with kind permission to reflect my current knowledge.
And the answer by ZrX:Hi ZrX,
I read your post about using a microstepping driver instead of the original
Do you have any deeper documentation about that, and did it actually
Is the modified firmware for the kryoflux public?
The reason I'm asking is i have some old Commodore PET disks, presumably
written with an CBM 8050 or CBM 8250, and thus 100 tpi.
Microstepping seems to be the only solution with my 96tpi drive. Is 4 times
the resolution enough to hit the tracks would I need an even higher
microstepping factor, maybe 8 or 16?
My crazy ideas are currently the following:I have actually read few 100 tpi disks that were sent to me to test the microstepping modification with and was able to reconstruct two working Commodore format disk images from the data, so 4x is enough for that. I'd prefer to modify some drive with an actual 100 tpi stepper motor.
The drive I modified was one of the Panasonic models, and the microstepper driver I used is called EasyDriver. I tried the same with a Newtronics mech with the EasyDriver and also with a Pololu microstepper driver, but that didn't really work for some reason. Didn't test the Pololu on the Panasonic tho.
There are some issues with the Panasonic: Most drives do a self-test when powered up and Panasonic locks up if the test fails, so some functions of the drive need to be bypassed.
The modified firmware is also quite a hack, as it doesn't return the r/w-head back to track 0 at the end of the dump as DTC needs to be run four times to fully read the disk. And track 0 accuracy becomes somewhat random with the microstepper, so reading doesn't always start at the same position, requiring custom software to walk through all the data.
There have been internal discussions about how to maybe support microstepping, but no idea yet how to really work out the current issues.
To avoid changing the internal logic of the drive I'm about to create a plugin board with an Arduino Nano and an A4988 microstepping driver that would plug directly into the motor output of the floppy board and itself driving the motor.
I plan to use a simple voltage divider to read the current status from the four input lines and determine of it turns left or right issuing a microstep advance to the A4988.
The power would be provided by a Y-cable from the same source that powers the Floppy.
On bootup the nano would issue 4 microsteps for each detected step, so the drive firmware would ideally not notice any difference.
DTC, (or something else) could then turn on the 1/4 step mode, be it by serial console command or extra input line, or even manual pushbutton.
Advantages of going this route as I see them:
[*] No need to modify the drive, possibly breaking the alignment.
[*] would possibly work with quite a range of hardware
[*] The nano could translate the steps, so DTC would see the correct track- no big changes necessary to to elimiate "extra" tracks
[*] if DTC somehow integrates with this, track-alignment issues could be auto-detected and corrected. e.g. when hitting error tracks.
Trouble I see ahead:
[*] might have to insert two Mosfets to delay the powerup of the drive (+5V and +12V) until the nano is ready.
[*] Don't know if some drives already do microstepping. That would make detection much more complicated.
[*] Microstepping is probably not too exact, so I don't know about reproducability.
[*] as per ZrX, would need support by DTC to fully read the drive in high-res mode.
So, please hit me: I'm open to any thoughts.
P.S.1: I wanted to upload my board schamatics, but seemingly i don't have quota for adding uploads.
P.S.2: A little semi-off topic:
The A4988 will be current limited to 330mA as that seems to be what the chip on the current board is delivering. I could not find any documentation on the A13421P chip used, but the internet links to an HA13421A chip by Hitachi which was designed for floppy drive use. Does anyone have more info on that?