I’ve finally had enough time to think about disk writes at warp speed with IECHost. Although a few details are currently not entirely fleshed out, I think the process to write disk image back to physical disks is pretty much clear to me.
The idea is to use pre-formatted disks in order to achieve this. Therefore, this idea only works for DOS disks which is something in common with WarpCopy64.
Working with pre-formatted disks has the advantage that one can use routines inside the 1541’s ROM to do some of the work. If you think about it, the drive’s ROM already contains all that is required to write sectors to disk. What is really slow is the GCR encoding and verify part that come with it. So the idea is that once the drive head has gone through the header part of a sector, we skip through the whole header and gap and when the data part’s ID is under the head we start writing data that was pre-converted to GCR and uploaded to the drive’s RAM.
Simple enough, isn’t it?
Well, I still have to write the timing critical part of the transfer on IECHost, which will take most of the time to troubleshoot with a logic analyser, but today I finished the software side of things in order to get sector contents converted to GCR. I will also have to figure out a transfer protocol between the software and firmware, but I have my own C2NEmu project as reference for that 🙂