Modem Communications Concepts

Listen to Audio (audio mp3 44min)

Excerpts from: Knezek, G. A., Norris, C., & Poirot, J. (1990). Smart communications. In The Smart Primer V 3.01. Dubuque, IA: W.C. Brown


Data transmission is not a new innovation. The type of data communications you will learn to use in this Primer has been in existence since 1924, considerably longer than computers. Nevertheless, it was the development of low-cost microcomputers and modems (devices which allow computer signals to travel over phone lines) that has made data communications such an integral, affordable component of modern computer utilization. Technology has opened new horizons for the average computer user.

Why Do You Need a Modem?

Computers work with information in a digital form. At the lowest level, all internal information can be thought of as a sequence of binary digits called bits. A unique combination of seven or eight bits is generally used to represent a single character such as the letter A or a question mark (?). Even though we great characters as if each was a single entity, in reality each is made up of a sequence of discrete binary digits.

Most telephone lines do not carry information in a digital form. Phone systems are designed to carry continuously varying (analog) sounds in the range of audible speech. In order for a computer to transmit its binary information over an analog phone line, the digital signal must be modulated (converted) into an audible, analog wave form. A modem accomplishes this signal conversion.

At the remote location, there is another computer that accepts only digital information. Therefore another device is needed at that end to demodulate the telephone signal into binary digits for the remote computer. If the remote computer wishes to respond to yours, its message must be modulated by the remote device and demodulated by yours. Each computer needs a modulator as well as a demodulator between itself and the phone line. A modem contains both devices, as the source of its name (MOdulator-DEModulator) implies.

Full vs. Half Duplex

Some modems can send and receive information at the same time, just as you can talk to a friend over the phone at the same time the friend is talking to you. This mode of communication is called full duplex. Other modems can send as well as receive information, but not at the same instant in time. Two half-duplex modems attached to computers must take turns sending and receiving. Many modems can be switched between half and full duplex operation so that you can make yours communicate in the form expected by the computer you wish to call.

Sometimes the term local echo is used interchangeably with the term duplex. Strictly speaking, duplex refers to the method of communication exchange between modems while local echo refers to how the character you type travels en route to being displayed on your screen. When local echo is "on", any character you type appears (is echoed) on your screen as it is being sent to the remote computer. When local echo is "off', any character you type is not immediately echoed to your screen. You may wonder how you ever see the character in this instance, and the answer is that a remote computer operating in full duplex mode sends each character it receives back to be displayed on your screen. Each character travels to the remote computer and back before you see it.

