From 28e056e8fa34c46ae19a645156d3e92e190deddb Mon Sep 17 00:00:00 2001 From: Lars Brinkhoff Date: Fri, 20 Dec 2024 12:01:07 +0100 Subject: [PATCH] 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. --- build/basics.tcl | 7 ++- build/dm.tcl | 7 +++ build/timestamps.txt | 2 +- src/sysen2/netrfc.3 | 47 -------------------- src/syseng/netrfc.3 | 100 +++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 113 insertions(+), 50 deletions(-) delete mode 100755 src/sysen2/netrfc.3 create mode 100755 src/syseng/netrfc.3 diff --git a/build/basics.tcl b/build/basics.tcl index 67728bde..afa15c07 100644 --- a/build/basics.tcl +++ b/build/basics.tcl @@ -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" diff --git a/build/dm.tcl b/build/dm.tcl index 8cfbeb5b..fdef5f90 100644 --- a/build/dm.tcl +++ b/build/dm.tcl @@ -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" diff --git a/build/timestamps.txt b/build/timestamps.txt index 3f2fd491..0a62fce4 100644 --- a/build/timestamps.txt +++ b/build/timestamps.txt @@ -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 diff --git a/src/sysen2/netrfc.3 b/src/sysen2/netrfc.3 deleted file mode 100755 index 4741b183..00000000 --- a/src/sysen2/netrfc.3 +++ /dev/null @@ -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 - \ No newline at end of file diff --git a/src/syseng/netrfc.3 b/src/syseng/netrfc.3 new file mode 100755 index 00000000..edbdc5df --- /dev/null +++ b/src/syseng/netrfc.3 @@ -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 + \ No newline at end of file