Synchronous transmit-receive

Synchronous transmit-receive (STR) was an early IBM character-oriented communications protocol which preceded Bisync. STR was point-to-point only, and employed a four-of-eight transmission code, communicating at up to 5100 characters per second over half-duplex or full-duplex communication lines.

The IBM 1009 Data Transmission Unit, the IBM 1130 Synchronous Communications Adapter, the IBM System/360 model 20 Communications Adapter, and the IBM 2701 Data Transmission Unit provided host computer support for STR.

The IBM 7701, the IBM 7702 Magnetic Tape Transmission Terminal, the IBM 1013 Card Transmission Terminal, and the IBM 7710 and IBM 7711 Data Communication Units were among the remote devices supported by STR.[1]

STR was still supported as of 1972,[1] although it had generally faded from use.

Four-of-eight code

The four-of-eight code was a 64 character set plus six control characters, encoded in eight bits. Exactly four bits of each character were one bits there are 70 such possible bit combinations.

Data codes

This is the four-of-eight code. The first column of graphics is for the 7701,[2] where no graphic is shown the code is unassigned. Plus zero and minus zero had distinct values for many machines, and are shown as +0 and -0. The second column of graphics is for the 1130 SCA, graphics are shown only if different from the 7701, mostly characters from the EBCDIC character set which were not present in BCD.

Graphic1130 Graphicfour-of-eight
code
Hex 
   N X O R  8 4 2 1
space 1 1 1 1  0 0 0 0F0
+0¢ 0 1 1 0  1 0 1 06A
.   1 0 0 0  1 0 1 18B
< 0 1 1 0  1 1 0 06C
 ( 0 1 0 1  0 1 1 056
 + 0 0 1 1  0 1 1 036
group mark| 1 0 0 0  1 1 0 18D
&  1 0 0 0  1 1 1 08E
-0! 1 1 0 0  1 0 1 0CA
$  0 1 0 0  1 0 1 14B
*  1 1 0 0  1 1 0 0CC
 ) 0 1 0 1  1 1 0 05C
 ; 0 0 1 1  1 1 0 03C
Δ¬ 0 1 0 0  1 1 0 14D
-  0 1 0 0  1 1 1 04E
/  1 0 1 1  0 0 0 1B1
,  0 0 1 0  1 0 1 12B
%  1 0 1 0  1 1 0 0AC
word separator_ 0 1 0 1  1 0 1 05A
 > 0 0 1 1  1 0 1 03A
block mark? 0 0 1 0  1 1 0 12D
space: 0 0 1 1  1 1 0 02E
#  0 0 0 1  1 0 1 11B
@  1 0 0 1  1 1 0 09C
 ' 0 0 0 0  1 1 1 10F
 = 0 0 0 1  1 1 1 01E
tape mark" 0 0 0 1  1 1 0 11D
A  0 1 1 1  0 0 0 171
B  0 1 1 1  0 0 1 072
C  0 1 1 0  0 0 1 163
D  0 1 1 1  0 1 0 074
E  0 1 1 0  0 1 0 165
F  0 1 1 0  0 1 1 066
G  1 0 0 0  0 1 1 187
H  0 1 1 1  1 0 0 078
I  0 1 1 0  1 0 0 169
J  1 1 0 1  0 0 0 1D1
K  1 1 0 1  0 0 1 0D2
L  1 1 0 0  0 0 1 1C3
M  1 1 0 1  0 1 0 0D4
N  1 1 0 0  0 1 0 1C5
O  1 1 0 0  0 1 1 0C6
P  0 1 0 0  0 1 1 147
Q  1 1 0 1  1 0 0 0D8
R  1 1 0 0  1 0 0 1C9
record mark  1 0 1 0  1 0 1 0AA
S  1 0 1 1  0 0 1 0B2
T  1 0 1 0  0 0 1 1A3
U  1 0 1 1  0 1 0 0B4
V  1 0 1 0  0 1 0 1A5
W  1 0 1 0  0 1 1 0A6
X  0 0 1 0  0 1 1 127
Y  1 0 1 1  1 0 0 0B8
Z  1 0 1 0  1 0 0 1A9
0  1 0 0 1  1 0 1 09A
1  1 1 1 0  0 0 0 1E1
2  1 1 1 0  0 0 1 0E2
3  1 0 0 1  0 0 1 193
4  1 1 1 0  0 1 0 0E4
5  1 0 0 1  0 1 0 195
6  1 0 0 1  0 1 1 096
7  0 0 0 1  0 1 1 117
8  1 1 1 0  1 0 0 0E8
9  1 0 0 1  1 0 0 199

Control codes

These are the synchronous transmit-receive control codes. Control characters were reserved; there was no provision for transparent operation.

Graphic
 
four-of-eight
code
Hex 
  N X O R  8 4 2 1
Idle 0 0 1 1  1 0 0 139
Start of Record 1
or Acknowledge 1
(SOR1 or ACK1)
 0 1 0 1  0 0 1 153
Start of Record 2
or Acknowledge 2
(SOR2 or ACK2 )
 0 0 1 1  0 0 1 133
Transmit Leader (TL) 0 0 1 1  0 1 0 135
Control Leader (CL) 0 1 0 1  0 1 0 155
End of Transmission (EOT)1 0 1 0 1  1 0 1 05A
Inquiry or Error (INQ or ERR) 0 1 0 1  1 0 0 159
Telephone1 0 1 0 1  1 1 0 05C
Group Mark1 1 0 0 0  1 1 0 18D
Longitudinal Redundancy Check (LRS) - - - -  - - - -
1also used as a data character

Longitudinal Redundancy Check

The Longitudinal Redundancy Check byte was the only character that could have other than four one bits. This byte contains a zero in each bit position where the data record contained an even number of one bits, and one where an odd number. "Idle characters and control sequences are not included in the LRS.[1]:p.174

Line control

When no data is being transmitted the line is maintained in synchronize mode a terminal transmits idle characters for approximately 1.3 seconds followed by end-of-idle sequence (CL Idle). It then listens for the same sequence for approximately three seconds. For four wire operation, when data is being transmitted the other wire pair is maintained in synchronize mode. At least one idle character is sent before each transmission.

Ownership of the line is established by the transmitting station sending an inquiry sequence (TL INQ). The receiving terminal then responds with acknowledge (CL ACK2). Following this initiation sequence the transmitting terminal sends SOR1 TL followed by the first block of data. The data is terminated by an end-of-transmittal-record (TL LRS). The receiving terminal replies with CL ACK1, or CL ERR if the longitudinal redundancy check indicates a transmission error. This process continues with even/odd SOR and ACK, until the sending terminal has transmitted all the data. It sends the end-of-transmission sequence (CL EOT). The receiving terminal responds CL EOT and re-enters synchronize mode.

gollark: Oh wait, it should already have it.
gollark: Want me to give RADIOMETRIC FALSITY access?
gollark: Done.
gollark: Heavpoot was working on it.
gollark: And what happened to wordmarket?

References

  1. IBM Corporation (1972). IBM 1130 Functional Characteristics (PDF). pp. 171–172.
  2. IBM Corporation (1961). Reference Manual IBM 7701 Magnetic Tape Transmission Terminal (PDF). p. 8.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.