• Please review our updated Terms and Rules here

Classic PDP-8 Donation at the RICM

Ok, I remember something similar on my 8L. Turned out to be a shorted 7474 that would "latch" when the start key was pressed and held down. Should be an easy find.
 
We spend most of Saturday afternoon chasing problems with the RIM loader. It turned out that the SNL and SZL instructions never skipped. After lots of testing it looks like it was a problem with dirty gold fingers on FlipChips. Once we got that fixed we found that bit-8 from the serial console did not transfer to the AC so the RIM loader could not find the leader at the beginning of a RIM paper tape. We will work on that Wednesday.
 
The problem with the RIM loader turned out to be a bad connection on the gold fingers on a ribbon cable that connects the memory wing where the USART is implemented to the processor wing where the accumulator lives. Just cleaning the gold fingers fixed the problem.

Now to fix the problem with the JMS instruction...
 
  • Like
Reactions: jpk
We spent a lot of Saturday running MAINDEC-801, the instruction test for the Straight-8. It would run a few passes and then fail when testing the JMS instruction with interrupts enabled. We wrote a few JMS test and found that the problem is intermittent. The tests will execute thousands of JMS instructions and then it will process an interrupt instead of a JMS. This is going to be challenging to track down.
 
This might be a situation where the marginal tests could help you out.

I would also run the random JMS test for a while to see if it finds something. It might not have anything to do with interrupts. I don't remember 801 doing much specific JMS testing.
 
This might be a situation where the marginal tests could help you out.

I would also run the random JMS test for a while to see if it finds something. It might not have anything to do with interrupts. I don't remember 801 doing much specific JMS testing.
The RIM loader works OK. but the BIN loader uses JMS so we can't load BIN formatted files like the Basic JMP-JMS Test and the Random JMP-JMS Test.

I remember that Warren wrote tools to convert between RIM and BIN formatted files, but I can't find them.
 
After many hours of debugging we found an S602 Pulse Amplifier that was not driving the 0->MB signal to -3V when it was inactive. The signal was about -2V when inactive and was subject to noise from other signals. We replaced it with an R602 that we had and it runs the Instruction Test #1 OK now. We will repair the original S602 and reinstall it.

The next project is to connect the DF32, get the controller working, and then make an updated platter emulator. That will give us 128kW of storage. Plenty to install DMS and demonstration programs.
 
Now that the processor and memory are running OK we decided to run additional MAINDEC diagnostics. Grant wrote some toggle-in programs for the EAE instructions, which showed that the basic functionality was OK. We wanted to run a more thorough test, so we ran MAINDEC-08-D0BA-D PDP-8 Instruction Test Part 3B EAE. The diag ran for about 30 minutes and then halted at 0460. Unfortunately no one seems to have the documentation for this diag other than the starting address and normal switch settings.

We used D8TAPE to disassemble the paper tape image and found that there was no HLT instruction near where it halted. Comparing the disassembled source to the contents of memory showed that it had picked up bit-10 which added the HLT bit to the SNA instruction. Fixing that location showed memory corruption in many locations. After manually fixing many locations the memory behavior started getting worse. The RIM loader would get corrupted, so we couldn't load diags. It finally got so bad that storing a 0000 in core would read back as 5252. We were really puzzled about what hardware failure would cause that because all of the FlipChips that handled more than one bit of memory or the AC, MA or MB all handled adjacent bits.

We finally hit on the idea that maybe the Normal/Margin power switches were not making good contact. We had this problem on the PDP-9 and fixed it by cycling all of the switches a few times. Cycling the power switches fixed the memory problem and now it runs the EAE diag again. Looking through the schematics shows that the Sense Amplifier even bits are in row MA and the odd bits are in row MB. The Margin power switches are for complete rows of FlipChips in the PDP-8, so that would explain why one flakey switch would affect every other bit.
 
I have

Maindec 801-3A
PDP-8 Instruction Test (EAE Type 182)-Part 3A
July 19, 1965

My binder has a tab for Maindec-08-D0BA but that section is empty. I have no idea when it vanished or if I ever had it.

Good find on the marginal test switch issue.
 
Do you have the listing for MAINDEC-08-D0BA or for MAINDEC-801-3A?
I have only a binder with the label MAINDEC-08-D0BA but that section is empty. I have an original paper tape binary.

Vince supplied a link a few posts above this one to a scan he made of my document which includes the listing for MAINDEC-801-3A

One of those tests is for the EAE functionality other than multiply and divide, The other pretty much just tests multiply and divide,

There is an order and pass count specified in the maintenance manual for the tests. The tests depend on the previous tests passing.
It will save you time in the long run to run the test in the correct order.

One of the EAE tests does not use TAD to load constants into the AC. They do a CLA CMA and then AND with the constant to load it.
Why would you do this? Because TAD has a lot more that can be wrong with it than the AND instruction does. There were clearly trust
issues when the author wrote the code.
 
One of the EAE tests does not use TAD to load constants into the AC. They do a CLA CMA and then AND with the constant to load it.
Why would you do this? Because TAD has a lot more that can be wrong with it than the AND instruction does. There were clearly trust
issues when the author wrote the code.
I used D8TAPE to make source from the newer MAINDEC-08-D0BA-PB. I am adding comments to the source and using labels and comments from MAINDEC-801-3A-PB where the code matches. I will add a comment in D0BA about expecting that TAD has already been tested and is working. I am sure that a source listing of D0BA will show up once I finish reconstructing the source.

We have already successfully run the MAINDEC-08-D0* series of diagnostics, so the TAD instruction was tested before we ran D0BA.
 
Back
Top