1
0
mirror of https://github.com/PDP-10/its.git synced 2026-03-10 12:48:25 +00:00

Added TELNET server and client.

This commit is contained in:
Eric Swenson
2016-11-23 16:30:39 -08:00
committed by Lars Brinkhoff
parent a80fc4f8ad
commit 4623e0db21
8 changed files with 4429 additions and 5 deletions

View File

@@ -1,8 +1,8 @@
EMULATOR ?= simh
SRC = system syseng sysen1 sysen2 sysnet kshack dragon channa midas _teco_ emacs rms klh syshst sra
SRC = system syseng sysen1 sysen2 sysnet kshack dragon channa midas _teco_ emacs rms klh syshst sra mrc
DOC = info _info_ sysdoc kshack _teco_ emacs emacs1
MINSYS = _ sys sys2 sys3 device emacs _teco_
MINSYS = _ sys sys2 sys3 device emacs _teco_ sysbin
RAM = bin/boot/ram.262
NSALV = bin/boot/salv.rp06
DSKDMP = bin/boot/dskdmp.rp06

View File

@@ -58,7 +58,10 @@ from scratch.
- MTBOOT, make bootable tapes.
- HOSTS3, the host table compiler.
- H3MAKE, a job that requests DRAGON to build host table.
- ATSIGN TCP, TCP support
- TELSER, Telnet server
- TELNET, Telnet client
6. A brand new host table is built from the host table source and
installed into SYSBIN; HOSTS3 > using H3MAKE.
@@ -68,8 +71,11 @@ from scratch.
Currently, networking is only supported under the KLH10 emulator. SIMH does
not have the necessary support. As of this release, only the ITS monitor,
host table tools, and binary host table are installed. There are no network
daemons or user networking tools. These will come in a subsequent release.
host table tools, and binary host table are installed.
Currently, basic TCP network support is in the build, in addition to
both a TELNET server client. Other network services will appear in a
subsequent release.
The KLH10 dskdmp.ini file has an IP address (192.168.1.100) and gateway IP
address (192.168.0.45) configured for the ITS system. The IP address

View File

@@ -297,10 +297,30 @@ respond "*" ":link syseng;t20mac 999999,system;t20mac >\r"
respond "*" ":midas syshst;_syshst;h3make\r"
expect ":KILL"
# submit job to daemon to build binary host table
respond "*" ":job h3make\r"
respond "*" ":load syshst;h3make bin\r"
respond "*" "\033g"
# basic TCP support
respond "*" ":midas sys;atsign tcp_syseng;@tcp\r"
expect ":KILL"
respond "*" ":link syseng;netwrk 999999,sysnet;netwrk >\r"
# telnet server
respond "*" ":midas sysbin;telser_sysnet;telser\r"
expect ":KILL"
# port 23 (telnet) uses TELSER
respond "*" ":link device;tcp syn027,sysbin;telser bin\r"
# telnet client
respond "*" ":midas sysbin;telnet_sysnet;telnet\r"
expect ":KILL"
respond "*" ":link sys;ts telnet,sysbin;telnet bin\r"
respond "*" ":link kshack;good ram,.;ram ram\r"
respond "*" ":link kshack;ddt bin,.;@ ddt\r"
respond "*" $emulator_escape

513
src/mrc/macros.125 Executable file
View File

