[Simh] Unix v0 - gleanings from the sources
Bob Supnik
bob at supnik.org
Fri Feb 26 14:23:25 EST 2016
Just passing along what Warren and I are discussing.
1. How command parsing worked.
It appears that the command parser generated an argument list and stored
a pointer to it in the last word in addressable memory (017777 - another
indicator that Unix v0 used just 8KW). The format was:
c(017777) = m
m+0/ word count (not argument count) - should be a multiple of 4
m+1..m+4/ first file name
m+5..m+8/ second file name
etc
File names are in "Unix v0" ASCII (right justified in 9b bytes), with
nulls for fill, indicating a maximum file name of 8 characters.
cat seems to skip the first argument - don't know why yet - but as and
other utilities starts with the first. In general, the code is not
bulletproof - a bad argument count (ie, not a multiple of 4) will cause
cat to loop forever.
2. The card reader was probably a CR01B, the el cheapo model. The code
to read cards times out the actual completion of a card read after
column 80, because the CR01B, unlike the more expensive model 40, did
not provide any status flags for hopper empty or card complete or end of
file.
(We had a CR01B at ADR as well, and what a piece of junk it was.
Unfortunately, the card-to-DECtape utility I wrote was only partially
recovered, and the actual card IO is missing.)
3. Whether this was deliberate or not, Unix v0 lives within the
constraints of PDP7-PDP9 compatibility. There is no DECtape support; the
controllers on the 7 and 9 are incompatible. There is no use of extended
memory; again, there are incompatibilities. The card reader uses only
binary mode. The same software would work with the CR02B on the PDP9,
although not the CR01E. And the RB09 would work like the half-sized
version of the -7.
4. Based on the evidence of the sources, I would tentatively identify
"computer 0" as PDP-7 serial number 34, as documented in the 1972 field
service listings. It's an 8KW machine with an EAE, a CR01B card reader,
a 340 display subsystem, no DECtapes, and, most interestingly, an "RC09"
- about which I can find nothing else. (There are tantalizing references
to an "RC09 Maintenance Manual," publication DEC-09-I5BA-D, but the
document itself has not surfaced; and early printings of the Advanced
Monitor System software also refer to an RC09.) Was this the cousin of
the RB09 that I think was used as a disk? Interestingly, there's one
PDP-9 with a very similar configuration in the service listings - also
at Bell Lab.
/Bob
For those who are interested in these things... It's possible that the
RB09 and RC09 are the same device. While the software drivers that are
available (like the DOS15 disk handler) refer to an RB09, the 1972 Index
of Publications only shows an RC09. On the other hand, the DEC services
listing for 1972 shows that PDP-9 serial #168, at St. Paul's Hospital,
had both an RB <and> an RC, which would imply they were distinct. The
same services listing shows about a dozen RM09 drums, which are not
presently simulated. The PDP-9 User Handbook lists 3 drum sizes - 32K,
64K, 128K - but the ADSS driver has sizes up to 512K. Go figure.
More information about the Simh
mailing list