A reset button is a button, which initiates a hardware reset by being pressed. By doing so it sets the C64 almost back into the switch-on state, as if it was just switched on. Previously used data in the RAM, especially BASIC-programs, survive this. However after a reset the program may not be directly accessible any more. Under the right circumstances it may be restored (see UNNEW).
In order to protect the sensitive main power switch as well as avoiding power cycling the computer it's instead recommended to use a reset button when the computer has crashed and does not react to keyboard, mouse or joystick input.
A reset button can be soldered to the C64 board by the user and is often mounted in the case. Reset buttons are often already built-in into cartridges. The usual way of connecting a reset button is via the Userport. Other cartridges like the Final Cartridge III or the Action Replay are using the expansion port. The reset buttons in the cartridges have the advantage that they will work even with programs that try to prevent a reset by adding a cartridge signature (CBM80).
The following hard reset circuit will work the same - unstoppable reset button. It achieves this by using a simple RC network to strobe !RESET and !EXROM low, out of phase, such that the following sequence takes place when a normally open push button is pressed:
- !RESET and !EXROM pulled low
- !RESET is released (pulled back to high through a 1k resistor in the C64)
- !EXROM is released (pulled back to high through a 3k3 resistor in the C64)
The result is that the RAM in $8000-$9FFF is banked out for a short while, as the CPU is coming out of reset, preventing the Kernal from ever seeing the CBM80 signature, should it be present. (Note that the outputs of this circuit temporarily puts invalid TTL logic levels on the !RESET and !EXROM lines as the voltage across the capacitors builds/discharges. Whereas it may work in practice, it may not be reliable and it would be better to run the outputs through open collector Schmitt triggers to achieve hard transitions between the low/high states.)
Since the lines of the ports are internally connected directly to the integrated circuits, even simple devices like a reset-switch should be attached and removed only in when computer is powered-off. This is not only valid for the C64 but for all Commodore computers.
Remark: The software initialization performed after a reset can also be initiated from BASIC with the command SYS.
- Plus/4, C16/116:
- PET 2000 series:
- CBM 3000 series:
- PET/CBM 4000 series or higher:
- CBM 500:
- CBM 600/700:
See also[edit | edit source]
Links[edit | edit source]
- Reset button on the user port at cmbhardware.de