software authors to implement as many of them as possible. Instead, they generally implemented the bare minimum, leading to a profusion of semi-compatible implementations, and eventually, the splitting out of the name "YMODEM" into "XMODEM-1K" and a variety of YMODEMs. Thus XMODEM-1K actually post-dates YMODEM, but remained fairly common anyway. NMODEM NMODEM is a file transfer protocol developed by L. B. Neal, who released it in 1990. NMODEM is essentially a version of XMODEM-CRC using larger 2048 byte blocks, as opposed to XMODEM's 128 byte blocks. NMODEM was implemented as a separate program, written in Turbo Pascal 5.0 for the IBM PC compatible family of computers. The block size was chosen to match the common cluster size of the MS-DOS FAT file system on contemporary hard drives, making buffering data for writing simpler. Protocol spoofing Over reliable (error-free) connections, it is possible to eliminate latency by "pre-acknowledging" the packets, a technique known more generally as "protocol spoofing". This is normally accomplished in the link hardware, notably Telebit modems. The modems, when the option was turned on, would notice the XMODEM header and immediately sent an ACK. This would cause the sending XMODEM program to immediately send the next packet, making the transfer continuous, like an infinite-sized window. The modems also suppress the ACK being sent by the XMODEM software at the far end, thereby freeing up the low-speed return channel. The system can also be implemented in the protocol itself, and variations of XMODEM offered this feature. In these cases, the receiver would send the ACK as soon as the packet started, in the same fashion as the Telebit modems. Since this feature is only an alteration of the receiver-side behavior, it does not require any changes in the protocol on the sender's side. YMODEM formalized this system. This concept should be contrasted with the one used in SEAlink, which changes the behavior on both sides of the link. In SEAlink, the receiver stops sending the ACK entirely, and the sender changes its behavior to not expect them. See also BLAST (protocol) Kermit (protocol) References Citations Bibliography External links MODEM.ASM, original source code, Ward Christensen, October 10, 1977. XMODEM / YMODEM Protocol Reference by Chuck Forsberg, October 10, 1985 XMODEM / YMODEM Protocol Reference by Chuck Forsberg, June 18, 1988 (document reformatted October 14, 1988) (HTML version with text issues) XMODEM / XMODEM-CRC / WXMODEM File Transfer Protocols, synchro.net Adontec