Google
 

Trailing-Edge - PDP-10 Archives - dec-10-omona-u-mc9 - netprm.mac
There are 13 other files named netprm.mac in the archive. Click here to see a list.
UNIVERSAL NETPRM COMMUNICATION DEVICE INDEPENDENT NETWORK SERVICE ROUTINES - V013
SUBTTL D. TODD / D. MCCLURE  01 MAR 77
	SEARCH	S,F
;*** COPYRIGHT 1974,1975,1976,1977 DIGITAL EQUIPMENT CORP., MAYNARD, MASS. ***
XP	VNETPRM,013	;PUT VERSION NUMBER IN GLOB AND LOADER MAP


COMMENT\			;;;REVISION HESTORY

V0		;INITIAL PRODUCT IMPLEMENTATION
\
COMMENT\
                                Overview




The goals of this project are to provide  a  reliable,  high  throughput
synchronous  front  end,  and  remote  station  for the 602 DECsystem-10
monitor. It is also a goal of this project to  be  compatible  with  the
current NCL effort under RSX11D.

The DAS82 is a PDP-11 based remote station  for  the  DECsystem-10.  The
DAS82  communicates with the DECsystem-10 via a synchronous line running
at speeds up to 9600 baud. The DAS82 has a 300 cpm card  read,  250  lpm
line printer, and 32 asynchronous lines.

The  DAS85  is  a  PDP-11  based  communications  front  end   for   the
DECsystem-10.  The DAS85 communicates with remote stations with up to 16
synchronous lines running at up to 9600 baud each, aggregate baud  rates
up to 50 kilobaud.
                        Hardware Configurations

01.1  DAS82

A DAS82 includes:
       1.) PDP-11/40 processor
       2.) KW11 clock
       3.) 16k core memory
       4.) interface for a console tty
       5.) KG11
       6.) up to 16 DQ11 synchronous line interfaces
       7.) LP11 132 col line printer
       8.) CR11 card reader
       9.) 2 DH11's

01.2  DAS85

A DAS85 includes:
       1.) PDP-11/40 processor
       2.) KW11 clock
       3.) 16k core memory
       4.) interface for a console tty
       5.) KG11
       6.) a DL10 interface
       7.) up to 16 DQ11 synchronous line interfaces
                      DECsystem-10 user interface

03.0

This project shall make use of the "station" concept used in the DECSYNC
protocol DC75 and DC72.

03.1  MONGEN changes.

In 507 and older monitors MONGEN was told specific device configurations
and station numbers.  For this project MONGEN will be changed to accept:
          1.) Node # for DECsystem-10 and node # for DAS85.
          2.) Maximum # of stations.
          3.) Maximum # of station tty's.
          4.) Maximum # of station LPT's, CDR's.
          5.) Maximum # of station tasks.

03.2  Monitor Commands

This project will require the addition of a monitor command "NODE" (or
perhaps "ASSIGN").  The general format will be:

          ASSIGN  nodename(nnn)_ device:  logical-name

e.g.:

          ASSIGN SYS525_ LPT1:  OUTPUT
          ASSIGN 55_ CDP:  FOO
          ASSIGN 3_ JOB:LPTSPL BARF
much as ":" is used as a delimiter for device names.

03.3  Monitor Calls

;a new uuo will be implemented.  The call will be:

                    MOVE    AC,[function,,adr]
                    CALLI   AC,#
                    error return
                    success return

                      . . .

ADR:                WORD COUNT
                    #       ;NODE NUMBER
                            ;DEVICE NAME
                            ;logical name

If a device block for the device does not yet exist, a device block will
be built.  A connect will be done to the remote device.
NCL Philosophy


04.0  NCL PhILOSOPHY

NCL networks consist of two type, "sequential" and "nonsequential".

In a sequential network there is at most one path from any node to any
other node.  A sequential node whose DDCMP acks a message is committed
to pass the message on in order to its destination.  The message may
only be discarded if the destination has died.

In a nonsequential network there may be many paths from any node to any
other node.  A message may become lost and require retransmission (e.g.
an intermediate node DDCMP acks a message and then dies).  Further
messages may arrive out of order in a nonsequential (e.g.  two nodes
have two DDCMP links between themselves).  A nonsequential node whose
DDCMP acks a message should pass the message on to it destination, but
may discard it.

Nonsequential nodes need to determine whether their messages have
arrivied at their destinations, so nonsequential nodes maintain an
end-to-end numbering scheme for all important messages.  The NCL-REP,
NCL-ACK, and NCL-NAK messages are used to maintain the message
numbering.

