Telecommunications - Bi Sync Protocol

In the early 1960s there were not large networks of terminals and time-sharing computers and VDUs were not yet developed. Computers were run as batch systems, most programmers would write out their programs on coding sheets, these would then be converted into stacks of punched cards by keypunch operators using stand-alone electro-mechanical devices such as the IBM 29 cardpunch. The computer operator then loaded the cards and ran the program, the results were printed and sent back to the operator.

For companies with branch offices there was a need for programs to be run, and the results printed, remotely. To do this remote job entry devices were developed such as the IBM 2780 and later the IBM 3780, these consoles contain a card reader and printer. These devices need a comms link which is fast and also has some error protection.

IBM therefore used a synchronous protocol - Bi-Sync. Two character codes had to be accommodated in a synchronous data link protocol, these were,

8-bit EBCDIC (used on IBMs S/360)

and 7-bit + parity ASCII

Cluster Controllers

The original version of BSC handled error checking and multi-point lines, however it did not completely handle component selection, nor did it handle the requirements of a cluster controller.

Component selection was handled by sending data to each device one at a time (a restriction that was overcome by the HASP multi-leaving protocol, which defined fields within the data to further define the destination device but required a minicomputer terminal to decode the message). The advent of 3270 clusters required a further change to the BSC protocol, which was duly done: BSC3, as this version is known, was designed to treat each screen as a separate device. In total there are three incompatible versions of the BSC protocol.

2 - Overview of BSC

- Control characters may be used both for high level functions and for data link control.

although much more modern and efficient data link protocols are available (SDLC,HDLC,X.25) BSC is still in use on many existing terminals.

3 - Character Codes

The following tables show how each character can be coded as a number, the tables contain not only printable characters such as upper case letters, lower case letters, numbers and punctuation but also control codes for controling the information exchange which are explained later.

The tables are arranged with the most significant hexadecimal number across and the least significant number down so that, for example, in the EBCDIC table lower case 'a' is coded as 81 in hexadecimal which is 10000001 in binary.

EBCDIC character codes


ASCII character codes


SIX-BIT character codes


goto next document - data link control



metadata block
see also:


Correspondence about this page

Book Shop - Further reading.

Where I can, I have put links to Amazon for books that are relevant to the subject, click on the appropriate country flag to get more details of the book or to buy it from them.

cover OSI Reference Model for Telecommunications (McGraw-Hill Telecom Professional S.)

Commercial Software Shop

Where I can, I have put links to Amazon for commercial software, not directly related to the software project, but related to the subject being discussed, click on the appropriate country flag to get more details of the software or to buy it from them.


This site may have errors. Don't use for critical systems.

Copyright (c) 1998-2023 Martin John Baker - All rights reserved - privacy policy.