If your modem gives you a local echo choice, it should be `'off' when accessing a remote computer operating in full duplex:c mode (such as a DEC minicomputer), and it should be "on" when accessing a half-duplex computer (such as an IBM Mainframe). If you turn local echo "off' with a half duplex remote computer, you will never see what you type. If you turn it "on" with a full duplex computer, every character you type will appear on your screen twice--once echoed locally, and once when it is sent back by the remote system.

Originate vs. Answer Mode

When people communicate over the telephone, someone calls and someone answers. The same is true with computers, except that your modem has to know if you are calling or answering. If you are calling a remote computer, you should place your modem in originate mode. If someone else will be calling your computer, you should place yours in answer mode. Most modems can be placed in originate or answer mode. Some older modems are originate only.

Serial vs. Parallel Transmission

You may recall from the first paragraph of this section that each character in a computer is represented by a sequence of seven or eight binary digits. Many printers can accept all the bits of a character at the same time, by dedicating one wire to receive each bit using parallel transmission. Such printers are often attached to a computer by a flat ribbon cable in which you can actually see eight wires. We could not afford to simultaneously occupy eight phone lines in order to access a remote computer. The alternative is serial transmission.

All modems commonly used through dial-up telephone lines are serial devices. This means that each character is sent one bit at a time. The advantage of this system is that only one phone line is needed. The disadvantage is that computers on both ends have to have some special means of knowing where a character starts (in time) and where it ends. Extra bits are usually added as flags for the beginning and end of a character to remedy this problem.

Start and Stop Bits

Most computers expect one start bit and one or two stop bits as flags for the beginning and end of a character. You must make certain that your communication program is set the same way as the remote system. Otherwise, transmissions will be garbled.


Most computers send information to remote systems one line at a time. After a line of characters has been sent, the sending computer waits for a message from the receiving computer acknowledging that it is ready to receive more data. The sending computer then transmits another line. This two-way exchange is called handshaking.

One simple form of handshaking is for the sending computer to place a carriage return symbol at the end of each line to let the receiving system know the line has ended. When the receiving computer encounters a carriage return, it stores away all the line's preceding characters, then sends a different symbol (such as a question mark) back to the sender. When the sender receives the "all clear" symbol from the receiver, it sends another line to the receiver. The process repeats until there are no more lines to be sent.

This positive acknowledgment that each line has been received and processed prevents the sender from transmitting new data before the other end is prepared to receive. Positive acknowledgment helps prevent the loss of data during communication exchanges.

A more efficient form of data transmission is for the receiver to contact the sender only when the receiver is unable to keep up with the flow of incoming data. This form of handshaking is called xon/xoff, which stands for "transmit on/transmit off". Usually the receiver has a temporary storage area (called a buffer) that can hold several lines or pages of data. The receiver accepts data at full speed until the buffer is nearly full, then sends the special xoff character to the sender to tell the sender to stop transmitting. The receiver then stores away or otherwise processes the lines of data in its buffer and transmits an xon to the sender when it has caught up.

With xon/xoff, the sending computer only stops and waits when the receiving computer gets behind. With line-by-line handshaking, the sender stops and waits at the end of each line. If you have a choice, it is usually better to use xon/xoff handshaking because it is faster.

Some remote computers do not support any kind of handshaking. When transmitting to such a system, the sender has no choice but to wait after sending each line a time period long enough to be certain the receiver has processed the transmitted line. Use this transmission format as a last resort. Both line- by-line handshaking and xon/xoff are generally superior to (faster than) this method.

Adding Line Feeds

Some remote computers will send a line feed character as well as a carriage return character at the end of each line Others send only a carriage return. You will know that you need to set your program to append its own line feeds if the transmissions you receive type over and over on the same line. Also note that appending your own (extra) line feed character to an incoming line that already contains one will cause the text to appear double spaced on your screen.

Terminal Types

Not all manufacturers' computers communicate with their terminals in the same way. It is fortunate that there are two types of "universal" terminals which almost all computers support: TTY (also called a dumb terminal) and ANSI Standard (also called VT100). In addition, Smart gives you a VT100/102 terminal emulation and a VT52 terminal emulation option with their own special features. You will probably want to make your computer emulate (act like) one of these four types when you call a remote computer.

A dumb terminal is also called TTY (teletype) because it acts like a teletype printing terminal similar to those used for receiving major stories in newsrooms. Just as a paper teletype terminal cannot print bottom to top, so a screen emulating a teletype is restricted to printing lines down the page. This means a dumb terminal cannot do things like draw a box around existing text because it cannot back up. Dumb terminal emulation should be used as a last resort, in situations where the remote computer supports nothing else.

ANSI Standard (American National Standards Institute) emulation is usually a better choice, if it is supported by the remote system you wish to access. In ANSI emulation mode, the remote system is free to move your cursor in any direction to print or draw images on your screen. If you are using an editor on the remote system, you can often use your cursor control keys to easily make connections on previously entered lines.

Some remote systems may use the term "VT100 type" rather than "ANSI standard". This is in reference to DEC's VT100 terminal, after which the ANSI Standard was modeled. In many cases, these two terms can be used interchangeably, just as "Kleenex" is often used for the term "tissue paper" and "Xerox" is often used to mean "copier". Smart, however, gives you a VT100~102 option which will also make your computer behave as though it were a VT100 terminal as well as provide special additional (VT102) features. If the remote system requires a VT100 terminal, you might try this option.

In addition, Smart gives you a VT52 option. This option makes your computer behave as though it were a VT52 terminal, another popular terminal manufactured by Digital Equipment Corporation.

Although many other terms and concepts are important to the field of data communications, this brief introduction should provide a foundation for understanding modem communications. The next section will begin focusing on how to use the Communications Program provided in Smart.