9

It is not uncommon for microprocessor system designers to copy elements of design from other microprocessor systems; the Z80, extensively copying design elements of the 8080, is a notable example.

That the MOS 65xx series copied design elements from the Motorola 68xx series is not surprising; many of the designers working on that series had actually come from Motorola, leaving because Motorola was not open to their idea of doing a new CPU that could be manufactured considerably more cheaply than the 6800. One obvious direct copy was the MOS 6520 PIA, which is substantially the same as a Motorola 6821.

What elements of the Motorola 6800 that were substantially characteristic to it, rather than being "a common way of doing things," were copied in the design of the MOS 6502?

By "a common way of doing things" I'm talking about design elements that were widespread amongst other processors (microprocessors or otherwise), versus design elements that that you can clearly identify as being those of the 6800.

An example of the former would be, "an 8-bit wide accumulator named A on which you perform ALU operations that set flags," which describes not only the 6800 and 6502, but also the Intel 8080.

An example of the latter might be, "an additional addressing mode on many instructions with a shorter address within a subset of memory" (i.e., the "zero page" addressing mode), though I am not myself sure if that didn't exist on other processors before the 6800.

12
  • 1
    @dave Yes, that came to my mind too, but the PDP-8 was different in that it had only short addresses, so you could access its zero page only with the ZP addressing mode. The 6800 is different in that the ZP addressing mode duplicates functionality of the standard absolute addressing mode, only using a one-byte operand instead of a two-byte operand.
    – cjs
    Commented Apr 20 at 4:33
  • 1
    @Raffzahn "...the Z80 isn't just taking some elements...." I didn't say "taking some," I said "extensively copying." Regardless, your statement is correct but irrelevant to the question. It may not just be taking some elements, but it is indeed "taking some elements," and thus I think serves as a suitable (and particularly obvious) example that microprocessor designers do take elements from other microprocessor designers.
    – cjs
    Commented Apr 20 at 9:00
  • 2
    Does the bus interface count? The 6501 is pin-compatible with the 6800, the 6502 rearranged.
    – Tommy
    Commented Apr 20 at 11:42
  • 13
    The “6”. They copied the “6”…
    – Jon Custer
    Commented Apr 20 at 15:26
  • 1
    @Tommy Yes, it does.
    – cjs
    Commented Apr 20 at 15:29

2 Answers 2

2

The 6502 is a modified 6501. The 6501 was bus-compatible with the 6800, and could be used as a drop-in replacement in the same circuits electrically. It was this property that led to the legal issues that resulted in the 6502. The 6502 is perhaps inspired by, or in the same vein, as the 6800 but there is no direct relation.

I think you may be viewing this with a modern perspective (from that of computer architecture). I'd note that the designers at the time viewed it as an electrical component in a control circuit first, and as a computer second. That anyone would use these chips in a general purpose computer was a post facto surprise. They were not looking to innovate in computer architecture! They copied established ideas from the minicomputers already used in industrial controllers.

So yes, much of the apparent similarity is just "common ways of doing things" at that time. As some comments and another answer notes, yes the 6501/6502 instruction set and architecture do bear some similarities to the 6800, including the assembly mnemonics. But they're also similar to the (earlier) DG Nova and some DEC machines (jmp lda sta and friends go back to the 1960s).

2
  • I don't think that viewing a microprocessor as a "component in a control circuit first, a computer second" (or vice versa) makes any difference to this question. E.g., zero-page (8-bit) addressing as an adjunct to absolute (16-bit) doesn't depend at all on whether the CPU is being used to control an car or as a general purpose computer.
    – cjs
    Commented Apr 28 at 3:33
  • It would be worth extending your answer to discuss the bus compatibilities between the 6502 and the 6800. The 6502 wasn't pin-for-pin compatible, but the bus and control structure was essentially the same, was it not? Could you, with an adapter, switch a 6800 system to a 6502, or vice versa? And what would be the details of that? (Looking at the Apple 1 may help you with this.)
    – cjs
    Commented Apr 28 at 3:36
-2

From the programmer's perspective: The official mnemonics are pretty similar. For example

6800 6502
jsr jsr
rts rts
rti rti
bne bne
beq beq
lda lda
sta sta
asl asl
lsr lsr
inx inx
dex dex
rol rol
ror ror
cmp cmp
... ...

The Z80 uses a radical new scheme.

7
  • 4
    Do you mean aren't pretty similar at all? The at all at the end sort of confuses the sentence's meaning. Also, could you edit and expand upon your answer a little bit? Commented Apr 23 at 23:10
  • 4
    "Mnemonics" are not any part of a microprocessor, though.
    – dave
    Commented Apr 24 at 2:53
  • @dave Mnemonics are part of the specification, do you know an exception?
    – Polluks
    Commented Apr 24 at 16:10
  • 4
    Instructions are what a CPU executes. Mnemonics are the input language to an assembler. You can have the same mnemonics for different instruction sets; you can have different mnemonics for the same instruction set. Is the point you're making that the instruction sets are "pretty similar"?
    – dave
    Commented Apr 24 at 16:41
  • 1
    BTW, there might be something in that RTI instruction. How did it compare between the 6800 and 6809, and did any other systems do it exactly the same way? It's certainly different from the 8080, which did not push the flags automatically.
    – cjs
    Commented Apr 28 at 3:38

You must log in to answer this question.

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