THE UNIVERSITY OF MICHIGAN Technical Report 8 THE DATA CONCENTRATOR David Mills CONCOMP: Research in Conversational Use of Computers F.H. Westervelt., Project Director ORA Project 07449 supported by: ADVANCED RESEARCH PROJECTS AGENCY DEPARTMENT OF DEFENSE WASHINGTON, D.C. CONTRACT NO. DA-49-083 OSA-3050 ARPA ORDER NO. 716 administered through: OFFICE OF RESEARCH ADMINISTRATION ANN ARBOR May 1968

ABSTRACT This report describes a programmable transmission control unit which is attached to an IBM System/360 Model 67 machine operated in a timeshared environment. Called the Data Concentrator, this device provides service for AT&T teletype equipment, IBM typewriter terminal equipment, and remotely located computer equipment interconnected with serial-synchronous transmission data sets. The Data Concentrator is constructed of several different kinds of line adapters which connect on one hand to all types of AT&T data sets available for use on the switched-network, and on the other to a modified Digital Equipment Corporation PDP-8 computer. Connection is made between the System/360 multiplex channel and the PDP-8 by means of a special interface which provides a direct connection to the control lines emanating from the multiplex channel and presents a behavior compatible with other IBM transmission control units. The programmable nature of the Data Concentrator provides an unusually rich variety in transmission protocol and operational modes for its attached terminal equipment yet with minimal modifications to extant System/360 control programs. 1iii1

TABLE OF CONTENTS Page ABSTRACT............................................. iii LIST OF FIGURES...................................... ix PREFACE...................................... xi I. INTRODUCTION AND APPLICATION.................1 1.1 Operational Flexibility................ 2 1.2 Uniform System Interface............... 3 1.3 Operational Features.....................4 1.4 Economic Conisderations..................6 II. EQUIPMENT DESCRIPTION.....................8.... 8 2.1 Data Multiplexor and Clock Generators..... 9 2.2 System/360 Interface................ 11 2.3 Line Adapter Scan Controls................ 13 2.4 Line Adapters.............................. 17 2.4.1 Start/Stop Line Adapter............ 20 2.4.2 Serial-Synchronous Line Adapter 21 2.4.3 Special-Purpose Line Adapters...... 23 2.5 Auxiliary Equipment...................... 24 III. MESSAGE TRANSMISSION CHARACTERISTICS...... 25 3.1 Code Translation and Interpretation....... 27 3.2 Message Processing....................... 33 3.2.1 Ending Conditions.................. 36 3.2.2 Record Acknowledgment.............. 38 3.2.3 Stop Conditions................... 39 IV. DEVICE MANAGEMENT.............................. 43 4.1 Service Attributes........................ 44 4.2 Device Allocation....................... 50 4.3 Terminal Identification.................. 52 4.4 Device Characteristics..................... 52 4.4.1 System/360 Interface.............. 53 4.4.2 AT&T Models 33/35 Teletypewriters.. 60 4.4.3 IBM Model 2741 Typewriter Terminal. 69 v

TABLE OF CONTENTS V. COMMAND LANGUAGE OPERATIONS.................... 75 5.1 Command Messages.......................... 76 5.2 The Mater Console8..................... 80 5.3 The Password Console.............., 80 5.4 Command Descriptions..................... 81 5.5 MTS Command Descriptions.................. 110 5.6 Additional Operations.................. 112 REFERENCES................................. 113 vii

LIST OF FIGURES Figure Page 1 Data Concentrator Major Components........ 10 2 Start/Stop Codes........................... 19 3 ASCII-EBCDIC Character Translation......... 28 4 Control Codes..................2.......... 32 5 Logical Device Numbers..................... 45 6 Attribute Numbers.......................... 47 7 Data Concentrator Channel Commands......... 57 8 Start/Stop Line Control Characters......... 64 ix

PREFACE The system described herein has been metamorphizing rapidly since it was put into service in January, 1968. The documentation reported here is as current as a snapshot taken sometime in April of this year, and represents in part an extrapolation which should be current as of the time this report is published. At the present time, in late May, the following projects are underway: 1. Construction of a second System/360 interface which will connect the Data Concentrator to the second multiplexor channel to be added to the System/360 complex in July of this year. 2. Construction of a second bank of eight start/stop line adapters, bringing the total to sixteen, the number advertised in this report. 3. Addition of one more equipment cabinet to the system, bringing the total to five, to house the new equipment. 4. Construction of a special set of start/stop 202C line adapters to be used at 1200/1800 baud. Although the existing start/ stop line adapters can be connected to 202C data sets, a heavy load on the interrupt processor can result, so the special adapters have been designed to equalize this load. 5. Construction of equipment to interface switchable Automatic Calling Unit (ACU) equipment now being built by AT&T especially for the Data Concentrator. Two ACU's are being built, one to service the four 201A data sets now connected and the other to service the sixteen new 103E cabinet-mounted data sets now being installed. xi

6. Modification of the operating system of the Data Concentrator to operate with TSS/360, IBM's supported timesharing system for the System/360. This project, now complete, makes the Data Concentrator appear exactly like' an IBM 2702 Transmission Control in all but the most trivial details. Thus, no modification is necessary in IBM software. The modified Data Concentrator system can operate in both the sophisticated MTS mode described in this report and in the strapped-down TSS mode simultaneously, with some terminals being connected to MTS and some to TSS, but all with almost identical terminal operating procedures. This presupposes, of course, that MTS is operative on one-half of the System/360 duplex machine and TSS is operative on the other. 7. A major rebuilding program has been initiated in the Data Concentrator supervisory system (RAMP). This program is designed to: a. Provide improved transmission rates so that higher-speed data sets can be serviced. b. Provide more uniform device allocation procedures for use with off-line data transmission and collection circuits. c. Modify device-support interfaces within the system so that new devices can be introduced without major system upheavals. xii

d. Extend service to include a second System/360 interface, the IBM 1050 Data Transmission System and special display devices. e. Improve and extend terminal identification procedures so that the various new terminals can be identified without ambiguity and so that more explicit control can be maintained over the attachment of the equipment to the system. Message protocol used with serial synchronous transmission facilities is not described in this report, and will be described in a separate memorandum. Although the protocol is in most cases compatible with the Binary Synchronous Communications protocol established by IBM, some differences exist due to the highly interactive environment typical of Data Concentrator operation. In point of fact, however, the character frame size, cyclic checksum procedures and control character code recognition are strictly compatible with IBM equipment, such as the 2701 Transmission Adapter, 2780 Remote Batch Entry Terminal, and 1130 Data Processing System (equipped with the Binary Synchronous Communications Adapter). D.L.M., 31 May 1968.

I. INTRODUCTION AND APPLICATION During the past few years, several types of computer communications equipment have become available which have useful application in a timesharing systems environment. Much of this equipment is not manufactured by the major timesharing systems manufacturers such as IBM, and as a consequence is often engineered to incompatible interface specifications. Realizing the need for a highly adaptable transmission control unit to interface such equipment to the timesharing system, The University of Michigan initiated in 1965 the development of such a control unit to be used in conjunction with the System/360 Model 67. Called the Data Concentrator, this device has been constructed and has become available to members of the campus user community. Its service applications include, in addition to the connection of certain special-purpose communications terminals, the connection of standard teletype and IBM terminals. The Data Concentrator offers several interesting operational features for all of these terminals, many of which are not possible with the conventional IBM equipment. The design approach taken in the Data Concentrator has been to nucleate about a small general-purpose computer a number of special-purpose interfaces to the various data set equipment. An integral part of the design is an interface which connects directly to the Model 67 multiplexor channel on one hand and to the Data Concentrator computer on the other. This approach avoids the operational restrictions imposed by an offthe-shelf IBM control unit to interface the two machines. -1

-21.1 Operational Flexibility Using a programmable control unit such as the Data Concentrator, several operational flexibilities are easily realized. One of the most evident of these is the configuration adaptibility of the connected terminal devices. For instance, it becomes convenient to configure the message path interconnections between devices so that separate physical devices can be used for input to and output from the timesharing system. In applications using hand-operated keyboard-type input devices in conjunction with'display-type output devices, this need is obvious. As another example, the individual device characteristics as seen by the terminal user can be changed dynamically to fit the particular environment. Thus, a teletypewriter can be operated in full-duplex, half-duplex, or any of several paper-tape transmission modes; parity generation and recognition can be suppressed; and special character code-translation behavior can be realized. As still another example, character-buffering and line-editing procedures can be altered during operation in unusual situations, and, in particular, so that arbitrarily coded data messages can be transmitted to and from the system and remotely located computing and batch-entry equipment. Finally, the system is readily modified, both in hardware and in software, for the support of new terminal equipment which becomes available from time to time. On all of these points, and in particular on the last one, a university computing center is particularly vulnerable.

-31.2 Uniform System Interface Of principal importance in these times of rapidly evolving timesharing systems is a uniformity of device interfaces between the parent timesharing system and the dependent programmable transmission control unit. Such a uniformity diminishes the system investment in reprogramming for new terminal types, since it is usually easier to reprogram the small computer than to perform major surgery in the input/output structure of the larger system. This is particularly true in connection with such large systems as OS/360 and TSS/360, where the system generation and device support maintenance tasks can be such a major effort. It has been convenient in the development of the Data Concentrator to prescribe the behavior of the equipment so that it appears very similar and can easily be made compatible with that of the IBM 2702 and 2703 Transmission Controllers. In principle, no System/360 reprogramming is needed, although in order to achieve special operational features impossible with the IBM equipment, such compatibility has been intentionally downgraded. In the Data Concentrator all of the connected data transmission equipment is so programmed as to make their operation transparent to the System/360 control program. Message formatting, character code translation, and line control are adapted within the Data Concentrator to each device separately by type. A set of internal message transmission conventions has been established for all devices, and only this set

-4is visible to the System/360 control program. These conventions provide, in addition to the usual read/write/sense/control operations, the capability for asynchronous input/output interrupts and for the simultaneous operation of several devices assigned to the same job in a multitasking environment. 1.3 Operational Features Several operational features are possible using the programmable control unit approach that are either impossible or very unwieldy using the conventional approach. For instance, it becomes possible to recognize the type of terminal which has called a particular data set by sending interesting controlanswerback sequences and to dynamically reconfigure the character code translation and line control accordingly. In the Data Concentrator, an incoming call is recognized as originating from either a teletypewriter terminal or from an IBM typewriter terminal in this fashion. Thus, only one trunk-hunting set of telephone numbers is necessary for both types of equipment. Since the operation of the Data Concentrator is selfcontained and independent of the parent system, it is possible to sustain certain types of service for program development or maintenance purposes when the parent system is off the air. Using the facilities of the Data Concentrator, various terminal types can be interconnected for the purpose of store-and-forward message transmission between devices of the same or different types. An intercommunication, broadcast, and signon message facility permits communication between terminal users independently of the System/360 operation.

-5Since the terminal control peculiar to each device type is contained within the Data Concentrator, the frequency and overhead of System/360 program intervention is reduced. Only one Start I/O instruction is necessary for each input or output message transmission, and only one program interrupt is produced at the conclusion of this transmission. Since line buffers are implemented in the comparatively low-cost core memory of the Data Concentrator, the System/360 buffering requirements are reduced and the terminal performance is improved. Error recovery is standardized and streamlined so that large unit-check routines and their page-in delays can be avoided. Also, the use of asynchronous interrupts removes the necessity of "hanging reads" and time-outs on each communication line, anci in these cases the residency requirements of the System/360 input/output device support routines and their buffers can be relaxed. A particularly desirable feature of the Data Concentrator equipment is the pathfinding process which is used when an incoming call is recognized. In the general case, and to allow for the use of more than one terminal device by any one job, fewer resident System/360 jobs are available for use by a terminal than there are terminals themselves. Thus, when an incoming call is recognized at a data set, a search is made for a free job; and, if one is found, the incoming call is answered, the terminal identification process is executed, and the terminal and the job are interconnected. The System/360

-6control program is not disturbed in any way until this connection is in fact achieved. If no such free job is found, the incoming call is not answered. Such a behavior allows use of large trunk-hunting groups, yet prevents lock-up of all the data set equipment, some of which must remain free for outgoing calls. As a final example of operational features, it is possible to acquire an utility data set circuit and automatic calling unit from within a job running on the timeshared system. The Data Concentrator will seize the appropriate data set equipment, execute and verify the outgoing call, and then open the circuit to message transmission. The use of this feature in remote data collection and batch entry applications is obvious. It is even possible to invoke this feature from a batch-stream job for the purpose of either program output or as notification that the run is finished and ready to be picked up. 1I4 Economic Considerations Construction of the Data Concentrator was not implemented as a means of saving money, more certainly not as a direct competitive replacement for existing conventional IBM equipment. Most of the users of the timesharing system seem to be satisfied with the performance of the conventional equipment, at least until some unusual application occurs. Although a terminal control population consisting entirely of Data Concentrator-type equipment would certainly offer significant operational advantages over the conventional equipment, it is

-7not clear whether this would be economically viable, certainly at least if the construction of the equipment had to be undertaken by the University. Unfortunately, none of the available off-the-shelf terminal control equipment, even that which includes a small general-purpose computer as the nucleus, provides the speed, flexibility, and diagnostic error recovery characteristic required. The Data Concentrator in its present configuration, including sixteen start-stop line adapters, four serial-synchronous line adapters, two Touch Tone digit receivers, and four Automatic Calling Units, in addition to the computer, its memory, a high-speed paper tape reader/punch, and the System/ 360 interface, costs about $100,000.00. About half of this figure is represented by the computer, its memory, and the highspeed reader/punch. Of the remaining half, about half is represented by the System/360 interface and other common circuitry, and half by the line adapter equipment associated with each data set. In principle, the system could be expanded to a total of 64 line adapters, including eight serial-synchronous line adapters, for an additional $50,000.00. This figure represents one particular mix of data set types which could be serviced without significant performance degradation. If a total of 64 line adapters were connected to the Data Concentrator, the total system cost of $150,000.00 would be spread over the line adapters at about $2,340.00 per line adapter. If this cost were amortized over 48 months, a typical figure used as a