For nonsequential networks it is important that messages not lay around
too long (consider the case of node A sends message 1 to node B and then
retransmits and finally message numbers wrap around and the second copy
of message 1 pops out and node B beleives the old message 1 is the new).
So in nonsequential networks, if the DDCMP routine is unable
successfully transmit a message to the next node within a given quantum
of time (we will use 15 seconds), the message will be disposed of and
DDCMP message numbers will be realigned using the RESET and RESAK
messages.  Any node may calculate the maximum length of time a message
will be outstanding ( 15 seconds times max number of links to
destination), and will use a this time for its NCL-REP timer.
                         Software Configuration

02.0

This software will be integrated into the 6.02 monitor, and will be
available as an LIR to the 6.01/5.07 monitor.

02.1  Assembling DAS82 code.

The DAS82 code is assembled with a configuration file, C.P11.  A typical
C.P11 would be:

          FT.D82=1            ;SO WE DAS82 CODE
          T0XS=^D2400         ;TRANSMIT SPEED FOR TTY #0 IS 2400 BAUD
          T0RS^D110           ;RECEIVE SPEED FOR TTY #0 IS 110 BAUD
          T10DSL=1            ;LINE 10 IS A DATASET LINE
          T12ADL=1            ;TTY LINE 12 IS AN AUTO DIAL LINE
\
SUBTTL NCS FIELD DEFINATIONS
;USE THE PDP-11 FORMATS TO DEFINE PDP-10 BIT
;IE:
B0==1B35	;LOW ORDER BIT
B1==1B34	;..
B2==1B33
B3==1B32
B4==1B31
B5==1B30
B6==1B29
B7==1B28	;HIGH ORDER BIT USED FOR A FLAG OR EXTENDING A FIELD
B8==1B27	;LOW ORDER BIT OF NEXT LEFT CHARACTER
B9==1B26
B10==1B25
B11==1B24
B12==1B23
B13==1B22
B14==1B21
B15==1B20
B16==1B19	;HIGH ORDER BIT OF SECOND LEFT CHARACTER
B17==1B18	;LOW ORDER BIT OF SECOND WORD FIRST CHARACTER
B18==1B17
B19==1B16
B20==1B15
B21==1B14
B22==1B13
B23==1B12
B24==1B11	;HIGH ORDER BIT OF SECOND WORDS FIRST CHARACTER
COMMENT \
                       SYNCHRONOUS LINE PROTOCOL


05.1  DDCMP MESSAGES (all but DATA are preceded by synchronization
sequence.)

DATA --     SOH  CC1    CC2    MSG#   NMSG  A0  BCC1  n*DATA BCC2
ACK --      ENQ  <001>  FILL   MSG#   FILL  A0  BCC1
NAK --      ENQ  <002>  RNAK   MSG#   FILL  A0  BCC1
REP --      ENQ  <003>  FILL   FILL   NLST  A0  BCC1
RESET* --   ENQ  <004>  FILL   FILL   NNXT  A0  BCC1
RESACK* --  ENQ  <005>  FILL   NEXP   FILL  A0  BCC1
STRT --     ENQ  <006>  FILL   FILL   NBEG  A0  BCC1
STACK --    ENQ  <007>  FILL   NREC   NXMT  A0  BCC1

