Back when i used to use BBSes, this was the original file transfer mode god. We (the ignorant end users who just wanted to download files), never knew anything much about it (it was just there, like oxygen is just there. You don't ask questions about what oxygen is), and we didn't realize how much it sucked because we had never used anything better. File resume? What? The idea that transfers could be aborted or dropped and started again later was foreign enough it never occurred to most of us, at least those of us who were in the fifth grade at the time. If your file transfer bombed (well, when your file transfer bombed. Under xmodem, it always bombed), you just started it over. If the file was larger than could be slurped over a 2400 baud connection in the hour connection time limit your account had, the only thing you could do is ask the sysop for an extension that day.

Eventually the sysops installed zmodem and tried to get everyone to switch to it. Eventually i actually figured out how to go into my preferences and specify zmodem as the default. And then, in shocked, joyous amazement, i discovered that file transfers could be effortless things.

The XMODEM protcol was developed by Ward Christensen as a simple error cheking scheme suitable for file transfer operations. Messages are sent in blocks of 128 characters surrounded by control characters. The beginning of each block is signaled by a Start Of Header (SOH) character. This is followed by a block number character in ASCII, followed by the same block number with each bit inverted, known as the 1's compliment. The 128-character piece of the file is sent, followed by a checksum that is the remainder of the sum of all the 128 bytes in the message divided by 255.

Log in or register to write something here or to contact authors.