• Please review our updated Terms and Rules here

Time to rebulid the pdp8/L

Ok. So those M310's control the memory timing instead of the M700 which is controlling things like the PC and MA and Run/stop flip flops. Ok, that's the next step to walk down and check. Just ordered a new logic probe so I can see if the 310's are sending out pulses at all and more easily check logic levels than the meter. That plus the 7400 series in circuit tester coming on Saturday should get me to the point where I can see what's going on with the simpler gate modules.
 
Ok. So those M310's control the memory timing instead of the M700 which is controlling things like the PC and MA and Run/stop flip flops.

With luck, you should be able to see the effect of the delay lines on the state flip-flops. READ, then INHIBIT, then WRITE, and eventually MEM_DONE. STROBE is also a thing to check.

Let's hope it isn't an M310, as those are not always repairable.

Vince
 
Ok, so into the memory we go. The big schematic page here is in DEC-8l-HR2A schematic, page 18 (PDF page 21). Across the top are all the memory state flip flops. I got my new logic tester and here is the outputs:

Mem_enable: This signal has a problem: Coming from Pin F1on D16 it is high by default, but toggles low briefly when you toggle the DP/EX switches. Fine. Then it goes into the 4 input NAND gates on D17 at pins A1-D1 and outputs MEM_ENABLE on E1. Now when you turn on the computer E1 is low but when you toggle a DEP or EX switch the signal is neither low or high.

Interesting. Another odd thing is the flip flop for _MEM_BEGIN. It starts out high, then toggles to a brief low when you toggle an EX/DP then goes back to high but never goes low again until you turn off the computer.

My guess here is something is wrong with the MEM_ENABLE line. It must drive a lot of stuff because they put a pair of 4 input NAND gates to drive it. Now I tried swapping in another M617 with the same effect, it's possible the NAND gates are bad but that would be odd on two of them. Maybe one of the cards being driven by MEM_ENABLE is a very low resistance (shorted). The way to find out is to see what else is on that line E1 and L1 of D17...
 
And progress, maybe? MEM_ENABLE drives the G228's at C25 and D25. Pulling the one in D25 allows the signal to go high when toggled with a bit of a pulse then it stays high. This is very different from when that card is in the system (low, then indeterminate forever). So that might be an issue, swapped the card with a spare and now it goes low, then when you toggle the EX/DP switch it goes high and stays high.

What I think should happen is it should start low, then blip high then go back to low. It seems that the memory is stuck in this cycle, not sure why. I assume MEM_ENABLE should go low at the completion of a cycle.

Now in terms of cycle, V2 on the M360 starts high, then pulses, then goes back to high. It's _MEM_DONE (an inverted signal) so MEM DONE is being asserted. But one of the cycles (MEM_ENABLE) gets stuck. Why?
 
Another problem I can see is the _STROBE signal. It's not changing which is interesting because I can see the inputs to it (P2 and R2 on C17's M360) are pulsing low but the output at S2 (the amplifier from the delay line) is not changing. So there may be a problem with M360 as well. Could be an issue with the NAND gate on that board or something else. Hm.
 
Hm, switching out the M360 with the M360 from the other unit makes the S2 output pulse. And low and behold something is happening in the memory buffer register. Need to test it but at least something is happening....
 
Yeah, we're moving. I rolled the computer over and entered the simplest program on the earth.
00007001LOOP1:IAC
00012101LOOP2:ISZ0101
00025001 JMPLOOP2
00035000 JMPLOOP1
Simple program, just increments the accumulator in a way you can watch. I need to remember that bit 0 is the MSB and bit 11 is the LSB. But after loading that program in and running it I can see that:

The accumulator increments properly.
Link overflow works, and when link overflow is overflowed it clears the AC and starts again.
Lights on 10 and 8 on the accumulator seem to be out. Need new bulbs.
The three Instruction register bits are properly lighted and working.
Major states lights include F,E and RUN.
Turning the key to PANEL_LOCK locks out the start, stop, and other buttons.


Odd things:
Putting MEM PROT up doesn't seem to light the PROT light. Maybe that's only if you try to change top memory.
Togging Data field and inst field doesn't seem to change the memory address location. Yes I don't have the memory expansion but ok....