-8rental rate basis, then the equivalent monthly rental would be about $48.00 per line adapter. Although these figures are not much different from those applicable to the typical conventional equipment, it should be emphasized that, on one hand, the construction figures quoted here do not include labor and programming costs, and, on the other hand, that the equipment is experimental in nature and could be materially reduced in cost if rebuilt. It should also be emphasized that these figures are assumed to be independent of the type of line adapter connected to the equipment. In practice, in conventional IBM equipment, the cost per line adapter varies from about $40.00 to over $800.00 per month, depending upon line adapter type for those line adapters represented in the Data Concentrator. II. EQUIPMENT DESCRIPTION The Data Concentrator is constructed of a number of special-purpose input/output interfaces, all connected to a Digital Equipment Corporation PDP-8 computer. The basic PDP-8 computer itself contains a 12-bit central processor together with a 4096-word bank of 1.5-microsecond core memory. The basic machine includes a Model 33ASR Teletypewriter and its control unit as the basic input/ouftput device. For the Data Concentrator application, three additional 4096-word banks of core memory have been added to the basic machine, along with a high-speed paper tape reader (300 char/sec) and punch (60 char/ sec) for convenience in program development. Hardware for

-9high-speed multiply-divide (Extended Arithmetic Element) and automatic power restart has been field-installed on this machine. Several small modifications have been made in the processor to provide for special behavior in connection with some of the interfaces. The special-purpose input/output interfaces attached to the Data Concentrator comprise most of the bulk hardware in the system, These interfaces connect the system, on one hand, to the IBM 2870 Multiplexor Channel used in the System/360 Model 67 and, on the other, to AT&T data sets of the 100, 200, 400, and 800 series, providing transmission rates on the direct distance dialing or switched telephone network to 2000 bits/ sec (baud). The various interfaces operate both on a core memory cycle-steal basis for data transmission and on a programmed accumulator-transfer basis for control operations. Liberal use is made of the interrupt facilities in conjunction with special line-adapter scan equipment which has the capability of selectively disabling the interupt facilities by blocks of devices. Figure 1 shows the interconnection of the various major components in the system, which are described in detail in subsequent sectionso 2.1 Data Multiplexor and Clock Generators A special PDP-8 core memory data multiplexor has been constructed to satisfy the special requirements of the various interfaces using cycle-steal operations. This multiplexor operates using a common-bus distribution system for memory data

IBM MPX CHANNEL PDP-8 CORE MPX I/O BUSSES I/O BUSSES r r t...' I I SERVICE DATA INTERVAL I ~~~START/STOP INTERFACE MULTIPLEXOR TIMER H | E | lSYSTEM/360 |DATA ULTIPLEXOR INT RFACE ____ H: | I 4 l | ~ f 1 |CORE MEMORY, CLOCK u| SYNCHRONIA CONTROL (16384 WORDS) GENERATORS ~~^c~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ l:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~d -7~~~DI I P..... H~~~~~~~~~~ H Ez I l I COMMAND PROCESSOR MB TOUCH TONE ~~~Z < INTERFACE C o CORE M E M O R YC L O C K-____R | CONSOLE (SIREN) |PAPER TAPE| {134 ODS)GEEAUTORS | READER | ~P PUNO ES TOUCH TONE FIGURE 1. DATA CONCENTRATOR MAJOR COMPNENTS ~~~~~~~~~~~~~~~~~~READIER. ~ ~ ~ ~ ~ ~ ~FGR E.DAA CONENTRTOMAJR.CMOETS

-11transfer in both input and output directions. Each device attached to these busses provides transmission gates between its registers and the busses as required, and conditions data transmission by signals distributed by the data multiplexor separately to each device. Included in the data multiplexor itself is a set of buffers which distribute the various PDP-8 input/output busses to the scan control and data set line adapter equipment attached to the system. Also included is a set of crystal-oscillator clocks and associated countdown circuitry which provides timing signals for the data set line adapter equipment. Signals of all popular transmission bit rates are provided from 45S45 baud (Teletype Models 28 and 32 attached to AT&T type 103A data set) to 2000 baud (AT&T type 201A data set). In addition, an interval timer is included which provides a real-time clock facility. This timer, using a basic clock rate of 100 Hz, provides a maximum countdown interval of 40.95 sec. The timer is implemented using a memory-increment cycle-steal operation in PDP-8 memory. A timer overflow is signaled by a program interrupt. 2,2 System/360 Interface The System/360 interface connects directly to the channel-control unit interface cables which interconnect the multiplexor channel and the various IBM control units to which in turn are attached such input/output devices as card readers, line printers, and communications devices. Usually, several

-12devices of the same type share a common control unit which serves both as a relay station between the channel and each device for command and status byte processing and as a temporary buffer storage medium for their data streams. This channelcontrol unit interface normally operates in a byte-interleaved multiplex mode in which data bytes are transmitted one at a time to each control unit using separate signal sequences for each byte. Thus, several devices may transmit data records in an overlapped fashion at relatively slow transmission rates to about 110 kilobytes/sec. The transmission sequences are arrangea into three classes: those intended to transmit commands from the channel to a control unit, those intended to transmit status information from a control unit to the channel, and those intended to transmit the data bytes themselves between the channel and the control unit. The System/360 interface appears to the IBM channelcontrol unit interface as a standard control unit, and processes commands and supervises data transmission for a set of 32 device addresses. The interface, containing buffer registers, parity generators, and sequencing circuitry, provides temporary storage and isolation between the channel-control unit interface and the PDP-8. The construction is such that channelcommand sequences can be processed concurrently with data transmission sequences and such that these operations do not require program intervention on the part of the PDP-8 until the entire sequence has been concluded. The various interface

-13control operations are supervised-via the PDP-8 accumulator and programmed input/output operations. Transmission of both data and status bytes is via the three-cycle data break facility using a type of cycle-steal operation in which the word count and current address registers are implemented in core memory. Transmission rates using this interface connected to the IBM 2870 Multiplexor Channel can be as high as 80 kilobytes/ sec. depending upon the instantaneous loading conditions imposed by the other control units attached to the channel. The interface is non-overrunable, that is, data cannot be lost if the channel temporarily refuses data byte service due to a pending service request by a higher-priority control unit. The construction of the System/360 interface is described in detail in Reference 1. 2.3 Line Adapter Scan Controls All of the data set line adapter equipment is connected to a special interface called the scan controls. This interface connects on one hand to the PDP-8 accumulator, interrupt and cycle-steal facilities, and on the other to a set of transmission busses that are common to all line adapter equipment. The various line adapter service requests are processed for each adapter in turn by a high-speed scanner-control circuit which uses a seven-bit counter called the scan address register~ The contents of the scan address register are distributed on a common bus to each line adapter, which decodes its address consisting of the high-order six bits. Thus, each of the possible

-1464 line adapters decodes two addresses-one with the low-order bit equal to a zero (receiving address) and one with the loworder bit equal to a one (transmitting address). If a line adapter requires scan service, its circuitry generates a signal to the scan controls when one of its addresses is decoded on the scan address bus. This signal causes the scanner to stop while the service requirements are met. If no further action is indicated at the conclusion of the service operation, the scanner automatically restarts. If an interrupt condition is generated by the service operation, say, due to a character-assembly-complete signal, the scanner is not restarted and a program interrupt is requested. The scanner is then restarted by a program command. Both the character assembly and line control functions of each line adapter are controlled through the same scan address. Associated with each line adapter are one or more 12bit control registers which perform functions unique to each line adapter. The various bit positions in each of these control registers are accessed through a programmed procedure which first requests the scanner to stop scanning the line adapters, then waits for a possible pending service request from a line adapter to be cleared, and finally sets the scan address register to the required line adapter address. Following the control register operations, the scanner is restarted by a program command.

-15The 64 line adapters addressable through scan controls are divided into eight blocks of eight line adapters each. Each block of eight can be separately enabled or disabled for interrupt requests using an eight-bit mask register called the scan priority register. Using properly constructed programmed operations it is possible to mask off interrupts from a particular block of low-speed low-priority line adapters while one of its members is being serviced, yet while allowing interrupts to be serviced from higher-priority blocks. Two types of line-adapter service requests can be processed by the scan controls. One type, used for serial-synchronous line adapter equipment, involves no other operation than stopping the scanner when a program interrupt condition due to a character-assembly-complete signal is generated within the line adapter itself. The other type, used for start/ stop line adapter equipnent,involves an interesting cycle-stealshifting operation in PDP-8 core memory. This operation is initiated whenever inbound or outbound bit service is required at the line adapter. When this occurs a special cycle-steal operation is requested by the scan controls. This cycle, when granted, proceeds starting with a core memory read cycle, followed by a one-bit rightwise shift of the memory buffer register, and ending with a core memory write cycle. The twelvebit core memory address at which this operation takes place is formed by the scan address register as the low-order seven bits and by a five-bit register called the scan page register as the

-16high-order five bits. Thus the serial/deserial operation of each line adapter is implemented in two words of PDP-8 core memory, one for the transmit operation and the other for the receive operation. As it happens, the PDP-8 memory buffer register is already provided with shifting circuitry in connection with an analog-digital converter option. A few logic components have been pirated from unused options for the purpose of interfacing this shifting circuitry to the scan controls. A character-assembly-complete signal is generated by the equipment for each character when the serial/deserial process has been completed. For serial-synchronous line adapters, this signal is generated in the line adapter itself when its self-contained serial/deserial register contains a fully assembled character during a receive operation or has completely emptied during a transmit operation. This signal stops the line adapter scan process, following which the line adapter generates a standard cycle-steal operation which transmits a character between the serial/deserial register and the addressed core memory location. For start/stop line adapters, the character-assembly-complete signal is generated within the scan controls equipment itself in this fashion: on transmission when, during the shifting of the right-hand bit of the serializer word at the addressed core memory location to the line adapter transmit bit buffer, an all-zero word is detected; on reception when, during the shifting of a bit from the line adapter receive bit buffer to the left-hand bit of the deserializer word at the addressed core memory location, a one-bit

-17is shifted out of the right-hand end of the same word. Thus, the various frame sizes of the several start/stop transmission codes can be accommodated by loading the proper mask bits in the core memory serial/deserial words prior to the character assembly/disassembly operation. 2.4 Line Adapters A line adapter is associated with each data set serviced by the scan controls. It contains the circuitry to interface the control and data transmission characteristics peculiar to each data set to the common-bus interface of the scan controls. Depending upon the characteristics of each data set, the line adapter contains none, a single bit, or a full character of buffer storage between the scan controls and the data set transmission circuitry. Each line adapter contains either one or two twelve-bit control registers used for the various data set control functions. Several bits assigned in these words have the same interpretations among all data set types, so that common program servicing routines can be conveniently implemented. The bit/character buffers of each line adapter are accessible only through the cyclesteal operations described previously, while the control registe rsare accessed through the PDP-8 accumulator using programmed input/output operations. In either case, the scan address register establishes at each instant which line adapter is in fact accessible for the various operations and which core memory location is in fact available for data transfer.

-18There are currently four different types of line adapters connected to the scan controls. These four types correspond to the four types of data sets connected to the Data Concentrator: start/stop (AT&T 103A, 202C), serial-synchronous (AT&T 201A), Touch Tone digit receiver (AT&T X403A), and the automatic callingunit (AT&T 801C). The 103A data set is a fullduplex start/stop type utilizing frequency-'shift modulation for simultaneous transmission rates of up to 200 baud in each direction. This data set is used for connection of almost all lowspeed Teletype and IBM equipment, such as Teletype Models 28/32 (45.45 baud), 33/35 (110 baud), and 37/38 (150 baud), and IBM 2741 Typewriter Terminal and 1050 Data Communications System (both 134.5 baud). Figure 2 shows the various character framing configurations used by these devices. The 202C data set is a half-duplex start/stop type utilizing frequency-shift modulation for transmission rates up to 1200 baud. This data set is used for connection of mediumspeed IBM data communications equipment utilizing the Binary Synchronous Communications message conventions. Both the 103A and the 202C share the same type of line adapter in the Data Concentrator. The 201A data set is a half-duplex serial synchronous type using four-phase modulation at a transmission rate of 2000 baud. This data set is used for connection of IBM Binary Synchronous Communications equipment devices and in particular for the connection of remotely located PDP-7, PDP-8,

-19163 MS'+ MECHANICAL SER/DES 6.1 CPS mark < 22M DOMESTIC WIRE AND H.F. RADIO [ 4! 3 2 1 1 i S 4.4 BAUD " 45.45 BAUD space NO PARITY 60 WPM PRESS TELETYPE TELETYPE MODELS 28/32 100 MS MECHANICAL SER/DES 10 CPS + r 9 k. DOMESTIC GEN. PURP. - 1 1 r1 7 r - r ~ MS |8 1 7 1 6 15 14 13S 2!1 s I >10 BAUD space 8=EVEN PARITY 110 WPM DDD/TWX TELETYPE (OPTIONAL, OR MARK) TELETYPE MODELS 33/35 l~ 67.5 MS _________ _ ELECTRONIC SER/DES 14.8 CPS mark MS r- - k - r - r -T I 1 IBM TELEPROCESSING C 1 | 2 4 8 I A I B IS 134.5 BAUD C=ODD PARITY space IBM PTTC (2741/1050) IBM MODELS 2740-1/1050 66.7 MS ELECTRONIC SER 15 CPS MECHANICAL DES mark MS DOMESTIC GEN. PURP. - TFT~F -— g MS -- --- T — -r-...8 7 6 5 i 4 i 3 21 1 iS 87 6.4 3! _ I I.S I 150 BAUD space 8=EVEN PARITY 150 WPM DDD/TWX TELETYPE TELETYPE MODELS 37/38 FIGURE 2. START-STOP CODES

