• Please review our updated Terms and Rules here

PDP-9 at the RICM

Today was a holiday in RI, so I had some more time to work on the PDP-9.

I ran MAINDEC-9A D3BB-PB TC02 Basic Exerciser test #11, TC02 Instruction Test to see if the issues we had with the Status Register A write/read pattern test were fixed by swapping the S202 flipchips that make up the register. It behaved better because the first bit that was tested was the ENI (Enable Interrupt) and we had swapped the S202 for that bit. Now Function Register bit #3 was failing. Since we are only using TU55 #0 at this point I swapped the S202 that held the ENI bit for the S202 that held two of the tape drive bits. Now whole register passed the diags. We need to investigate this further. I don't like the idea that certain flipchips will only work in certain slots in the TC02. It is possible that I improved the electrical connection between the flipchips and the backplane by moving them, or the circuits for the tape drive unit number are less loaded than the circuits for the Function Register and Enable Interrupt and two of the S202 flipchips have weak transistors.

After the register tests, the diag starts testing the basic functions of the TC02. It tests skip instructions, interrupts, status conditions, error conditions, and then moves the tape and tests databreak. It failed at this point where it was looking for a second databreak to happen and it didn't. The MR (Mark Track Read) error light was on, so that might have stopped the tape motion and the second databreak. If there really was a Mark Track error it could be caused by tape head skew because we replaced the TU55 tape head, problems with the tape that I formatted on my PDP-8/e, or more problems in the TC02 controller. I will format another DECtape in PDP-9 format on my PDP-8/e, and we can also try a PDP-10 tape we have that was formatted on a KL10 to eliminate the tape format problem. We can borrow a different TU55 from the PDP-8/I to eliminate the tape head skew problem, and we will continue digging into the TC02 controller to see if something else is broken.

We are making progress, and eventually we will get it working. Then we can try a modified version of DumpRest to write an ADSS image to a DECtape and see if the PDP-9 will boot and run an OS.
 
I spent some time today chasing an issue with the TC02 DECtape controller where it would interrupt when it shouldn't, and not interrupt when it should. After an hour of chasing signals around the TC02 and the I/O bus I found that the interrupt was coming from the console serial port because I did not have a current loop terminal connected. Oh well. Now on to the Mark Track decoding error.
 
We connected the logic analyzer to the TC02 Window Register and found that the Mark Track is being read correctly and the data is shifting through the Window Register correctly. The Window Register is 9 bits, and the Mark Track codes are 6 bits. There are two bits of the previous Mark Track code saved so the TC02 can check for the proper sequence of Mark Track codes. There is a lot of circuitry that decodes the contents of the Window Register, the current state of the TC02, and the current function that the TC02 is executing. If anything isn't correct it sets the Mark Track error. Saturday we will concentrate on the Window Register decoding to insure that all of that complicated logic is working.
 
PDP-9_TC02_MKTK_ERROR.jpg
D15: 0->WINDOW
D14: (100)->C0-2
D13: C-SYNC
D12: MK BLK START
D11: MK DATA
D10: MK BLK END
D09: MK END
D08: MKTK Error

This shows MK BLK START going active at the beginning of a block, then lots of MK DATA for the block, then MK BLK END at the end of the block, then MKTK going active to indicate a Mark Track decoding error.
Time to look at all of the inputs to the MKTK flip-flop to see what is triggering the error
 
Really nice to see these things in action. The problem with these machines is that
there are only a few people who have some sort of experience with them.
So that makes a small world to ask for information and you have to figure out a lot by yourself....

A computer made with discrete parts and/or tubes is still high on my wish list...
But the closest I could come is with my Anita MK8, MK9 and MK12 machines.
Tubes, diodes and transistor logic combined!

Enjoyed your PDP9 in action movies. Thanks for sharing

Regards, Roland
 
Enjoyed your PDP9 in action movies. Thanks for sharing

Regards, Roland

Hopefully in a week or so, we will have made a bootable ADSS DECtape on my PDP-8/e, punched the ADSS bootloader on a paper tape, and have ADSS running. That will start a whole different move adventure learning about ADSS.
 
