Binary Synchronous Communication (BSC or Bisync) is an IBM character-oriented, half-duplex , announced in 1967 after the introduction of System/360. It replaced the synchronous transmit-receive (STR) protocol used with second generation computers. The intent was that common link management rules could be used with three different character encodings for messages. Six-bit Transcode looked backwards to older systems; USASCII with 128 characters and EBCDIC with 256 characters looked forward. Transcode disappeared very quickly but the EBCDIC and USASCII dialects of Bisync continued in use.
At one time Bisync was the most widely used communications protocol and is still in limited use in 2013.
Bisync differs from protocols that succeeded it in the complexity of message framing. Later protocols use a single framing scheme for all messages sent by the protocol. HDLC, (DDCMP), (PPP), etc. each have different framing schemes but only one frame format exists within a specific protocol. Bisync has five different framing formats.
ACK0 and ACK1 (even/odd affirmative acknowledgement) are encoded as two characters—DLE '70'x, and DLE / for EBCDIC, DLE 0 and DLE 1 for USASII, DLE - and DLE T for Transcode. WABT (wait before transmit) was encoded as DLE ", DLE ?, or DLE W.
All frame formats begin with at least two SYN bytes. The binary form of the SYN byte has the property that no rotation of the byte is equal to the original. This allows the receiver to find the beginning of a frame by searching the received bit stream for the SYN pattern. When this is found, tentative byte synchronization has been achieved. If the next character is also a SYN, character synchronization has been achieved. The receiver then searches for a character that can start a frame. Characters outside of this set are described as "leading graphics". They are sometimes used to identify the sender of a frame. Long messages have SYN bytes inserted approximately every second to maintain synchronization. These are ignored by the receiver.
A normal block ending character (ETB or ETX) is followed by a check sum (block check character or BCC). For USASCII, this is a one character longitudinal redundancy check (LRC); for Transcode and EBCDIC, the check sum is a two character cyclic redundancy check(CRC). A data frame may contain an intermediate check sum preceded by an ITB character. This ability to include intermediate check sums in a long data frame allows a considerable improvement of the error detection probability. USASCII characters are also transmitted using odd parity for additional checking.