Reorganized my BE6502 breadboard computer
My main project has been paused while I waited for a shipment of components. Who knew I would need an XNOR gate IC?
In the meantime I switched back to working through Ben Eater’s videos on the 6502. I’m up to the ones on implementing the PS/2 keyboard interface. Before getting too far into it, I decided it was finally time to clean up the layout of the computer’s components. Ben’s layout, while compact, is also pretty messy. The address and data buses wind all over the place, making them difficult to understand and access for diagnostics or expansion. Also when I first built it I hadn’t bothered to take any power rails off of the boards before connecting them together, so my power rails were doubled up:
Inspired by some layouts that I’d seen on r/beneater, I went with a layout that has all the bus lines running vertically through the center of each board. Components are placed on the sides and connect to the bus lines instead of directly to each other. There are 27 bus lines:
- 8 data lines (light green for the low nibble, dark green for high)
- Reset (gray)
- Clock (white)
- 16 address lines (alternating light and dark blue for each nibble)
- CPU read/write signal (orange)
There’s just enough room on the left side for the DIP40 ICs. The DIP28s go on the right, with a few columns to spare. Since the data bus starts at column 21, it aligns nicely with the numeric labels on the breadboard. The 1st data line is at column 21, 2nd line is at 22, 3rd at 23, and so on. I put the reset and clock lines in between the data and address busses in order to maintain this pattern for the address lines: 1st at 31, up to 16th at 46. I guess I could have gotten 0-based indexing instead of 1-based if I had put the DIP40s on the right side, but the 6502 really wants to be on the left side due to its pin layout.
I also did some creative wiring in order to fit the reset button below the oscillator so that it wouldn’t take up any extra real estate:
The center pins of the button share a column with the GND pin of the oscillator. The left pins are in the unusable space between the oscillator and the NAND IC. The right pins are in an otherwise unused column that runs underneath the oscillator. Since the reset button doesn’t take up any extra space, there’s room for an additional DIP14 next to the oscillator, and another two DIP14s or DIP16s to the right of the bus on that board.



