Here's a circuit to allow you to pause an Atari 2600: http://www.victortrucco.com/Atari/AtariPausa/EsquemaPausa.jpg
(Full article at http://www.victortrucco.com/Atari/AtariPausa/atariPausa_en.asp)
I'm pretty good at understanding / designing logic circuits, but still a little sketchy on all the implications of capacitors and some other analog effects. Usually if I stare at a logic circuit schematic long enough, I'll eventually figure it out, but this one has me stumped.
An unmodified console essentially has pins 2 & 3 of the jumper bridged. Normally a pin on the TIA chip will briefly halt the CPU every so often by bringing the RDY pin low (for DMA or memory refresh, not 100% sure). Since there are only certain windows of time where it's valid to deassert RDY, the circuit takes advantage of the existing operation and waits for the TIA to pull the line low, and then doesn't let it go back high if the switch is closed. Open the switch back up, and gates C and D should begin passing the TIA output through to the CPU again.
The only thing I can't figure out is how pin 2 is ever pulled hi. It looks to me like diode D4 will allow the switch to pull the pin lo, but should block current flow in the opposite direction so that pull-up R2 can't do its job. I'm willing to accept that it could initially be high based on less-well-defined behavior of the logic gates when power is applied, and the cap would help hold a steady bias... but I wouldn't mind hearing comment on that as well.
Supposedly this circuit works, and many have implemented it... But the reason I'm looking into it is that a friend just built the circuit as shown (twice), and it's not working for him. The Atari works fine when powered up with the switch open, and it pauses when the switch is closed. But never comes out of pause when the switch is opened. And that's exactly what I would expect from this circuit, so it makes me think maybe I'm not too far off.
Or is there something about the circuit that allows the pin to be pulled high that I'm just missing? Is this a borderline case where it may or may not work depending on the specific components used?
A couple other small points I'd like to check my understanding of:
- Function of pull-down R1... Diodes D1 and D2 only allow the TIA and NAND B output to pull pin 1 input hi, so this biases it lo
- Purpose of pull-up R3... Perhaps the TIA output is open collector and RDY pin is pulled hi internally... so this is needed to bias this node hi?
- Purpose of C1... Probably debounce
- Choice of values for R1 / R3... Any obvious reason R3 is 1.5K and R1 is 1K? IF TIA output is open collector, these form a voltage divider, I'm thinking not sufficient to hold pin 1 input low. If the TIA pin is always driven, these values shouldn't matter much. Are the resistors perhaps helping to set the initial state of the circuit?
EDIT:
- is D4 even needed? Shouldn't this work fine if D4 is bridged?