It's taken me over a month to put some data together, both tabulating from various sources and observing what is actually going over the wire.

The basic problem was that some changes that I had previously made to DAP, NFT, FAL and friends to write protect the code space silently left things in such a fragile state that trying to link the relocatable binaries (I.E., .REL files) into  an NFT execute either outright blew LINK up or hung it in an endless loop.  That's right: Boom...  I don't think I've ever seen that.

Fixing LINK didn't seem to be obvious and I didn't want to get into pile of code as I judged this to be a one to two year rabbit hole because it would turn into a rewrite to use extended mode and support long symbols.

Briefly, the problem turned out to be that if you are using Read-Only .PSECT's (a relatively late MACRO feature) in a GLXLIB program, you must name your code segment .HIGH. and your data area DATA.  I got the data part correct, but committed the unforgivable sin of naming the code segment "CODE"...  Go figure.

So MIM:: is sending an OS Type of 12, just like it's supposed to, and Tops-20 doesn't recognize this.  The recovery works well enough, it seems, Tops-20 DAP merely whining, but carrying on.  So I'll fix that.  It seems the best way to go is to simply mimic the RSX naming paradigm; that is, RSX OS$XXX would go to .OSXXX.

I'm wondering whether I should double check the FILESYS byte.  Probably.

RSX
Symbol
RSX
Value
RSX
OS Type
DAP V5.6
Value
DAP V5.6
OS Type
Tops-20 DAP
Symbol
Tops-20 DAP
Value
Tops-20 DAP
OS Type
OS$RT 1 RT-11 1 RT-11 .OSRT 1 RT-11
OS$RST 2 RSTS 2 RSTS/E .OSRST 2 RSTS/E
OS$11S 3 RSX-11S 3 RSX-11S .OSRXS 3 RSX-11S
OS$11M 4 RSX-11M 4 RSX-11M .OSRXM 4 RSX-11M
OS$11D 5 RSX-11D 5 RSX-11D .OSRXD 5 RSX-11D
OS$IAS 6 IAS 6 IAS .OSIAS 6 IAS
OS$VMS 7 VAX/VMS 7 VAX/VMS .OSVAX 7 VAX/VMS
OS$T20 8 TOPS-20 8 TOPS-20 .OSTP20 8 TOPS-20
OS$T10 9 TOPS-10 9 TOPS-10 .OSTP10 9 TOPS-10
OS$RTS 10 RTS-8 10 RTS-8 .OSOS8 10 OS-8
OS$OS8 11 OS-8 11 OS-8 .OSRXP 11 RSX11-M+
OS$MPL 12 RSX-11M+ 12 RSX-11M+      
OS$COP 13 COPOS/11 13 COPOS/11      
OS$POS 14 P/OS          
OS$ELN 15 ELAN          
OS$CPM 16 CP/M          
OS$MSD 17 MS-DOS          
OS$U32 18 Ultrix-32          
OS$U16 19 Ultrix-11          

--T


On 10/22/22 6:03 AM, Johnny Billquist wrote:

On 2022-10-22 04:59, Thomas DeBellis wrote:
As we've noted earlier, the operating system numbers are not consistent between terminal transport and DAP.  Your numbers correspond to the DAP 5.6 specification as far as it goes, viz:

                           Value     OS Type

                             0       Illegal
                             1       RT-11
                             2       RSTS/E
                             3       RSX-11S
                             4       RSX-11M
                             5       RSX-11D
                             6       IAS
                             7       VAX/VMS
                             8       TOPS-20
                             9       TOPS-10
                            10       RTS-8
                            11       OS-8
                            12       RSX-11M+
                            13       COPOS/11 (TOPS-20 front-end)

Right.

I wish I hadn't sent out my last email because P/OS was staring me right in the face...  I don't recall there being any COPOS/11 on any Tops-20 front end.  The master DTE ran RSX20F, the RJE ran DN60 code and the Phase III DN20's ran what I thought was called "MCB".

The "TOPS-20 front-end" was a bit of news to me. Makes me more curious...

And yeah, P/OS was in my list. Right after COPOS/11. You should have read one more line. :-)

The Tops-20 DAP library has the following operating system numbers which partly correspond to yours.  By this, I mean they are table offsets which are used to pick the default mode. Assuming the following:

         .OSRT==1        ;RT-11
         .OSRST==2       ;RSTS/E
         .OSRXS==3       ;RSX-11S
         .OSRXM==4       ;RSX-11M
         .OSRXD==5       ;RSX-11D
         .OSIAS==6       ;IAS
         .OSVAX==7       ;VAX/VMS
         .OSTP20==10     ;TOPS-20 (^D8)
         .OSTP10==11     ;TOPS-10 (^D9)
         .OSOS8==12      ;OS-8 (^D10)
         .OSRXP==13      ;RSX11-M PLUS (^D11)


It would appear that there is a conflict in the list in the PDP-8 entries and RSX-11M+.  If MIM:: is reporting decimal 11 (octal 13), the right thing from my list, then it is reporting itself as a PDP-8 running OS-8 according DAP 5.6.

So... go with what MIM:: says, not what is documented?

I don't get this. The documentation says RSX-11M-PLUS is 12, the code in RSX itself says it's 12. The only thing disagreeing is your list in TOPS-20.

  Johnny