After work I made a Linux build of my C2N Emulator recording client and tested it successfully:
luigidifraia@shinobi1604:~/Development/embedded/c2n_emulator/software/c2nemu-record/src$ sudo ./c2nemu-record /dev/ttyACM0 helloworld.dmp C2NEmu record utility, rel 1.0 - (C) 2017 Luigi Di Fraia Communicates with a C2NEmu device to record tapes Reading from /dev/ttyACM0 Issue SAVE on the host... OK Stop the recording chain with spacebar Filename intercepted: HELLO WORLD! Request to stop recording sent Finished! Total bytes saved: 85224
The new binary is available here.
I am quite happy with the outcome so far. If anything I am a bit frustrated with the code repetition occurring in my client applications for DC2N4-LC, C2NEmu, and IECHost. In fact, I hadn’t planned to develop any USB-serial device other than DC2N4-LC but things panned out differently so I have been improving code at each new stage of each new device, trying to backport some of the latest rationalisations when I had the time.
In retrospect, if I knew I was going to work at a few USB-serial devices I would have built a library (such as my own libtapf, libcbmhiresf, libd64fs, etc.) and used it within my applications.
I might actually get to build such a library when I get some time. It’s unlikely that I will adapt all existing applications to use it, but at least I might make significant changes to those applications I use the most and I see most value in 🙂