Now for the next PDP-9 adventure. Using SIMH I have SYSGENed a version of ADSS tailored to match the hardware in the PDP-9. We now need to write this image onto a real DECtape. I have used my PDP-8/e and TD8-E many times with dumprest to read and write DECtape images. Anders made a modified version that will read the larger block sizes used on PDP-10 and PDP-9 systems. Using the same modifications that Anders made, I modified the resttd8e.pal and resttd8e.c programs to write PDP-9 tapes, but I haven't tried it yet.

I wrote a Windows GUI application that can read DECtape and disk images for the PDP-8, PDP-9, and PDP-10. In the process of writing the PDP-9 parts I found that the PDP-9 will read and write DECtapes in both directions. It uses an interleave of 6 when creating a file, and when it hits the end of the tape it turns around and continues writing backwards. This means that blocks that are written in the forward direction have the checksum after the data (just like a PDP-8) and blocks written in the backward direction have the checksum written before the data (from the PDP-8's perspective. I don't know if I can get resttd8e_18.pal to write the checksums both before and after the data in a block. If not, I may have to resort to writing the files on the DECtape just like the PDP-9 does, skipping 5 blocks and writing both directions. That should be an adventure in programming.
 
SIMH PDP-9 DECtape images include some blocks that the PDP-9 wrote in the reverse direction. These blocks are stored in the SIMH DECtape image in the complement obverse format. SIMH will convert blocks that are read in the reverse direction from the compliment obverse to normal format. SIMH handles writing in the reverse direction correctly too.
 
The normal PDP-8 & TD8E DECtape formatter knows how to create PDP-9 DECtapes. It took a few tries, but I now have three blank PDP-9 DECtapes.

This week I tried several of the ADSS images that Anders made from the DECtapes that came with his PDP-9. He has ADSS V3C, V4B, and V5A. It has been an adventure learning how to sysgen ADSS for the smaller configuration PDP-9 that the RICM has, and modifying David Gesswein's dumprest for the PDP-8 & TD8E to write the PDP-9 DECtapes. I now have what may be a bootable ADSS DECtape. I expect to have problems with the library file on the tape because the checksum will be written at the wrong end of the block for the blocks that are written in the reverse direction. Hopefully some more modifications to the dumprest program can cure that, otherwise I will need to write a PDP-9 program to fix the checksums.

Saturday we will give this a try. Wish us luck.
 
Well, that didn't go so well. I started making a PDP-9 disassembler for paper tapes. It gave me a listing of the ADSS bootstrap tape that came with SIMH. I toggled in the bootstrap and started it. Both DECtapes that I created on my PDP-8/e & TD8E cause parity errors when read on the PDP-9 & TC02.

We got the broken GNT 4601 paper tape reader punch from the warehouse. Dawson, our new volunteer from U of M in Duluth, found the schematics and manuals for the reader/punch. The rubber grommets that isolate vibrations from the punch motor have "perished". I stuffed some folded paper under the motor to put enough tension on the belt to keep it in place. When we plugged it in the RIFA capacitor made an incredible amount of really stinky smoke, so we cut it out. After fiddling with serial cables, and using an RS-232 breakout box, we were able to punch the ADSS bootstrap that came with SIMH. To cold boot ADSS you just put the bootstrap in the paper tape reader and press the READ IN switch. The bootstrap loads, runs, and tries to read the DECtapes. Sometimes the DECtape boot actually completes, but ADSS doesn't start.

Last night I dumped the ADSS DECtapes that I made and looked at the contents with a SIMH media tool that I wrote. The dump of the ADSS tape showed that the tape was far from correct. I am now fiddling with modified dumprest for 18-bit images. Hopefully I will be able to determine why the tapes were written incorrectly and make a good ADSS DECtape. More today after I finish my household chores.
 
Thanks Jack! I've been pleasantly surprised by the warm weather this month, so I'm looking forward to a mild winter for once. It's been in the mid 50s in Duluth for the last week or so haha.
 
Back
Top