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

Update NETRFC demon.

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.
This commit is contained in:
Lars Brinkhoff
2024-12-20 12:01:07 +01:00
parent 8daaccd4cf
commit 28e056e8fa
5 changed files with 113 additions and 50 deletions

View File

@@ -186,8 +186,11 @@ expect ":KILL"
respond "*" ":link sys;atsign chaos,sysbin;@chaos bin\r"
# ARPANET support
respond "*" ":midas sys;atsign netrfc_sysen2; netrfc\r"
expect ":KILL"
if { ! [string equal "$mchn" "DM"] } {
respond "*" ":midas sys;atsign netrfc_syseng; netrfc\r"
respond "DEMONP=" "0\r"
expect ":KILL"
}
# CHA: and CHAOS: device
respond "*" ":midas device;jobdev cha_dcp;chadev\r"

View File

@@ -26,6 +26,13 @@ respond "(CR) FOR DEVICE LPT, nn FOR Tnn" "\r"
respond "(CR) FOR .LPTR. DIRECTORY, OR TYPE NEW NAME" "\r"
expect ":KILL"
# ARPANET support, Dynamic Modeling demon style
if [string equal "$mchn" "DM"] {
respond "*" ":midas sys;atsign netrfc_syseng; netrfc\r"
respond "DEMONP=" "1\r"
expect ":KILL"
}
# Arpanet survey demon.
respond "*" ":midas sys; atsign survey_survey; survey\r"
expect ":KILL"

View File

@@ -2805,7 +2805,6 @@ sysen2/@muddl.64 197802221502.09
sysen2/mudinq.43 197811071801.15
sysen2/munch.3 197708281425.05
sysen2/name.558 198901051808.00
sysen2/netrfc.3 197508190914.47
sysen2/oinit.8 197705090819.08
sysen2/os.93 197911111712.21
sysen2/photo.57 198906221343.15
@@ -2870,6 +2869,7 @@ syseng/msgs.47 197812140127.10
syseng/mulseg.insert 197704091152.39
syseng/muscom.50 197704090938.30
syseng/musrun.15 197206060101.24
syseng/netrfc.3 197509191712.00
syseng/otj6.138 197301300851.40
syseng/pft.149 198707021504.46
syseng/pt.2 197504071642.07

View File

@@ -1,47 +0,0 @@
TITLE NETRFC BOOTSTRAPPER
.MLLIT==1
A=1
B=2
Q=16
BEG: MOVE A,[SQUOZE 0,IMPBPQ]
.EVAL A,
JRST ENDQ
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]
.CALL [SETZ ? 'DEMSIG ? LOGNAM ? SETZ [-1]]
JRST NORFC ;FAIL-LEAVE TRAIL
JRST ENDQ
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
LOGNAM: 'RFC000
TRMNAM: 'HST000
END BEG

100
src/syseng/netrfc.3 Executable file
View File

@@ -0,0 +1,100 @@
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