It is a true statement that the format of FIX.T20 file is compatible the
NCP sub-mode of Tops-20 OPR, viz:
NCP>set noDE 2.251 namE SCONOS::
NCP>
14:03:47 NCP
Request # 344; Set Node Completed
NCP>shoW noDE 2.251
NCP>
14:03:55 NCP
Request # 345; Show Node Summary Completed
Remote Node = 2.251 (SCONOS)
State = Unreachable
NCP>
This is by design because the file is actually handled by something
else, SETNOD. SETNOD parses the file, and produces a binary format file
which can be directly swallowed by the NODE% JSYS' .NDINT function. So
that's a few JSYi and you're done. This is really important at boot
time when a lot of stuff is cranking up.
Otherwise, using OPR will be very slow. In addition to parsing the
indicated text, an IPCF message has to get built which is then sent to
Orion who then hands off to NMLT20 to do the work. So that's a bunch
more JSYi and five context switches for every node. You really don't
want to do this at boot time as there are timing and resource issues you
can bump into and it slows down the boot.
Unfortunately, there is undocumented behavior in Tops-20 that, if you
redefine a node in another area, everything is fine. If, instead, you
try to do this to a node in the same area, you'll get a cryptic error.
You've got to delete the node first. However, to find that out, you
need to make a lot of changes to the monitor to get the secondary error
code back and have SETNOD to display it.
I did all that plus entirely rewrote SETNOD to be aware of the node
deletion requirement before putting in the new definitions.
This is all done by a something-weekly batch job that pulls the FIX.T20
file down and then has SETND2 parse it. If there are no changes, then
nothing happens. If there are changes, then SETND2 does things the
right way and only puts in the updates; maybe a handful of nodes. I
would imagine that I could have 'fixed' the monitor to do this itself,
but I was unsure as to why the behavior was as it was in the first place
and thus I fixed it in user mode. Such incremental updates are also
more efficient for the monitor.
This has all worked uneventfully for well over a year on TOMMYT:: and
VENTI::, although I do tinker with the code from time to time when the
mood strikes me. One thing I did was to do a multi-forking JSYS
trapping based simulation mode (using TFORK%) to allow me to do testing
without choking the monitor. That enable me to do things with the local
executor that Tops-20 only permits once per boot.
This will all get posted as PANDA II when I get out of all the rabbit
holes I'm in.
Meanwhile, I'm not aware of any 20 site regularly updating their node
database. I couldn't say about Tops-10.
DATATRIEVE sounds awfully familiar. Was there a 36 bit version of it?
------------------------------------------------------------------------
On 9/30/23 8:32 AM, Johnny Billquist wrote:
.
.
.
FIX.T20 - This is a script for TOPS-20.
.
.
.
TOPS-20:
Grab MIM::HECNET:FIX.T20 and run in in the NCP submode of OPR (if I
remember the setup correctly).