Oh.  Don't be surprised.
When I write protected what would be GLXLIB's high segment on Tops-20, 
the only way to do this is with .PSECT's, but GLXLIB makes a lot of 
assumptions about addresses.  On Tops-10, the GLXLIB high segment is 
write protected, and I think that is the right thing to do for all 
executable code.  I also moved GLXLIB as high as i could in the address 
space to allow GLXMEM on DAP's behalf to snarf really huge chunks of 
memory, which get filled up on large directory responses.  This is the 
default GLXLIB memory address space lay out:
       Section 0    R, W, E,  Private
    0           TOMMYT:<SUBSYS>GLXLIB.EXE.5  1   R, CW, E
    400-432     TOMMYT:<SUBSYS>GLXLIB.EXE.5  2-34 R, CW, E
Tops-10 fans will note that page 400 is the historic address of the high 
segment and this dates back to KA days.  I think that was just a 
convention and that it could be different, but I don't remember.  Bob?  
This is the new layout:
       Section 0    R, W, E,  Private
    0 STAR:<GALAXY-SOURCES.GLXLIB>GLXLIB.EXE.92  1   R, CW, E
    637-673  STAR:<GALAXY-SOURCES.GLXLIB>GLXLIB.EXE.92  2-36 R, E
Note that GLXLIB is much higher--in fact, it is as high as it can go 
before bumping into DDT (if DDT is in the same section).  It is also 
write-protected.
Another reason I did this was to see what kind of bugs it would shake 
out and I've gotten a few, which is the reason for the two pages of 
added code (28 pages to 30, a big whopping 15K ...)  I also lifted some 
nifty stuff from Tops-10 GLXLIB; the sources diverged.
------------------------------------------------------------------------
On 11/22/22 4:54 AM, Johnny Billquist wrote:
  On 2022-11-22 06:18, Thomas DeBellis wrote:
  
------------------------------------------------------------------------ 
 On 11/21/22 5:47 PM, John Forecast wrote:
 I wanted to quickly find out how much, if  any, code was dependent 
 on the OS type. One other area of incompatibility is that TOPS-10 
 and the Linux dndir require a DAP-level ACK after the attributes 
 during directory listings. 
 Johnny and I did a lot of work and testing to get Tops-20 DAP/FAL to 
 perform better.  Some were Tops-20, others not.  One Tops-20 bug was 
 that an eight bit file would cause a directory listing to stop.  My 
 favorite RSX issue was that it wants UPPERcase month names; I fixed 
 that by UPPERcasing the result of ODTIM%. I can't remember what 
 Johnny did (if anything). 
 
 I didn't do anything. And the uppercase month names are what the 
 protocol specification states. RSX was just following the spec.
   I don’t
know. I think several people were talking about making a 
 system available. 
 Well, when if one is ever available on HECnet, I'll be /delighted/ to 
 test against it.
 Meanwhile, now that I am finally able to assemble and LINK a working 
 NFT and FAL and have fixed the incorrect OS type number issue, I 
 bumped into another problem.  Naturally, it's doing directories.  
 When doing an ANONYMOUS directory of MIM:: (I.E., DIR MIM::*.*), I got:
     MIM::DU1:[DECNET]
     ....
     [Parsing Name message]
     [Parsing Attributes message]
     [Parsing Date/time Attributes message]
     [Parsing File Protection Attributes message]
     [Parsing Name message]
     DTRCOM.LST;115;P775656          10 18944(8)   24-Oct-2021 15:06:46
     [Parsing Name message]
     [Allocated Receive buffer (Words=225 Len=1056)]
     ?Logical link reception error - Record is longer than user requested
     Logical link abort reason(0) - No error
 So it died on whatever the file is that follows 
 MIM::DU1:[DECNET]DTRCOM.LST;115
 Sigh... 
 
 The next file in the directory is DTRCOM.MAP, which is a file that is 
 a bit more odd. But I'm surprised that TOPS-20 would barf on this.
 .dsp [decnet]dtrcom.map
 DU1:[DECNET]DTRCOM.MAP;84
                         Size:    47./47.         Created: 24-OCT-2021 
 15:06
                         Owner:   [007,014]       Revised: 24-OCT-2021 
 15:06
                         File ID: (17262,10,0)    Expires: 
 <none_specified>
   File protection:      System:RWED, Owner:RWED, Group:R, World:R
   File organization:    Sequential
   File attributes:      Allocation=47, Extend=0
   Record format:        Variable length, no maximum defined
   Record attributes:    None
 Compared to the .LST file:
 .dsp [decnet]dtrcom.lst
 DU1:[DECNET]DTRCOM.LST;115
                         Size:    37./37.         Created: 24-OCT-2021 
 15:06
                         Owner:   [007,014]       Revised: 24-OCT-2021 
 15:06
                         File ID: (17260,106,0)   Expires: 
 <none_specified>
   File protection:      System:RWED, Owner:RWED, Group:R, World:R
   File organization:    Sequential
   File attributes:      Allocation=37, Extend=0
   Record format:        Variable length, no maximum defined
   Record attributes:    Carriage return
   Johnny