Looks like a great project, Rob.
Do you think that most PCs will handle 1,000,000 baud on a USB serial port?
The reason I ask is that when I run ArduinoFloppyReaderWin, using the same port as I used to program the sketch, I get what appears to be conflicting indications.
The drive light comes ON and the disk spins as soon as I click Start Copy, but after a short time, I get Unable to open COM port.
This suggests to me that I am communicating with the Arduino Uno, but that something else is causing it to lose the connection.
Any ideas?
If it turns out that I can't use my COM port at a million baud (I never in my life would have thought I'd ever use those two words next to each other), I think I will try a little different tack. I have a Mega 2560, and think I can get by with using a lower COM port speed. I know for sure I can handle 115200, and it is likely I can handle 250000. I figure there are two ways of doing this.
Because the lower baud rate is insufficient to keep up with the raw data rate of fthe disk, I can buffer the data in one of two ways.
1. The Mega 2560 has 8K bytes of RAM. I should be able to buffer single blocks. The limitation would be in how many blocks I can read in to the available RAM. I could then transfer them, and grab the next block(s). Might be a tad slow, so my second plan might be better.
2. I have a 32K*8 Static RAM chip that I could use to buffer 1 track at a time. If I understand things correctly, one track will be something lile 1900 * 11 bytes, requiring just under 21K. I also have a few 512K * 8 RAM chips on the way, one of which should allow me to buffer 25 tracks at a time.
I would use your sketch, modified, but I have been unable to compile your ArduinoFloppyReaderWin program. the file stdafx.cpp is missing, and I get a message saying it can't find build tool V141, which is likely because I am using VS Express 2015.
If I can't figure that out, I'll drop back into VB (one of my comfort zones - assembler and VB).
Any coments, corrections or ideas welcome.