Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > Punter File Transfer Protocol
2015-02-24 23:04
Six

Registered: Apr 2002
Posts: 287
Punter File Transfer Protocol

Reading the doc here: http://cbmfiles.com/genie/geniefiles/TelcomTools/C1-PROTOCOL-DE..

it outlines what seems like a very simple protocol. Seems easy to implement from scratch. To that end, I set up two tcpser instances, two instance of VICE with CCGMS 11, and began a transfer, observing the logging output of TCPSER.

What Steve Punter describes should go like this:
SENDER
[dummy packet 1]---ACK---[filetype packet]---ACK---[First file packet]---ACK---[Second file packet]....
RECEIVER
----------------GOO---S/B-----------------GOO---S/B------------------GOO---S/B-- ------------------GOO...

Where dummy packet 1 would be just the two checksums, 8 for the "next block size", and a block number of 0000, filetype packet is much the same, but with the filetype as the payload and a larger "next block size"

But what I'm observing looks more like this:
SENDER
--------------------------------------------------0x91---ACK---[odd data block]---ACK---SYN---S/B---ACK---[data block 1]
RECEIVER
GOO(over and over again until the transfer starts)----GOO---S/B---------------GOO---S/B---SYN---GOO---S/B----

Where the odd data block has a next block size of 4, and a block number of 0xffff and appears to have the file type in it.

My next step is going to be to try multi-punter on the same setup, then try a few different terms and see if the peculiarities are specific to this implementation of punter on CCGMS 11.

Has anyone else dug into this, or have any insight into the how/why? Is there a comprehensive documentation of this protocol anywhere?
 
... 26 posts hidden. Click here to view all posts....
 
2015-03-01 03:45
Six

Registered: Apr 2002
Posts: 287
Delving into multi-punter. It seems to be the same for each file transfer, but starts in an odd way from the sender. Each file is preceded by the following exchange:

SENDER: 0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09, FILENAME,P,0x0d
SENDER:GOO
RECEIVER: GOO
SENDER: ACK [and so on as a normal xfer.]

After all files are transferred:

SENDER: 0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09, 0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04, 0x0d

No response from the receiver after this.
2015-03-02 13:54
Tao

Registered: Aug 2002
Posts: 115
Quoting Six
Aye, I'm moving on to that next. I'll have to set up C*base on VICE for sniffing.


Well, the source code is available, which might help ever so slightly. I did, however, not write the code, so if I were you I wouldn't bet on getting sane answers about the code :P
2015-03-02 23:10
Six

Registered: Apr 2002
Posts: 287
Do you recall who did write that version?
2015-03-03 08:35
Tao

Registered: Aug 2002
Posts: 115
Quoting Six
Do you recall who did write that version?


Well, it's most probably written by Gunther Birznieks. Possibly by Jerome P. Yoner.

I've made some minor modifications, but that's all.
2015-03-04 19:48
MagerValp

Registered: Dec 2001
Posts: 1055
Wow that is one seriously fucked up protocol. I don't think I could come up with something slower and more error prone if I tried.
2015-03-04 19:59
Burglar

Registered: Dec 2004
Posts: 1031
Quoting MagerValp
Wow that is one seriously fucked up protocol. I don't think I could come up with something slower and more error prone if I tried.
faster than xmodem! at least the xmodem used by ucbbs and cbase. punter would only work if u didnt have too much delay+linenoise, horrible but the fastest available.
2015-03-04 20:34
Count Zero

Registered: Jan 2003
Posts: 1821
also xmodem padded blocks with a crap byte at the end - argl :) - thats not even an alternative to anything!
2015-03-04 22:38
chatGPZ

Registered: Dec 2001
Posts: 11107
Quote:
faster than xmodem!

indeed =)

what i find kindof funny is that in the original punter "docs" it says that the protocol was made especially for bad connections. ugh =)
2015-03-05 00:12
Six

Registered: Apr 2002
Posts: 287
Well, it does do two different types of checksumming, and theoretically has a shifting block size one could use to deal with regular interference. (no-one implements this, at least as far as I have seen)

Multi-punter's the real train wreck. There's not even any facility that I can see to deal with missing the filename/retrying.
2015-06-17 14:36
Didi

Registered: Nov 2011
Posts: 479
Found this today. Said to be sourcecode of Punter Protocol.
http://www.lemon64.com/forum/viewtopic.php?t=56823
Previous - 1 | 2 | 3 | 4 | 5 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
kbs/Pht/Lxt
Alakran_64
Steffan/BOOM!
Guests online: 74
Top Demos
1 Next Level  (9.8)
2 Mojo  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Comaland 100%  (9.6)
6 No Bounds  (9.6)
7 Uncensored  (9.6)
8 The Ghost  (9.6)
9 Wonderland XIV  (9.6)
10 Bromance  (9.6)
Top onefile Demos
1 It's More Fun to Com..  (9.8)
2 Party Elk 2  (9.7)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.5)
5 Rainbow Connection  (9.5)
6 TRSAC, Gabber & Pebe..  (9.5)
7 Onscreen 5k  (9.5)
8 Wafer Demo  (9.5)
9 Dawnfall V1.1  (9.5)
10 Quadrants  (9.5)
Top Groups
1 Oxyron  (9.3)
2 Nostalgia  (9.3)
3 Booze Design  (9.3)
4 Censor Design  (9.3)
5 Crest  (9.3)
Top Musicians
1 Rob Hubbard  (9.7)
2 Jeroen Tel  (9.7)
3 Stinsen  (9.6)
4 Mutetus  (9.6)
5 Linus  (9.6)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.066 sec.