C-MODEM

C-Modem is a protocol driver developed by Lavio Pareschi (Rio de Janeiro) in 1989 that functions similarly to ZMODEM.

Features
C-Modem includes a new file transfer protocol, built around the ideas of crash recovery, ease of use and optimal performance. C-Modem provides reliable file transmission, even in poor conditions, by adapting immediately to any errors that may occur (even in the so-called 'error free' modems).

Major features of the C-Modem communications protocol include:


 * Transmission Crash Recovery

If interrupted for any reason, the file transmitted is saved with the extension .BAD, until the last byte is received correctly. During the next connection/transmission, the file is automatically completed.


 * Mutable Data: CRC blocks on data blocks of variable size

Depending on velocity and errors during transmission, as well as line conditions, the size of data blocks between CRC-blocks may vary from 32 to 4096 bytes. This reduces the amount of control bytes added to the transmission and minimizes data repetition. The results in an excellent true transfer rate.


 * Full Duplex

The transmitter does not stop every block to receive useless answers. The transmitter occurs without pauses between blocks. The receptor only warns when something wrong happens.


 * Exact Size

While not accurate in terms of bits (the value rounds up), the file's size is accurate in terms of bytes. It has exactly the same size as the original file that was uploaded or downloaded, but it does not add bytes to complete blocks of fixed size.