4 ms·
Back in the BBS days, I used to "collect" BBS file transfer protocols. I shared the source code for some of them on GitHub: * JMODEM: https://github.com/cpeter
by cpeterso 4y ago
Back in the BBS days, I used to "collect" BBS file transfer protocols. I shared the source code for some of them on GitHub:
* JMODEM: https://github.com/cpeterso/jmodem https://github.com/cpeterso/jmodem
* SEAlink (System Enhancement Associates): https://github.com/cpeterso/sealink https://github.com/cpeterso/sealink
* WXMODEM (Windows XMODEM): https://github.com/cpeterso/wxmodem https://github.com/cpeterso/wxmodem
* ZMax: https://github.com/cpeterso/zmax https://github.com/cpeterso/zmax
I also remember "Leech Modem", a file transfer protocol that was compatible with XMODEM and YMODEM but designed to bypass a BBS's download quotas. The protocol would NAK the last packet and then abort the file transfer. The user had successfully downloaded the file, but the BBS would mistakenly not count the aborted file transfer against the user's download quota.
https://en.wikipedia.org/wiki/LeechModem https://en.wikipedia.org/wiki/LeechModem
- reaperducer 4y agoDon't forget Punter: https://en.wikipedia.org/wiki/Punter_(protocol) https://en.wikipedia.org/wiki/Punter_(protocol) I still think in terms of "SYN/ACK SYN/ACK" pairs when analyzing technology.
- _JamesA_ 4y agoGOO As a teenager I wrote a few implementations of X/Ymodem and Punter for the C64 in machine code back in the day. I was too poor at that age to afford an assembler. I also wrote a native X/Ymodem utility for the IBM AS/400. I had to write the CRC calculations in MI (AS/400 machine interface language) in order to get enough performance to make it work well.
- chipotle_coyote 4y agoWXMODEM is actually "windowed XMODEM", named because it uses a "window" for packet transmission, letting the sender send multiple packets without an acknowledgement. IIRC, this is a technique similar to ZMODEM's, but it's simpler to implement. The very few times I used it back in my BBS days -- yes, I am that old -- it was (by dialup modem standards) very, very fast.