-20and PDP-9 computing facilities to the parent Model 67 system for purposes of remote job entry and graphics processing. The X403A data set is a receiver for Touch Tone multifrequency dialing digits transmitted by the standard telephone instrument equipped with the Touch Tone feature. Included in this data set is an audio answerback channel which enables computer-generated replies to be transmitted to the caller in response to a dialed-digit message. The 801C automatic calling unit is a transmitter for Touch rone multifrequency dialing digits and is arranged so that outbound telephone calls can be placed in connection with certain data set types. The automatic calling unit incorporates circuitry for the recognition of the appropriate data set type at the called terminal so that the transmission circuit can be verified before use. 2.4.1 Start/Stop Line Adapter The start/stop line adapter contains two single-bit line buffers, a clock frequency selection matrix, and various clock countdown and control circuitry. Four clock frequencies are distributed to all start/stop line adapters on a common bus at eight times the basic transmission rates of 45.45 baud, 110 baud, 134.5 baud, and 1200 baud. The clock selection matrix circuitry within each line adapter determines which clock frequency is active at any time and allows dynamic reconfiguration during the terminal recognition phase of system

-21operation. Both transmit and receive operations are completely independent except in choice of clock frequency, which is common to both operations. The control circuitry provides program monitoring of all data set interface lines and, in addition, program control over the lines used to enable the data set for automatic answering and for outbound data transmission (202C only). Indications of data set and control circuitry faults such as bit-service overrun are available to the program. It is possible under program control to recognize both the teletype break signal and the space disconnect signal, each consisting of various periods of space-signal transmissions, and to generate either of these signals. 2.4.2 Serial-Synchronous Line Adapter The serial-synchronous line adapter contains a twelvebit serial/deserial register, a four-bit frame counter,a fourbit frame size register, a parity generator, and various control and synchronization circuitry. The serial/deserial register is used as the primary character assembly/disassembly element and the core memory words at the receiving and transmitting scan address locations are used as backup buffer registers. Since only one serial/deserial register is implemented in this line adapter, transmit and receive operations may not occur simultaneously. The frame counter is loaded from the frame size register just before the first bit is transmitted between the serial/deserial register and the data set. Thus the

-22frame size register, which is accessible from the program, establishes the number of bits per character (up to twelve) in the data stream. This adapter contains circuitry for the automatic synchronization of character frames using a special synchronization character which can be established, at least in some line adapters, by the program. A parity generator provides an odd vertical parity bit for each transmitted character. A corresponding detector verifies the odd parity condition on each received character. These parity features may be enabled and disabled by the program. As in the start/stop line adapter case, the control circuitry provides program monitoring and control over all of the data set interface lines. Indications of data set and control circuitry faults such as character service overrun and vertical parity check are available to the program. All of the serial-synchronous line adapter equipment is connected at present to a 2000-baud clock frequency source for use with AT &T 201A data sets on the switched telephone network. However these same line adapters can be operated at much higher clock frequencies through the Telpak range up to the limit of the logic components themselves, about two megabaud. The construction of the serial-synchronous line adapters is described in detail in Reference 2.

-232.4.3 Special-Purpose Line Adapters The X402A Touch Tone digit receiver line adapter and the 801C automatic calling unit line adapter are simple devices with the capability of a single-character parallel transfer between the scan control register data busses and the data set. Neither of these adapters makes use of the cyclesteal facilities in the fashion of either the start/stop or serial-synchronous line adapters. The X403A Touch Tone digit receiver adapter provides a character-assembly-complete signal and a program interrupt when a dial digit has been detected on the telephone line; the 801C automatic calling unit adapter causes a bit to be set in its control register when the data set is ready to receive the next dialing digit. Present Bell System policy in regard to Touch Tone transmitters and receivers for auxiliary supervisory or dialdown purposes in connection with other data set equipment is to require a separate auxiliary transmitter or receiver for each data set in the system. There are indications that this policy may be changed in the near future, allowing a single receiver or transmitter to be switched under program control among several data sets in the system. All line adapters in the Data Concentrator system have been designed with this possibility in mind. At the present time each of the serialsynchronous 201A data sets is equipped with an 801C automatic calling unit; and, in addition, a single 103A data set is so equipped. The line adapters for the serial-synchronous data

-24sets and the automatic calling units are functionally disjoint, and each is connected only to its own associated data set equipment. 2.5 Auxiliary Equipment A number of special-purpose input/output components have been added to the Data Concentrator utility purposes. One of these is a programmable audible alarm, consisting of an extraordinarily obnoxious siren,- which is used to attract the attention of an equipment operator for the purpose of manual intervention. A scurrilous programmed-timeout operation has been implemented within the current supervisor which sets off the siren at noon and midnight, presumably to alert the machineroom crew for a shift change. In order to avoid a possible system hangup due to a faulty Model 33ASR Teletypewriter attached as the on-line master console, a simple interface has been constructed between the inbuilt PDP-8 control unit and a 103A data set. A switch has been installed so that either the Model 33 supplied with the PDP-8 or an alternate AT&T Teletypewriter attached to the switched telephone network can be used as the on-line master console. In connection with Binary Synchronous Communications conventions using transparent-text operations (all 8-bit code combinations valid) a requirement exists to calculate a special 16-bit checksum using a procedure involving shifting and modulo-two bitwise addition. A subroutine to implement

-25this procedure requires a calculation time of about one-half millisecond per character. A special hardware adapter has been constructed which implements this procedure using a 24-bit shift register and a set of modulo-two adders. Using this adapter, the calculation time including shift-register loading and storing, is about twenty microseconds pei character. III. MESSAGE TRANSMISSION CHARACTERISTICS The supporting system program resident in the Data Concentrator is certainly one of the largest PDP-8 programs in existence. About 7000 instructions and 1000 words of prestored data are represented in this program. The total of 8000 words is stored in two 4096-word banks of PDP-8 core memory. One of these banks is devoted almost exclusively to supporting programs for the various input/output devices and line adapters in the system. The other bank contains device allocation and configuration programs, code translation tables and device control blocks. A third core bank contains dynamically allocated buffer storage areas used in common by all devices. Unit control block storage for each allocated device is maintained as part of the buffer storage assigned to each device. A fourth core bank is available for system expansion and at present contains the DEC-distributed desk-type calculator and floating-point interpreter as modified for operation in the system.

-26The throughput of this system for medium-speed devices organized on a character-by-character basis is about 1700 bytes per second considering all of the attached devices in the aggregate. The peak rate of any one device of this type can be as high as 2000 bytes per second. Devices organized on a record-by-record basis using cycle-steal operations (such as the System/360 interface) can sustain rates much higher than these, of course. The system cannot overrun, that is lose data, since all messages transmitted must be acknowledged within the system before a following message can be transmitted. Thus, under heavy loading conditions, such as when all serial-synchronous line adapters are transmitting simultaneously, a system characteristic of graceful degradation is achieved in such a way that, although message acknowledgment may be delayed briefly, no data are lost. The characteristics of the Data Concentrator supervisory program itself are described in References 3 and 4. In following sections, the operational features of this system, consisting of message protocol, device operational characteristics, and command structure are reviewed. The characteristics of the System/360 control program which cooperates with this program are summarized in Reference 5. This latter program is a component of The University of Michigan Timesharing System (MTS) which is operative in the Model 67. Further discussion of the control sequences between the two machines is contained in Reference 1.

-27Usually, messages transmitted between devices are not interpreted by the Data Concentrator supervisor except at the initial character and ending condition; and the message text may contain any 8-bit code combination except at these points. Particular initial characters will cause a routing switch to be set which affects whether the message is retransmitted in a store-and-forward operation or is interpreted by either MTS or Data Concentrator command language interpreters. The ending condition is generated by the input device support routine and consists of a particular control character marked in such a way so as to be guaranteed unique. 3.1 Code Translation and Interpretation All transmission between devices is according to the ASCII code interpretation, with translation to that code peculiar to any one terminal type provided in the Data Concentrator. An automatic translation is effected between the System/360 internal EBCDIC code and the Data Concentrator ASCII code as appropriate and unless explicitly modified by System/ 360 control operations. Figure 3 shows the mapping between EBCDIC and ASCII. This mapping is effective for other equipment attached to the Model 67, and in particular the IBM transmission controllers and paper tape reader/punch equipment. Certain other control characters are used in conjunction with special device behavior, in particular for line control and line editing purposes.

-281 000 C-S-P 00 NUL NULL 2 201 C-A 01 SOH START OF HEADER 3 202 B 02 STX START OF TEXT 4 003 c 03 ETX END OF TEXT 5 204 D 37 EOT END OF TRANSMISSION 6 005 E 2D ENQ ENQUIRY 7 006 F 2E ACK ACKNOWLEDGE 8 207 2F BEL BELL 9 210 16 BS BACKSPACE 10 011 05 HT HORIZONTAL TAB 11 012 25 LF LINE FEED 12 213 OB VT VERTICAL TAB 13 014 OC FF FORM FEED 14 215 OD CR CARRIAGE RETURN 15 216 OE SO 16 017 OF Sl 17 220 10 DLE DATA LINK ESCAPE 18 021 11 DCI (X-ON) 19 022 12 DC2 (TAPE AUX ON) 20 223 13 DC3 (X-OFF) 21 024 3C DC4 (TAPE AUX OFF) 22 225 3D NAK NEGATIVE ACKNOWLEDGE 23 226 32 SYN SYNCHRONOUS IDLE 24 027 26 ETB END OF TRANSMISSION BLOCK 25 030 18 CAN CANCEL 26 231 19 EM END OF MESSAGE 27 232 3F SUB 28 033 27 ESC ESCAPE 29 234 22 FS FORM SEPARATOR 30 035 ID GS GROUP SEPARATOR 31 036 35 RS RECORD SEPARATOR 32 237 IF US UNIT SEPARATOR 33 240 SPACE 40 SPACE SPECIAL CHARACTERS 34 041 5A 1 35 042 7F 36 243 7B 37 044 58 $ 38 245 6C Z 39 246 50 & 40 047 7D 41 050 4D ( 42 251 5D ) 43 252 5C * 44 053 4E + 45 254 6B, 46 055 60 47 056 4B 48 257 61 / 49 060 FO 0 Figure 3. ASCII-EBCDIC Character Translation rPage 1 of 3]

-293' 50 261 Fl 1 1 51 262 F2 2 52 063 F3 3 53 264 F4 4 54 065 F5 5 55 066 F6 6 56 267 F7 7 57 270 F8 8 58 071 F9 9 59 072 7A: 60 273 5E 61 074 4C 62 275 7E 63 276 6E 64 077 6F? 65 300 7C 9 66 1 01 Cl A UPPER CASE LETTERS 67 102 C2 B 68 303 C3 C 69 104 C4 D -~ 70 305 C5 E 71 306 C6 F 72 107 C7 G 73 310 Cs H 74 311 C9 1 75 312 Dl J 76 113 D2 K 77 314 D3 L 78 115 D4 M 79 116 D5. N 80 317 D6 0 81 120 D7 P 82 321 DS Q 83 322 D9 R > 84 123 E2 S 85 324 E3 T 86 125 E4 U 87 126 E5 V 88 327 E6 W 89 330 E7 X 90 131 E8 Y 91 132 E9 Z 92 333 AD t Figure 3. ASCII-EBCDIC Character Translation [Page 2 of 3]

-3093 134 4F (EBCDIC VERTICAL BAR) 94 335 BD 1 95 336 5F (EBCDIC LOGICAL NOT SIGN) 96 137 6D - > 97 140 BE USACII CRITIC MARK 98 341 81 A LOWER CASE LETTERS 99 342 82 B:" 100 143 83 C ~ 101 344 84 D 102 145 85 E:' 103 146 86 F ~ 104 347 87 G 105 350 88 H:" 106 151 89 I:' 107 152 91 J 108 353 92 K' 109 154 93 L 110 355 94 M > ~ 111 356 95 N 112 157 96 0 > 1 13 360 97 P 114 161 98 Q: 115 162 99 R > 116 363 A2 S! 117 164 A3 T > 118 365 A4 U - 119 366 A5 V 120 167 A6 W 121 170 A7 X _~ 122 371 A8 Y 123 372 A9 Z 124 173 8B LEFT CURLY BRACKET 125 374 EO BERTICAL BAR > 126 175 98 RIGHT CURLY BRACKET > 127 176 4A TILDE - (EBCDIC CENS) 128 377 07 DEL RUBOUT # END OF FILE Figure 3. ASCII-EBCDIC Character Translation [Page 3 of 3]

-31Although an even vertical parity bit is generated on all University switched-network teletypewriter equipment, the parity of the characters of inbound messages is not checked at present, since certain non-switched network equipment presently in use does not have the parity feature. Even parity is generated for all characters in outbound messages except those declared to be 8-bit transparent, that is, including all 8-bit character codes. Longitudinal parity generation is computed within the Data Concentrator where required by device type. The only device for which this is currently effective is the serialsynchronous line adapter used with Binary Synchronous Communications remote terminals. Such terminals may be specified to operate using either a vertical/longitudinal parity check option or with a cyclic checksum option. Both of these options are implemented in the Data Concentrator support programming with the help of special-purpose hardware adapters. Messages between terminals are constructed of a string of characters chosen from all those 8-bit characters with the exception of certain control characters defined as in Figure 4. Certain terminals cannot recognize some of these characters, and in such cases those characters may be part of the transmitted data stream. Other terminals utilize a special message protocol which allows transmission of all 8-bit code combinations through use of special control characters inserted in the data stream. This particular choice of control characters reflects current ASCII standards.

-32Name Function ASCII EBCDIC TTY 2741 SOH start of header 001 01 ctl-A!A STX start of text 002 02 ctl-B!B ETX end of text 003 03 RETURN RETURN ETB end of text block 027 17 ctl-W!W EOM end of message 033 lB ctl-Y ENQ enquiry 005 05 ctl-E ATTN (WRU) EOT end of transmission 004 04 ctl-D!D (EOT).Figure 4. Control Codes.

-33By convention, all of the control characters, illustrated in Figure 4, except the SOH and STX, can end the record of which they are a part. The ETB, ETX, and EOM have equivalent interpretations within the Data Concentrator supervisor, but have various interpretations to the particular devices involved. The ENQ and EOT may occur asynchronously with traffic between any pair of devices and are interpreted as the attention and the disconnect conditions respectively. Both the ENQ and EOT have the effect of purging all buffers involved and forcing device resets. The ACK and NAK are used to acknowledge receipt of a message and are interpreted as the positive and negative responses respectively. The SOH is used to precede a header, which is processed by command language interpreters within MTS and the Data Concentrator. The STX is used to precede a messag.e under certain conditions. 3.2 Message Processing Internally, the Data Concentrator supervisor is organized as a collection of device support routines which are dependent upon two binding structures called, respectively, the copy nucleus and the command language interpreter. Each of the devices which may be attached through a supporting routine is identified by a logical device number (LDN), and store-and-forward operations are treated independently of the device types and LDNs involved. Certain message formatting conventions are observed, and the device support routines transform the peculiar characteristics of each device to match these internal formatting conventions.

