On Jun 1, 2023, at 7:07 PM, Johnny Billquist
<bqt(a)softjar.se> wrote:
...
Here is what is defined in RSX:
...
CP$OCT'B'= 010 ; 52 Octal version numbers
CP$CLT'B'= 020 ; 53 Collating table attributes extension *** V7
CP$SFS'B'= 040 ; 54 Stream File Access mode to Stream files
CP$SFA'B'= 100 ; 55 Stream File Access mode to any files
; 9
CP$BIO'B'= 001 ; 56 Block I/O Access modes *** V7.2
CP$BRO'B'= 002 ; 57 Switching between Record and Block Access
CP$MFA'B'= 004 ; 58 Storage of main file attributes
CP$BSZ'B'= 010 ; 59 Non-8-bit aligned data
CP$SRF'B'= 020 ; 60 Stream Record Format as default ASCII text
CP$IP1'B'= 040 ; 61 Indexed file Prologue structure Version I
CP$IP2'B'= 100 ; 62 Indexed file Prologue structure Version II
; 10
CP$IP3'B'= 001 ; 63 Indexed file Prologue structure Version III
;CP$xx'B'= 002 ; 64
;CP$xx'B'= 004 ; 65
;CP$xx'B'= 010 ; 66
;CP$xx'B'= 020 ; 67
;CP$xx'B'= 040 ; 68
;CP$xx'B'= 100 ; 69
; 11
;CP$xx'B'= 001 ; 70
;CP$xx'B'= 002 ; 71
CP$XCP'B'= 004 ; 72 Extended SYSCAP field (RESERVED)
Clearly a bunch more defined than you have. However, I would not dare explain what they
all mean. Some I might be able to figure out, but some I suspect I might not understand at
all.
Interesting. The list I have in PyDECnet stops at bit 52, I'm not sure why. Perhaps
that's the highest I saw in the VMS microfiche.
And assuming that the PDP-10 numbers bits from 0 to
35, with 35 being LSB, it looks like the bits match what you have in your file (I'm
guessing 1B32 means bit 32 being set). But why the RSX code is only using 7 bits in each
byte/group I don't know.
It's because that field is defined as EX-12. "Extensible" is a DECnet
standard encoding technique for variable length bitstrings or integers; EX-n means a max
of n bytes, and in each byte the low order 7 bits are data and the upper bit it set if
another byte follows. Some other DECnet protocols use this to some limited extent; DAP
uses it way more than the others.
paul