BOOT --     DLE  CC1    CC2    <000>  <000> A0  BCC1  BOOTDATA      BCC2

     "n" =the number of data bytes, a 16-bit quantity made up of CC1 and
          CC2.
     A0  =1 (Station number;  always one for point to point.)
     ADDR=4 byte field containing the address for  the  core-image  data
          being loaded or dumped.
     BCC1=16 bits of BCC computed on the first 6 bytes of the message.
     BCC2=16 bits of the BCC computed on the "n" data bytes.
     BNUM=2 byte field containing number of bytes to be dumped.
     CC1 =the low order 8 bits  of  the  character  count  of  the  data
          portion.
     CC2 =the high order 8 bits of  the  character  count  of  the  data
          portion.   The  two  high  order  bits of this byte are really
          flags for the multi-point case, but will always  be  zero  for
          the point-to-point case.
     DLE =220    (This is the starting character for station  management
          messages.)
     ENQ =005    (This is the starting character for control messages.)
     FILL=0 (Filler;  is checked and must be zero.)
     IDAT="n" bytes of image data, which the station  will  put  at  the
          address contained in ADDR.
     MSG#=number of the last good message received (implies ACK  of  all
          lower numbered messages).
     NBEG=first message number this station will transmit after  startup
          is completed.
     NEXP=message number expected to be sent next(usually NNXT field  of
          REP message).
     NLST=number of last transmitted data message.
     NMSG=the number of this message.
     NNXT=next numbered message to be transmitted  (i.e. lowest  message
          that has not been acked).
     NREC=next message number for reception (usually NBEG field  of  the
          STRT message).
     RNAK=Reason for negative acknowledgement:
          1=Header BCC incorrect
          2=Data BCC incorrect
          3=The last REP message received indicates we lost one or  more
          messages.
          10=Buffer space temporarily unavailable
          11=Receive overrrun (data lost)
          20=Data message is too long
          21=Header format error (e.g. non-zero fill)
     SNAM=software system defined  data  identifying  which  program  to
          load.
     SNUM=a sequential numbering of successive boot messages.
     SOH =201    (This is the starting character for data messages.)
     BOOTDATA will be one of the following formats:
          BOOT           SNA    <000>
          EXAMINE        SNA    <001>   <adr1> <adr2>
          DEPOSIT        SNA    <002>   <adr1> <data>
          GO TO          SNA    <003>   <adr>
          CLEAR          SNA    <004>   <adr1> <adr2>
          DEBUG          SNA    <005>
          ACCEPT         DNA    <011>   <adr>
          EXAMINE DATA   DNA    <012>   <adr>  <data>
          REJECT         DNA    <013>
          REQUEST BOOT   DNA    <014>   <type> <serial> <description>
          REQUEST LOAD   DNA    <015>   <type> <serial> <description>
     DESCRIPTION=extensible Ascii;  text which describes program  to  be
          loaded, usually a file description.
     DNA=extensible binary, node number the bootstrap message should  be
          routed to.  Zero means default.
     SERIAL=extensible binary;  the serial number  for  the  node  being
          booted.
     SNA=extensible binary;   the  node  number  of  the  station  which
          originated the bootstrap message.
     type=extensbile binary;  code for the type of node requesting load:
                    1=DC71 (PDP8I with DP01).
                    2=DC72 (PDP8E with DP8E).
                    3= (PDP11/40 with DU11).
                    4=DAS82 (PDP11/40 with DQ11).
\
COMMENT \
05.2.1  NODE ID Message.

The NODE ID message is necessary for the case of two nodes connected  by
two  links.  It is the first message sent between adjacent nodes after a
DDCMP-START/STACK sequence.   It  is  never  sent  between  non-adjacent
nodes.  SNA and DNA are never present in a NODE ID message.

05.2.2  START/STACK Messages.

4.2.3  Neighbours Messages.

Everytime a node aquires a new  neighbour,  or  loses  a  neighbour,  or
changes  a  link  level,  the node will send a neighbours message to all
nodes it knows.

4.2.4  NCL REPS, ACKS & NAKS

The NCL REP timer must be long enough that a REP will never arrive ahead
of  another message.  The NCL NAK message is sent only in response to an
NCL REP message.  A station which transmits an NCL NAK must discard  all
numbered NCL messages which the NAK doesn't implicitly ACK.

4.2.5  Routing algorithims.

All nodes remember all other nodes and their  neighbours.   A  node  may
give  a  message  to  any other node whose level for the station is less
than the original node's.  A message for another node may  be  given  to
any other node as long as the best route

4.2.6  Sequential nodes.

Nodes which need to  have  the  minimum  subset  of  NCL  will  use  the
SEQUENTIAL subset.  Sequential nodes will idicate they are sequential by
never setting the non-sequential bit in the NCT byte.  Sequential  nodes
will  use  zero bytes for transmission of NCA and NCN.  Sequential nodes
will ignore NCA and NCN on input.  Sequential nodes don't send  NCL-ACK,
NCL-NAK,  NCL-REP,  NCL-START, or NCL-STACK messages.  When a sequential
node sends a neighbours message he will list all nodes he will do  route
through for.

Non-sequential  nodes  may  optionally  support  sequential  nodes.    A
non-sequential  node  will  talk  to  the  sequential node as if he were
sequential.
\
SUBTTL  NCS Formats

COMMENT	\
unnumbered control --    NCT   SNA   DNA   NCA   NCN   OPD
numbered control --      NCT   SNA   DNA   NCA   NCN   0     CM
DATA --                  NCT   SNA   DNA   NCA   NCN   DLA   dev control
\

