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.

_______________________________________________
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Reply via email to