-34Each message received from an input device may be addressed to either a specific output device (copy operation) or to the internal command language interpreter (command operation). Thus the input device is said to be in either copy or command mode depending upon a default attribute assigned to the input device itself. If in any particular received message the first character is an SOH or STX character, then the device is switched to command mode or copy mode respectively, unconditionally, and for that message only. If the first character is neither an SOH or an STX character, then the default mode is chosen. Except as indicated below, it is not possible to change modes within any one transmitted message. By convention, if the first character of a message received from an input device is an STX, it is stripped from the message by the system before transmission to the copy sink device. This convention makes it possible to embed control information within the transmitted message destined for a remote machine, as described subsequently. A message received from an input device in copy mode is transmitted unaltered to a particular output device designated as the copy sink device and whose LDN is logically assigned as an attribute of the input device itself. Although each input device may be associated with only one copy sink device in such a manner, a number of input devices can be associated so as to merge all their messages onto a single copy sink device. Furthermore, the default associations, and in

-35fact the output device for any single message, can be changed by directing a message to the command language interpreter using an SOH as the first character of the message. Each message processed by MTS consists of two parts, the prefix and the message text itself. The prefix consists of a string of one or more characters terminated by the ETB character and designed to label the message as to program origin and line number. The text itself consists of a string of characters terminated by the ETX character. These two parts are concatenated into a single message by MTS itself on outbound transmission. On inbound transmission, the prefix is transmitted as an outbound message immediately preceding each receive-ready condition. The receive-ready condition is sustained until the inbound text itself is ended by any of a set of ending characters, at which point the message is processed by MTS. Transmission of the prefix message can be suppressed through use of MTS commands (see Section 5.5). Since the internal file structure of MTS permits only those records up to 255 characters in length, any longer inbound message is automatically split into several records as necessary. In most cases, the splitting operation can be made transparent in the converse outbound operation. Provisions are made for arbitrary data blocking on both inbound and outbound operations through use of control characters.

-363.2.1 Ending Conditions Each message is terminated by a logical ending condition established by the input device support routine. This ending condition is recognized by the supervisor and output device support routine as a request for record acknowledgment. The particular character code or device function which causes the logical ending condition is not significant at the supervisor level but may be so at the output device support routine level. The following logical ending characters are produced in whole or in part by the various input devices: ETX - End of text. ETB - End of text block. More such blocks may follow, the last of which will be terminated by ETX. EOM - End of message traffic (i.e., end-of-file to MTS). NAK - Text preceding is in error (i.e., checksum discrepancy). EOT - Device disconnect. As an example of the use of these logical ending characters, consider an output message transmitted to a terminal by MTS. If such a message consists of a sequence of prefix characters, the message is ended with ETB, if not, then it is ended with ETX. If these messages are directed to a typewriter terminal, then the ETX will cause a carriage return at the terminal but the ETB will not. Conversely, consider an

-37input message received from a terminal by MTS. If such a message is terminated by either ETB or ETX, then a normal ending condition for that message is achieved, and the ETB or-ETX is removed from the message prior to storage within MTS. If the message is terminated by an EOM, then an end-of-file ending condition for that message is achieved and so returned to the MTS program. As. in the ETB/ETX case, the EOM is removed from the message prior to storage within MTS. All outbound messages generated by the system are terminated with the ETX logical ending character, except those transmitted by MTS as prefix character or binary (code-translation off) messages, in which case the message is terminated in the ETB condition. If the terminal attached to the Data Concentrator.is operated as an MTS master source/sink, then an EOT condition is generated when MTS signs off the job attached to the terminal. The EOT by convention disables the Data Concentrator data set attached to the terminal. An MTS-outbound ending condition is generated only when the System/360 data region designated by the write operation is completely empty, that is, independently of the actual transmitted characters. An inbound message may be terminated by either an ETX, ETB, EOM, or NAK logical ending condition. Any of these conditions signal the Data Concentrator to end the current input line. The EOM, in addition to this signal, also indicates an end-of-file condition to MTS. The message ended by the EOM is transmitted to MTS before the end-of-file condition

-38is indicated. The NAK, in addition to' this signal, also indicates a data check condition to MTS. The message ended by the NAK is discarded and the prefix characters (if any) are retransmitted. The EOT, in addition to this signal, also indicates an intervention required condition to MTS. The circuit is then immediately purged and the data set goes on-hook. 3.2.2 Record Acknowledgment Every message transmitted between a pair of devices connected to the Data Concentrator is ackn'owledged, either within the system or by the devices themselves. This acknowledgment prevents buffer overrun by interlocking record transmission, so that, once a particular record has been transmitted to a sink device, a following record cannot be transmitted until an acknowledgment character has either been received from that device or has been generated by the system. In most device support routines, space for a single record of some specified size is allocated before an inbound message transmission begins. In some devices, store-and-forward operations begin when the first character is received from the device; and, if the corresponding output device is fast enough, record transmissions from those devices may be of any length. Other devices, including the high-speed paper tape reader, operate in this manner but may be stopped to'prevent overrun when the input buffer is full. In still others, su.ch as teletype and IBM typewriter equipment, the line-editing process requires that record transmission begin only after all line-editing functions have been.completed.

-39In all these cases, and when transmission of a particular record is complete, transmission of the following record cannot begin until an acknowledgment character has been transmitted to the input device support routine which initiated the record. This character is usually the same character with which the input device support routine terminated the previous record. In case of an exceptional condition, however, the supervisor or the output device support routine may change this character. The following acknowledgment characters elicit special behavior on the part of the input device support routine: NAK Negative acknowledgment. Record retransmission requested. EOT Disconnect acknowledgment. Output device has gone on-hook. EOM Not ready acknowledgment. Output device not ready or command reject (from command language interpreter). 3.2.3 Stop Conditions Each terminal device attached to the Data Concentrator has the capability for the generation of two special messages. One of these, called the enquiry message, is used to interrupt MTS operations such as file listing and program execution. The other, called the disconnect message, is used to abort an MTS job in case of terminal failure or data set disconnect. Either of these messages can be produced by each device without regard for its operational state-that istransmitting, receiving, or

-40waiting for a pending message acknowledgment. The disconnect message is propagated from copy sink to copy sink device, so that all devices attached directly or indirectly to the source device receive the message. These messages may be embedded within other messages or may occur alone, and may or may not imply a logical ending condition. If such a message does not imply a logical ending condition it is called an asynchronous stop; otherwise, it is called a synchronous stop. If an asynchronous stop message is transmitted to an output device, that device immediately assigns the message the highest priority and purges all other message traffic. The stop message itself will usually cause a special device sequence, such as an attention interrupt to MTS for example. Once the purge condition is established at the output device by a stop message, all other message traffic is diverted from the device into an infinite "wastebasket" in much the same manner as the *DUMMY* file operation in MTS. By convention, the purge condition is removed by the appearance at the output device of a message containing a synchronous stop character as an ending condition. An asynchronous stop m-essage may be generated by an input device, whether as the result of a special devicedependent characteristic such as the break feature of a teletypewriter or as the result of.a command language interpreter operation referencing the output device. By convention, such messages are directed to the default output device normally

-41associated with the input device in a copy operation, do not imply a logical ending condition, and are not acknowledged. However, if a device happens to be in a state where an acknowledgment for a previous record is expected but has not yet been generated, then this acknowledgment will be generated by the asynchronous stop message itself. A synchronous stop message can be generated by an input device only as the result of a special device-dependent characteristic, and is usually associated with an asynchronous stop message generated by the same characteristic. The two types of messages are designed to be complementary, so that the same behavior results no matter which of the two types of messages, due to instantaneous system loading conditions, arrives at the output device first. The most common use of the stop message is in connection with the copy operation. In such an operation, if the special device-dependent sequence is detected at the input device support routine level, then the following events occur: a. a logical ending condition is established for the current input message together with the stop indication (synchronous stop), b. an asynchronous stop message is transmitted immediately to the output device associated in the copy operation.

-42The effects of these events are as follows: a. the output device is immediately purged of its current message (if any) and the stop indication is propagated (for instance as an attention interupt); b. all output message traffic which may be queued at the output device is diverted "down the drain" as a result of the purge condition; c. eventually the synchronous stop condition appears at the output device as the result of the copy operation, and, when it does, the purge condition is cleared at the output device, the acknowledgement is transmitted to the input device, and normal transmission resumes. The following stop messages are recognized as implying special significance to certain output devices in the system: ENQ - Enquiry. Causes attention interrupt to MTS. EOT - Disconnect. Causes special action in MTS which results in some cases in the job being signed off the system. Transmitted to an outbound data set, the EOT causes the set to go on-hook.

IV. DEVICE MANAGEMENT In normal operation the internal operation of the Data Concentrator is not apparent to the terminal user except by implication in the manner in which the terminal itself operates. Device allocation and operational mode selection are preset for each particular terminal device type when an incoming call is recognized as coming from a terminal of that type. However, allocation procedures and operational mode parameters for each device may be adjusted by means of special commands directed to a command language interpreter resident in the Data Concentrator supervisor. The normal configuration of dial-up terminals attached via Data Concentrator facilities to MTS is in a bidirectional copy mode. That is, if DC00 is the name of an MTS device which appears to the Data Concentrator MTS interface as both an input and output device identified by LDN 40, and, furthermore, if a teletypewriter line adapter appears to the Data Concentrator as both an input and output device identified by LDN 10, then two independent copy operations are set up within the Data Concentrator when the incoming call is answered: one from LDN 40 to LDN 10 and the other from LDN 10 to LDN 40. Both LDN 10 and LDN 40 are placed in copy mode with the default copy sink device of LDN 40 assigned as LDN 10 and the default copy sink device of LDN 10 assigned as LDN 40. -43

-44In the general case, a number of devices of each type are allocated for use as MTS master source/sink terminals, and these may be used to enter commands, programs, or data to MTS directly. An additional number of devices are available for allocation as utility devices in MTS. Such devices may be seized by an MTS job for the purpose of miscellaneous input/ output operations, for instance for remote on-line data entry, remote program entry and display, or for connection of specialpurpose terminal equipment. 4.1 Service Attributes Each device attached to the Data Concentrator is identified by a logical device number (LDN) in the range 00-77 (octal). In addition, the type and operational state at each device are established by a set of identifying numbers called respectively the attribute, mode, copy sink and parameters. Of the 64 devices assigned LDNs, those numbered from 40 through 77 are reserved for MTS lines DC00 through DC31 respectively. Of those devices assigned LDNs in the range 0 through 37, four are assigned to serial-synchronous line adapters, sixteen to start-stop line adapters, and the remaining twelve to specialpurpose and utility devices such as the on-line console teletypewriter and the paper tape reader/punch. Figure 5 summarizes these assignments. Each device attached to the Data Concentrator is assigned an attribute number in the range from 0 through 17 (octal) which identifies its service routines within the

-45LDN Attribute Device 0 0 Dummy File 1 4 On-Line Teletypewriter 2 2 High-Speed Reader/Punch 3 1 Utility File 4-7 10 Serial-Synchronous Line Adapters (201) 10-27 5/6 Start/Stop Line Adapters (103/202) 30-31 7 X403A Touch Tone Digit Receivers 32-35 12 BO1C5 Touch Tone Digit Transmitters (ACK) 36-37 11 Broadcast Lines 40-77 System/360 Lines Figure 5. Logical Device Numbers.

-46system. Because of associations maintained within the system between the LDN assigned a device and the hardware address of its line adapter, some attribute numbers may be assigned only in certain LDN ranges. These are summarized in Figure 6. The attribute numbers are normally set up at system and device initialization time and are not considered variable by the terminal user. In some cases, however, the system itself juggles the attribute number assigned to a particular device when a particular terminal type is recognized at a data set. Any source device attached to the Data Concentrator can be assigned a mode number in the range from 0 through 3. The mode number assigned the source device determines whether text generated by it will be directed to a sink device attached to the Data Concentrator (copy mode) or to an internal command language interpreter (command mode). If the mode number assigned a source device is either 0 or 1, the device is said to be in default command mode; and if the mode number assigned is either 2 or 3, then the source device is said to be in default copy mode. If, from a source device in default command mode, a message is received beginning with a STX character, then that device reverts to the copy mode for that message only. Conversely, if from a source device in default copy mode a message is received beginning with an SOH character, then that device reverts to the command mode for that message only. Normally all terminals attached to MTS lines as a master source/sink are placed in the default copy mode. The selection

-47Valid LDN Attribute Range Device 10 4-7 Serial Synchronous Line Adapters (201) 5/6 10-27 Start/Stop Line Adapters (103/202) 7 30-31 X403A Touch Tone Digit Receiver 12 32-35 801C5 Touch Tone Digit Transmitter (ACU) 3 40-77 System/360 Lines Figure 6. Attribute Numbers.

-48of one of the two mode numbers within the default command and default copy mode number classes is based upon other considerations which will be explained presently. A terminal in contact with MTS can change at will its mode number using the COPY, COMMAND, or MODE commands (see Section 5). A source device in either command or copy mode is normally associated with a sink device within the system to which output messages generated by the source device are directed. If the source device is in copy mode, then the particular associated sink device is identified by a number assigned to the source device which represents the copy sink device LDN. The copy sink device can be changed through-use of the SINK command. If the input device is in command mode, then the particular associated sink device is called the command sink device. Two selections of command sink devices are possible, depending upon the mode number assigned. If the mode number is either O or 2, then the command sink device has the same LDN as the source device itself; and, if the mode number is either 1 or 3, then the command sink device has the same LDN as the copy sink devic-e used for copy-mode operations. Normally the terminal source device associated with an MTS line is assigned mode number 2 when the incoming call is answered, and the MTS line itself as a source device is assigned mode number 3. Also, when the incoming call is answered, the sink device of the terminal is set to that of the MTS line and vice-versa. Thus, if a message from either the terminal or MTS begins

