I'm looking over the documents for YMODEM found here.

Scroll down to page 8, the section on 1-k blocks. Note that the protocol can switch between 1024 and 128 bytes by sending an STX or SOH.

Now scroll to page 12, the section on CRC. Note that it is also switching packet sizes, but in this case it is sending 1024 byte blocks with an SOH header. The same oddity appears on page 14 in the section on the g-option.

Is this a bug in the documentation? Does anyone have a canonical implementation of YAM to refer to? I suspect that 1024 is a typo which was then copy-n-pasted.

1 Answer 1


I'd say it's a documentation error, but not regarding the block length, as this makes sense, but the use of SOH vs. STX.

This version, dated about a year later (November? 1986), shows the correct usage. So I guess the error has been detected before.

  • As for implementations to refer to: the lrzsz package is still current in Debian, FreeBSD, and others; and is also available from Uwe Ohse.
    – JdeBP
    Feb 12, 2020 at 19:13
  • 2
    Ahh, I did not find that second version. Nice catch! Feb 13, 2020 at 20:58
  • 2
    @MauryMarkowitz Google feels more and more like a game of luck. Keywords that always brought up certain pages show complete different results the very next day. And beware terms that have been reused by something fancy for the day :(
    – Raffzahn
    Feb 13, 2020 at 21:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.