A popular file transfer protocol available in many off-the-shelf and shareware communications packages.
Xmodem was originally developed by Ward Christiansen for early PCs using the CP/M operating system. Xmodem divides the data for a transmission into blocks. Each block consists of the start-of-header character, a block number, 128 bytes of data, and a checksum. An acknowledgment byte is returned to the sender if the checksum calculation is identical to the sender's checksum; however, this requirement to acknowledge every transmitted block can lead to poor performance.
An extension to Xmodem, called Xmodem-CRC, adds a more stringent error-checking method by using a cyclical redundancy check (CRC) to detect transmission errors rather than Xmodem's simple additive checksum.
Another variation is Xmodem-1K, which transfers data in 1024-byte blocks.