2

This might be a weird title but I noticed that recommendations for one over the other usually go into a direction that is not too helpful for me.

I would like to build an 8 bit computer and picked either of those chips as they seem to be the most popular for this sort of project.

The issue is that I'm only 30 years old. My joins are cracking but not as much as the joins of the people making videos or other content about systems that use those chips.

I have only ever used a Game Boy with its Z80 inspired processor but that's it. I think the C64 is a pretty dope computer but I've never used one. I have no nostalgia for either chip or the software that was released for those platforms. Compatibility would be cool but absolutely not the goal of this.

In fact, my main motivation is writing software on my own for this. Software is more where I'm at home but I like to do some hardware stuff as a hobby. I'd really like to just take a bare bones system I can actually understand fully and write an operating system and software for it. First with a serial terminal but then I can add an SD card via SPI here and a PS/2 port for a keyboard there and maybe I get into FPGAs and add a VGA output as well (graphics is where my low level adventures usually take me. I know that this will be hard but that's probably the only aspect of this project I'm classically trained for).

So, my main question is, which chip is easier to deal with? Which one is easier to get going? Are there any electrical quirks I must be aware of? The Z80 seems to be pretty straight forward but I think the CMOS versions of the 6502 family don't have this minimum clock stuff going on either. Which chip has the better support chips that are still available? Like, I know that the VIA is still around for the 6502 family.

Also, I'm not too skilled with assembler (yet). I wrote a basic bootloader for x86 and some "jump to main" 3 liners for ARM Cortex M cores. I know that the registers on the Z80 are a pretty great feature but is it an easy feature to understand? Accumulator, 2 index registers and so on and so forth seem much easier to handle. But then again the SP on a 6502 is 8bit so 256 values max. Even with my modern "make functions small since calling them doesn't cost much. What is inline? Just let the compiler handle this" I'm probably not gonna break the 16bit SP on a Z80.

The community for the 6502 seems to be larger too probably because it was used in so many home computers.

I'm probably gonna do both anyway if the first one was fun but why start with the one that puts up more of a fight? Assuming 6502 assembly is easier, I might a well get used to it there. If the Z80 is easier to design for electrically I might a well get some experience there before my PCB house of choice is gonna great me by my first name because I mess up so much.

Thanks for your time.

8
  • 2
    The CPUs in questions do not really differ in aspects of circuit design or programming, thus, beside sounding much like a 'What to buy' question, this is asking only about opinions. All sub questions asked might be answered with the same validity for either of the CPU choice, depending on personal opinion (I've designed for both systems from scratch multiple times). Thus it's clearly Off-Topic for RC.SE question
    – Raffzahn
    Commented May 3, 2022 at 11:22
  • 6
    While everyone who was around back in the 70s or 80s will have a personal preference -- usually, the processor they started with -- I think it doesn't really matter. Toss a coin. Commented May 3, 2022 at 11:25
  • 3
    I think you are basically asking which old CPU you should learn to program and select for building a new device. That's up to your preferences. Learn both and then decide based on your experiences.
    – Justme
    Commented May 3, 2022 at 11:32
  • 2
    The Motorola 6809. Lovely CPU. Could also go with the Motorola 68008.
    – Tim Locke
    Commented May 3, 2022 at 13:12
  • 2
    I will simply say that a singular reason to go with 6502 is the 6502.org website and forums. There's no other more concentrated community on the internet. Very active, very knowledgable, very friendly. You will get all of the support you need there. If you're going to do both, do the 6502 first, then you can take your knew foound knowledge and explore something else like the Z80. Commented May 3, 2022 at 14:38

2 Answers 2

6

Having designed systems using both the Z80 and 6502/65C02 I can tell you that they are quite similar and some have even designed systems having BOTH where you could switch between one and the other.

Both have, even today, many peripheral chip options as well. In the old days where DRAM was preferred due to cost, the Z80 made life simpler with its on-board DRAM refresh logic. But today it's simpler just to use SRAM and forget about the complexity of DRAM refresh.

There was also a day when I'd have said the Z80 has a readily available OS for a homebuilt system with CP/M but the 6502 has a work-alike called DOS/65 which is full-featured and open-sourced. So take your pick, either or both.

CP/M: CP/M downloads and source code

DOS/65: DOS/65 downloads and source code

5

There's not enough in it that makes either a more compelling proposition over the other.

The Z80 wins slightly in that the separate I/O space means that you can cut more corners on address decoding in simple designs—look at Sinclair computers for an extreme version of this—but for a more conventional fully-rounded design which doesn't waste address space to save on gates, that advantage goes away.

Also, a CPU doesn't make a system, and you'll want to add support chips. Some are designed to go with particular CPUs, so if you fancy using the 6522 VIA, that would suggest the 6502. However, you can interface the 6522 with the Z80 if you want.

As to machine code, I have a soft spot for the 6502, but somebody used to modern systems such as x86 will find the Z80 more familiar. Somebody used to ARM will probably prefer the 6502 though :)

There's also nothing stopping you building one of each, or putting both CPUs in the one machine.

Not the answer you're looking for? Browse other questions tagged .