Running a slightly more complex program gets the AC lights to go back and forth.
00007320 CIA STL
00017004L5:RAL
00027430 SZL
00035013 JMPL1
00042100L2:ISZ0100
00055004 JMPL2
00062100L3:ISZ0100
00075006 JMPL3
00102100L4:ISZ0100
00115010 JMPL4
00125001 JMPL5
00137010L1:RAL
00147430 SZL
00155001 JMPL5
00162100L6:ISZ0100
00175016 JMPL6
00202100L7:ISZ0100
00215020 JMPL7
00222100L8:ISZ0100
00235022 JMPL8
00245013 JMPL1
One thing I did notice here is that if I make a mistake in the program and go back to an address with load address, the address and the instruction are in the MA and MB and changing the switches then hitting DEP puts the right value in the memory address.

However if I use Exam to go to an address then toggle in the value for that address and hit DEP it puts the value in the switches in the next memory address. This might be how it works, if EXAM increments the PC when selected and DEP gets the value of the PC then it's possible it would put the value one address up. Simply entering the address, then hitting LA then changing it then hitting DEP works.

And now my pdp8/L has a little cylon thing going back and forth. I think I will stop here for awhile and take a break. I need to order some bulbs to fix this display, then I can start working on the other 8/L here and get it to this point.
 
Last edited:
So, time to stop here for now and consolidate a bit. What we learned:

Multiple failures suck.
The memory is asynchronous. There are a number of timing signals, and if they don't get through the memory doesn't work.
MEM ENABLE was bad due to a faulty G228 holding the value low. Hopefully a bad logic circuit as that's a complex board.
STROBE was being asserted on the input of its' NAND gates, but the signal was not coming out because of something wrong in M360. Could be a gate, could be a big problem.
Bad M216 and M113 and at least one register card needs some work.
Need to fix AC lights.

I'll work on fixing these cards, then test them in this system, then work on the other 8/L. That one is also a basket case....
 
Mem_enable: This signal has a problem: Coming from Pin F1on D16 it is high by default, but toggles low briefly when you toggle the DP/EX switches. Fine. Then it goes into the 4 input NAND gates on D17 at pins A1-D1 and outputs MEM_ENABLE on E1. Now when you turn on the computer E1 is low but when you toggle a DEP or EX switch the signal is neither low or high.

Here is an excerpt from the netlist:
B_MEM_ENABLE:
A17 T2 T2 16
A18 T2 T2 16
A19 T2 T2 16
A20 T2 T2 16
A23 E2 E2 16
A23 N2 N2 16
A24 E2 E2 16
B18 T2 T2 16
B19 T2 T2 16
B20 T2 T2 16
B23 E2 E2 16
B23 N2 N2 16
B24 E2 E2 16
B24 N2 N2 16
C18 D2 D2 18
C19 D2 D2 18
C23 D2 D2 17
C24 D2 D2 17
C25 E2 E2 15
C25 N2 N2 15
D17 E1 OUT 15
D17 L1 OUT 15
D18 D2 D2 17
D19 D2 D2 17
D23 D2 D2 18
D24 D2 D2 18
D25 E2 E2 15
D25 N2 N2 15

So there's a (unfortunately, long) list of suspects. The netlist can be found at
http://svn.so-much-stuff.com/svn/trunk/Eagle/projects/DEC/PDP8L/
as can the whole schematic, if you have the free version of Eagle installed.

The Eagle "show" command is super handy for jumping to the references to a signal. It can also show you the other gates iin D17, etc.

Vince

(The last column above is the "sheet" number, and the sheets are in the same order as the schematic PDF. Column 3 is the name of the "pin", which is gate specific. Column 2 is the "pad", which is what you would care about.)
 
Quick troubleshooting bit: I checked the M360: On a good board there is a signal pulse at pin 8 of the 7440N at the bottom of the board. This is the input signal to the coil, and on the suspect board I don't see a pulse on the output of the gate. So the gate is probably bad, will swap. Likewise on the G228, the only thing on the MEM_Enable input is the 7440 so I am thinking that one or both of these is likewise shot.

Does anyone know where I can get a 14 pin test clip that will go over a DIP chip and bring its pins out to a nice DIP14 plug? The one I got on Amazon was for SOIC chips, that won't work :)

