The Alto DLS
Page Numbers: Yes X: 527 Y: 10.5"
Inter-Office Memorandum
ToDLS usersDateJuly 7, 1983
FromEd Taft & Ron WeaverLocationPARC/CSL
SubjectThe Alto DLSFile[Indigo]<DLS>DLS.press
(edition 5)
We have a dedicated Alto in operation as a terminal controller or DLS (for Data Line Scanner). It serves as an interface between the Xerox Research Internet and low-speed lines (2400 baud or less) connecting to hardwired or dial-up terminals, outside timesharing services, and the like.
The DLS provides two main services:
a dial-in service, which permits outside terminals to make incoming connections (via the public telephone network or hardwired lines) and thereby gain access to servers connected to the Internet, principally Maxc, IFSs, and Ernestine; and
a dial-out service, which permits users of Altos and other computers in the Internet to make outgoing connections (via the telephone network) to external services such as timesharing systems.
There are actually several DLSs in operation at various locations in the Research Internet. Information contained in this memo applies to PARC’s DLS only.
1. Dial-in service
To access the DLS from an outside terminal, you dial an appropriate phone number (see below), connect the terminal, and issue commands to a DLS executive, which will in turn make connections over the Xerox Research Internet to servers such as Maxc.
When you initially make contact with the DLS, it first waits for you to type a single character, from which it deduces the speed of your terminal and determines what to do next. You must type one of: CTRL-C, ‘E’, ‘e’, or RETURN. The DLS then prints the greeting message:
where n is a number identifying the line to which you are connected.
If the character you typed was CTRL-C, the DLS then immediately attempts to make a network connection to the default server host for your DLS line (which on PARC’s DLS is usually Maxc). If this is successful, your terminal is logically connected to that server, with no further action on your part.
If the initial character you typed was ‘E’, ‘e’, or RETURN, or the automatic attempt at connecting to the default server was unsuccessful, you are left talking to a simple DLS executive, whose prompt is ‘>’ at the left margin, and whose commands are described in the next section.
While you have a connection open to a server, you can also give control to the DLS executive by typing the escape character, which is initially ASCII code 036 (CTRL-period on TI-700 terminals, CTRL-↑ or CTRL-SHIFT-N on most others).
If you hang up while you have a network connection open to a server, that connection is automatically broken. If the server you were connected to is Maxc, this has the effect of causing your job to be detached; for other servers, your session is terminated.
It may happen that your network connection to the server will fail in any of a variety of ways. Usually a self-explanatory message, such as ‘‘[Pup error] Tenex restarting, wait’’, will be printed out. If server or network problems cause communication to fail completely, the message ‘‘[Connection timed out]’’ will be printed within one minute, and you will be left talking to the DLS executive.
Phone numbers and modem types
The DLS is accessible via several different phone numbers, reflecting the following variations in service:
Most phone numbers are located in the Palo Alto exchange, but a few are located in the San Jose exchange so as to be reachable by a local call from the South Bay area.
Most of the lines connect to 300-baud modems, but some connect to 1200-baud modems. The 300-baud modems are compatible with all types of terminals operating at 300, 150, or 110 baud (30, 15, or 10 characters per second). The 1200-baud modems are compatible only with Vadic 3400-series modems or couplers (and, in particular, are incompatible with Bell 212 or UDS modems).
When you type CTRL-C as the initial character, the DLS decides what server to connect to (usually Maxc) based on which DLS line you are using. (Of course, you can override this default by instead typing RETURN as the initial character and issuing the ‘Connect host’ command, described in the next section.)
Complete information on phone numbers is given in a table at the end of this memo. Here is a summary of the most useful numbers:
ExchangeModemDefaultNumberPhone number
typehostof lines
Palo Alto300Maxc7(415) 493-3121
Palo Alto1200Maxc5(415) 493-3105
San Jose300Maxc2(408) 279-8488
San Jose1200Maxc1(408) 279-3166
DLS dial-in executive commands
The DLS executive has a very simple command structure. All commands are specified by a single letter, and the DLS then types the remainder of the command word. Most commands require you either to supply an argument or to confirm by typing RETURN. While typing an argument, you may delete characters by typing BS or CTRL-A, or cancel the entire command by striking DEL.
Closes your current network connection, if one is open, and then prints ‘‘Line n off’’. Your line then reverts to its initial state in which it is expecting you to type one of the initial characters (for speed determination). Hence ‘Bye’ is equivalent to hanging up and dialling in again. This is useful if you want to switch your terminal to a new speed.
Connect to: host
Attempts to establish a connection to the specified server. Usually host is simply the name of a server host (e.g., ‘Maxc’), but any Xerox Internet name or address expression is legal.
Closes your current network connection, if one is open.
Escape character = c
Changes your escape character to c, where c may be whatever character you type in (RETURN and DEL are not permitted). Initially the escape character is CTRL-↑ (ASCII 036B).
Flush typein stream
Discards all characters you have typed but that have not yet been consumed by the server at the other end of the open connection. This is useful if you have lost control of the server due to having typed ahead more characters than the combined buffering capacity of the server and the DLS.
Makes a connection to a Grapevine unintelligent terminal server (‘‘Ernestine’’). No confirming RETURN is required.
Local echoing on/off
Ordinarily, when your terminal is logically connected to a server (e.g., Maxc), that server provides echoing of characters you type. This command toggles a switch that determines whether or not the DLS is to echo characters locally. The default state of the switch is ‘off’.
Resume connection
Resumes your terminal’s logical connection to the server (if there is one). You use this command after having typed the escape character and issued other DLS executive commands (except Disconnect).
Prints the version and release date of the DLS control program.
Prints the list of commands.
Hardwired lines
There are 16 lines that are hardwired to terminals in people’s offices; terminals currently connected include TI-700, Tektronix 4023, and DataMedia 3000. The number of hardwired lines is strictly limited to 16, so if you want one you must negotiate with some present owner.
Operation of the DLS through hardwired lines is the same as through dial-in lines except that you never dial in, data rates of up to 2400 baud (240 characters per second) are accepted, and certain parameters (default host, terminal type, screen dimensions) may be preset on a per-line basis.
2. Dial-out service
The dial-out service enables you to make outgoing connections through the DLS from your Alto. This service is presently being provided without any controls or accounting, and all phone charges are billed to PARC. It is our hope that this arrangement will prove adequate and will not be abused.
If you intend to use the dial-out service, please send a message to Ron Weaver <RWeaver.PA> before using it for the first time. You should be aware of the following points:
The principal intended clients for this service are the PARC librarians, who depend on it very heavily in their day-to-day operation. There are only three 300-baud and five 1200-baud dial-out lines (the latter are also the only Palo Alto 1200-baud dial-in lines). Extensive use of this service by other users may require negotiation to avoid conflict with the library.
Calls originate in Palo Alto, and are charged at regular business phone rates. Please refrain from making calls outside the Palo Alto calling area unless absolutely necessary.
How to use it
You access the DLS dial-out service by running Chat on your Alto and making a connection to the DLS. Assuming you have Chat.run on your disk, simply type:
>Chat ParcDLS+300 RETURNto access a 300-baud line, or
Chat ParcDLS+1200 RETURNto access a 1200-baud line.
If the DLS is operating normally, you will shortly see the message:
PARC DLS dial-out server, line n (b baud)
If all the dial-out lines of the speed you requested are in use, Chat will display a message to that effect and will not complete the connection to the DLS.
The dial-out server has a simple executive with a small number of single-character commands. When you see ‘>’ at the left margin, the DLS executive is waiting for you to type a command. Now type:
>Call phone number xxx-xxxx RETURN
that is, ‘C’ followed by the phone number you want to dial, terminated by RETURN. The DLS will proceed to dial the number.
If the call is answered and the correct answering tone is heard, the DLS will display the message ‘‘Call completed’’, perhaps followed by a greeting from the computer system you called. Thereafter, all characters you type will be sent over the phone connection, and all characters received over the phone connection will be displayed on your Alto screen.
If the number you dialled is busy or doesn’t answer within 30 seconds, the message ‘‘Failed to complete connection’’ will appear, and control will return to the DLS executive. Unfortunately, the DLS can’t distinguish between the busy and no-answer conditions. Problems other than busy and no-answer will result in the message ‘‘Dialler or phone system malfunction’’.
To terminate the connection, first log out from the remote computer in whatever way is appropriate. The easiest next step is simply to Quit out of Chat (with BLANK-MIDDLE Q or SHIFT-SWAT). This both hangs up the DLS dial-out line and breaks the connection between your Alto and the DLS.
You can also return control to the DLS executive by typing CTRL-← (CTRL-left-arrow), then break the connection using the Disconnect command, described in the next section.
If the phone connection is broken because the remote computer hangs up, the message ‘‘Dial-out connection broken’’ is displayed and control returns to the DLS executive.
Dial-out server executive commands
You can type any of the following commands when you see ‘>’ at the left margin. You must terminate all commands with RETURN.
Baud rate = number
Sets the speed of the dial-out connection. Only 300-baud lines may have their speed changed in this manner, and legal values are 300, 150, and 110.
Call phone number number
Dials the phone number you specify, as described above. The phone number may be up to 15 digits long. The forms ‘nnn-nnnn’ and ‘(nnn) nnn-nnnn’ are accepted, or you may type the entire phone number without punctuation. (In fact, parentheses and hyphens are simply ignored.)
Breaks the dial-out connection, by hanging up the phone line. Control remains in the DLS executive.
Escape character = c
Changes your escape character to c, where c may be whatever character you type in (RETURN and DEL are not permitted). Initially the escape character is CTRL-← (ASCII 037B).
Breaks the dial-out connection (if there is one), and then breaks the connection between your Alto and the DLS dial-out server.
Resume connection
Resumes your dial-out connection (if there is one). You use this command after having typed the escape character and issued other DLS executive commands (except Disconnect).
Other notes
To capture your dialog in a file, enable the Chat typescript feature by typing MIDDLE-BLANK T followed by a file name and RETURN. When you are done, type MIDDLE-BLANK T RETURN to close the typescript file; or alternatively just Quit from Chat. The typescript file will be on your Alto disk, and you can edit it, print it, etc., in the usual fashion. (Alternatively, you can specify a Chat typescript file by an appropriate entry in your User.cm.) Further information about Chat may be found in the Alto Non-programmer’s Guide and in the Chat documentation (file <AltoDocs>Chat.tty).
You can get the DLS dial-out server to generate a ‘‘long space’’ by typing CTRL-SPACE on your Alto keyboard; this is equivalent to pressing the BREAK key on ordinary terminals.
You can connect to a specific DLS line by means of the command ‘‘Chat ParcDLS+1000xx’’, where xx is the desired line number. At present, the main use of this feature is connecting to GSL’s Vax computer, which is hardwired to DLS line 13 (i.e., ParcDLS+100013), and to CSL’s WWV time receiver, which is on line 15 (ParcDLS+100015).
3. Current configuration, phone numbers, etc.
The DLS line configuration changes occasionally; its current state is given in file [Indigo]<DLS>ParcDLS.config, which is a text file that is read by the DLS control program to determine how it is to treat each line. This file specifies terminal parameters, phone numbers for dial-in lines, and owners and office numbers of hardwired lines. A copy of this file appears below.
Contents of DLS.config, as of July 7, 1983
// Hardwired lines
00 Hardwired Host Maxc
// Maxc room
01 Hardwired Host Maxc
// Maxc room
02 Hardwired Host Maxc Type 10 Length 24 Width 80
// 35-3212 A. Wilder
03 Hardwired Host Maxc Type 10 Length 24 Width 80
// 35-3550 L. Anderson
04 Hardwired Host Maxc
// 35-1014 & 1344 Cheng
05 Hardwired DialOutOnly Baud 1200
// 35-2176 Swinehart
06 Hardwired DialOutOnly Baud 1200
// 35-2110 Larry Stewart
07 Hardwired DialOutOnly Baud 1200
10 Hardwired Host Maxc Type 10 Length 24 Width 80
// 35-2102 M. Kay
11 Hardwired Host Maxc Type 10 Length 24 Width 80 NoPad
// 35-2116 Tim Diebert
12 Hardwired Host Maxc Length 24 Width 80
// 35-2328 Glen Williams - ISL
13 Hardwired DialOutOnly Baud 1200
// 35-1126 Vax
14 Hardwired Host Maxc Type 10 Length 24 Width 80
// 35-Receptionist
15 Hardwired DialOutOnly Baud 2400
// 35-2106 WWV receiver
16 Hardwired DialOutOnly Baud 1200
// 35-2234 EtherPhone
17 Hardwired Host Maxc
// 35-2148 Taft

