In computer terminology, a fill character is a
character transmitted solely for the purpose of consuming time. It does this by filling a timeslot on a data transmission line which would otherwise be forced to be idle (empty). In this way, fill characters provide a simple way of timing required idle times.
Fill characters are usually used in response to some real-world limitation. For example, mechanical computer printers such as the earliest
dot matrix printer
Dot matrix printing, sometimes called impact matrix printing, is a computer printing process in which ink is applied to a surface using a relatively low-resolution dot matrix for layout. Dot matrix printers are a type of impact printer that p ...
s may have been able to print 30 characters per second, but when a "carriage return" character was received and the printhead began returning to the left margin, there was a noticeable delay before the printing of the next line could begin. Unlike modern printers, these early printers contained essentially no
buffer
Buffer may refer to:
Science
* Buffer gas, an inert or nonflammable gas
* Buffer solution, a solution used to prevent changes in pH
* Lysis buffer, in cell biology
* Metal ion buffer
* Mineral redox buffer, in geology
Technology and engineeri ...
ing, nor did they do any
handshaking, so there would be no place to store the characters which would be received while the printhead was in the process of returning to the left margin, nor any way to tell the sender to temporarily stop transmitting characters. Instead, one or more fill characters would be transmitted to cover this time.
In its strictest definition, fill characters cause no action to be performed at all; they simply consume time. The
ASCII
ASCII ( ), an acronym for American Standard Code for Information Interchange, is a character encoding standard for representing a particular set of 95 (English language focused) printable character, printable and 33 control character, control c ...
"null" character is commonly used for this purpose. In actual practice with printers, though, one of the time slots that would otherwise contain a fill character was usually used to contain the "line-feed" character that caused the paper to advance by one line. For some printers (such as
teleprinter
A teleprinter (teletypewriter, teletype or TTY) is an electromechanical device that can be used to send and receive typed messages through various communications channels, in both point-to-point (telecommunications), point-to-point and point- ...
s), this was all the "filling" that was needed.
In some situations, the transmission delay that a fill character would provide could also be provided by using a useful but non-printing character. It is for this reason that
teleprinter
A teleprinter (teletypewriter, teletype or TTY) is an electromechanical device that can be used to send and receive typed messages through various communications channels, in both point-to-point (telecommunications), point-to-point and point- ...
s (teletypes) sent their newline sequence as a Carriage-Return character followed by Line-Feed character rather than the other way around. Returning the printing mechanism to the left margin required up to about two character times and the reception of the Line-Feed character covered the additional delay time required. In addition, the teleprinter could act on the Line-Feed while the printing mechanism was still moving leftwards, optimizing the use of the data line.
As described above, printers commonly required fill characters when the carriage was returned to the left margin. With other equipment, fill characters were occasionally required in other circumstances. For example the
VT05 video terminal sometimes required fill characters when a "scroll up" operation was performed; the process of shuffling data in the
shift register
A shift register is a type of digital circuit using a cascade of flip-flop (electronics), flip-flops where the output of one flip-flop is connected to the input of the next. They share a single clock signal, which causes the data stored in the syst ...
memory of the VT05 was slow.
In a similar fashion, communications protocols often require fill characters at points when processing must be performed.
References
:*
Digital typography
{{compu-prog-stub