On 2018-Oct-30, at 8:07 AM, Klemens Krause via cctalk wrote:
> Is there anybody out with a working classic PDP-8?
> 
> For a long time we had the problem, that starting a program on our 8 by 
> pressing <LA> <START> keys, this program crashed. Examining the memory 
> contents showed, that typically one or two words short behind the starting 
> adress after such a crash had inadvertently content 0000.
> For a long time I suspected a subtle memory problem. But now after carfully 
> having revised the memory timing I hopefully found the real reason for this 
> nasty misbehaviour:
> if the machine is running and I press the <START> key, it stops and
> there is also the chance, that one word in memory is nullified.
> A look in the maintenance manual shows, that pressing <START> clears the 
> memory data register and others asynchronously. Naturally if this occours in 
> the moment, when a memory read is in progress, data from core has been 
> transfered to memory data register, which clears the word just have been red, 
> and before the memory timing chain was able to write this word back to 
> memory, then this word is cleared out.
> 
> Scoping the <START> signal coming from the front panel shows heavy bouncing 
> of this key: <START>ing a program produces in many cases more than one 
> <START> pulse. The first starting the program, the following in some cases 
> nullifying a memory location near the start address. The problem showed only, 
> if the second start pulse came just in the moment
> between reading and rewriting the word in core. In the other cases
> program just went on.
> 
> My workaround for this problem in the moment is a 22uF electrolytic capacitor
> between the <START> signal line and ground to make a "brut force" debounce of 
> this switch.
. . .


If you haven't tried it already, a good exercising with contact cleaner (stay 
away from the stuff with oil in it) or isoprop will often clear up excessive 
contact bounce on old switches. Getting contact cleaner into the switch can 
sometimes be difficult though. With mini-toggle switches (if that's what they 
are behind the flat levers) the toggle can usually be pressed in a bit against 
the internal spring to open come clearance down the throat.

For a proper design fix, if the switch has both NO and NC contacts, a solution 
might be to build an SR flip-flop from two transistors and a few R and 
interposing that between the switch and logic as a de-bounce circuit.

Reply via email to