Adafruit_Floppy icon indicating copy to clipboard operation
Adafruit_Floppy copied to clipboard

multiple revolutions

Open jepler opened this issue 3 years ago • 3 comments

It appears that specialty operations, such as using g64conv to convert the second side of a flippy disk from a two-sided .scp of the disk taken from the top side, may require operation similar to the genuine greaseweazel hardware: capture multiple revolutions without gaps.

the current implementation in this repo simply captures 3 different copies of the same track, from one falling index pulse to the next.

Making a change like this has a big impact on the structure of the code. A ping-pong buffer system could be adopted, so that flux is entering buffer A and then buffer B; once buffer A is filled, it can be transmitted over USB. Probably rp2040 is forced to go interrupt based to enable this, which we want to do anyway.

I don't have any proof that this is why my flippy-floppy dump didn't work; there are also g64conv bugs—with the geniune greaseweazel scp file, the directory data which should be on track 18 is on track 14 of the resulting g64 file! but it is intact. (track 18 sectors 0 and 1). By contrast, my rips with feather rp2040 to scp do not have track 18 sector 0, but do have track 18 sector 1 (again, transposed incorrectly to track 14 by g64conv). I know the flip side reads correctly because it happens to have two index windows and can be flipped in a standard PC 5.25 drive (teac).

jepler avatar Feb 11 '22 02:02 jepler