-49with an SOH character, then any command language interpreter output messages will be directed to the terminal. It is possible to assign copy sink devices in such a way that the master source and master sink devices connected to a particular MTS line are in fact different physical devices. This might well be done if the master source were a manually operated keyboard and the master sink were a visual display device. Some devices such as teletypewriter terminals may be operated in several different feature environments. For instance, a particular teletypewriter terminal attached to the Data Concentrator can be operated either as a full-duplex device, as a half-duplex device, or as a paper tape transmission device using special protocol characters (see Section 4.5.2). The selection of which of these operational features are currently in effect is managed by the "enable" task within the Data Concentrator supervisor. Along with several other operations, this task allocates storage within the system to be used for buffers and device control blocks. In particular, a word of default switches is stored by this task in the device control block which then serves as a parameter to the service routines used by that device. This parameter can be changed through use of the ENABLE command. The interpretation of the various bit combinations possible depends upon the nature of the device.

-504.2 Device Allocation In most cases, any of the 64 devices identified by an LDN may be allocated to a particular transmission task independently of all the others. Within the uniform device allocation interface in the Data Concentrator supervisor, two bits are assigned to each LDN. One of these (the active bit) indicates whether the device is allocated or not, and the other (the enable bit) indicates whether it is available in some sense to be allocated. The active bit is set by the enable task when an incoming call is answered as an MTS master source/sink terminal and in other cases (see below). The active bit is cleared when the terminal goes on-hook and in other cases. If the active bit is not set for a particular device, then any message directed to that device is lost in the same sense that a message transmitted to *DUMMY* in MTS is lost. The enable bit has meaning only for certain MTS lines at present, and is recognized as an indication that an MTS job is active on that line and is potentially connectable to a master source/sink terminal. There are two ways in which a device may be allocated within the system. On the one hand, an explicit ENABLE command may be entered to the command language interpreter. The device(s) referenced in that command are immediately reserved if possible, and storage is allocated for its buffers and device control blocks. Both the source and sink devices assigned each referenced LDN are reserved simultaneously; it is not

-51possible to reserve them separately. In the case of terminals attached to data sets, a 40-second timeout is begun which is stopped when an incoming call is recognized on that data set. If the timeout is completed the device is automatically released. On the other hand, an automatic allocation process managed by the "ring sniffer" task occurs when an incoming call is recognized on a data set which has not been reserved through the ENABLE command, and, furthermore, an MTS line is available for use as a master source/sink (by inspection of the active and enable bits). In this case the call is answered, and a twoway copy-mode operation is set up between the calling terminal and the MTS line. The active bits of both the terminal and the MTS line are set following the process. A device allocated either by the ENABLE command or by the ring sniffer can be released in any of several ways. In one of these a HALT command can be entered from any source device. This command causes the asynchronous disconnect message to be transmitted to a specified sink device. This message causes an immediate device reset, which in turn causes the allocated storage claimed by the specified device to be released and both the active bit and the enable bit to be cleared. The asynchronous disconnect message can also be generated by the ring sniffer upon detection of a data set fault or on-hook condition. If the ring sniffer detects these conditions on a source device in copy mode, then an asynchronous disconnect message is directed to the copy sink device as well.

-524.3 Terminal Identification If any call is answered on a 103A data set, then a special procedure is initiated which determines whether an AT&T 33/35 Teletypewriter or an IBM 2741 Typewriter Terminal has originated the call. This procedure operates as follows: first, the call is answered as if it originated from a 2741. If such is in fact the case the 2741 will send an EOA character immediately after data set hand-shaking is completed. If, after a two-second timeout, no EOA character is received, the connected line adapter, buffers, and unit control blocks are reconfigured for the AT&T 33/35. At this time a WRU character is transmitted to the device. The WRU character causes switched network equipment to respond with their answerback code, which is copied onto the master console sink device. If no answerback code is received after a one-half second timeout, then it is assumed that a special terminal has been connected and no further probing is attempted. These identification procedures are expected to change from time to time as new equipment becomes available. The procedures are effective whether the data set has responded due to either the enable operation or to the ring sniffer. 4. 4 Device Characteristics Each device attached to the Data Concentrator can be characterized by its behavior in response to the message transmission conventions described above. Thus, the device support routine peculiar to each device recognizes the particular set

-53of control characters which end each message in the sense described above. The recognition process usually involves the translation of certain character codes, illustrated in Figure 4, in the appropriate cases and the marking of these codes so as to be unique in the data stream. Typically, certain device line control operations cause an ending character to be generated or an asynchronous message to be generated. An example of this behavior occurs in connection with the break signal generated by a start/stop communication terminal. This signal, when detected by the input device support routine, causes an asynchronous enquiry message to be generated. In following sections the characteristics of each class of devices will be reviewed, and the line control operations described. 4.4.1 System/360 Interface The System/360 interface device support programming establishes a behavior similar, from the System/360 control program point of view, to that of the IBM 2702 and 2703 Transmission Controllers. A significant departure from the behavior of the IBM equipment is implemented using the asynchronous interrupt facility of the interface hardware. This facility is used to transmit the asynchronous enquiry (attention) and asynchronous disconnect (attention/unit check) messages to the channel. Either of these messages can occur either in an ending status byte to a channel-outbound or channel-inbound message or in an asynchronous status presentation, that is, a status presentation without the channel end bit.

-54A Start I/O instruction executed by the System/360 initiates a program of channel commands (CCWs) which are interpreted by the channel and subchannel and transmitted to the Data Concentrator. Within the Data Concentrator each command is interpreted and the appropriate copy/command operation is set up. If data transmission is specified by the channel command then that process is begun. Following these operations, ending status is provided to the channel in the form of a status byte containing the channel end, device end, and possibly the attention, unit exception, and unit check bits. Appropriate exits are provided within MTS for these conditions. Message transmission using the System/360 interface is completely code-independent, since all ending conditions are generated in response to channel-control unit sequences, and the particular channel commands used. The following channel commands are: recognized by the Data Concentrator: Sense The sense command causes sense data (one byte) to be read into the region identified by the address and count fields of the CCW. The sense byte may contain any combination of the intervention-required, data check, bus out parity check, or command reject bits. These bits are reset in the Data Concentrator when any valid channel-command other then sense is issued.

-55Read The read command causes data bytes to be read into the region identified by the address and count fields of the CCW. The ending condition for this command is established either by the Data Concentrator when the record is not longer than that specified in the CCW count field or by the channel when such is not the case. If the record was ended by the channel, the Data Concentrator will automatically queue the remainder of the input record until a new Read command has been issued. This behavior is specified to provide an automatic blocking operation for inbound data records of indefinite extent. If the enable bit of the Data Concentrator line corresponding to the device addressed is not set when a read command is issued, the command is ended immediately with a status byte containing the unit exception bit. No data bytes are transferred. If the ending condition is an ENQ, then the attention bit is set in the ending status presentation, If the ending condition is an EOM, the unit exception bit is set in the ending status byte. If the ending condition is either EOT or an NAK, then the unit check bit is set in the ending status and either the intervention-required or the data-check bit respectively is set in the sense byte. See the discussion under "Terminating Conditions" for unusual cases.

-56Write The write commands cause data bytes to be transmitted from the region identified by the address and count fields of the CCW. The ending condition for these commands occurs only when the data region so specified has been exhausted, and is established as depending upon the channel command as in Figure 7. When the record acknowledgment character is received, a status byte containing the channel-end and device-end bits is presented to the channel. If the enable bit of the Data Concentrator line addressed is not set when a write command is issued, the command is ended immediately with a status byte containing the unit exception bit. No data bytes are transferred. If the acknowledgment is an NAK, then the unit-check bit is set as well in the ending status byte, and the data-check bit is set in the sense byte. See the discussion under "Terminating Conditions" for unusual cases. Control The control commands cause no data to be transmitted and are used to generate messages containing only ending characters. Some of these commands cause special behavior within the Data Concentrator, such as controlling the enable bit and activating the on-line siren (!). These commands normally terminate by presentation of a status byte containing the channel-end and device-end bits. See discussion under "Terminating Condtions" for exceptions to this rule.

-570 1 2 3 4 5 6 7 CHAN DEV UNIT UNIT STATUS ATN N /// X// / XXX END END CHK XCPT BYTE 9 1 2 3 4 5 6 7 REJ REQ CHK ////CHK /// / // BYTE 0 1 2 3 4 5 6 7 1 0 IREAD 0 1 2 3 4 5 6 7 M D0 1 jO T0 SENSE 0 1 2 3 4 5 6 7 WRITE X Y Z X Y Z O O O WRITE ETB 1 0 0 (RESERVED) 0 0 1 WRITE EOM 1 0 1 (RESERVED) 0 1 0 WRITE ETX 1 1 0 (RESERVED) 0 1 1 WRITE NAK 1 1 1 (RESERVED) 0 1 2 3 4 5 6 7 X Y Z 1 1 CONTROL X Y Z X Y Z 0 0 0 NO-OP 1 0 0 ETX 0 0 1 2702 ENABLE 1 0 1 EOM 0 1 0 ALARM 1 1 0 (RESERVED) 0 1 1 DISABLE 1 1 1 1052 ENABLE FIGURE 7. DATA CONCENTRATOR CHANNEL COMMANDS.

-58Terminating Conditions Normally both MTS-inbound and MTS-outbound records transmitted between MTS and the Data Concentrator are ended with a status byte containing the channel-end and device-end bits. On inbound records terminated with an EOM the unit exception bit is also set in the status byte. Such terminating conditions occur normally in response to either a normal terminating character in MTS-inbound operations, or in response to a normal acknowledgment character in MTS-outbound operations. If anNAK is received either as a terminating character in an MTSinbound operation, or as an acknowledgment in response to an MTS-outbound operation, then the unit-check bit is set in the status byte and the data-check bit is set in the sense byte. Similarly, if an EOT is received, either as a terminating character or as an acknowledgment character, the unit-check bit is set in the status byte and the intervention-required bit is set in the sense byte. If an ENQ is received, either as a terminating character or an an acknowledgment character, then the attention bit is set in the status byte. Once either the data-check or intervention-required bits become set in the sense byte then all further status presentations will include the unit-check bit until another valid channel command other than sense has been issued, in which case the sense byte is reset. The sense command is ended with a status byte containing only the channel-end and deviceend bits. Since the unit-check and attention bits can be set

-59at any time by the EOT and ENQ asynchronous stop messages it is not safe to say that the sense command is always ended in a status byte presentation containing only the channel-end and device-end bits. In general, unless presentation of a sense byte containing a unit-check bit is not followed immediately by a sense command, then sense data may be lost or recorded erroneously. In the case of the asynchronous stop message, status presentations may occur at times other than at the time of normal channel-end/device-end presentations. Such presentations will always contain the attention bit and may be distinguished from the normal-ending status presentations by the lack of both of the channel-end or the device-end bits. If the presentation is due to the ENQ message, only the attention bit is present in the status byte; if the presentation is due to the EOT or NAK messages, the unit-check bit is present as well. Device Disconnect - The Halt I/O An asynchronous stop message can be generated by a System/360 Halt I/O instruction. This may be done at any time, even if the subchannel associated with the operation is busy at the time. If an operation is not in progress at the time of the issuance of the Halt I/O, then no ending status will be generated. If an MTS-outbound operation is in progress, then the operation will be ended with a status byte containing the channel-end and device-end bits, and possibly the unit-check and attention bits as well. If an MTS-inbound

-60operation is in progress, then it may happen that the Halt I/O has no effect. This situation would arise if the MTSoutbound asynchronous stop was directed to a device which, when disconnected by the asynchronous stop, did not happen to imply the generation of a corresponding MTS-inbound ending character; and, in particular, when the MTS-outbound data circuit is assigned a different LDN than the MTS-inbound data circuit. In such a case, it must be the responsibility of the MTS-inbound circuit to disconnect when the MTS-outbound circuit receives an EOT message. 4.4.2 AT&T Models 33/35 Teletypewriters The AT&T Models 33 and 35 Teletypewriters operate at 10 char/sec using the 110-baud full-duplex 103A data set attached to a Data Concentrator start/stop line adapter. These machines operate according to the 8-bit ASCII code interpretation which includes an even-parity vertical parity bit. The Data Concentrator does not at present perform any diagnostic action if a received message contains a character of bad parity, although all characters transmitted (except those in binary messages) contain the correct vertical parity bit. Operational Modes The Model 33/35 is normally operated in a full-duplex mode; that is, the i'nbound data stream from the keyboard to the Data Concentrator is independent of the outbound data stream from the Data Concentrator to the printer, and completely

-61separate message transactions can occur. Usually the operation is such that inbound characters typed at the keyboard are return-echoed to the printer for operator verification, although the return echo path may be delayed if an outbound message is being transmitted to the printer while the inbound message is being entered at the keyboard. Using this mode of operation, a terminal operator is able to enter several input lines to an MTS program before the program in fact processes them. Each input line is queued in the Data Concentrator keyboard buffer pending the MTS read operation. As output lines are produced by the MTS program they are listed at the printer intermixed on a line-by-line basis with the return-echo lines. Using a Data Concentrator command (see Section 5) a Model 33/35 Teletypewriter can be switched to the half-duplex mode, in which the return-echo process is provided at the terminal itself. In this mode, the return-echo process is disabled at the Data Concentrator and certain modifications are made to the sequences transmitted in response to lineending and -editing characters, and to the acknowledgment sequences. The line-editing and control-character interpretation remains as in the full-duplex mode. Paper tape input operations can be sustained in two different modes. The first mode is used for transmission of symbolic tape records to the system and utilizes the line editing and control functions applicable to the full-duplex mode. Input buffer overrun is controlled in this mode by adding the reader control characters XON and XOFF to the return echo and acknowledgment data streams as necessary.