@@ -0,0 +1,513 @@
SUBTTL General-purpose macro library
; This file contains symbolic and macro definitions that many of my programs
; use. It is an experiment in higher-level assembly language programming.
IF2 .INEOF ; only read this file on pass 1
.AUXIL ; don't cref this file's unused symbols
.NSTGW ; do not allow storage words
IFN 0,[ ; for @ happiness
.INSRT SYSTEM;TTYDEF >
.INSRT SYSTEM;BITS >
]
; These symbols are temporaries that the user should never have to worry about.
.XCREF TEMP%%,FLAG%%,%ADD,%ADDI,%SUB,%SUBI,%FADR,%FADRI,%FSBR,%FSBRI
; MIDAS environment alteration and recording (date, time, etc.)
.FORMAT 30,2704_24. ; make A, format treat A like an ac
.FORMAT 34,00222704_12. ; make A,B format treat A like an ac
IFE .OSMIDAS-('ITS),[ ; ** ITS MIDAS **
.AOP .RDATIM ; get date and time of assembly
%ASTIM==.AVAL1 ; time of assembly in SIXBIT (HHMMSS)
%ASDAT==.AVAL2 ; date of assembly in SIXBIT (YYMMDD)
] ; ** End of ITS MIDAS **
IFN .OSMIDAS-('ITS),[ ; ** DEC MIDAS **
%ASTIM==.OP MSTIME ; time of assembly in milliseconds
%ASDAT==.OP DATE ; date of assembly in DEC format
] ; ** End of DEC MIDAS **
%VERSION==.FNAM2 ; version when assembled
SUBTTL Instruction, field definitions
; PDP-10 word field definitions
%INFIN==377777777777 ; infinity
%MINFI==400000000000 ; minus infinity
%LHALF==777777000000 ; left half word
%RHALF==000000777777 ; right half word
%FWORD==777777777777 ; full word
%ZEROS==000000000000 ; zeroes
; Instruction fields
%ICOPC==777000,, ; opcode
%ICACF==000740,, ; ac field
%ICIOP==700340,, ; I/O opcode
%ICIDV==077400,, ; I/O device channel
%ICIND==000020,, ; indirect bit
%ICIDX==000017,, ; index field
%ICADR==777777 ; address
; Special PDP-10 instructions
MAP=257000,, ; map an address
; The following are used by a subroutine that calls a second
; subroutine that is to return to the former's caller.
; Instruction Replaces
; ----------- --------
PJRST==JRST ; pushj/popj
PJRSTF==JRSTF ; pushj/popj
PJSP==JSP ; movei .+1/pushj/popj
PJUMPL==JUMPL ; JUMP??/POPJ/PUSHJ/POPJ
PJMPLE==JUMPLE
PJUMPN==JUMPN
PJUMPG==JUMPG
PJMPGE==JUMPGE
; The following are mostly for convenience in using DDT.
IFNDEF P,P==17 ; conventional stack pointer ac
SAVE=PUSH P, ; save value on stack
RETR=POP P, ; retrieve value from stack
CALL=PUSHJ P, ; save PC on stack and jump
RETURN=POPJ P, ; restore PC from stack
SUBTTL General pseudo-ops
; TMPLOC - assemble into a certain location
; TMPLOC loc,value
DEFINE TMPLOC ?LOC=0,VALUE=0
TEMP%%==. ? .==LOC ? VALUE ? .==TEMP%%
TERMIN
; END - terminate assembly, expunge temporary symbols
; END <start address>
EQUALS %END,END ; make %END terminate assembly
DEFINE END ADDR
IF2 EXPUNGE TEMP%%,FLAG%%,%ADD,%ADDI,%SUB,%SUBI,%FADR,%FADRI,%FSBR,%FSBRI
%END ADDR
TERMIN
; ND. - define a symbol if it is not defined
; ND. symbol=value
DEFINE ND. DEFN
IRPS TEMP%%,,[DEFN]
IFDEF TEMP%%,NULL
.ISTOP
TERMIN
.ELSE DEFN
TERMIN
; ACDEF. - define consecutive accumulators, I/O channels, etc.
; starting at 1.
; ACDEF. <ac-list>
DEFINE ACDEF. ACLIST
IRPS TEMP%%,,[ACLIST]
ND. TEMP%%=.IRPCNT+1
IFGE TEMP%%-20,.ERR TEMP%% MAGNITUDE > 17
TERMIN
TERMIN
; FLAG. - dynamically generate a bit flag
; FLAG. flag ;to generate a flag
; FLAG. ;to initialize the mechanism
DEFINE FLAG. BIT
IFB BIT,FLAG%%==%MINFI ? .ISTOP
IFNDEF FLAG%%,.ERR BIT Flags not initialized
IFE FLAG%%,.ERR BIT Too many flags
BIT==FLAG%%
FLAG%%==FLAG%%_-1
TERMIN
; IOWD - generate a DEC IOWD
; IOWD length,address
DEFINE IOWD ?LEN,ADR
<-LEN,,ADR-1>TERMIN
; SWDEF. - define an assembly switch
; SWDEF. [definition];description
DEFINE SWDEF. DEFN,DESC/
IF1,[
DEFN
PRINTX\!DESC!: !DEFN! \
IRPS SWITCH,,[DEFN]
.TTYMAC CRUFT/
IFNB [CRUFT][SWITCH==CRUFT]
TERMIN
.ISTOP
TERMIN
]
TERMIN
SUBTTL Byte manipulation pseudo-ops
; POINT. - MACRO-10 style point pseudo-op
; POINT. length,address,position
DEFINE POINT. ?S,ADDR,B=-1
<<<<35.-.RADIX 10.,B>&77>_30.\<<.RADIX 10.,S>&77>_24.> ADDR>TERMIN
; WID. - compute the width of a mask
; WID. mask
DEFINE WID. ?MASK
<.LDB 300600,.BP MASK>TERMIN
; POS. - compute the position of a mask
; POS. mask
DEFINE POS. ?MASK
<35.-.TZ MASK>TERMIN
; MASK. - build a mask pointed to by point wid,loc,pos
; MASK. width,position
DEFINE MASK. ?WID,POS
<<<1_WID>-1>_<35.-POS>>TERMIN
; RGHBT. - generate the rightmost bit in a mask
; RGHBT. mask
DEFINE RGHBT. ?MASK
<MASK&-MASK>TERMIN
; LFTBT. - generate the leftmost bit in a mask
; LFTBT. mask
DEFINE LFTBT. ?MASK
<1_<35.-.LZ MASK>>TERMIN
; FILIN. - fill in ones from leftmost bit of mask to rightmost bit
; FILIN. mask
DEFINE FILIN. ?MASK
<.BM .BP MASK>TERMIN
; INSVL. - position value in mask
; INSVL. value,mask
DEFINE INSVL. ?VALUE,MASK
<<VALUE_.TZ MASK>&MASK>TERMIN
; RJUST. - right justify a mask
; RJUST. mask
DEFINE RJUST. ?MASK
<MASK_<-.TZ MASK>>TERMIN
; LJUST. - left justify a mask
; LJUST. mask
DEFINE LJUST. ?MASK
<MASK_.LZ MASK>TERMIN
SUBTTL Text accumulation pseudo-ops
; CINFO. - macro to clear and/or initialize the text mechanism
; CINFO.
DEFINE CINFO.
DEFINE INFO. OCRUFT
OCRUFT
TERMIN
TERMIN
; REDEF. - macro to add text to the mechanism. It adds a <crlf>
; at the end.
; REDEF. [...text...]
DEFINE REDEF. NCRUFT
INFO. [DEFINE INFO. OCRUFT
OCRUFT]NCRUFT
TERMIN
TERMIN
; INFO. - macro (hacked by CINFO. and REDEF.) to dump out the text.
; INFO.
SUBTTL System dependent macros
IFE .OSMIDAS-('ITS),[ ; ** ITS MIDAS only **
; SYSCAL - macro to generate a symbolic system call
; SYSCAL call,[args]
DEFINE SYSCAL CALL,ARGS
.CALL [%MINFI
SIXBIT/CALL/
ARGS
%MINFI\%CLERR $ERCOD']
TERMIN
; SYSCAL op-codes
%CLARG==000000,, ; argument
%CLARI=001000,, ; immediate argument
%CLVAL=002000,, ; value
%CLERR=003000,, ; error
%CLCTL=004000,, ; control
%CLCTI=005000,, ; immediate control
; CLARG. and CLCTL. are to allow for ambigious immediates in a SYSCAL
; argument and control argument.
DEFINE CLARG. ARG
TEMP%%=ARG
IFN TEMP%%&%LHALF,%CLARG [TEMP%%]
.ELSE %CLARI TEMP%%
TERMIN
DEFINE CLCTL. CTL
TEMP%%==CTL
IFN TEMP%%&%LHALF,%CLCTL [TEMP%%]
.ELSE %CLCTI TEMP%%
TERMIN
; UGET - fetch a user variable
; UGET name,loc,channel
DEFINE UGET VAR,LOC,CHNL
IFB CHNL,.SUSET [.R!VAR,,LOC]
.ELSE .USET CHNL,[.R!VAR,,LOC]
TERMIN
; USET - set a user variable
; USET name,loc,channel
DEFINE USET VAR,LOC,CHNL
IFB CHNL,.SUSET [.S!VAR,,LOC]
.ELSE .USET CHNL,[.S!VAR,,LOC]
TERMIN
; USETI - set a user variable, immediate
; USETI name,value
DEFINE USETI VAR,VAL,CHNL
IFB CHNL,.SUSET [.S!VAR,,[VAL]]
.ELSE .USET CHNL,[.S!VAR,,[VAL]]
TERMIN
; PEEK - peek at an ITS system location
; PEEK ac,name
DEFINE PEEK AC,NAME
MOVX AC,<SQUOZE 0,NAME>
.EVAL AC,
.LOSE
HRLI AC,AC
MOVSS AC
.GETLOC AC,
TERMIN
] ; ** End of ITS MIDAS **
SUBTTL High-level instructions
; INSIRP - repeat over an instruction with various addresses
; INSIRP inst,address(es)
DEFINE INSIRP INST,ADDRS
IRPS TEMP%%,,[ADDRS]
INST,TEMP%%
TERMIN
TERMIN
; JUMPPT - jump depending upon processor type
; JUMPPT ac,PDP-6,KA-10,KI-10,KL-10
; ac is a temporary ac not equal to zero.
DEFINE JUMPPT AC=1,CP166=0,KA10=0,KI10=0,KL10=0
IFE AC,.ERR JUMPPT 1st arg zero
IF2,IFE CP166*KA10*KI10*KL10,.ERR JUMPPT Null processor argument
JFCL 1,.+1 ; clear PDP-6 PC change flag
JRST .+1 ; set PC change flag on PDP-6
JFCL 1,CP166 ; if flag is on, PDP-6
MOVX AC,<-2,,-1> ; ac := -2,,-1
AOBJP AC,KA10 ; non-zero ac means KA-10
MOVX AC,%ZEROS ; ac := 0
BLT AC, ; KI/KL test
JUMPE AC,KI10 ; zero ac means KI-10
JRST KL10 ; else it is a KL-10
TERMIN
; STORE - macro to place a constant in a block of locations
; STORE <constant>,<first location>,<last location>,<temp ac>
; ** Note Well **
; May generate more than one word of code.
; If last location is not specified, it is a "MOVXM". If temp ac is
; not specified, ac 0 is used. <== Note Well !!
DEFINE STORE ?CONS=0,FIRST=0,LAST,AC=0
TEMP%%=0
IFE CONS,SETZM FIRST ? TEMP%%=-1
IFE CONS+1,SETOM FIRST ? TEMP%%=-1
IFE CONS-1,SETZM FIRST ? AOS FIRST ? TEMP%%=-1
IFE CONS+2,SETOM FIRST ? SOS FIRST ? TEMP%%=-1
IFE TEMP%%,[MOVX AC,CONS
MOVEM AC,FIRST]
IFNB LAST,MOVE AC,[FIRST,,FIRST+1] ? BLT AC,LAST
TERMIN
; MOVX - macro to load an immediate value into an accumulator
DEFINE MOVX ?AC=0,FLAG=0
TEMP%%=FLAG
IFE TEMP%%,SETZ AC, ? .ISTOP
IFE TEMP%%+1,SETO AC, ? .ISTOP
IFE TEMP%%&%LHALF,MOVEI AC,TEMP%% ? .ISTOP
IFE TEMP%%&%RHALF,MOVSI AC,(TEMP%%) ? .ISTOP
IFE <TEMP%%_-18.>-%RHALF,HRROI AC,TEMP%% ? .ISTOP
IFE <TEMP%%_18.>-%LHALF,HRLOI AC,(TEMP%%-%RHALF) ? .ISTOP
MOVE AC,[TEMP%%]
TERMIN
; CAX?? - compare ac with immediate and skip under condition
IRP CODE,,[,L,LE,E,G,GE,N,A]
DEFINE CAX!CODE ?AC=0,VALUE=0
TEMP%%=VALUE
IFE TEMP%%&%LHALF,CAI!CODE AC,TEMP%%
.ELSE CAM!CODE AC,[TEMP%%]
TERMIN
TERMIN
; Arithmetic operations
IRPS CODE,,[%ADD,%SUB,MUL,IMUL,DIV,IDIV]
DEFINE CODE!X ?AC=0,VALUE=0
TEMP%%=VALUE
IFE TEMP%%&%LHALF,CODE!I AC,TEMP%%
.ELSE CODE AC,[TEMP%%]
TERMIN
TERMIN
DEFINE ADDX ?AC=0,VALUE=0
TEMP%%=VALUE
IFE <TEMP%%_-18.>-%RHALF,SUBI AC,-TEMP%%
.ELSE %ADDX AC,TEMP%%
TERMIN
EQUALS %ADD,ADD ? EQUALS %ADDI,ADDI
DEFINE SUBX ?AC=0,VALUE=0
TEMP%%=VALUE
IFE <TEMP%%_-18.>-%RHALF,ADDI AC,-TEMP%%
.ELSE %SUBX AC,TEMP%%
TERMIN
EQUALS %SUB,SUB ? EQUALS %SUBI,SUBI
IRPS CODE,,[%FADR,%FSBR,FMPR,FDVR]
DEFINE CODE!X ?AC=0,VALUE=0
TEMP%%==VALUE
IFE TEMP%%&%RHALF,CODE!I AC,(TEMP%%)
.ELSE CODE AC,[TEMP%%]
TERMIN
TERMIN
DEFINE FADRX ?AC=0,VALUE=0
TEMP%%=VALUE
IFE <TEMP%%_18.>-%LHALF,FSBRI AC,(%LHALF&-TEMP%%)
.ELSE %FADRX AC,TEMP%%
TERMIN
EQUALS %FADR,FADR ? EQUALS %FADRI,FADRI
DEFINE FSBRX ?AC=0,VALUE=0
TEMP%%=VALUE
IFE <TEMP%%_18.>-%LHALF,FADRI AC,(%LHALF&-TEMP%%)
.ELSE %FSBRX AC,TEMP%%
TERMIN
EQUALS %FSBR,FSBR ? EQUALS %FSBRI,FSBRI
; BTSWAP - swap states of two bits in an accumulator
DEFINE BTSWAP ?AC=0,BIT1=0,BIT2=0
REPEAT 3,TXCE AC,BIT1\BIT2
TERMIN
; TX?? - test ac under immediate mask with option and skip under
; condition
IRP ACTION,,[N,Z,O,C]
IRP CODE,,[E,N,A]
DEFINE TX!ACTION!!CODE ?AC=0,FLAG=0
TEMP%%=FLAG
IFE TEMP%%&%RHALF,IFN TEMP%%,TL!ACTION!!CODE AC,(TEMP%%) ? .ISTOP
IFE TEMP%%&%LHALF,TR!ACTION!!CODE AC,TEMP%% ? .ISTOP
TD!ACTION!!CODE AC,[TEMP%%]
TERMIN
TERMIN
TERMIN
DEFINE TXZA ?AC=0,FLAG=0
TEMP%%=FLAG
IFE TEMP%%,TRNA AC,%ZEROS ? .ISTOP
IFE TEMP%%-%FWORD,TDZA A,A ? .ISTOP
IFE TEMP%%&%RHALF,TLZA AC,(TEMP%%) ? .ISTOP
IFE TEMP%%&%LHALF,TRZA AC,TEMP%% ? .ISTOP
TDZA AC,[TEMP%%]
TERMIN
DEFINE TXN ?AC=0,FLAG=0
TRN AC,<,,FLAG>
TERMIN
DEFINE TXZ ?AC=0,FLAG=0
TEMP%%=FLAG
IFE TEMP%%-%FWORD,MOVX AC,%ZEROS ? .ISTOP
IFE <TEMP%%_-18.>-%RHALF,ANDI AC,#TEMP%% ? .ISTOP
IFE TEMP%%_18.,IFN TEMP%%,TLZ AC,(TEMP%%) ? .ISTOP
IFE TEMP%%_-18.,ANDCMI AC,TEMP%% ? .ISTOP
AND AC,[#TEMP%%]
TERMIN
DEFINE TXO ?AC=0,FLAG=0
TEMP%%=FLAG
IFE TEMP%%-%FWORD,MOVX AC,%FWORD ? .ISTOP
IFE <TEMP%%_-18.>-%RHALF,ORCMI AC,#TEMP%% ? .ISTOP
IFE TEMP%%_18.,IFN TEMP%%,TLO AC,(TEMP%%) ? .ISTOP
IFE TEMP%%_-18.,IORI AC,TEMP%% ? .ISTOP
IOR AC,[TEMP%%]
TERMIN
DEFINE TXC ?AC=0,FLAG=0
TEMP%%=FLAG
IFE TEMP%%-%FWORD,SETCA AC, ? .ISTOP
IFE <TEMP%%_-18.>-%RHALF,EQVI AC,#TEMP%% ? .ISTOP
IFE TEMP%%_18.,IFN TEMP%%,TLC AC,(TEMP%%) ? .ISTOP
IFE TEMP%%_-18.,XORI AC,TEMP%% ? .ISTOP
XOR AC,[TEMP%%]
TERMIN
; IORX, ANDX, XORX, EQVX are super-random versions of TX??
EQUALS IORX,TXO
DEFINE ANDX ?AC=0,FLAG=0
TEMP%%=FLAG
TXZ AC,#TEMP%%
TERMIN
EQUALS XORX,TXC
DEFINE EQVX ?AC=0,FLAG=0
TEMP%%=FLAG
XORX AC,#FLAG
TERMIN
.YSTGW ; allow storage words again
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; *** The END *** ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

71
src/syseng/@tcp.6 Executable file
View File

@@ -0,0 +1,71 @@
TITLE TCPSER
;;; This program is loaded by the system when a SYN is received for
;;; a legal service port (0-777) and there is no LISTEN for it.
A=1
B=2
C=3
D=4
E=5
DSKI==1 ; Channel for loading server.
DEBUG: 0 ; -1 => Debug mode.
REQ: 0 ; Holds request
GO: .CALL [ SETZ ; Get a pending RFC.
SIXBIT /NETRFC/
MOVE [SIXBIT /TCP/]
SETZM REQ]
JSR LOGOUT ; None or error.
HRRZ A,REQ ; Get RH = port #
CAILE A,777 ; Make sure it's okay
JRST REFUSE
REPEAT 3,[
LSHC A,-3
LSH B,-3
]
HLRZ D,B
ADD D,[SIXBIT /SYN000/]
ENDLUP: MOVE 0,D ; Contact name, sixbitified, is passed in AC0
.SUSET [.SSNAME,,D] ; Also pass it in the sname, for debugging
.CALL [ SETZ ; Open DEVICE;TCP SYNnnn
SIXBIT /OPEN/
[.UII,,DSKI]
[SIXBIT /DSK/]
[SIXBIT /TCP/]
D
SETZ [SIXBIT /DEVICE/]]
JRST REFUSE ; Lose, no such server.
MOVE 17,[ACBLK,,1] ; Load it in and start it.
BLT 17,ACBLKL
JRST 1
ACBLK: .CORE 0 ;1 - vital to clear core!!
.LOSE ;2
.CALL 10 ;3
.LOGOUT 1, ;4
.IOT DSKI,17 ;5
.CLOSE DSKI, ;6
JRST (17) ;7
SETZ ;10
SIXBIT /LOAD/ ;11
MOVEI %JSELF ;12
SETZI DSKI ;13
ACBLKL=.-ACBLK
IFNDEF %NQREF,%NQREF==1
REFUSE: .CALL [SETZ ? SIXBIT /NETRFC/ ? %CLBIT,,%NQREF
MOVE [SIXBIT /TCP/]
SETZ REQ]
JSR LOGOUT
JRST DONE
LOGOUT: 0
SKIPE DEBUG
.VALUE
DONE: .LOGOUT 1,
END GO

52
src/syseng/tipinf.37 Executable file
View File

@@ -0,0 +1,52 @@
;-*- Mode: MIDAS -*-
;This file identifies hard-wired TIP ports.
;Format:
; TIP hostno,portno,tctyp,ascii identification
;
;The following tctyp codes are recognized:
; (blank) default, printing
; VT52
;
;The ascii identification is displayed by NAME and NAMDRG in
;a form such as: T53 SU-TIP#69: Glue Factory
;
;This file is .INSRTed by SYSENG;TELSER (telnet server).
;MIT-TIP
TIP 115002,1,VT52,5XX CSR x3-3393
;617-253-3393
TIP 115002,2,VT52,5XX CSR x3-3393
;617-253-3393
TIP 115002,3,,505 Saltzer x3-6016
;617-253-6016
TIP 115002,4,VT52,5XX CSR, x3-3393
;617-253-3393
TIP 115002,5,VT52,5XX CSR, x3-3393
;617-253-3393
TIP 115002,6,VT52,5XX CSR, x3-3393
;617-253-3393
TIP 115002,24,,Dialup inside MIT
TIP 115002,25,,Dialup inside MIT
TIP 115002,26,,Dialup inside MIT
TIP 115002,30,,Vadic 120cps TIP
TIP 115002,31,VT52,5XX CSR x3-3393
;617-253-3393
TIP 115002,34,VT52,5XX CSR x3-3393
;617-253-3393
TIP 115002,35,,206 HP2640 x3-1419
;617-253-1419
TIP 115002,37,VT52,DSSR UNIX x3-6048
;617-253-6048
;SU-TIP
TIP 213,1,,30cps dialup
TIP 213,2,,30cps dialup
TIP 213,3,,30cps dialup
TIP 213,4,,30cps dialup
TIP 213,10,,120/15cps dialup
TIP 213,11,,120/15cps dialup
TIP 213,12,,120/15cps dialup
TIP 213,20,,Vadic 120cps dialup
TIP 213,30,,TTY near TIP
TIP 213,31,,Line from SU-AI
TIP 213,32,,9600 baud ADM-3

2333
src/sysnet/telnet.752 Executable file

File diff suppressed because it is too large Load Diff

1429
src/sysnet/telser.173 Normal file

File diff suppressed because it is too large Load Diff