It is currently Sun Apr 18, 2021 8:49 pm

All times are UTC + 1 hour [ DST ]

Post new topic Reply to topic  [ 2 posts ] 
Author Message
PostPosted: Tue Dec 22, 2009 10:32 pm 

Joined: Mon Mar 23, 2009 12:11 pm
Posts: 142
Location: Katoomba, Australia
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

Reply with quote  
PostPosted: Wed Dec 23, 2009 1:16 pm 

Joined: Mon Mar 23, 2009 12:11 pm
Posts: 142
Location: Katoomba, Australia
I've decided to put a release out in it's current state (v1.0.25) - hopefully people will send me bug reports.

Changes since the last public release:

- FIX: vt100 emulation was leaving a cursor after a "clear to end of line" command ( ]J )
- ADD: XMODEM upload support
- CHANGE: removed 'line mode' from telnet

- CHANGE: split KipperTerm (telnet + gopher) into KipperTerm (enhanced telnet) and KipperGo (basic telnet + gopher)
- ADD: XMODEM download support for KipperTerm
- FIX: tell remote server screen size (40x25)
- FIX: vt100 no longer does line wrap & scroll when writing to bottom right hand corner
- FIX: telnet sessions now send 'keep alive' (stops my broadband router from losing NAT state)
- FIX: tcp was sending wrong seq number when ACKing inbound data just after sending data out
- FIX: telnet packets > 256 bytes not completely processed
- ADD: can change default disk drive

The release can be downloaded from

There is some documentation at - best one to start with is

Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 2 posts ] 

All times are UTC + 1 hour [ DST ]

Who is online

Users browsing this forum: No registered users and 1 guest

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group