I was tired of having to put files onto my SD card the back and forth to test some code, so I re-purposed an old C64 WIFI modem and I burned custom firmware that just bridges Serial and TCP/IP and only job is to relay data back and forth. The idea is that whatever software is wrote does not need to care about any details of the transfer. That allows me to test the assembly in VIce without the hardware, because it can connect rs-232 over IP. On the C64 side there is a custom assembly that uses UP9600 to do the bit banging. Once activated it hooks ILOAD and ISAVE so that those commands are re-routed to VDRIVE. This of course is not going to load everything such as binaries that write to the same area of memory where VDRIVE is running but from what I have observed so far it does load quite a bit and BASIC PRG's load fine and can be edited and saved back to the D64 file or whatever image it is pointing to. I used c1541.exe that is distributed with VIce so any format it supports.
http://8bitflynn.io/Resources/Videos/VDRIVE_Progress.m4v
On the laptop side the code that serves the data is in C# socket server but I might re-write it in C so it will be more portable. The directory was interesting because c1541.exe extracts the directory as a text file, which it should, but the C64 needed a PRG in disguise so it's now generated when requested.
I am planning on adding a few simple wedge commands to allow me to search my D64 floppy's and PRG's and then a command to "insert the floppy" the mount the disk. I think showing the results with a number next it that would allow user to mount that floppy without having to type it all.
Another thing I plan on adding is a way to transfer an entire D64 directly to the SD card or whatever modern persistence. The protocol already sends data in chunks so I think it should be doable. It will write the data after each chunk and then reset the pointer to the buffer until the end of the file.
AI SIDE TESTS
I have used this protocol to also bridge AI to a C64 keyboard buffer so AI can "type" and then I hooked the CHROUT vector I think its $ffd2 and that data is sent back to the AI so it can "see" what is going on.
http://8bitflynn.io/Resources/Videos/FirstAI_TEST.m4v
I have not had much time to play around with it, but it allows the AI to write BASIC code, and it can even correct mistakes when it "sees" the CHROUT data. I never planned on connecting it to AI when I started this project but I had been working with AI at my day job quite a bit so why not.