Monday, March 26, 2012

Adding a Power On Reset Circuit

The lack of a power on reset for the Replica 1 is a little annoying. After being powered on you need to press the reset button. This is faithful to the original Apple 1 which had the same behaviour, and in fact the early Apple II systems also had no power on reset circuit.

I decided to add one to my Replica 1 as a small a hardware enhancement. I've seen few methods, such as using a dedicated power on reset chip like the MAX1232 or TL7705 . I wanted to use a circuit that used parts available from the time of the Replica 1 and preferably something simple that could be made with parts from my junk box.

The 65C02 version of the CPU can actually handle a pulse generated from a simple RC circuit, so that is one approach but, as well as not working with the original 6502, it wouldn't properly reset other devices connected to the reset line like the PIA on the Replica 1 and the VIA and ACIA on the Multi I/O board.

The Apple II had a power on reset circuit built into the Disk II floppy disk controller interface card. If you had a floppy drive (and most people eventually did) you got a power on reset function. The schematic for the circuit is available, most notably included in the Apple II DOS Manual. It uses a 556 dual timer chip, which has been around since the 1970s and is still produced. Here is the relevant part of the circuit:

Portion of the Disk II Interface Showing Reset Circuit
The power on reset only uses half of the 556 chip, so I adapted it to use the 555 chip which has one timer. We also need an inverter chip to invert the reset pulse and it needs to be an open collector output since other devices can also drive the RESET line low (such as the reset button). The circuit produces a negative reset pulse of about 110 milliseconds on power up.
Quick Hand Drawn Schematic of Reset Circuit
I breadboarded the circuit and tested it. I had lots of 555 timer chips in my parts inventory. I didn't have a 74LS05 chip on hand but I did have a similar 7406. I tested it first on it's own using an oscilloscope. Then I hooked the breadboarded version up to the Replica 1 and confirmed that it worked. On power up I no longer needed to hit the reset button before being able to use the Woz monitor.

Breadboarded Version of Reset Circuit
I then installed the circuit on the prototype area of the Replica 1, using two sockets and wiring it to the appropriate locations on the board. After careful checking I powered it up and it worked just like on the breadboard.

Final Version on the Replica 1 Board (Top Middle)
I still expect to regularly need to hit the reset button on my Replica 1 but the power on reset makes a nice hardware enhancement. I like to think that it is a modification that an original Apple 1 user might have made to their system.

No comments: