[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