[Simh] The lost disk of the PDP-15

Bob Supnik bob at supnik.org
Tue Mar 15 17:45:26 EDT 2016


While I was digging deeper and deeper into the extent PDP-15 sources, I 
found a tantalizing reference: "the RP03 is supported as an RP02." This 
was the first time I'd seen any indication that the PDP-15's RP 
controller supported the later, double-sized disk. The XVM/MUMPS sources 
(which are, alas, incomplete) also mentioned an RP03. It certainly made 
sense: the RP03 was just an RP02 with twice as many cylinders. The 
RP10-C (with which the RP15 shared a lot of logic) supported the RP02 
and RP03. But how did the RP15 do it? The XVM Systems Manual is useless, 
for example: it mentions the RP03 but shows formats that apply only to 
the RP02 (8b cylinder address).

I've spent (wasted) this whole day going through the 1975 revision of 
the RP15 prints, and I can now specify the very small set of changes 
that were made in the RP15 to support the RP03:

1. The cylinder address register was expanded to 9b.

2. An additional interface line was defined from the disk drive ("I am 
an RP03").

3. The logic for detecting end of pack/illegal cylinder address was made 
conditional on the RP03 status line:
      end_of_pack = (RP03? 405: 202);
      illegal cylinder = cylinder > end_of_pack;

4. The load disk address instruction (DPLA) was modified to load a ninth 
cylinder bit from AC:
     <0:7> = cylinder low order 8b
     <8:12> = head
     <13> = cylinder high order bit
     <14:17> = sector

5. The read disk address instruction (DPOA) was modified to read back 
the ninth cylinder bit, in the same format.

6. The read selected unit cylinder instruction (DPOU) was modified to 
read back nine bits of cylinder and an RP03 indicator:
     <0> = set if RP03, clear otherwise
     <9:17> = current cylinder (in normal bit order)

The RP10-C also had to put the 9th cylinder bit in a spare location.

So in theory, software could test each disk drive to see if it is an 
RP03 and react accordingly.

It would be easy enough to add RP03 support to the RP15, but there's no 
indication (other than MUMPS) that software ever did anything with it. 
The problem was not file structures - DOS-15 used 18b block numbers, and 
an RP03 only had 80,000 blocks. Perhaps the RP03 came along too late, or 
customers were more interested in lower cost options like DECtape, the 
RF15, or the RK15 Unichannel solution.

/Bob

P.S. Some other fun things from the MUMPS listing... MUMPS supported two 
LP15 line printers, the second at device address 35. It also supported 
up to 10 instances of a true terminal mux/scanner called the DC01EB, 
about which there is no information beyond the references in the MUMPS 
listing and the Diagnostic Exerciser writeup. MUMPS did not support the 
Unichannel.



More information about the Simh mailing list