;DLA=			;destination message  link  address,  i.e. the  index  into  the
			;node's  connection  database.  Extensible field, maximum of 12
			;bits, zero is illegal.
;DNA=			;destination NNM
;NCA=			;Network Control Ack;  last network message received ok.
;NCN=			;Network Control message Number.  One byte binary field.
;NCT=			;network control message type and flags, extensible field.
	XP	NCT.TP,B0!B1!B2	;bits 0-2=type field
	XP	NCT.DM,0	;0=data message
	XP	NCT.AK,1	;1=ack.
	XP	NCT.NK,2	;2=nak.
	XP	NCT.RP,3	;3=rep.
	XP	NCT.ST,4	;4=start.  OPD is NNM SNM SID.
	XP	NCT.SK,5	;5=stack.
	XP	NCT.ID,6	;6= NODE ID OPD IS NNM SNM SID
	XP	NCT.RH,B3	;bit 3=SNA and DNA present.
	XP	NCT.TR,B4	;bit 4=trace
	XP	NCT.IT,B5	;INTERRUPT MESSAGE (NOP DRQ COUNT)
	XP	NCT.SQ,B6	;SEQUENTIAL NODE
	XP	NCT.EX,B7	;bit 7=extensible bit
;NNM=			;node name, a binary  extensible  field,  maximum  of  12  bits,
			;identifying node.  Zero means next node over synchronous line.
;OPD=			;optional data.
;SID=			;software identification, extensible ASCII with  two  subfields:
			;1) name and version of operating system and DEMOS software,
			;2)  creation date.
;SNA=			;source NNM.
;SNM=			;station name is an extensible ASCII field.
SUBTTL NCL NETWORK MESSAGES
COMMENT	\
CM = one of the following:

CONNECT --              CNT    <001>  DLA   SLA   DPN   SPN   MML   FEA
DISCONNECT --           CNT    <002>  DLA   SLA   RSN
NEIGHBOURS --           CNT    <003>  (NNM  LVL)
REQ CONFIG --           CNT    <004>
CONFIGURATION --        CNT    <005>  OPD
DATA REQUEST --     	CNT    <006>  DLA   DQR
STATION ID --		CNT    <007>  OPD
\

;DEFINE THE PROTOCOL "CM"'S
NC.CNT==<001>
NC.DSC==<002>
NC.NBN==<003>
NC.RCF==<004>
NC.CNF==<005>
NC.DQR==<006>
NC.CTL==<007>
NC.MAX==NC.CTL	;LAST NC MESSAGE TYPE
;CNT=		;count of remaining bytes in message.  
;DCD=		;attributes for card reader:  
		;bits   0+1=speed(0=don't   care,1=<300,2=between    300    and
		;600,3=>600)
		;bit 2=mark sense
		;bit 3=hdw EOF required
		;bit 4=suppress EOF card detection
;DCM=		;data code and mode:
	XP	DCM.AS,b0	;ASCII
	XP	DCM.EB,b1	;EBCDIC
	XP	DCM.IM,b2	;Image
	XP	DCM.HO,b3	;Hollerith(CDR only)
	XP	DCM.DI,b4	;DEC image (CDR only)
	XP	DCM.RV,b5	;reserved
	XP	DCM.CP,b6	;compressed format 

;DLP=		;attributes for line printer:
	XP	DLP.S0,0	;speed(see DCD)
	XP	DLP.S3,1
	XP	DLP.S6,2
	XP	DLP.S9,3
	XP	DLP.LL,b2	;lower case req
	XP	DLP.RC,b3	;remov.  char set req
	XP	DLP.MP,b4	;multi-part paper req
	XP	DLP.CS,b5	;12 chan skipping req
		;,b7=1
	XP	DLP.SK,B8+B9	;b0+b1=skip requirements
		;0=don't care
		;1=changeable from handler
		;2=changeable at site
		;3=changeable but don't care how
	XP	DLP.OP,b10	;req overprint
	XP	DLP.68,B11+B12	;6/8 LIES/INCH
	XP	DLP.CF,b13	;changeable form width
;DPN=		;destination PN.  
;DTY=		;attributes for teletypes:  
	XP	DTY.MC,b0	;modem control
	XP	DTY.AB,b1	;auto-baud
	XP	DTY.SB,b2	;handler can set baud rates
	XP	DTY.27,b3	;2741
	XP	DTY.BD,b4	;baudot
	XP	DTY.AD,B5	;AUTO DIAL LINE (BELL 801)
