This code has not been cleaned up and still contains a LOT of extra debugging output! Please try it out and report your findings.
[End of Disclaimer]
Below you will find copies of Vice 3.6.1 and TCPSer - both modified by me. These are not official releases, and indeed they are both quite crudely patched but I wanted to get them out for testing so that any bugs found can be addressed quickly. I have included all the source files as well so hopefully there are no issues about distribution, etc. I'm trying to help, not hurt, the community. I've tried to add comments in the source where appropriate.
At the request of several I have also attached a copy of Vice compiled for Windows 64-bit. The Windows version of tcpser is included in the source file, along with a .dll that must be in the same folder as tcpser when you run it on Windows.
I used the included Makefiles for building both, but I don't think there are installers (no setup.exe) for Windows - just extract the files into a folder and run from there. I've tested the Windows executables on Windows 10 and they both seem to work, but I did notice that the keyboard issue seems worse on Windows than it does on Linux. There's an option where you can turn on Keyboard Debugging in Settings, and interestingly enough you can see the keystrokes you type being captured by Vice, yet unless you sort of "hold down" each key as you type it, they often do not appear in the emulated C64. Perhaps I will try to look into that one next.
- Modified source code for Vice 3.6.1
Modified Vice 3.6.1 Compiled for Windows 64-Bit
Modified source code for TCPSer (Couldn't find a version number) - Windows .exe & required .dll file included.
I realize as I write this that I may need to provide tcpser in a .zip format as well since Windows can't open tar / gzipped files without additional tools. I've got to drive kids to school but later on today I'll upload a .zip file of the tcpser source & binaries.
The changes, in a nutshell, are that with this combination, ACIA Swiftlink / Turbo232 modem emulation is a lot more robust & reliable, and Vice will reconnect to tcpser (or BBS Server - whatever you use) automatically if that connection is broken - no more need to restart Vice & whatever software you run in it if the connection to your modem proxy is lost.) TCPSer is more stable (I have not had it crash or lock up, but more testing is probably needed to confirm). Also, if you try to connect to an IP host with atdt and it fails, you will get the "no carrier" message, but if you then type ati (Information) - tcpser will provide the reason why the connection failed according to the OS mechanisms - IE: Destination host unreachable, Connection Refused, etc.
The only behavioral thing I've noticed different between Vice on Linux and Windows is that if you kill tcpser while a program in Vice had an open connection to a modem (tcpser) - Vice will get quite laggy as it tries to reconnect. I didn't see this on Linux, so I suspect it has to do with differences in the way each operating system handles IP connections "under the hood". As soon as the connection is restored (IE: TCPser is started again) Vice resumes it's normal pace.
BBS Sysops - If you can try this combination out and let me know how you fare, I will be grateful for any and all feedback.
Enjoy!
