[net.micro.cbm] RESET circuit for the Commodore 64

joels@tektronix.UUCP (Joel Swank) (10/26/84)

   The original external reset circuit appeared in March '84 'COMPUTE!' in
the '64 Explorer' column by Larry Issacs. The circuit consisted of an SPST
pushbutton switch wired between pins 1 and 3 of a 12/24 pin card edge connector
that was plugged into the Commodore 64 user port. The second reset circuit
was submitted by Lester Iwamasa and published in June '84 'COMPUTE!' in the
'CAPUTE!' column. This circuit contains two diodes, a resistor, and a capacitor
in addition to the above switch. Lester claims that the C-64 no longer matches
the schematic supplied in the Programmers Reference Guide, and that the first
reset circuit presented the possibility of damage to the C-64. He also claims
that his circuit corrects the problem and offers it for sale for $24.
  Since I have recently been working on a project developing a plug-in circuit
like the original circuit, I thought some investigation was in order. The part
that changed in the C-64 is the 7406 inverting buffer that drives the reset
line for the 556 timer that performs power on reset. It has been replaced by
a Japaneese part that is logically and electrically equivalent, but has a 
different pinout. This causes the new PC boards to be different from the
schematic.
   To test for the possibility of damage, Larry Holibaugh, an electronic
engineer rigged up a circuit to allow computer control of a relay connected
like the switch in the first circuit. We reset the C-64 for hours at
varying rates from .5 hz to 1 Khz, as well as many manual tests. I estimate
that we reset the C-64 at least 1 million times during this testing. During
testing we measured the effect on the C-64 with a 100Mhz oscilloscope, and
a VOM. Following are the results:

	Reset button down draws about 5 milliamps.
	Both manual switch and relay were very bouncy. Up to a millisecond
	     of bounce in some cases.
	There was some under shoot and overshoot at the transitions.
	     .5 v undershoot max.
	     .25 v overshoot max.
	The addition of Lester's circuit made no visable change in any test.

Conclusions: The overshoot and undershoot is no more than the normal slight
ringing found in digital circuits. The bounce could theoretically cause
an ocasional incomplete reset. I do ocasionally get this symptom with this
reset circuit. The second circuit does not help this. There seems to be very
little evidence of any thing that would harm the C-64. My C-64 was reset
over a million times and suffered no ill effects.
   
   The correct way to implement a reset circuit on the C-64 is to connect
the SPST switch across ground and the trigger(pin 8) of the 556 timer.
Shorting the 556 trigger to ground will generate the full debounced 2 to
3 second reset pulse that is generated at power-up. But this does require
internal modification of the C-64.

Joel Swank
Software Center Tools Support
50-487
Tektronix
Beaverton OR 97077
(503) 627-4403