;DRX=	;device attributs for REMOTE DATA ENTRY DEVICE
	XP	DRX.MD,B0	;MULTI DROP LINE DATA ENTRY LINE
	XP	DRX.PL,B1	;LINE ACCEPTS A POLL SEQUENCE
;DVT=		;device specific attributes:  DCD!DLP!DTY!DRX
;ECD=		;arbitrary number of bytes of echo data.
;ECR=		;the data that was received in the previous echo message (ECD).
;FEA=		;features:  DCM+RLN+DVT
;LVL=		;link value is a one-byte binary value  used  to  determine  the
		;perferred  path;   0  means  link is down.  (Preferred path is
		;that whose sum of link values is lowest.) 
DDCMWD==<^D128+^D10>*5
;MML=		;maximum DDCMP message length.
;OBJ=		;object type for process:  
	XP	OBJ.TT,0	;tty handler
	XP	OBJ.TY,1	;tty
	XP	OBJ.CD,2	;card reader
	XP	OBJ.LP,3	;line printer
	XP	OBJ.PR,4	;paper tape reader
	XP	OBJ.PP,5	;paper tape punch
	XP	OBJ.PL,6	;ploter
	XP	OBJ.MT,7	;magnetic tape
	XP	OBJ.DT,10	;dectape
	XP	OBJ.TK,11	;PROCESS (IE A USER JOB)
	XP	OBJ.RD,12	;REMOTE DATA ENTRY DEVICES
	XP	OBJ.CP,13	;CARD PUNCH
	XP	OBJ.MX,OBJ.CP	;MAX OBJECT TYPE
				;200-377=reserved
;PID=		;process identification.  For  devices  this  is  an  extensible
		;binary field, 0 means default choice, 1 - n means unit  .  For
		;tasks this is a single extensible ASCII  string  usually  name
		;and qualifier (e.g.  UIC or PPN).
;PN=		;process name, having 2 parts:  1) OBJ, 2) PID.
;RSN=		;reason 
	XP	RSN.OK,0	;normal disconnect
	XP	RSN.OT,1	;object type not available
	XP	RSN.XN,2	;too many connects to node
	XP	RSN.XP,3	;too many connects to process
	XP	RSN.NP,4	;process does not exist at this node
;SLA=		;source link address (1 or 2 byte extensible binary number).  
;SPN=		;source PN.  
SUBTTL   DEVICE CONTROL

COMMENT	\

The device control protocol consists of  the  specific  messages  listed
below,  plus  some  data  in  the  optional data part of the NCS connect
message.  This data is the maximum allowable DDCMP  message  length  for
this  device (expressed as an extensible binary number of bytes) and the
features field (FEA).  The features going from the handler to the device
are  those  that  the  handler  would like to see;  those going from the
device to the handler are those that are actually present.


DATA --                    CNT  <001>  (DATA)
DATA with EOR --           CNT  <002>  (DATA)
DATA REQUEST --            CNT  <003>  DRQ
STATUS --                  CNT  <004>  STC  STD
CONTROL --                 CNT  <005>  DCT  CDT
USER ID --                 CNT  <006>  PPN  PSWD  UNAME  ACCT  GROUP
FILE SPECIFICATION --      CNT  <010>  FST  FEA   FDES
\
;DEFINE THE PROTOCOL FOR DEVICE CONTROL (DAP)
DC.DAT==<001>
DC.DAR==<002>
DC.STS==<003>
DC.CTL==<004>
DC.UID==<005>
DC.FSP==<006>
DC.MAX==<006>
SUBTTL BIT AND FIELD DEFINATIONS FOR DEVICE CONTROL (DAP)
;ACCT=		;accounting code(extensible ASCII)
;CDT=		;control data;  this optional field contains control data for  a
		;device.
		;for TTY characteristics:
		;# of milliseconds after backspace<010>
		;# of milliseconds after horizontal tab<011>
		;# of milliseconds after LF<012>
		;# of milliseconds after vertical tab<013>
		;# of milliseconds after form feed<014>
		;# of milliseconds after carriage return<015>
		;receive speed (bits/sec, 134=2741)
		;transmit speed
		;width of TTY carriage
		;auto CRLF position
		;element number(last 3 digits of IBM part number)
		;2741 bits:
	XP	CDT.CB,B0	;"debreak" feature present
	XP	CDT.PL,B1	;APL MODE
	XP	CDT.TD,B2	;TIDY MODE
			;B3-6=reserved