-62When the Model 33/35 is equipped with the proper options, the XON starts the paper tape reader and the XOFF stops it. Using this mode of operation the tapes can be punched from either an MTS program or off-line and then re-entered to the Data Concentrator without reformatting. The second paper-tape input mode is used for transmission of arbitrarily coded binary tape records to the system. Input buffer overrun is controlled in this mode by generating XON and XOFF characters as in the. previous case but based on a count of characters in the input buffer. The maximum count can be set by a Data Concentrator command (see Section 5). Exit from the symbolic tape mode is accomplished using a Data Concentrator command; exit from the binary tape mode is accomplished using the BREAK key. Paper tape output operations need no special considerations since all character codes can be routinely transmitted. Connection with remotely located computing equipment using 103A data sets is possible using the symbolic tape mode with return-echo and line-editing functions disabled, and in addition the following convention: At any time an XOFF character transmitted to the Data Concentrator will cause outgoing message traffic to cease immediately. Conversely, an XON character will cause the outgoing message traffic to resume. The remotely located equipment should be prepared to respond to these characters in the same fashion. Other than t.he XONXOFF protocol, use of the 103A data set circuit in the full

-63duplex environment is not constrained in any way. Transmission of all character codes is possible if each occurrence of a control character is preceded by a DLE character. Message Formatting Character identification involves comparing each inbound character with a special set of ASCII characters. If the inbound character matches one of the special characters then some special function is performed. Figure 8 summarizes the set of special ASCII characters along with their associated octal code, keyboard description, and special function. NULL characters are ignored unless they are preceded by a DLE character, in which case they are included in the record. The ESC character provides return-echo control. The first inbound ESC character stops the echo process, and the second restarts it. The ESC is not included in the record under these circumstances. The DLE character causes the next character to be treated in a special way. If the next character entered is an ASCII code in the range 100 to 136 (octal) then this code is converted to 000 to 036 respectively. This convention provides an alternate means for entering control characters. If the character following the DLE does not lie in the range 100 to 136, then the DLE acts as a literal-next character and the following character is included in the record but is not interpreted in any way for line-editing and control functions. The DLE itself applies only to the

Key Name Code Echo Function CTRL-SH-P NULL 000 Ignore this character ESC CTRL-SH-K ESC 033 Invert the echo bit (see "Message Formatting") CTRL-P DLE 220 Treat the following character in a special way ( see "Message Formatting") RUBOUT LINDL 377 #CRLF Delete line (see "Line Editing") UNDERSCORE CNRDL 337 UNDERSCORE Delete line (see "Line Editing") SH-0 CTRL-E BREAK ENQ 005!CRLF* End the record with an ENQ character CTRL-D EOT 204 End the record with an EOT character, and CLEAR put the terminal on-hook. RETURN ETX 215 CRLF* End the record CTRL-U NAK 225 CRLF* End the record with a NAK character CTRL-Y EOM 231 /CRLF* End the record with an EOM character * CRLF is echoed only after the line has been acknowledged by the copy sink device, or the command language interpreter, as appropriate. Figure 8. Start/Stop Line Control Characters.

immediately following character and is not included in the record. The NULL, ESC, and DLE are not return-echoed to the printer. The WRU character causes the current record to be ended, an exclamation point to be return-echoed to the printer, and an asynchronous enquiry message to be generated. If the asynchronous enquiry message is entered from an MTS master source device, then an attention interrupt condition is created. The EOT causes an immediate asynchronous disconnect message to be generated and data set at the Data Concentrator to go onhook. If the asynchronous disconnect message is entered from an MTS master source device, then the user will be signed off the system. An input record is ended by one of the characters RETURN, ETX, ETB, NAK, or EOM. Both the RETURN and ETX cause an ETX ending condition to be generated (see Section 3.2.1). The NAK generates a data-check ending condition which causes the current message to be discarded and the prefix message to be retransmitted. The EOM generates the end-of-file ending condition. When any ending character is received, the device support routines insert a dispatch task into the Data Concentrator task queue. This causes the record just received to be either copied to some sink device or read and processed by the command language interpreter. When the acknowledgment character is received by the device support routines, a carriage return/

-66line feed (CRLF) sequence is return-echoed to the printer. Thus the CRLF sequence indicates to the terminal user that the record has in fact been processed. Line Editing The record-editing characters LINDL (line delete) and CHRDL (character delect) behave in the following way: When the LINDL character is received, a subroutine is called to delete all characters of the current message up to the previous recordending character. If no characters have been entered since the last record-ending character, then nothing is deleted and the LINDL character is ignored. If something has been deleted, then a pound sign/CRLF sequence is return-echoed to the printer. When a CHRDL character is received, a subroutine is called to delete the last character which was put into the buffer. However, if the last character is a record-ending character it is not deleted, and the CHRDL character is ignored. If a character is deleted, then the left arrow or underscore (ASCII code 137) is return-echoed to the printer. Neither the LINDL nor the CHRDL is included in the record. When a character is received it is put into a 73-character keyboard buffer. If it is not one of the control characters, it is also put into a special 40-character echo buffer. Some of the control characters also are echoed or cause other characters to be echoed back to the terminal. If the user wishes to eliminate echoing at any point during input (such as when he wishes to type his password) he can do so by sending

-67an ESC character. A second ESC character will turn echoing back on. When the receive buffer becomes full any subsequent characters received are ignored and are not echoed. At this point, the user can either backspace the record using the CHRDL character or delete the entire line using the LINDL character. Echo buffer overflow results in a loss of returnecho characters but no disturbance to the inbound data stream. The 120-character transmit buffer cannot overflow since the transmission tasks are designed to requeue when the buffer is full. Device Control The device support routines control each terminal by means of information stored in a unit control block (UCB) associated with each terminal. Among the pieces of control information stored in the UCB are the following: whether or not an input line is in the process of being received, whether the currently active buffer is the echo or the transmit buffer, a count of echo lines queued up for outbound transmission, whether or not outbound transmission is in progress, an indication of whether break or space disconnect has been received from the terminal, and a count of the number of transmission tasks which have been initiated but not acknowledged. Since there are two classes of outbound message lines to the printer-echo lines and output lines-it is necessary for the device support routines to establish the priority

-68of these messages. If no output lines are being printed and an input line is begun (i.e., a key is struck) then the echo buffer is made the active buffer. Any output lines that arrive during this time are simply stored up in the transmit buffer. Now, whenever an ending condition is detected in the outbound message, a test is made to see if there are any echo lines to be printed. If there are, the echo buffer is made active; if not, then the transmit buffer is made active. Thus the echo buffer has higher priority. The control information in the UCB indicates whether or not physical transmission is in progress, and which buffer is in fact active. If the count of transmission tasks which have been initiated but not acknowledged exceeds five, the input line which caused this count to be exceeded is automatically deleted and a point sign/CRLF sequence is return-echoed to the printer. Asynchronous enquiry and disconnect messages are not subject to this constraint, and any number of transmission tasks of this type can be initiated. Two of the special line conditions recognized by the device support routines are the break signal and the spacedisconnect signal. The BREAK key causes 200-300 msec. of the space condition to be transmitted on the line. This is the equivalent of two or three characters whose bits are all zero. These characters can be distinguished from NULL characters by the occurrence of a zero stop bit. A space disconnect causes the data set associated with a terminal to go onhook and 1-2 seconds of space to be transmitted on the lineo

-69Therefore, break and space disconnect can be distinguished by counting the number of characters in sequence which have zero stop bits. A count of three or less indicates a break condition and causes the asynchronous enquiry message to be generated. Either the BREAK or the WRU keys can be used to generate this message. A count which exceeds three indicates a space disconnect and causes an asynchronous disconnect message to be generated. Either the CLEAR or the EOT keys can be used to generate this message. 4.4.3 IBM Model 2741 Typewriter Terminal The IBM Model 2741 Typewriter Terminal is an adaptation of the Selectric office typewriter which operates at 14.8 char/sec using the 134.5-baud half-duplex 103A data set attached to a Data Concentrator start/stop line adapter. Operational Modes The IBM 2741 is a half-duplex terminal. Thus when the printer is active the keyboard is locked and no key can be depressed except the ATTN key. In addition, when the keyboard is free and the ATTN or RETURN key is depressed, the terminal hardware automatically locks the keyboard in anticipation of printer activity. It is possible to control externally the terminal in the following sense. By sending appropriate code sequences to the terminal, a locked keyboard can be freed and a free keyboard can be locked; or, equivalently, the printer can be deactivated or activated. Nevertheless,

-70in spite of this nearsighted design, it is possible to queue commands to MTS while other commands are being executed. This is done in the following manner: if a user has just terminated an input line using the RETURN or ATTN key, thus locking the keyboard, and there are no output lines queued for the printer, then the keyboard is unlocked by an explicit control sequence transmitted by the device support routines. If an output line is generated by MTS at a time when the keyboard is free but an input line has been started, then that output line is queued until the input line has been completed, at which time the keyboard remains locked and the printer is activated. If the keyboard is free,but an input line has not been started or has just been deleted, and an output line is generated, then the device support routines lock the keyboard and activate the printer. As long as lines are queued for the printer, printing, once started, will continue until there are no more lines to be printed, at which time the keyboard will be unlocked. It is possible for the terminal user to interrupt printing and free his keyboard even though output is still queued. He does this by depressing the ATTN key while the printer is active. This causes printing to stop at the end of the current output line and leaves the keyboard free at that time. Printing resumes when the user completes an input line, deletes a line, or once again depresses the ATTN key. It should be noted here that the ATTN key serves two distinct purposes. When the keyboard is locked and the printer is active, the ATTN key causes printing to be inter

-71rupted and returns control of the keyboard to the user as described above. On the other hand, when the keyboard is free, depressing the ATTN key causes the asynchronous enquiry message to be generated. In this case, the ATTN key has the same effect that WRU or break has in the case of the AT&T Model 33/35 Teletypewriters. In fact, the 33/35 and 2741 are both serviced by the same character identification section of the device support routines. Message Formatting The special characters for a 2741 are shown in Figure 8. The 2741 transmits and receives characters in IBM Paper Tape Transmission Code (PTTC), which consists of six information bits plus one odd parity bit. In the Data Concentrator, received characters in PTTC code are translated to ASCII. Most of the PTTC graphics are translated into their ASCII equivalent and vice-versa. In those cases where graphics do not exist, an arbitrary code is substituted. Lower-case PTTC codes are translated into ASCII codes 141 through 172 for a through z respectively. Thus, the distinction between upper case and lower case is preserved by the Data Concentrator and by MTS. The function of exclamation point code is equivalent to that of the ASCII DLE as in the case of teletypewriters. Therefore, since the DLE followed by characters with ASCII codes 101 or 132 converts these into ASCII codes 001 to 032, the exclamation point acts like the teletype CTRL key. That is,

-72exclamation point followed by an A through Z is equivalent to CTRL-A through CTRL-Z respectively on a teletype and generates the equivalent ASCII code. Exclamation point followed by anything other than upper case A through Z behaves like a literal-next combination. Thus!# would add a pound sign to the record without deleting the line; 1! would add a single exclamation point to the record; and!~ would add a cent sign to the record rather than creating an EOM ending condition. The DLE itself is not included in the record and acts only upon the single character immediately following it. The RETURN code and the cent sign code ~ generate an ETX and EOM ending condition respectively. The ATTN key causes an asynchronous enquiry message to be generated when the keyboard is free. Under these conditions an attention interrupt would be sent to MTS. When the keyboard is locked the ATTN key acts as a request to unlock the keyboard. Line Editing The pound sign # acts as a line-delete character and is followed by an echoed carriage return-line feed. Only that portion of a line which has been typed since the last record-ending character is deleted. The backspace key causes characters to be deleted up to but not including the last end-of-record character. It also causes the 2741 printing element to be positioned over the last character deleted (except in the case where literal-next combinations have been entered).

-73Since the 2741 is a half-duplex device, character echoing is a function of the terminal itself. In the case of certain special characters, the Data Concentrator responds by sending certain character sequences back to the terminal. An example of this is the CRLF, which is sent after a pound sign, cent sign, or ATTN key is struck. The Data Concentrator accumulates characters received from a 2741 in a 119-character receive buffer. Only those characters which are actually a part of the record are put into the buffer. If the buffer overflows, the user can backspace one or more characters and strike RETURN or delete the line. Output lines are queued in a 123-character transmit buffer. The transmit buffer cannot overflow because the Data Concentrator control program is designed to requeue tasks which attempt to write into a full buffer. Consequently'the output line may be any length. Device Control Device control for the 2741 is somewhat simplified by the fact that echo lines need not be interspersed with output lines. Once printing is started it will continue as long as there are output lines queued, unless a request is received to unlock the keyboard via the ATTN key. In the absence of such a request, the keyboard will be unlocked automatically when all output has been printed. During the time that the carriage is physically returning to the left following a RETURN operation, it is necessary to send a number of NULL characters, so that

-74printing will not begin before the carriage reaches the left margin. The number of NULL characters sent is computed on the basis of the distance the carriage must return, based on a count of the number of characters printed on that line. The 2741 is controlled and serviced with the aid of several words of status information stored in its unit control block. This information is maintained and updated by the device support routines for each terminal. The 2741 unit control block contains information such as the state of the device, a switch to indicate whether or not output transmission can be initiated, a count of the number of characters in the current input or output line, a count of transmission tasks initiated but not yet completed, and a word used to detect space disconnect. This information is sufficient to determine whether the keyboard is free or locked, whether or not the carriage is returning, whether the terminal is in an upper-case or lower-case shift condition, and other things of this nature. As in the teletypewriter case, provisions are made for the detection of the break and space disconnect signals. The break signal is transmitted by the 2741 when the ATTN key is struck and the keyboard is locked. The space disconnect signal is transmitted when the 2741 goes on-hook.

