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
XMODEM
(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!
==XMODEM-CRC== The checksum used in the original protocol was extremely simple, and errors within the packet could go unnoticed. This led to the introduction of '''XMODEM-CRC''' by John Byrns,{{sfn|Christensen|1982}}{{sfn|Forsberg|1986}} which used a 16-bit [[Cyclic redundancy check|CRC]] in place of the 8-bit checksum.{{r|meeks198902}} CRCs encode not only the data in the packet, but its location as well, allowing it to notice the bit-replacement errors that a checksum would miss. Statistically, this made the chance of detecting an error less than 16 bits long 99.9969%, and even higher for longer error bit strings.{{sfn|Boswell|1986}} XMODEM-CRC was designed to be backwardly compatible with XMODEM. To do this, the receiver sent a <kbd>C</kbd> (capital C) character instead of a <kbd><NAK></kbd> to start the transfer. If the sender responded by sending a packet, it was assumed the sender "knew" XMODEM-CRC, and the receiver continued sending <kbd>C</kbd>'s. If no packet was forthcoming, the receiver assumed the sender did not know the protocol, and sent an <kbd><NAK></kbd> to start a "traditional" XMODEM transfer.{{sfn|Boswell|1986}} Unfortunately, this attempt at backward compatibility had a downside. Since it was possible that the initial <kbd>C</kbd> character would be lost or corrupted, it could not be assumed that the receiver did not support XMODEM-CRC if the first attempt to trigger the transfer failed. The receiver thus tried to start the transfer three times with <kbd>C</kbd>, waiting three seconds between each attempt. This meant that if the user selected XMODEM-CRC while attempting to talk to ''any'' XMODEM, as it was intended, there was a potential 10 second delay before the transfer started.{{sfn|Boswell|1986}} To avoid the delay, the sender and receiver would generally list XMODEM-CRC separately from XMODEM, allowing the user to select "basic" XMODEM if the sender didn't explicitly list it. To the average user, XMODEM-CRC was essentially a "second protocol", and treated as such. This was not true of FidoNet mailers, however, where CRC was defined as the standard for all TeLink transfers.{{sfn|Bush|1995|p=G.1}}
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)