/ˈɛksˌmoʊdɛm/

n. “One of the classic protocols for sending files over serial lines.”

XMODEM is a simple file transfer protocol developed in 1977 by Ward Christensen for transferring files over serial connections, such as modems or serial ports. It became widely used in the early days of personal computing and bulletin board systems (BBSs) because it introduced basic error detection and reliability for transferring data between computers.

Key characteristics of XMODEM include:

  • Block-Based Transmission: Data is sent in fixed-size blocks, traditionally 128 bytes, allowing the receiver to verify each block before accepting the next.
  • Error Detection: Uses a simple checksum or cyclic redundancy check (CRC) to detect corrupted data blocks.
  • Stop-and-Wait Protocol: After sending a block, the sender waits for an acknowledgment (ACK) or negative acknowledgment (NAK) before continuing.
  • Simple and Widely Compatible: Minimal overhead made it usable on slow serial connections and early computers.

A conceptual example of XMODEM flow:

1. Sender sends Block #1
2. Receiver checks block → sends ACK if correct, NAK if corrupted
3. Sender sends Block #2
4. Repeat until entire file is transferred

Conceptually, XMODEM is like passing notes in class: each note (block) is checked before the next one is sent to make sure nothing was misread or lost.

In essence, XMODEM is a foundational file transfer protocol that introduced structured, reliable data transmission in the early days of computing and paved the way for more advanced protocols like YMODEM and ZMODEM.