Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

People well knew of the shortcomings, so they used XMODEM-1K (called YMODEM and had a larger block size) or ZMODEM (a sliding window and retransmission recovery). ZMODEM was definitely the one to use!

Once you've used the latter letters you never fallback. You'd never leave z to use y or leave y to use x.



Yes, I am not sure why someone would roll their own protocol when ZMODEM was available and solved most of XMODEM's problems. I was forced to use XMODEM back in the day (because ZMODEM did not exist yet), but as soon as the ZMODEM spec was published in 1988, everyone moved to it and XMODEM became obsolete almost instantly.


If you're talking about this blog in particular, then my read between the lines was that 1) XMODEM is much easier to implement from scratch, and 2) the Linux Community recommends an XMODEM implementation for certain tasks, despite the fact that the implementation comes from a package that also supports ZMODEM. Lacking context for why that may be, that seems like a pretty dumb position. I am curious if anyone can dig up a defense of that rationale.


"First boot" protocols are often the simplest possible - and it may be the case that XMODEM is slightly "more available" in that realm than ZMODEM (often these boot protocols simply ignore checksums, etc on the client device to reduce code size needed).


I wrote XModem on a Pet-2001 in BASIC. It worked fine at 300 Baud.

At the time you wanted simple and small code.


> XMODEM became obsolete almost instantly

I have modern (produced in the last couple of years) network switches at work which only support XMODEM (assuming you have to do it over serial, they also support TFTP or transfer from a USB storage device, but in the one occasion we had to use it the OS had trashed itself comprehensively enough that serial was our only option).


Technically XMODEM-1K lacks the YMODEM block 0 header with file name, size, and other metadata. I had an employer that fastidiously stuck to this and it caused no end of annoyance that you had to deal with files quantized to 128 or 1024 byte multiples because YMODEM was just too complicated to implement 25 years ago. YMODEM is fine if you want something simple. Don't ever do XMODEM.


Yep zmodem was the one! Always a pleasant thing to discover the BBS you called supported it - way faster and supported continuing interrupted downloads when your mum picked up the phone in the middle of warez leeching


There was always that One Guy who supported XMODEM and YMODEM but either didn't support ZMODEM or had a buggy implementation and couldn't be arsed to fix it.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: