mirror of
https://github.com/PDP-10/its.git
synced 2026-03-02 09:56:20 +00:00
The newer version has support for selecting between signaling Dynamic Modeling SYS;ATSIGN demons to handle ARPANET services, or for all others, start a DEVICE;LBSIGN server.
100 lines
2.0 KiB
Groff
Executable File
100 lines
2.0 KiB
Groff
Executable File
TITLE NETRFC BOOTSTRAPPER
|
||
.MLLIT==1
|
||
A=1
|
||
B=2
|
||
Q=16
|
||
|
||
DEFINE SETF TEXT,FLG
|
||
IFDEF FLG,.STOP
|
||
.TAG FOOBAR
|
||
PRINTC "TEXT
|
||
FLG="
|
||
.TTYMAC FLAG
|
||
IFSE FLAG,YES,FLG==1
|
||
IFSE FLAG,NO,FLG==0
|
||
IFSE FLAG,Y,FLG==1
|
||
IFSE FLAG,N,FLG==0
|
||
IFNDEF FLG,FLG==FLAG
|
||
TERMIN
|
||
IFNDEF FLG,.GO FOOBAR
|
||
TERMIN
|
||
|
||
IF1 SETF Use Dynamod Daemons? ,DEMONP
|
||
|
||
|
||
BEG: MOVE A,[SQUOZE 0,IMPBPQ]
|
||
.EVAL A,
|
||
JRST ENDQ
|
||
IFE DEMONP, .SUSET [.SSNAME,,['DEVICE]] ;SYS ON DM, DEVICE ON ML/AI
|
||
MOVE Q,A
|
||
NEXTQ: MOVSS Q
|
||
HRRI Q,Q
|
||
.GETLOC Q,
|
||
JUMPL Q,ENDQ ;-1 IS END OF LIST
|
||
MOVSI A,1(Q)
|
||
HRRI A,A
|
||
.GETLOC A, ;GET SLOT 1, LCL SOCK
|
||
CAIL A,1000 ;SKIP IF SHOULD SIGNAL
|
||
JRST NEXTQ ;JUMP TO TRY ANOTHER ONE
|
||
DPB A,[000300,,LOGNAM] ;STASH IN 'RFC000
|
||
LSH A,-3
|
||
DPB A,[060300,,LOGNAM]
|
||
LSH A,-3
|
||
DPB A,[140300,,LOGNAM]
|
||
IFN DEMONP,{
|
||
.CALL [SETZ ? 'DEMSIG ? LOGNAM ? SETZ [0]] ;start server as daemon
|
||
JRST NORFC ;FAIL-LEAVE TRAIL
|
||
JRST ENDQ ;NEVER KNOW - MIGHT BE MORE
|
||
}
|
||
|
||
IFE DEMONP,{
|
||
.OPEN 1, FILE ;SEE IF SERVER EXISTS
|
||
JRST NEXTQ ;NO, COMPLETELY IGNORE
|
||
MOVSI 17, BOOT ;YES LOAD IT OVER OURSELVES
|
||
BLT 17, 17
|
||
.SUSET [.SSNAME,,LOGNAM];SET SNAME FOR PEEK
|
||
SETZM 20 ;PREPARE TO CLEAR CORE
|
||
JRST 0
|
||
|
||
BOOT: OFFSET -.
|
||
.CORE 1 ;FLUSH ALL BUT FIRST PAGE
|
||
.VALUE
|
||
BLT BLP,1777 ;CLEAR FIRST PAGE
|
||
.CALL LOAD ;LOAD THE SERVER
|
||
.VALUE ;WELL IT WAS THERE BEFORE!
|
||
;.VALUE SINCE NETRFC WILL KEEP SEEING IT
|
||
.IOT 1,0 ;GET START ADDRESS
|
||
.CLOSE 1, ;CLOSE LOAD CHANNEL
|
||
STRT:: JRST @0 ;START UP
|
||
BLP:: 20,,21 ;CORE-CLEARING BLT POINTER
|
||
LOAD:: SETZ
|
||
SIXBIT/LOAD/
|
||
MOVEI -1
|
||
SETZI 1
|
||
IFG .-20, .ERR BOOT SEQUENCE TOO BIG
|
||
OFFSET 0
|
||
}
|
||
|
||
IFN DEMONP,{ ;ON DM HANDLE RANDOM ONES
|
||
NORFC: MOVSI A,3(Q) ;SLOT 3, HOST CALLING
|
||
HRRI A,A
|
||
.GETLOC A,
|
||
LSH A,-8 ;GET HOST #
|
||
DPB A,[000300,,TRMNAM]
|
||
LSH A,-3
|
||
DPB A,[060300,,TRMNAM]
|
||
LSH A,-3
|
||
DPB A,[140300,,TRMNAM]
|
||
.CALL [SETZ ? 'LOGIN_6 ? LOGNAM ? SETZ TRMNAM]
|
||
JFCL ;DONT SVEAT IT
|
||
}
|
||
ENDQ: .LOGOUT
|
||
.VALUE
|
||
|
||
FILE: .UII,,'DSK
|
||
'LBSIGN
|
||
LOGNAM: 'RFC000
|
||
TRMNAM: 'HST000
|
||
|
||
END BEG
|
||
|