Inter-Office Memorandum
To DLS Administrators Date January 22, 1985
From Tim Diebert  Location PARC
Subject Alto DLS Operation Organization CSL
Filed as [Indigo]<DLS>DLSOperation.tioga
Hardware requirements
A DLS consists of an Alto-I (sorry, not an Alto-II) with some special hardware that enables it to interface to 64 incoming and 64 outgoing EIA levels, such as are used for all control and data signals in RS232 connections. A direct connection to a terminal requires one DLS line'' (EIA input-output pair); connecting to a modem requires a second line for control signals; and connecting to an auto-dialler (RS366) requires six additional lines.
The DLS software imposes some configuration limitations. There is insufficient memory to support more than about 32 data lines (exclusive of modem and dialler control signals). The software supports data rates up to 2400 baud; however, it cannot run more than a fraction of all the DLS lines at high rates simultaneously. (For example, simultaneous sustained output on 32 lines at 300 baud is about the best the DLS can do.)
Special DLS hardware
The special hardware consists of a single wire-wrap card holding 60 chips. The card plugs into one of the three spare Alto memory bus slots. Wired to the card (via two large connectors) are terminal strips mounted on the Alto's back cover. These are in turn connected to modems, terminal distribution networks, or whatever.
The DLS card is not a standard item, but must be specially fabricated on demand. Hardware documentation presently exists only in hardcopy form that may be obtained from Ed Taft; it includes logic drawings, a parts list, and a wire list suitable for hand wire-wrapping.
Modems and diallers
For dial-in use, any RS232-compatible modem will do. Modems should be connected as described in the next section.
For automatic dial-out applications, the modems and diallers supported by the existing software are made by Racal-Vadic; other manufacturers' products probably won't work. The recommended hardware is as follows:
One or more VA1616AM chassis, which each accept up to 16 300-baud or 8 1200-baud modems.
VA317 (answer-only) or VA355 (originate-answer) 300-baud direct-connect modems.
VA3484 1200-baud direct-connect modems (compatible only with other Vadic 1200-baud modems; Bell 212-compatible modems are also available).
VA811 auto-dialler; only one dialler is required for a system that consists of up to four chassis. (The VA831 RS232 to RS366 converter is not required.)
Terminal and modem cables
This section describes the construction of cables for connecting the DLS to various devices. In each case, one end of the cable is terminated in lugs that match the terminal strips on the back of the Alto; the other end is terminated in a DB-25 connector (male or female, as specified).
The following cable is used to connect a terminal directly to the DLS, without using a modem. The entry in the DLS configuration file (described later) looks something like:
d Hardwired
where d is the DLS line number.
DLS end Terminal end (female) Signal name
line d input pin 2 Transmit Data
line d output pin 3 Receive Data
line d ground pin 7 Signal Ground
jumper pins 5, 6, 8, 20 Clear to Send, Data Set Ready, Carrier Detect, Data Terminal Ready
A similar cable may also be used to connect the DLS as a terminal'' to a host computer, except that a male connector is used, pins 2 and 3 must be interchanged, and the jumper should be omitted.
The following entry is needed in the configuration:
d Log
where d is the DLS line number. This line number should be connected to a terminal or printer in order to save the log of activity. If you do not want a log, simply don't hook up a terminal.
The following cable is used to connect a modem to the DLS. One DLS line is used for data and one for control. The declaration in the DLS configuration file looks like:
d Dataset Control c
where d is the number of the DLS data line and c is the corresponding control line.
DLS end Modem end (male) Color Code Signal name
line d input pin 3 Green Receive Data
line d output pin 2 White Transmit Data
line d ground pin 7 Black Signal Ground
line c input pin 5 Red Clear to Send
line c output pin 20 Brown Data Terminal Ready
The following cable is used to connect a Racal-Vadic dialler to the DLS. Six DLS lines are used to control the dialler. The declaration in the DLS configuration file looks like:
a1 Dialler CRQ DiallerType c
a2 Dialler DP
a3 Dialler NB1
a4 Dialler NB2
a5 Dialler NB4
a6 Dialler NB8
where a1 through a6 are the numbers of the DLS lines devoted to controlling the dialler and c is 1 for a Vadic VA811 dialler and 0 if not.
DLS end Dialler end (male) Signal name
line a1 input pin 5 Present Next Digit
line a1 ground pin 7 Signal Ground
line a1 output pin 4 Call Request
line a2 input pin 3 Abandon Call and Retry
line a2 output pin 2 Digit Present
line a3 input pin 13 Data Set Status
line a3 output pin 14 Number Bit 1
line a4 output pin 15 Number Bit 2
line a5 output pin 16 Number Bit 4
line a6 output pin 17 Number Bit 8
Configuration file
The line configuration is specified by a configuration file which is customized for each DLS. This file describes which DLS lines are used as RS232 data lines, the association between data and control lines, and various other things. It also specifies a small number of terminal parameters such as default baud rates, screen dimensions, etc., which may be set on a per-line basis.
When the DLS software is started, it reads User.cm looking for an entry like this:
[DLS]
Indirect: fileName
Name: systemName
Registry: registry
AuthorizationList: AuthorizationList^.registry
InAuthorizationList: InAuthorizationList^.registry
WizardList: WizardList^.registry
FileName is the name of the configuration file on the local disk. (If there is no such entry in User.cm, it expects the configuration file to be called DLS.config.)
SystemName is text included in the herald displayed to users at connection time; for example, PARC DLS''.
Registry is the default registry to be used during the login sequence.
AuthorizationList is the name of a standard Grapevine distribution list containing the R-Names of those users who are authorized to make use of the DLS Dial-out capability. If a DL name is not specified any valid R-Name has access to the Dial-out service.
InAuthorizationList is the name of a standard Grapevine distribution list containing the R-Names of those users who are authorized to make use of the DLS Dial-in capability. If a DL name is not specified any valid R-Name has access to the Dial-in service.
WizardList is the name of a standard Grapevine distribution list containing the R-Names of the users who are authorized to control the DLS via the internet. This defaults to DLSWizards^.pa
The contents of the configuration file are not documented here. You should examine [Indigo]<DLS>ParcDLS.config, which includes syntax equations and other information as comments at the beginning of the file.
Test program
[Indigo]<DLS>DLSTest.run is a diagnostic program that may be used for initial checkout and failure diagnosis. Most of DLSTest's facilities were implemented to assist with development of the DLS driver software and microcode; only those facilities expected to be useful for hardware checkout are described here.
When started up, DLSTest reads the configuration file as described above. The DLS's normal configuration file is acceptable to DLSTest. However, for initial checkout, a more useful configuration file is [Indigo]<DLS>HardWired64Line.config, which defines all 64 lines to be directly-connected terminals. This enables you to check out all 64 lines using one terminal which you connect to each line in turn. (This configuration, by the way, is not acceptable to DLSControl because it defines more data lines than DLSControl has memory to handle.)
DLS Test Commands
Each test is initiated by a single-character command (type ?'' for a list), and terminates when you strike any character on the Alto keyboard. Each test operates simultaneously on all data lines declared in the configuration (except for modems that are hung up); control lines and lines not mentioned in the configuration are inactive.
Output test
Endlessly transmits a constant sequence of characters on each data line.
Input test
Receives characters from any data line. Whenever a character arrives, it displays the line number and character code on the Alto display.
Echo test
Same as Input test, except that each character received is also transmitted on the same line.
Mixed input/output test
Starts the same as Output test. When a character is received on any line, that line switches to Echo test. When the ESC character is received on that line, the line reverts to Output test.
Buffered input/echo test
For each line, receives and echos characters until ESC is received, then endlessly transmits the sequence of characters that were received.
Display on/off
Toggles the Alto display on and off. Turning the display off substantially increases the number of Alto cycles that can be devoted to running the DLS. This reduces or eliminates pauses in output that occur when running all lines simultaneously in a large configuration.
Quit
Exits to the Alto Executive.
Control program
[Indigo]<DLS>DLSControl.run (and .syms) is the control program for normal DLS operation. Assuming User.cm and the configuration file are properly set up, you just run DLSControl (which takes only a few seconds to start up).
Changes in DLS Control
This version of DLSControl is dramatically different from previous versions in the the display is no longer supported. You may still executed all of the console commands to the DLS. In order to access the control commands for the DLS two things must happen:
1. You must connect and login to a DLS Dial-out server.. If your configuration does not include Dial-out lines, simply connect to any line using the specified line connection instructions. (See [Indigo]<DLS>DLS.press for information on how to do this.)
2. You must be on the Wizard list described above.
To enter control mode type the following to the DLS server:
>Wizard mode [Confirm] Yes
Checking to see if you are a wizard ... ok

