Added reset circuit README

This commit is contained in:
Unknown 2019-01-14 20:55:02 +01:00
parent b2ce8d5264
commit f269a2c9d0
2 changed files with 37 additions and 1 deletions

View File

@ -2,7 +2,7 @@
Ah... The CPU-module (Central Processing Unit), definitely the brains of the operation! While the original sported an MOS-branded, the same company later bought out by Commodore and adapter for their computers, ceramic 6502 CPU the later clones available to us now haven't changed all that much. For that reason you can easily substitute the MOS-part with an easily obtainable UM6502 or an SY6502 without any changes, the newer and substantially changed W65C02 however remains incompatible at the moment.
The original computer ran at a blazing 1Mhz, but if you can find a 6502A you could probably crank this computer all the way up to 2Mhz! The speed the computer would run at (successfully or not) will be determined by the crystal oscillator, while it can be mounted onto the CPU-module and enabled by jumpering JP1/JP2 the logical place for this in a more modern configuration would be on the [Reset circuit](https://github.com/tebl/RC6502-Apple-1-Replica/tree/master/RC6502%20Reset%20Circuit)-module. The reason for including it here is simply that the original Apple 1 computer didn't have a power-on reset circuitry, but seriously - get one!
The original computer ran at a blazing 1Mhz, but if you can find a 6502A you could probably crank this computer all the way up to 2Mhz! The speed the computer would run at (successfully or not) will be determined by the crystal oscillator, while it can be mounted onto the CPU-module and enabled by jumpering JP1/JP2 the logical place for this in a more modern configuration would be on the [Reset circuit](https://github.com/tebl/RC6502-Apple-1-Replica/tree/master/RC6502%20Reset%20Circuit)-module. The reason for including it here is simply that the original Apple 1 computer didn't have a power-on reset circuitry, but seriously - get one! If you have plans for building more than one CPU boards with varying speeds, it would make sense to keep these together on the same board so that you can easily swap between them.
Revision A of the board is shown below, the newer revisions have a more simplified design due to a separate RD-signal being dropped from later designs. This was originally intended to help compatibility with the RC2014 computer, but this idea was abandoned due to the required increase in complexity in order to support a handfull of builds.

View File

@ -0,0 +1,36 @@
# RC6502 Reset Circuit
Funny story, the original Apple 1 computer did not have a power-on reset circuit! While this was actually quite common for computers from that time, it meant that the circuitry would often start up in an unknown state... fancy way of saying that internal CPU registers and memory would be filled with seemingly random date. The user would then have to manually push the reset button, this worked most of the time... Why? Because the 6502 is a particularly special little CPU that, it has very specific timing requirements for all of this to work properly. So I took a book from the Commodore 64 manual and used that, no need to reinvent wheels already invented by other far more [gifted people](https://www.grappendorf.net/projects/6502-home-computer/reset-circuit.html)!
In addition to power-on reset and normal reset functionality, this module also takes care of handling the system clock by including a footprint for a 5v TTL crystal oscillator. While you can use a standard 1Mhz oscillator, there are 2Mhz capable CPUs normally labelled 6502A so in many ways it make sense to install a 2Mhz oscillator and then jumper J2 for a /2 (pins 5-6) clock division for standard 1Mhz CPUs. Jumper positions 3-4 if installing 1Mhz oscillator. Note that the [CPU](https://github.com/tebl/RC6502/tree/master/RC6502%20CPU)-module also includes a footprint for an oscillator, disable that and then jumper J2 pins 1-2 to enable the one on this board. If you have plans of using several CPU boards with varying speeds so that you can easily swap between them, then it would make sense to only use the oscillators installed on the CPU module themselves.
![Wired up](https://github.com/tebl/RC6502-Apple-1-Replica/raw/master/RC6502%20Reset%20Circuit/gallery/2017-06-02%2019.52.46.jpg)
# Schematic
The supplied KiCad files should be sufficient as both a schematic and as a starting
point for ordering PCBs, the schematic is also available in
[PDF-format](https://github.com/tebl/RC6502-Apple-1-Replica/tree/master/RC6502%20Reset%20Circuit). You can refer to the BOM below for a list of suggested components to use, part numbers in parenthesis are optional and is not required.
# BOM
These are the components needed to put together your very own Reset Circuit-module for the RC6502 computer, all of which you should be able to get from your favourite parts supplier through your favourite electronic parts supplier though the oscillator TTL oscillator might require a well-stocked one. For the pin headers, both male and female - if you can't find the exact pin count, just buy the longer versions and snip/cut off the parts you don't need (get extra in case of accidents, and don't cut yourself either!). As previously mentioned, part counts in parenthesis are to be considered optional so feel free to leave them out if you don't have any specific plans for them.
| Reference | Item | Count |
| --------- | ------------------------------------- | ------- |
| PCB | Fabricate yourself using KiCad files | 1 |
| C1,C3-C5 | 100nF ceramic capacitor | 4 |
| C2 | 10uF 16V electrolytic capacitor | 1 |
| D1 | 5mm LED diode, green or red color | 1 |
| J1 | 1x39 right angle pin header, male | 1 |
| J2 | 2x4 straight pin header, male | 3 |
| R1 | 1M ohm resistor | 1 |
| R2 | 47k ohm resistor | 1 |
| R3 | 1k ohm resistor | 1 |
| R4 | 330 ohm resistor | 1 |
| SW1 | Momentary push button | 1 |
| U1 | NE555 DIP | 1 |
| U2 | 74LS04 DIP | 1 |
| U3 | 74LS74 DIP | (1) |
| X1 | 1.000Mhz TTL Oscillator, (DIP 14) | (1) |
| | Jumper caps | 2 |
If you would like to have a copy of one or more modules, what you'll need to do is zip up the contents of the export directory for each module and give that to your favourite PCB fabrication plant. Personally I prefer to use [PCBWay](https://www.pcbway.com/setinvite.aspx?inviteid=88707), each module has been designed to fit inside the 5$ dimensions. Use the link provided when signing up to support this project!