I thought I was done and over with DC2N4, i.e. the version of DC2N that connects to a PC/MAC via a USB cable.
However, this evening after work I thought that it would be nice to add the TAP playback feature to it and try to communicate with the device by using a plain serial protocol. In fact the USB2.0 bulk transfer used by the virtual serial port implementation is more than capable to transfer the amount of data required to backup a tape or play back a TAP file to a Commodore machine.
I rewrote the firmware from scratch in about one hour this evening and tested by dumping Silkworm and capturing the data to file using Hyper Terminal. Admittedly I think the latter might have reinterpreted a byte here and there while receiving data from DC2N4-serial, but the bulk of the data was what I expected to see. As example, this is the start of the lead-in train to the first CBM block:
As early as tomorrow I might write a custom client application that receives data from the new DC2N4 firmware and saves it to disk, without doing any manipulation on it. If the whole concept works reliably, I might release the client application as open source too. After that I might also rewrite the GUI application I originally wrote for DC2N4 to dump tapes. Here’s a screenshot of the original version: