• Please review our updated Terms and Rules here

PDP-8/I at the RICM

m_thompson

Veteran Member
Joined
Jul 8, 2014
Messages
1,985
Location
Rhode Island, USA
The RICM has a PDP-8/I that was originally used to test vacuum at the United Electronics Company in Newark, N. J.
http://www.ricomputermuseum.org/Home/equipment/pdp-8-i

At the end of its working life it sat in an abandoned building for several years before it was rescued and donated to the RICM. Unfortunately the poor environmental conditions led to lots of corrosion. It was quite an effort to get it running, including repairing or replacing 58 flipchips. Once it was running again it has been very reliable.

We had not run the system for a few months, so two weeks ago we tried to boot DMS on it. It wiggled the DECtape, but failed to boot. It was stuck in a loop waiting for the TC01 to do a Data-Break. Further investigation showed that the problem was actually in the processor. The code reads Status Register A, executes a CIA to turn the status into a 2s compliment, TADs it to the expected value, and does a SZA to make sure that the register contents match the expected value. It didn't. We eventually found that the IOP 2 signal was missing at the TC01, so it would not read the status register. Wiggling flexprint cables and cleaning the gold fingers on the M651 bus drivers fixed that problem. This is an example of the corrosion problems with this system.

The MAINDEC DITCA TC01 BASIC EXERCISER first writes, reads, and compares the status registers before it starts testing the TC01. This part failed right away. We found that the CIA instruction didn't always work. Cleaning the gold fingers on the M617 in slot E32 fixed the CIA instruction. Corrosion again. We ran MAINDEC D01C Instruction Test 1 and MAINDEC D02A Instruction Test 2 for quite a while without errors. MAINDEC DITCA TC01 BASIC EXERCISER failed immediately with a register compare problem.

So, it looks like the CIA instruction works fine during the processor instructions, and fails in the TC01 BASIC EXERCISER. We made a little loop that loaded the switch register into the AC, and looped doing CIAs. This worked OK.

Maybe it is an issue when executing an IOT and then a CIA?
 
After several hours of running diagnostics it started behaving again, and it is running well enough to boot DMS. It gets periodic errors when running the TC01 diagnostics, so we need to fix that problem too.
 
Charles Lasner visited the RICM yesterday and we had a chance to try the latest version of his P?S8 operating system on the PDP-8/I. It is a very capable operating system considering it will run in just 4k. We are really looking forward to the Charles finishing the OS so others can use it.
 
Last edited:
The PDP-8/I at the RICM is back among the living. I expected a slog through a bunch of FlipChips with bad SN7474 chips. It turned out to be a broken wire in the Teletype console cable. It is currently running the DEC 4k Disk Monitor. I need to get P?S/8 and Poly BASIC running too.

FOCAL 1969.JPG
 
Here is a small focal based test program I run on my FPGA PDP-8 ...
ERASE ALL

1.01 ASK "VISIBLE[0/1]",VI
1.02 SET CT=0

2.02 IF (VI) 2.04,2.04,2.03
2.03 DO 8
2.04 SET PI=3.1415926536
2.05 FOR N=0,1,30; DO 6
2.06 GOTO 2.02

6.01 SET R1=10*FRAN()
6.02 SET R1=R1-FITR(R1)
6.03 SET R2=FABS(99*R1)
6.04 SET T1=FSQT(R2)^2 - R2
6.05 SET T2=FLOG(FEXP(R2)) - R2
6.06 SET T3=FSIN(R1)^2 + FCOS(R1)^2 - 1
6.10 SET ER=0
6.11 IF (FABS(T1)-0.00000004) 6.12,6.12,6.14
6.12 IF (FABS(T2)-0.00000921) 6.13,6.13,6.14
6.13 IF (FABS(T3)-0.00000813) 6.15,6.15,6.14
6.14 SET ER=1
6.15 IF (VI+ER) 6.21,6.21,6.20
6.20 DO 7
6.21 IF (ER) 6.40,6.40,6.22
6.22 ASK "CONT[X]",XX
6.40 IF (VI) 6.99,6.50,6.99
6.50 SET CT=CT+1
6.51 IF (CT-1000*FITR(CT/1000)) 6.99,6.52,6.99
6.52 TYPE "COUNT",%8,CT,!
6.99 RETURN

7.01 TYPE %12.10,R1," ",%12.08,R2," ",T1," ",%16.08,T2," ",%18.08,T3,!
7.02 RETURN