? Broadcast, Display status, Post Notice, Quit, Remove Notice, ShutDown
W>
Control Commands
After you have entered control mode you may execute any of the commands listed. Each command is invoked by typing the first character.
Status display
The Display status command will display the following information:
W>Display Status
Number of PBI's = 163
Number of Input Buffer Overflows = 22701

0 1 2 3 4 5 6 7
0 On Rem On On On Off Off Log
1 On On On Off On Off Off On
2 -- -- -- Off Off Off Off Off
3 Off Off Off Off Off Off Off Off
4 -- -- -- -- -- -- -- --
5 -- -- -- -- -- -- -- --
6 -- -- -- -- -- -- Off --
7 Out -- Off -- Off -- Off --

Line Name
70 Diebert.pa
W>
Number of PBI's is an indication of the number of Packet Buffers for this configuration of the DLS. If this is a small number there may be a deadlocking problem.
Number of Input Buffer Overflows is the number of times that a character has be received but the read buffer for the line did not have space for the character. This number can be reduced by having users who's remote machines support the Xon/Xoff flow control protocol.
The state of a line is one of the following:
—— Not a data line (it may be a control line or unused).
Log This is the DLS line that Dial-Out servers will send logging information to.
Off A DataSet line that is hung up, or a DialOutOnly line that is not in use.
On A line that is connected but inactive. An idle HardWired line is always in this state; for a DataSet line, this means that a phone connection is established (carrier present) but no characters have been received on the line (the line is in speed-determination mode).
Act A line that is being controlled from a terminal and is at DLS command level (i.e., beyond the initial speed determination sequence).
Rem A line that is being controlled from a terminal and has a remote'' connection in progress (i.e., a Telnet connection to a server such as Maxc, Ernestine, etc.)
Out A line that is being controlled from a network connection (i.e., dial out'').
Broadcast message
Accepts a one-line message, which you type to the DLS terminated by CR, and immediately transmits that message on every DLS line that is in the On, Act, or Rem state. Note: due to implementation difficulty, this message is not sent over the controlling network connection of a line in the Out state (if possible, use the Post command instead).
Post signon message
Accepts and remembers a one-line message, which you type to the DLS terminated by CR. This message is displayed at connection time to all subsequent new users (whether the connections are controlled from the terminal or the network).
Quit
Returns to the Dial-out server executive.
Remove posted notice
Removes a message previously established by the Post command.
Shutdown
Broadcasts a shutdown message, breaks all network connections, hangs up all modems, and exits to the Alto executive.