C
 
Good news: The pdp8/L still runs the cylon program and I managed to fix and test the M360, M216, and the G228 cards. Sure enough swapping out the 7440's or the 7474 results in a board that works fine in the computer.

With this, I'll take a bit of a break and start working on the second 8/L. Now that I have a stable program and state for this first one I can put these repaired boards into the second 8/L and see how it works. I'll start a new thread for that.

Thanks everyone for the help. Once I have the second L running the cylon program I'll move back to this one and start working on the I/O instructions. Big problem is I need to build a card to allow RS/232 out of this thing (I have to do some digging to find the 20ma current loop paddle card but aside from the LS120 I don't think I have a current loop terminal anywhere). Thoughts on that?
 
Vince S. may have something available on his web site for that. I seem to remember he had something for my 8i. I may even still have one of those cards here. That is if the 8L has the same interface needs that the 8i had. It was a single size flip chip.
 
Vince S. may have something available on his web site for that. I seem to remember he had something for my 8i. I may even still have one of those cards here. That is if the 8L has the same interface needs that the 8i had. It was a single size flip chip.

I do indeed have a replacement for the serial card, as well as one for the baud rate generator.
https://so-much-stuff.com/pdp8/ttycards/ttycards.php
The curremt version of the serial connector card has had the pictured rework folded into the etch. (The right-angle header has a pin-out that matches the one on Omnibus serial cards.)

Vince
 
Big problem is I need to build a card to allow RS/232 out of this thing (I have to do some digging to find the 20ma current loop paddle card but aside from the LS120 I don't think I have a current loop terminal anywhere). Thoughts on that?

In case it wasn't clear, being similar to the Omnibus connector means that it can support either RS232 or current loop, depending on the jumper in the cabling. Should be possible to drive either the LS120 (LA120?) or anything RS232 including a PC or laptop. Only caveat I can think of is that some modern RS232 devices (commonly, USB adapters) can't really do 110 baud.

Oh, and the interface of the 8/L and 8/i is typically 2 stop bits. One stop bit would be more common at higher baud rates, so you'd need to be able to set your device (terminal emulation) for 2 stop bits.

Vince
 
That would be perfect, I contacted you privately for price/payment options.Two questions:

1) Is the pdp8e cable the same as a normal pdp11 cable from a DLV11?
2) Oh yeah, I remember having to reconfigure an LA36 for 2 stop bits.

Also I have no clue as to how a pdp8/L can keep up with 19200 baud, is it using hardware RTS/CTS?

PS: The LS120 is a thing I have in my shed. It's basically a LA36 that prints uni-directionally and can print at a speed of 120 CPS. It doesn't have the intelligence of an LA120 or the bi-directional printing ability. The baud buttons are labelled 110, 300, and pressing both gets you 1200 baud.
 
1) Is the pdp8e cable the same as a normal pdp11 cable from a DLV11?
2) Oh yeah, I remember having to reconfigure an LA36 for 2 stop bits.

Also I have no clue as to how a pdp8/L can keep up with 19200 baud, is it using hardware RTS/CTS?

The cables are the serial cables used for Omnibus machines. The ones I've seen for PDP-11 have a 10 pin IDC connector instead of the 40 pin connector, IIRC.

Two stop bits was sort of standard for the 8/L and 8/i, since they were usually 110 baud. There are jumpers on the M706/M707, but I would not mess with them. It's easier to just configure the modern gear for 2 stop bits. ( I suppose it's tecnically slower, but for a terminal it's not a big deal.)

Input flow control is READER_RUN, which is mapped to RTS (IIRC) for RS232. In general, it's hard to get your modern gear to cooperate, as the signalling conventions vary, the buffering has latency issues, etc.

Fortunately, in most situations the PDP-8 acts as a dedicated polling controller that isn't doing much with the input, so it can usually keep up.

Vince
 
The cables are the serial cables used for Omnibus machines. The ones I've seen for PDP-11 have a 10 pin IDC connector instead of the 40 pin connector, IIRC.
Hm. Ok. Older serial devices like the DL11 and DLV11 use a 40 pin cable, I'll research it. Now that I think about it the DLV11 did support both current loop and RS232, will check it out.

Thanks!
 
Last edited:
Back
Top