;CNT=		;length of what follows in bytes (ext. binary)
;DCT=		;device specific control information
		;for tty
	XP	DCT.EP,0	;echo pipeline markeri(no CDT field)
	XP	DCT.CG,1	;character gobbler (no CDT field)
	XP	DCT.TC,2	;teletype characteristics
	XP	DCT.AD,3	;auto dial
			;CDT=ASCII digits of number to be dialed

		;for files
	XP	DCT.SI,0	;et record pointer for input
	XP	DCT.SO,1	;set record pointer for output

		;line printer
	XP	DCT.LS,0	;Load skip channel tape
;EPM=		;one byte number identifying the echo pipeline marker.
;FDES=		;file   description,   extensible   ascii   field    of    form
		;DEV:[P,PN]FILE.EXT
;FST=		;file status
	XP	FST.IN,0	;open for input
	XP	FST.OU,1	;open for output
	XP	FST.AP,2	;open for appending
	XP	FST.UP,3	;open for updating
	XP	FST.DL,4	;delete

;PSWD=		;password
;GROUP=		;group code(extensible ASCII)
;PPN=		;project programmer number(extensible ASCII)
;RLN=		;record length (max if variable):  extensible binary.
;SCD=		;status for card reader:
	XP	SCD.ME,b0	;master error(not set by EOF)
	XP	SCD.HE,b1	;hopper empty
	XP	SCD.RE,b2	;registration error
	XP	SCD.IP,b3	;invalid punch for character set
	XP	SCD.SF,b4	;stacker full
	XP	SCD.JF,b5	;jam on feed
	XP	SCD.PF,b6	;pick failure on feed
				;,b7=1 (extended field)
	XP	SCD.CZ,b7	;EOF card detected
	XP	SCD.HZ,B8	;hdw EOF
	XP	SCD.OR,B9	;overrun
	XP	SCD.OF,B10	;off line
	XP	SCD.SR,B11	;stop reading

;SLP=		;status for line printer:
	XP	SLP.FE,b0	;fatal error
	XP	SLP.OL,b1	;offline(+others)
	XP	SLP.NP,b2	;out of paper
	XP	SLP.PJ,b3	;paper jam
	XP	SLP.OP,b4	;operator offline
	XP	SLP.SQ,b5	;slew
	XP	SLP.HM,b6	;hammer
				;,b7=1
	XP	SLP.LP,B8	;low on paper
	XP	SLP.SF,b9	;paper stacker full
	XP	SLP.NI,B10	;no ink
	XP	SLP.PQ,B11	;unacceptable print quality

;STC=		;status code:binary values:
	XP	STC.ER,0	;DEVICE ERROR
	XP	STC.SB,1	;SET BITS
	XP	STC.CB,2	;CLEAR BITS
	XP	SCT.XA,3	;TRANSFER ABORTED
;STD=		;device specific status:  SCD!SLP!STY
;STY=		;status for teletype:
	XP	STY.DE,b0	;deferred echo
	XP	STY.CV,b1	;convert LC on input
	XP	STY.XS,b2	;output frozen by ^S
	XP	STY.II,b3	;image input
	XP	STY.IO,b4	;image output
	XP	STY.TP,b5	;tty page
	XP	STY.TT,b6	;tty tape
	XP	STY.HT,b7	;hdw tabs
	XP	STY.FF,B8	;hdw form feed
	XP	STY.TI,B9	;TELETYPE INPUT WAIT
	XP	STY.LN,B10	;LINE INPUT MODE
	XP	STY.CR,B11	;NO CR-LF
	XP	STY.DT,B12	;DATA TERMINAL READY (ENABLES AUTO ANSWER)
	XP	STY.RG,B13	;IF STY.DT=0 THEN RING
				;IF STY.DT=1 THEN CARRIER
	XP	STY.DR,B14	;DATA SET READY
	XP	STY.XX,B15	;RESERVED
;SPP=	;STATUS FOR THE PAPER TAPE PUNCH
	XP	SPP.ME,B0	;MASTER ERROR
	XP	SPP.NP,B1	;NO POWER
	XP	SPP.NT,B2	;NO TAPE
;SPR	;STATUS FOR THE PAPER TAPE READER
	XP	SPR.ME,B0	;MASTER ERROR
	XP	SPR.NP,B1	;NO POWER
;UNAME=			;user name(extensible ASCII)
	END