[net.micro] WARNING! C64 Port RESETS

GUBBINS@RADC-TOPS20.ARPA (Gern) (04/01/85)

There is a right way and a wrong way to reset a VIC/C64.

The wrong way is to put a button between the RESET* and GND on a user
port.

The right way (and much cheaper) is to install a push button to the
leads of C105 on the C64 (I forget the cap on the VIC).  In this way,
shorting C105 to GND, you properly initiate the power-on-reset circuit.
This, of course, requires you to drill a hole in the case for the
button and to solder two wires to the board.  A small price to pay to
do it right.

The power-on reset circuit is R50 (1M ohm) and C105.   This would normally
be all that is used in most computers to hold the reset line low for
a few milliseconds after power up.   BUT THE C64 (and VIC) HAS A SPEC
THAT STATES THAT THE RESET LINE MUST BE HELD LOW FOR A MINIMUM OF 6 MACHINE
CYCLES (Relatively a long time).   So at much pain and expense, Commodore
had to add a whole IC to do the reset (and the NMI which is similar)
timming properly.  The power-on reset R50 and C105 trigger one-half of
U20 (a 556) used as a one-shot to provide the RESET for the machine.
This is inverted by U8, an open collector 7406 (with the tie high R36
at 1K ohm).

If you were to install a device on a port to do a proper, in spec,
reset, IT MUST have a timer IC (probably a 555) and an open collector
inverter, some resistors and caps, and a push button to hold the reset*
line low for the period of at least 6 machine cycles.  Anything else
(or not the equivalent) is WRONG!!!  But then again, most C64 owners
could probably care less if it is done right or wrong, as long as it
seems to work.

So if you do care to do it right and at a total cost of $.50, here's
how:

The reset circuit is on the lower right of the MPU side of the C64
schematic diagram in the back of the Programmers Reference Guide in
case you care to know exactly what you are doing.  Discharging C105
will trigger the 556 to one-shot (based on the time duration set by
C24 and R34) which gets inverted by U8 to provide the reset to
the machine.

To do it: open case (3 screws), lift back the cardboard 'sheilding'.
With the machine keyboard down and ports to the top, C105 is a disk
capacitor near the left and center of the board (it's labeled C105).
solder a wire to each side of C105 and the other end of the two wires
(cut to length) to the push button.  Drill hole (1/4" if you get the
standard mini push button, Radio Shack has 'em 5 for $2.49) whereit
pleases you, I find that above and right of the on switch is nice
and mount the switch.  Put it all back together and you have a
proper reset push button for less than $.50.

Even the switch debounce is taken care of by R50 and C105.
All nice and in spec of everything.

Of course you do all of this at your own risk, I can not be responsible
if you screw something up.

I do not have a Commodore, but I and my other Electrical/Computer
Engineering friends who do have C64s went over this and have installed
the switches on at least 5 machines to date with perfect results.

Questions and/or thanks will be entertained.

Cheers,
Gern
-------

doug@terak.UUCP (Doug Pardee) (04/08/85)

> The wrong way is to put a button between the RESET* and GND on a user
> port.

> BUT THE C64 (and VIC) HAS A SPEC
> THAT STATES THAT THE RESET LINE MUST BE HELD LOW FOR A MINIMUM OF 6 MACHINE
> CYCLES (Relatively a long time).

How about if I use the cheap-out reset button, and place a decal by it
which reads, "IMPORTANT -- hold down for at least 6 microseconds before
releasing"?
-- 
Doug Pardee -- Terak Corp. -- !{hao,ihnp4,decvax}!noao!terak!doug