supercat, on Wed Apr 11, 2007 10:52 PM, said:
A.J. Franzman, on Thu Apr 12, 2007 12:31 AM, said:
How often (at most) does a game check the paddle pin after the discharge has been released, to see if the threshold has been reached?
Typically every 64us or 128us.
For these values, this sounds like every scanline, or every other scanline; is that correct? Also, do all paddle games finish reading the paddle in the span of a single frame, or do some span two frames to allow for the instances when the resistance value is high?
supercat, on Wed Apr 11, 2007 10:52 PM, said:
Quote
How many charge pulses, at a minimum, should be delivered in this period of time to avoid jitter, assuming that the number of pulses will vary by at least ±1 due to not being synchronized to the console?
To achieve +/-128us accuracy at the bottom of a frame, there should be at least 128 pulses per charge.
I believe you misunderstood me, or I you.
What exactly do you mean by "per charge"? To charge the capacitor all the way from fully discharged up to the threshold value?
As I understand it, the pulse-charging method should provide pulses such that: at the pulse-charging rate which is equivalent to the highest resistance used by an original paddle, there should be at least two pulses per scanline. In this way, a count difference of ±1 pulse due to the asynchronous method will not result in significant jitter in the region near the highest useful paddle setting. Lower settings will provide correspondingly more pulses per scanline, (hopefully) completely eliminating jitter. If this logic is correct, then the slowest pulse repetition rate should be no more than 32 us. The duty cycle at this pulse rate should deliver charge to 6-switch CX2600 units with their ~2k series resistance, equivalent to that delivered by ~5.0 volts steady DC through 380k series resistance into .068 uF. I make this a ~0.53% duty cycle, yielding a maximum pulse width of 168 ns. (Ballpark figure assumes cap charging current is constant.)
The fastest pulse rate should be such that, when pulses are delivered to 6-switch CX2600 units with their ~2k series resistance, the charging rate is equivalent to that delivered by ~4.8 volts steady DC through 10k series resistance into .068 uF. If I have understood this correctly, this would be a 20% duty cycle assuming the pulses are at full positive rail voltage.
So my question is, can you design a circuit which takes an input voltage swing of ~1.9 volts (this is the paddles' original operating resistance range, converted to voltage) or less, possibly including a positive offset of up to 2.5 volts, and from that produces ~150 ns pulses at a duty cycle from 0.5% to 20%? I'm gonna check some data but I don't know if the 555 can reliably produce pulses that short.
Another consideration is the difference between the CX2600 consoles with the 1.8k resistance and other consoles without it resulting in vastly different paddle performance. To minimize this, use of a wider duty cycle range and adding series resistance would be effective. For example, if a 50% duty cycle can be achieved, a ~3.3k series resistance can be added. This will, of course, mean recalculating the duty cycles for the other end of the scale too.
Edited by A.J. Franzman, Fri Apr 13, 2007 11:24 PM.