V. COMMAND LANGUAGE OPERATIONS Using the facilities of the Data Concentrator-resident supervisor (RAMP), the characteristics of a particular transmission circuit can be materially altered, including reassignment of data set type and related line control procedures. In order to preserve the compactness of RAMP, these commands are necessarily highly stylized and may contain some unlikely-looking operands. Some of the RAMP commands may be found useful by special-purpose MTS jobs which have a need to configure dynamically device and transmission characteristics such as the output device associated in the copy operation and whether the default mode is command or copy. Provisions are included to reserve an input or output device for data transmission activity and for connecting a number of such devices into a transmission circuit. A description of the various command language operations and the manner in which the transmission circuit is affected is given in following sections. If a particular input device is configured in command mode, then all of its messages are processed by the command language interpreter resident in RAMP. Output commentary in response to these messages is produced on the command sink device, which can be set to either the copy sink device or that sink device identified by the source device. LDN. If the input device is configured in copy mode, then an SOH as the initial character of the message will cause the message -75

-76to be directed to the command language interpreter. Note that if a message is directed to the Data Concentrator from within an MTS job, the SOH must be preceded by an STX to "insulate" the message from interpretation by MTS as a format-control message (see below). By implication then, if an MTS-outbound message is intended for processing by a RAMP-like supervisor resident in a remote computer terminal, then two STX characters should be prefixed to the SOH which initiates the message to the remote supervisor. 5.1 Command Messages An input command line can be entered to the system from any source device at any time. In this connection the various console keyboards are always unlocked. An input command line can also be entered at any time from the high-speed reader or from explicitly created internal files. Output lines generated by the system are produced as they occur on the specified sink devices. If a sink device is busy processing an output line when a new output line is generated, then the new output line is queued within the system until the previous output line is processed. In some sink devices, such as a teletypewriter printer, the sink device may appear busy for echoing purposes when the associated source device is actively entering an input line. A command line consists of a command name followed by a list of parameters delimited by blanks and followed by an ending character (see Section 3.2.1). A command name

-77consists of a contiguous sequence of letters and numbers, only the first and last of which are used to identify the command type. Parameters are given in the form of octal or decimal numbers which must not be greater than 7777 or 4095 respectively. In both cases leading zeros can be deleted. The special parameter asterisk "*" is used to denote the default case for an occurrence of a parameter and has special meaning depending upon the particular command. Some of the commands expect parameters which identify the logical devices within the Data Concentrator which are to be affected. An index of the logical device numbers and the particular devices so identified is given in Figure 5. Very little checking is possible within the system to guard against conflicitng device assignments; and it is expected that System/360 library progr-ams will be developed to supervise these operations. Commands are of two types: those intended for normal equipment operation and used during the normal course of terminal operation, and those intended for system development, configuration, and maintenance purposes. Parameters of the former or user commands are checked for validity within the system and rejected if invalid. If rejected, a line of the form: *** XXXX INVALID OR MISSING OPERAND

-.7 8is printed on the command sink device. Here, XXXX designates a four-digit (octal) error code which designates that program location within the system at which the invalidity was detected. In this case an improper or incomplete operation may have resulted, depending upon the particular command. Parameters of the latter, or system commands, are in general not checked for validity. Since these commands can not only modify those core memory locations used for program storage, but disturb other users, their use is restricted by means of a password. The password (see the PASSWORD command) associates the system password to a particular source device. If a system command is entered from a nonpassword source device a line of the form: *** XXXX PASSWORD REQUIRED is printed on the command sink device. Here, XXXX designates the four-digit (octal) currently effective system password. The password of any console can be determined by the "HELLO" command. Some commands are so structured that if a parameter list is given, the command is assumed of the system class; and, if not, then the command is assumed of the user class. If a command is unrecognized as belonging to either the user or system class, a line of the form: *** XXYY INVALID COMMAND

-79is printed on the command sink device. Here, XX and YY designate the character codes (trimmed ASCII) identified as the command name. I.n this case, the entire command line is rejected and no operation is begun. If the source device which initiates a command is an MTS line, then a special behavior is effective in the case of errors detected by the command language interpreter. In addition to the error comment described above, a special return is made to MTS which causes one of the messages: DCXX: WRITE UNIT EXCEPTION DCXX: DEVICE NOT READY to be printed on the master sink device which initiated the MTS command. Here, XX represents the MTS line number (00-31). In general, the former message is produced whenever: a. The Data Concentrator command was invalid due to either invalid command name, invalid argument structure, or password violation. b. The Data Concentrator MTS line used to enter the command was not enabled. The latter comment is produced whenever: a. The data set connected to the MTS line has gone on-hook. b. The requested device has already been allocated by the ring sniffer or the enable task to another operation.

-805.2 The Master Console In general, system-produce commentary arising during normal equipment operation is elicited by a command entered at one of a number of operating console positions. In these cases the commentary is produced on the command sink device. In other cases, however, a system-produced comment can occur in response to an attention or error condition and without prompting by an operator. This commentary is produced on a sink device specifically assigned for this purpose and called the master console. The identity of this console can be established by the SIGNON command. The master console is also a password console by default (see below). 5.3 The Password Console Occasionally during normal equipment operation a need exists to change the attributes of transmission devices and the interconnection paths between them. In general, where this may be done without affecting other users of the system, the attributes of a particular device and those of the devices to which it may be connected are modifiable through messages from the device itself. Where such modifications may disturb the operation of other devices in the system, however, a restriction is made which requires the messages causing the modifications to originate at a source device called the password console. The identity of this console is established by the PASSWORD command. Usually the password console is set to be an MTS line reserved for the purpose and used to enter system configuration

-8 1messages in response to MTS library programs such as *MOUNT. The master console (see above) is also a password console by default. Certain system commands are invalid if generated from nonpassword source devices. In addition certain forms of user commands are invalid if generated from nonpassword source devices. The intent of the password protection is not so much to restrict the use of these commands and command forms, but rather to insure that configuration commands generated by two devices simultaneously will not conflict with each other. 5.4 Command Descriptions Following is a list of all commands presently recognized by the Data Concentrator command language interpreter. Section 5.5 contains a description of those commands recognized by the MTS device support programs which service the Data Concentrator.

-82ALTER (AR). Store words in an octal format in PDP-8 core memory. The storing operation is begun at the first argument location and continues for as many arguments as given, each argument being stored in ascending locations in memory. If the default character " * " is given as the first argument, then the storing operation is begun at the first location of the previous DISPLAY parameter list or the first location following the end of the previous ALTER parameter list. The core bank in which these operations take place may be preset by means of the "SET" command. The ALTER command is valid only from a pa'ssword source device.

-83ATTRIBUTE (AE). Assign the attribute number identified as the first argument to all those devices identified as the remaining arguments. If only one argument is given, then the attribute number so identified is assigned to the device identified by the command sink LDN. The ATTRIBUTE command is valid only from a password source device. See Section 4,1 for a discussion of attribute number interpretation.

-84BINARY (BY). Assign the binary tape parameter switches to all source devices identified as the arguments. This form of the BINARY command is valid only from a password source device. If the argument list is empty, then assign the binary tape parameter switches to the source device identified by the command sink LDN. This form of the BINARY command is valid from any Data Concentrator source device. This command is used to transmit binary tape (all 8-bit code combinations valid) and has meaning only in connection with Model 33/35 Teletypewriters equipped with punched tape readers capable of responding to the XON and XOFF control characters. See Section 4.5.2 for details of operation in this mode. See also the WORDCOUNT command description.

-85BROADCAST (BT). Transmit a broadcast message from the source device identified by the first argument to all those devices identified by the remaining arguments. This command is valid only from a password source device. The first argument is presumed to identify a broadcasttype source "device," that is, a device assigned the broadcast attribute number. If the first argument is the default character " * " or is missing, then the broadcast source device is assumed to be that device used in the previous BROADCAST command, so that a broadcast can be conveniently repeated. If the remaining arguments are missing, then all the attached MTS lines corresponding to DC00 through DC31 are inspected for active MTS jobs. The broadcast message is then sent to the copy sink device associated with each such active MTS line. For this purpose, only those MTS lines attached as a master source/sink will be considered active.

-86CLOCK (CK). Set the internal 24-hour clock maintained by the Data Concentrator to the time of day indicated by the three decimal arguments in 1. hours, 2. minutes, 3. hundredths of minutes. This format is designed so that, by running the *TIME program in MTS (with the SERCOM device set to be a Data Concentrator line), the Data Concentrator clock can be set to the same time as the Model 67 clock. The CLOCK command is valid only from a password source device.

-87COMMAND (CD). Assign a command mode number to all those source devices identified as the arguments. If any argument value is less than 40 (octal) then assume mode number 0 and, if not, assume mode number 1. This form of the COMMAND command is valid only from a password source device. If no arguments are given, then the mode number identified as above is assigned to the source device identified by the command sink LDN. This form of the COMMAND command is valid from any Data Concentrator source device. See the MODE command description for further discussion.

-88CONTROL (CL). Insert control table entries for the source device identified as the first argument. The default character " * " as the first argument stands for the source device identified by the command sink LDN. The four following arguments are placed in order as they occur into the four control tables. The default character " * " as any of these arguments stands for "no change." The CONTROL command is valid only from a password source device. See the internal documentation of RAMP, the Data Concentrator resident supervisor, for the format of these tables.

-89COPY (CY). Assign a copy mode number to all those source devices identified as the arguments. If any argument value is less than 40 (octal) then assume mode number 2 and, if not, assume mode number 3. This form of the COPY command is valid only from a password source device. If no arguments are given, then the mode number identified as above is assigned to the source device identified by the command sink LDN. This form of the COPY command is valid from any Data Concentrator source device. See the MODE command description for further discussion.

-90DIAL (DL). Using the AT&T 801C5 Automatic Calling Unit, place a switched-network call from the data set attached to the sink device identified as the first argument to the telephone number given as the remaining digits in the message. This form of the DIAL command is valid only from a password source device. If the first argument is the default character " * ", then the sink device is assumed to be the command sink device. This form of the DIAL command is valid from any Data Concentrator source device. The Automatic Calling Unit will terminate its operation in one of two ways: On the one hand it will verify that the call has been answered and that a data set of the proper type is connected. On the other hand, if no such verification is possible after a timeout period (currently about seven seconds), it will drop the call. For the time being, and until an appropriate billing mechanism exists, only intraCentrex calls can be placed. Telephone numbers assigned in the Centrex system consist of only five digits; the leading two exchange-code digits (76) are suppressed when dialing one Centrex telephone from another.

-91DISPLAY (DY). Dump regions of memory in an octal format, eight words per line, prefixed by the location of the first word. The location is printed as a five-digit number, the first digit of which represents the core bank number and the last four digits of which represent the location within that core bank. If no arguments are given, then the memory location addressed by the current ALTER parameter list pointer is printed (see ALTER command). The core bank in which this and the ALTER operation take place may be preset by means of the SET command. If a single argument is given, then the single word at that location is printed. If two arguments are given, then the block of memory between (and including) the argument locations is printed. This command is valid only from a password source device.

-92ECHO (EO). Transmit to the sink device identified as the single argument the remaining characters in this message. This form of the ECHO command is valid only from a password source device. If the argument is the default character " *" then assume the sink device to be the command sink device. This form of the ECHO command is valid from any Data Concentrator source device. If the requested sink device is busy, then transmission is delayed until it is free. The ECHO command is not ended until the sink device has acknowledged receipt of the command line ending character.

-93ENABLE (EE). Assign the parameter switches identified by the first argument to all those source devices identified by the remaining arguments. This form of the ENABLE command is valid only from a password source device. If only one argument is given, then the parameter switches so identified are assigned to the source device identified by the command sink LDN. This form of the ENABLE command is valid from any Data Concentrator source device. In either case, if the first argument is the default character " * " then no change is made to the parameter switches associated with the identified devices. The parameter switches identified by the first argument are represented as a four-digit octal number, each bit of which corresponds to a parameter switch which has meaning depending upon the associated device type (see Section 4.5). In addition to the above action, the ENABLE command will cause the active bits of the identified devices to be set, and buffers and unit control blocks to be allocated if required. If a buffer is allocated to a terminal-type device, then a 40-second timeout is initiated. If no responding ringing signal is detected at the data set associated with the source device within this period, then the buffer storage is released and the device becomes inactive. Automatic terminal

-94identification is active on devices enabled in this manner, and answerback messages are transmitted as requested. See Section 4 for further discussion. See also the FDX, HDX, TAPE, and BINARY command descriptions.

-95FULL DUPLEX (FX). Assign the full-duplex parameter switches to all those source devices identified as the arguments. This form of the FULL DUPLEX command is valid only from a password source device. If the argument list is empty, then assign the full-duplex parameter switches to the source device identified by the command sink LDN. This form of the FULL DUPLEX command is valid from any Data. Concentrator source device. This command has meaning only in connection with Model 33/35 Teletypewriter terminal equipment which can be operated in the full-duplex mode and is the default mode assigned when an incoming call is recognized as originating from such a device. See Section 4.5.2 for details of terminal operation in this mode.

-96HALF DUPLEX (HX). Assign the half-duplex parameter switches to all those source devices identified as the arguments. This form of the HALF DUPLEX command is valid only from a password source device. If the argument list is empty, then assign the half-duplex parameter switches to the source device identified by the command sink LDN. This form of the HALF DUPLEX command is valid from any Data Concentrator source device. This command has meaning only in connection with Model 33/35 Teletypewriter terminal equipment which can be operated in the half-duplex mode. See Section 4.5.2 for details of terminal operation in this mode.

-97HALT (HT). Issue an asynchronous halt command to all those devices identified as the arguments. This form of the HALT command is valid only from a password source device. If no arguments are given, then the device is identified as the command sink device. This form of the HALT command is valid from any Data Concentrator source device. Each device so identified will immediately cease transmission, purge all message buffers within the system, and go on-hook. An ENABLE command must be used to restart transmission.

-98HELLO (HO). Transmit greetings to all those sink devices identified as arguments. This form of the HELLO command is valid only from a password source device. If no arguments are given, then transmit the greetings to the command sink device. This form of the HELLO command is valid from any Data Concentrator source device. The greeting message is of the form: *** XXYY PDP-8 RAMP SYSTEM (VERSION ZZ) where YY is the source device LDN of the command message, XX its copy sink LDN, and ZZ the current version number of the Data Concentrator resident supervisor. The four-digit number XXYY is also the password assigned to the source device issuing the command (see the PASSWORD command description).

-99HSR (HR). Start the high-speed on-line paper tape reader. Used to initiate a file transmission from the paper tape reader. The transmission is ended when an XOFF character (ASCII code 223) is sensed. The HSR command is valid only from a password source device.

