Is anyone interested in using xmodem from a telnet client?
If so, I have 2 more questions
1) what remote system would you like to transfer files to/from?
2) can you give me access to that system so I can test my xmodem code against it?
I have currently got an implementation of xmodem in my telnet client (KipperTerm) but having some, and have tested it against some endpoints with the following results
1) against a ruby test harness - I can send and receive fine. But since I wrote the implementation both sides, that doesn't prove I got the protocol right - I may have got it wrong in the same way twice
2) against a linux box, I can download (using 'sx' on linux side), but can't upload ('rx' never seems to send the NAK packet that would initiate the transfer - this doesn't seem to work when using other telnet clients either so this may be an issue with the linux side, not my c64 code)
3) against Schema's 'Jamming Signal' BBS - downloads don't work if you select PETSCII emulation (on the BBS side), seems to work doing D/L when selecting ASCII emulation. I didn't try uploads. From what I can see in a network trace, and if you select PETSCII emulation, then $01 bytes gets mapped to $81, which stuffs up xmodem which uses a $01 (SOH) byte to indicate the start of each 128 byte packet.
Anyway I'd like to test against a few more implementations before I put out a beta. I am pretty confident the xmodem protocol itself is correct, where I am expecting the most issues is with variations in the escaping rules used by whatever is doing modem emulation or RS232<->TCP conversion. For example, in real telnet, a $FF byte needs to be escaped, as $FF has a special meaning in telnet. Other systems are probably using other conversions (i.e. like Jamming Signal). Hence I want to look at some more implementations.
Ho Ho Ho