8.01 TYPE !," R 99*R "
8.02 TYPE "FSQT(99*R)^2-R2 FLOG(FEXP(99*R))-R2 FSIN(R)^2+FCOS(R)^2-1",!!
8.03 RETURN

GO
 
It is currently running the DEC 4k Disk Monitor.
Have you done any programming with it? I looked to see how I could store overlays to the disk and call them up as needed in the program but wasn't clear how to do it. Was short on time for the demo so just used the end of the disk without proper files. Was trying to shove a demo I wrote for 8k 8/I into 4k straight 8.
 
We wrote a little program in Fortran so we could demonstrate the whole software development process. We haven't tried anything more ambitious than that. We are running from DECtape, but it behaves the same as a DF32 disk.
 
The 8/I at the RICM broke last week. No register lights are lit on the console. The START, STOP, CONTINUE, SINGLE STEP, and SINGLE INSTRUCTION switches all work OK. The LOAD ADDRESS, EXAMINE, and DEPOSIT switches don't do anything. When running it looks like it is just executing and AND instruction from location 0000.

I chased the signal from the LOAD ADDRESS switch and found an error on the 8/I schematics. On schematic page 8I-0-27 section B3 it says that the LOAD ADDRESS signal should be on pin B40 K2, but was actually on B40 L2. Schematic page 8I-0-2 section C6 has the signal on the right pin.

The switch signal turns into KEY LA by an M113 flipchip, gets ORed with the rest of the switch signals by an M117 flipchip, and then goes into the M700 Manual Timing Generator flipchip. I can see the MFTS0# signal toggle when the LOAD ADDRESS switch is pressed, but I can't see the MFTP0 signal toggle. We had lots of problems with the M700 board when we first restored this machine so I just replaced all of the ICs. I ran the board on a flipchip tester and used a 'scope to check the signals. Everything on the board looks like it is working OK.

My current guess is that one of the flipchips connected to the MFTP0 signal has its input shorted to ground. So far I only found one flipchip, the M113 in slot F20, that connects to the MFTP0 signal. The schematic says that it is an L113 flipchip. Next time I will pull the M113 and see if the MFTP0 signal works OK.
 
My current guess is that one of the flipchips connected to the MFTP0 signal has its input shorted to ground. So far I only found one flipchip, the M113 in slot F20, that connects to the MFTP0 signal. The schematic says that it is an L113 flipchip. Next time I will pull the M113 and see if the MFTP0 signal works OK.
There is another important connection to MFTP0 at F30U2, where it is inverted to form MANUAL_PRESET_L. (Having the Eagle drawing is very handy for this kind of question.)

I believe that's on the same 8i-0-2 sheet, just up from the lower right corner.
 
Vince, Thanks for pointing out the other destination of MFTP0. The M617 in slot F30 is in section B5 of the prints that I am using.
 
I removed the M113 and the M617 and the MFTP0 signal is always at ground. I removed the M700 and measured the wiring resistance to ground and it was infinite.

While I was looking at the signals the +5.0V power supply died. Looks like I need to fix that before I can get back to debugging the timing signals.
 
If you try to drive the line manually with a small current limited supply, does it stay at zero? Maybe what's driving it is bad, not the receiving devices.

Or it could be a backplane wire shorted or is rubbing against a ground. Removing all the boards that touch it and trying to drive it may give you a clue.
 
My plan for Saturday is to disconnect the cable to the 8/I chassis and see if the +5.0V is OK at the power supply. I don't think that a short in the chassis is the problem because the +5.0V breaker didn't trip. If there was an overvoltage problem and the SCR crowbar tripped, then the +5.0V breaker would have tripped.

I can then check if the +8.0V from the transformer & diodes is OK. It us possible that one or both of the diodes has failed. If the +8.0V is OK, and there is no short in the chassis then there is most likely a problem on the G813 flipchip or one or both of the external 2N4398 pass transistors has failed. I should have spares for everything on the G813 so I should be able to fix it.
 
The yellow-to-red diodes in the DM2 diode bridge were both open. We had just one DM2 diode bridge left. The +5.0V output is working again, but the output was actually 4.7V.
 
The +5.0V output is working again, but the output was actually 4.7V.
Is that at the regulator or backplane? I've improved it some at the backplane by tracking down the drops and improving the connections to reduce losses. My regulators were 5V but losses a problem.
 
Back
Top