Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
YMODEM
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|File transfer protocol}} {{Infobox networking protocol | title = YMODEM | logo = | logo alt = | image = | image alt = | caption = | is stack = | purpose = [[File transfer|file transfer protocol]] | developer = [[Chuck Forsberg]] | date = {{Start date and age| 1985 | | }}<!--Fill in: Year (4 digits), month and day (2 digits)--> | based on = [[XMODEM]] | influenced = [[ZMODEM]] | osilayer = | ports = | rfcs = | hardware = [[modem]]s }} '''YMODEM''' is a [[protocol for file transfer|file transfer protocol]] used between [[microcomputer]]s connected together using [[modem]]s. It was primarily used to transfer files to and from [[bulletin board system]]s. YMODEM was developed by [[Chuck Forsberg]] as an expansion of [[XMODEM]] and was first implemented in his [[CP/M]] '''YAM''' program. Initially also known as YAM, it was formally given the name "YMODEM" in 1985 by [[Ward Christensen]], author of the original XMODEM. YMODEM extended XMODEM in three ways, combining features found in other extended XMODEM varieties. Like XMODEM-CRC, YMODEM replaced the 8-bit [[checksum]] with a 16-bit [[cyclic redundancy check]] (CRC), but made it the default form of correction instead of optional. From TeLink it added the "block 0" header that sent the filename and size, which allowed batch transfers (multiple files in a single session) and eliminated the need to add [[Data padding|padding]] at the end of the file. Finally, YMODEM allowed the block size to be increased from the original 128 bytes of data to 1024, as in [[XMODEM#XMODEM-1K|XMODEM-1k]], which greatly improved throughput on faster modems. Forsberg built the standard with all of these features as runtime options, allowing a single protocol driver to fall back to XMODEM-CRC or even XMODEM when connecting to non-YAM systems. He believed that programmers would want to implement as many of these features as possible on any given platform. He was dismayed to find that the majority of implementations were actually providing nothing more than 1k block size with CRC-16, failing to implement the "block 0" while continuing to use the YMODEM name. The result was the release of many mutually incompatible YMODEM implementations, and the use of the name '''YMODEM Batch''' to clearly indicate those versions that did support the complete standard.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)