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