// The following are 300-baud, dial-in only, San Jose exchange
23 Dataset Control 43 Host Maxc
// (408) 279-8489 rotary [2]
24 Dataset Control 44 Host Maxc
// (408) 279-8488 rotary [1]

// The following is 1200-baud, dial-in only, San Jose exchange
25 Dataset Control 45 Host Maxc
// (408) 279-3166

// The following is 300-baud, dial-in or dial-out, Palo Alto exchange
// (more of these below)
26 Dataset Control 46 DialOut 15 1 Host Maxc
// (415) 493-2130

// (415) 493-3128 rotary [8] not currently connected to the DLS

// The following are 300-baud, dial-in only, Palo Alto exchange
31 Dataset Control 51 Host Maxc
// (415) 493-3127 rotary [7]
32 Dataset Control 52 Host Maxc
// (415) 493-3126 rotary [6]
33 Dataset Control 53 Host Maxc
// (415) 493-3125 rotary [5]
34 Dataset Control 54 Host Maxc
// (415) 493-3124 rotary [4]
35 Dataset Control 55 Host Maxc
// (415) 493-3123 rotary [3]
36 Dataset Control 56 Host Maxc
// (415) 493-3122 rotary [2]
37 Dataset Control 57 Host Maxc
// (415) 493-3121 rotary [1]

// 40-57 control lines for the above

// Dialler control lines
60 Dialler CRQ
61 Dialler DP
62 Dialler NB1
63 Dialler NB2
64 Dialler NB4
65 Dialler NB8

// The following are 300-baud, dial-in or dial-out, Palo Alto exchange
// (another of these above)
66 Dataset Control 67 DialOut 12 1 Host Maxc
// (415) 493-1563
70 Dataset Control 71 DialOut 11 1 Host Maxc
// (415) 493-1510

// The following are 1200-baud, dial-in or dial-out, Palo Alto exchange
27 Dataset Control 47 DialOut 1 0 Host Maxc
// (415) 493-3129 rotary [5]
30 Dataset Control 50 DialOut 3 0 Host Maxc
// (415) 493-3104 rotary [4]
72 Dataset Control 73 DialOut 9 0 Host Maxc
// (415) 493-3139 rotary [3]
74 Dataset Control 75 DialOut 7 0 Host Maxc
// (415) 493-3107 rotary [2]
76 Dataset Control 77 DialOut 5 0 Host Maxc
// (415) 493-3105 rotary [1]