Why 6502?

Free-6502 Home

There are many reasons why we did a 6502 rather than another 8-Bit CPU.  Before going into the exact reasons, here's list of alternative 8-bit cores we could have done:

8031/8051
Z-80
6809
68HC11
PIC
Non-Standard RISC

8031/8051

The 8031 CPU is a difficult CPU to design, since there are many peripherals that would need to be designed as well.  The CPU itself is not very good.  A more accurate description would be that the CPU itself is an abomination.  Just because the 8031 is widely used doesn't mean that it's a good CPU.  Also, 8031/8051 cores are widely available from many sources.  We decided that it wasn't a good idea to make yet another clone of a bad design.

 

Z-80

The Z-80 was a popular CPU in its day, it is simple and effective.  We could have easily made a Z-80 core, but we just were not as familiar with the Z-80 as the 6502.

 

6809

The 6809 is a little more complex than the 6502.  It has some additional addressing modes and a few more instructions.  But the 6809 wasn't as popular as the 6502 and has fewer free programming tools available for it.  We felt that the added complexity of the 6809 wasn't justified by any added usefulness.

 

68HC11

Like the 6809, the 68HC11 has more addressing modes and more instructions than the 6502.  A lot more.  The basic instruction set has about 4 or 5 times more opcodes than the 6502.  This makes testing and validation much more difficult, and it makes the amount of logic much larger.   On the other hand, the 68HC11 is a very nice CPU and would be a very useful core to have.  In the end, we decided against the 68HC11 due to its complexity and size.  Although we fully realize that the framework for the 6502 core could be used to make a 68HC11 core.

 

PIC

The PIC is a small, fast, and simple CPU-- the three things that makes it attractive for a core.  This core would be easy to do.  But, at the time we designed the 6502 core, the limited addressing space of the PIC would not have fit into our application.

 

Non-Standard RISC

We have designed non-standard 8-bit RISC CPU's in the past, so designing a new one for the Free-IP project would have been almost trivial.  But one of our design guidelines was that we needed reasonable software development tools, and writing our own assembler wasn't an option.   Once the Free-IP project gets more resources, we might decide to do an 8-bit RISC core.  Based on past experiences, such a core should be smaller than the 6502 core but run at 50 MIPS in a fast FPGA. 

 

6502

So we chose the 6502 because it was the processor that fit our ad-hoc requirements of complexity, size, ease of validation, address space, tools availability, and familiarity.  We could have just as easily designed a Z-80, PIC, or non-standard RISC but the 6502 better met our goals.

 

© 1999-2000, The Free-IP Project.  This page was last updated on January 14, 2000 09:30 PM.