- 100MODE (ME). Assign the mode number identified as the first argument to all those source devices identified as the remaining arguments. This form of the MODE command is valid only from a password source device. If only one argument is given, then the mode number so identified is assigned to the source device identified by the command sink LDN. This form of the MODE command is valid from any Data Concentrator source device. See Section 4.2 for a discussion of mode number interpretation. See also the COPY and COMMAND command descriptions.

-101OPERATOR (OR). Transmit the following characters contained in this message to the Data Concentrator on-line operator's console identified as to (a) time of issuance, (b) source/copy sink device LDNs. This command is valid from any Data Concentrator source device. If the operator's console as a sink device is busy, then transmission is delayed until it is free. The OPERATOR command is not ended until the operator's console as a sink device has acknowledged receipt of the command line ending character. The message itself is presumed to require immediate Computing Center operating staff action, such as threading a paper tape or verifying a system malfunction. This command should obviously be used only when there exists no reasonable alternative to operator intervention.

-102PASSWORD (PD). Establish the single argument as the current password. The source device identified by this password becomes the password console (see Section 5.3). The password of any source device can be determined from the HELLO command. If a password violation exists, a line of the form: *** XXXX PASSWORD REQUIRED is printed on the command sink device, where XXXX is the current password.

- 103RESET (RT). Issue an asynchronous enquiry command to all those devices identified as the arguments. This form of the RESET command is valid only from a password source device. If no arguments are given, then the device is identified as the command sink device. This form of the RESET command is valid from any Data Concentrator source device. If the device is currently active, then it will immediately cease transmission and purge all message buffers within the system. In this case, the operation of the RESET command is identified with that of the HALT command. In the RESET case, however, the device is active following the message and no ENABLE command is needed to restart transmission:

-104SET (ST). Set the core bank used in DISPLAY/ALTER operations. The first argument is taken as the core bank number in octal format. The remaining arguments (if any) are interpreted as for the ALTER command. This command is valid only from a password source device.

-105SIGNON (SN). Enable transmission of a broadcast message from the source device identified as the first argument to any calling terminal as the call is answered. This command is valid only from a password source device. The first argument is assumed to identify a broadcast-type source "device," that is, a device assigned the broadcast attribute number. If the first argument is the default character " * " or missing, then the effect of previous SIGNON commands is cancelled. An optional second argument is provided in this command. If present, it is taken as the master console password.

-106SINK (SK). Assign the copy sink LDN identified as the first argument to all those devices identified as the remaining arguments. This form of the SINK command is valid only from a password source device. If only one argument is given, then the copy sink device LDN so identified is assigned to the source device identified by the command sink device LDN. This form of the sink command is valid from any Data Concentrator source device. See Section 4.2 for application.

-107TAPE (TE). Assign the symbolic tape parameter switches to all source devices identified as the arguments. This form of the TAPE command is valid only from a password source device. If the argument list is empty, then assign the symbolic tape parameter switches to the source device identified by the command sink LDN. This form of the TAPE command is valid from any Data Concentrator source device. This command is used to transmit formatted symbolic tape on a line-by-line basis and has meaning only in connection with Model 33/35 Teletypewriters equipped with punched tape readers capable of responding to the XOFF and XON control characters. See Section 4.5.2 for details of operation in this mode.

-108TASK (TK). Insert (via INSERT) a task on the task queue. The first argument is the index number of the task and the second is an optional argument to be passed to it, both in octal format. A task so invoked should exit only through the BUSY or DELETE return pointers, since the return pointer of a task inserted by the INSERT routine is not defined. This command is valid only from a password source device.

-109WORDCOUNT (WT). Set the binary tape word count to the value of the first argument for all those devices identified as the remaining arguments. This form of the WORDCOUNT command is valid only from a password source device. If only one argument is given, then the word count indicated is assigned to the source device identified by the command sink LDN. This form of the WORDCOUNT command is valid from any Data Concentrator source device. This command is used to set the record size of unformatted binary input text and has meaning only in conjunction with the BINARY command.

-1 105.5 MTS Command Descriptions An MTS-inbound or MTS-outbound record beginning with the SOH character is directed to a small command language interpreter which is embedded in the device support routines associated with the MTS devices. Such a record is constructed within MTS by prefixing the SOH character to one of the command lines described below. The same record can be constructed at the terminal by prefixing the STX-SOH code combination to one of the command lines described below. The first STX is necessary in the latter case to differentiate the MTS-interpreted commands from those interpreted within the Data Concentrator itself. These commands are effective only if the MTS job is in condition to read from or write on the device in question. If a command is not recognized following the SOH, the entire command line is deleted. Commands recognized at present include: JOB - Print MTS job number and device name for this I/O device. PFX OFF - Turn off prefix character transmission from MTS (equivalent to @SP modifier). PFX ON - Turn on prefix character transmission from MTS (equivalent to @,SP modifier). BIN ON - Turn off both EBCDIC/ASCII code translation and prefix character transmission from MTS (equivalent to @BIN modifier). Also disable further command recognition.

-111CC ON - Turn on carriage control recognition (equivalent to @CC modifier). CC OFF - Turn off carriage control recognition (equivalent to @-CC modifier) OPER - Transmit remaining characters in this message to UMMPS supervisor as command information. This command is effective only if the user is privileged within MTS. A reference to an MTS device name associated with device-type PDP-8 may be followed by modifiers of the form @MOD or @1MOD (see Reference 5). Those modifiers recognized in-an unusual manner in connection with the Data Concentrator are: @SP - Turn off prefix character transmission from MTS (equivalent to PFX OFF). C@SP - Turn on prefix character transmission from MTS (equivalent to PFX ON). @BIN - Turn off both EBCDIC/ASCII code translation and prefix character translation from MTS (equivalent to BIN ON). @,BIN - Turn on EBCDIC/ASCII code translation (equivalent) to BIN OFF). Other modifiers applying to the MTS device itself are given the standard meaning: @CC - Turn on carriage control recognition (equivalent to CC ON) @,CC - Turn off carriage control recognition (equivalent to CC OFF)

-1125.6 Additional Operations A special behavior is implemented within the UMMPS supervisor in regard to the Model 67 1052 on-line operator's console. If the interrupt key on the Model 67 operator's control panel is depressed, the device address used for the online operator's console is switched to device DC31, which is serviced by the Data Concentrator. The Data Concentrator device support routines which service'these lines are compatible, except for ASCII code interpretation, with the 1052 routines in the UMMPS supervisor. Thus, in case of failure of the on-line operator's console, any device attached to the Data Concentrator can be used in its place. The requisite EBCDIC/ASCII character translation is performed in the Model 67. In this connection, an ALARM channel command, which normally rings a peculiarly obnoxious bell in the Model 67, activates the on-line siren installed in the PDP-8 (see Section 2.5).

REFERENCES 1. David L. Mills, System/360 Interface Engineering Report, Memorandum 13, Concomp Project,University of Michigan, Ann Arbor, November 1967. 2. David L. Mills, I/O Extensions to RAMP, Memorandum 11, Concomp Project, University of Michigan, Ann Arbor, October 1967. 3. David L. Mills, RAMP: A PDP-8 Multiprogramming System for Real-Time Device Control, Memorandum, Concomp Project, University of Michigan, Ann Arbor, May 1967. 4. MTS - Michigan Terminal System (Second Edition), University of Michigan Computing Center, Ann Arbor, December 1967. 5. David E. Wood, A 201A Data Communication Adapter for the PDP-8: Preliminary Engineering Design Report,-Memorandum 15, Concomp Project, University of Michigan, Ann Arbor, February 1968. -113

Unclassified Security Classification DOCUMENT CONTROL DATA- R&D (Security classlfication of title, body of abstract and indexing annotation must be entered when the overeall report La Clasaitied) 1 ORIGINATING ACTIVITY (Corporate author) Za. REPORT SECURITY C IASSIFICATION THE UNIVERSITY OF MICHIGAN Unclas CONCOMP PROJECT 2b. GROUP 3. REPORT TITLE THE DATA CONCENTRATOR 4. DESCRIPTIVE NOTES (Type of report and inclusive dates) Techni ca 1 Report 5. AUTHOR(S) (Laet name, fst name, Initial) MILLS, David 6. REPORT DATE 71. TOTAL NO. OF PAGES 7b. NO. OF REFS June, 1968 113 - CONTRAC083T OR GRNT NO. 9ga. ORIGINATOR'S REPORT NUMBER(S) DA-49-083 OSA-3050 Memorandum 8 b. PROJECT NO. c. 9b. OT HE R REPORT 14O(S) (A ny oter number that may be aeesined this reporti d. 10. AVA ILABILITY/LIMITATION NOTICES Qualified requesters may obtain copies of this report from DDC. 11. SUPPLEMENTARY NOtES 12. SPONSORING MILITARY ACTIVITY Advanced Research Projects Agency 13. ABSTRACT This report describes a programmable transmission control unit which is attached to an IBM System/360 Model 67 machine operated in a timeshared environment. Called the Data Concentrator, this device provides service for AT&T teletype equipment, IBM typewriter terminal equipment, and remotely located computer equipment interconnected with serial-synchronous transmission data sets. The Data Concentrator is constructed of several different kinds of line adapters which connect on one hand to all types of AT&T data sets available for use on the switched-network, and on the other to a modified Digital Equipment Corporation PDP-8 computer. Connection is made between the System/360 multiplex channel and the PDP-8 by means of a special interface which provides a direct connection to the control lines emanating from the multiplex channel and presents a behavior compatible with other IBM transmission control units. The programmable nature of the Data Concentrator provides an unusually rich variety in transmission protocol and operational modes for its attached terminal equipment yet with minimal modifications to extant System/360 control programs. FORM 1473 DD 1JAN4 1473 Unclassified -114- Security Classification

Unclassified Security Classification 14. LINK A LINK B LINS K KEY WORDS ROLE WT ROLE WT ROLE WT Transmission Control Unit Timesharing System/ 360 PDP-8 Serial -Synchronous Start/Stop Multiprogramming INSTRUCTIONS 1. ORIGINATING ACTIVITY: Enter the name and address imposed by security classification, using standard statements of the contractor, subcontractor, grantee, Department of De- such as: fense activity or other organization (corporate author) issuing (1) "Qualified requesters may obtain copies of this the report. report from DDC." 2a. REPORT SECUI~TY CLASSIFICATION: Enter the over2a..REPORT SECUTY CLASSIFICATION: Enter the over-. (2) "Foreign announcement and dissemination of this all security classification of the report. Indicate whether "Restricted Data" is included. Marking is to be in accord-DDs not authorized ance with appropriate security regulations. (3) "U. S. Government agencies may obtain copies of.26........this report directly from DDC. Other qualified DDC 2b. GROUP: Automatic downgrading is specified in DoD Di- users shall request through rective 5200.10 and Armed Forces Industrial Manual. Enter the group number. Also, when applicable, show that optional., markings have been used for Group 3 and Group 4 as author- (4) "U. S. military agencies may obtain copies of this ized. report directly from DDC Other qualified users 3. REPORT TITLE: Enter the complete report title in all shall request through capital letters. Titles in all cases should be unclassified. If a meaningful title cannot be selected without classification, show title classification in all capitals in parenthesis (5) "All distribution of this report is controlled. Qualimmediately following the title. ified DDC users shall request through 4. DESCRIPTIVE NOTES: If appropriate, enter the type of,, report, e.g., interim, progress, summary, annual, or final. If the report has been furnished to the Office of Technical Give the inclusive dates when a specific reporting period is Services, Department of Commerce, for sale to the public, indicovered. cate this fact and enter the price, if known. 5. AUTHOR(S): Enter the name(s) of author(s) as shown on 1L SUPPLEMENTARY NOTES: Use for additional explanaor in the report. Enter last name, first name, middle initial. tory notes. If:r.ilitary, show rank and branch of service. The name of the principal author is an absolute minimum requirement. 12. SPONSORING MILITARY ACTIVITY: Enter the name of the departmental project office or laboratory sponsoring (pay6. REPORT DATa- Enter the date of the report as day, ithe for) the research and development Include address. month, year; or month, year. If more than one date appears on the report, use date of publication. 13. ABSTRACT: Enter an abstract giving a brief and factual 7a. TOTAL NUMBER OF PAGES: The total page count | summary of the document indicative of the report, even though 7ad ToTllo nUrmBE OPaG: prThe total page count tit may also appear elsewhere in the body of the technical reshould follow normal pagination procedures, ire., enter the port. If additional space is required, a continuation sheet shall number of pages containing information. be attached. 7b. NUMBER OF REFERENCES: Enter the total number of It is highly desirable that the abstract of classified reports references cited in the report. be unclassified. Each paragraph of the abstract shall end with 8a. CONTRACT OR GRANT NUMBER: If appropriate, enter an indication of the military security classification of the inthe applicable number of the contract or grant under which formation in the paragraph, represented as (TS), (S), (C), or (U). the report was written. There is no limitation cn the length of the abstract. How8b, 8c, & 8d. PROJECT NUMBER: Enter the appropriate ever, the suggested length is from 150 to 225 words. military department identification, such as project number, subproject number, system numbers, task number, etc. 14. KEY WORDS: Key words are technically meaningful terms or short phrases that characterize a report and may be used as 9a. ORIGINATOR'S REPORT NUMBER(S): Enter the offi- index entries for cataloging the report. Key words must be cial report number by which the document will be identified selected so that no security classification is required. Identiand controlled by the originating activity. This number must fiers, such as equipment model designation, trade name, military be unique to this report. project code name, geographic location, may be used as key 9b. OTHER REPORT NUMBER(S): If the report has been words but will be followed by an indication of technical conassigned any other report numbers (either by the originator text. The assignment of links, rules, and weights is optional. or by the sponsor), also enter this number(s). 10. AVAILABILITY/LIMITATION NOTICES: Enter any limitations on further dissemination of the report, other than those GPO 886-551 Unclassified - 1 15-.,Security Classification

UNIVERSITY OF MICHIGAN 3119011111111111 11115 03483 8253IIIr 111 3 9015 03483 8253