You're currently on: Catalog » Guides » What does a simple 6502 computer need?
Before choosing part numbers, learn what each chip is doing. This guide starts with one read operation, then turns that into a small parts checklist.
In this guide a device is a chip the CPU can talk to: RAM, ROM or an I/O chip. The CPU does not send a message saying “ROM, please answer.” Instead it places a number on its 16 address wires. The wiring on the board uses that number to select one device. Only the selected device should answer a read or accept a write.
Think of the address as a street address. The high address bits choose the building (the chip); the low bits choose a room inside it (a byte or register). This is called address decoding. If two devices answer the same read, both may drive the data wires at once. If none answers, the CPU will not receive useful data.
$E000
R/W
/CE
The slash in /CE means active-low: zero volts/logic 0 selects the chip; a high level leaves it inactive.
The 6502 executes instructions. Its address bus points to a byte, and its data bus moves that byte. Choose the exact 6502 or 65C02 variant before designing clock, reset and pin wiring; they are not electrically identical.
See the used, tested 6502-family listing
RAM holds changing data while power is on. The 6502 needs RAM near the start of its address space for zero page ($0000–$00FF) and the stack ($0100–$01FF). A 32K × 8 SRAM stores 32,768 bytes; “× 8” means each address returns eight bits.
$0000–$00FF
$0100–$01FF
See the HM62256 SRAM
ROM keeps code when power is off. On reset, the 6502 reads a two-byte starting address from $FFFC–$FFFD. Those addresses must lead to ROM containing a valid vector and program. Check the exact EPROM or EEPROM pinout and programming method.
$FFFC–$FFFD
Browse ROM and EEPROM parts
An I/O device gives software registers to read or write. A 6522 VIA provides ports and timers. For example, one register can set whether a pin is an input or output; another reads or changes its value.
See the used, tested 6522 VIA
A decoder looks at address bits and makes chip-select signals. A 74HC138 can divide the whole 64 KB space into eight 8 KB windows. It does not replace RAM or ROM; it tells one of them when to respond.
Walk through 74HC138 decoding, with pinout
A simple 6502 board must put RAM at the low addresses used by zero page and stack, and ROM at the top addresses used by the vectors. I/O needs its own selected range. There are many valid maps. Draw yours as a table of start address, end address and selected chip; then work out which address lines feed each chip and which feed the decoder. Do not connect two chips to overlapping ranges without logic that disables one of them.
Read the step-by-step 74HC138 guide for a concrete example of chip selection. For a complete, deeper treatment with circuit examples, see Garth Wilson’s original 6502 primer. These shop guides are independent introductions, not replacements for a checked schematic or the parts’ datasheets.
Explore the Retro IC catalogue
We use cookies to provide you with the best possible experience. They also allow us to analyze user behavior in order to constantly improve the website for you.