Build a 6502 based computer

6502 sbc

The 6502 is one of my favourite microprocessors and I wanted to design and build a computer that’s based around it. When I say build a 6502 computer, I mean a computer that has been built from scratch! When people say that they have built a PC, what they often mean is that they have put together circuits and peripherals. To me, truly building a computer is building with discrete components, ICs, wires etc.

I hope that by following this project, people will find it of interest, learn something and that some will want to build their own. I would also like to encourage people to see the bringing together of programming and electronics.

For a computer to be useful, it needs to be able to store and run programs. Once the computer is at this stage, I want to write programs in assembly language. You don’t have to know 6502 assembly to understand the contents of this course but I encourage you to learn about it, as it will cement your understanding of many important concepts! I have a course on 6502 assembly language and writing games in 6502 assembly and using BASIC and an OS.

There are a number of prefixes that I will be using throughout. If there is a number without a prefix, then it is a memory address in decimal.

Here they are, with their meanings:

#decimal value#22
#%binary value#%10010110
#$hexadecimal value#$EE
#’ ‘ASCII value#’B’
$memory address in hexadecimal$1101
table 1. data types

Each section of the computer could be made with a multitude of different components. However, with my design, there is a stipulation that I set myself – that the ICs are of the same era as the 6502! The 6502 was introduced in 1975 and I have decided that the ICs that I use in my design must be ones that were introduced in the 70s and 80s.

I also will not be using any surface mount discrete components. The concept of SMT (surface mount technology) was actually demonstrated by IBM in 1960 but it wasn’t until the 90s that they were regularly found in devices.

For each of the images that I have created, you can click on them to see an enlarged version, on a separate page.