Motorola dropped prices on the 6800 in response, but they still couldn't match MOS's pricing.
Checking again it looks like I'd used this calculator in the past for $250 so I got an extra zero in there by accident via autocomplete, sorry. I can no longer edit the original.
The result of that though is an excellent example of 'software eating the world' and allowed for a whole pile of other tricks to be pulled (in software!) that would have required more circuitry in other computers. For instance, the tape interface used it, as well as the joystick interface. If you were a bit more adventurous you could use it for analog in as well as analog out.
But it is now as it has always been: when you call someones pet processor ugly, you'll get all the specious arguments you can stomach.
The TMS9900 took this further, and had no onboard registers (other than PC & status register). Everything was in RAM.
That model only made sense until RAM became slower than the bus speed (late 80s).
The zero page in the 6800 and 6502 not being relocatable also sucked. Something fixed in the 6809 and 65816 respectively.
I suspect the lessons Sophie Wilson learned from the 6502 were... cycle efficiency and minimalism. The 6502 was super responsive to interrupts precisely because it was so sparse on features.
Register-ZP ops are 3 cycles.
Register-absolute (full 16-bit address) are 4 cycles.
Indirect lookups add a cycle, indexed adds a cycle.
There is some weirdness - e.g. pushing A to the stack is 3 cycles, but pulling it back is 4 cycles. And LSR/ASL start at 5 cycles for ZP access (6 for absolute) and you would think bit shifting would be super fast.
All of these concepts, register file, cache, context memory were quite fluid at the time and not yet settled in the way we see them today so it isn't surprising to see one party refer to the 6502 zero page (or the 6809 direct page) as an extension of the register file in the CPU and another to see it as a cache, a task context or more efficient bit of memory. All of these can be right, it's just a POV difference.
And for that I got downvoted. Huh.
The reason the 16 bit index register indirect fetches were so slow is that they did a useless 'add' of 0 to the index register prior to the fetch. They also had an offset option and I guess letting it do it's usual thing with an offset of 0 made the silicon a bit simpler at the expense of a bit of efficiency.
I did. I'm not cherry picking things I found on Google to try and be right.
Remember, you can also spend all day exploiting zero page mode in the 6800, but you'll never be able to move the 6502's stack :P
That folks turned out complex, feature-complete operating systems several times on 6502 is as impressive as those things being done on e.g. the DEC PDP-8, IMO. Doubly so when you consider that the 6502 hackers were often just that, hackers and hobbyists without an industrial-grade budget.
The 4004 was old by then, but not obsolete. It and the 4040 were still being integrated into embedded systems where cost was a major factor through the late 70s.
https://spectrum.ieee.org/q-a-with-co-creator-of-the-6502-pr...
Bill Mensch tells IEEE Spectrum directly that the 6502 was designed to compete with the Intel 4040, and specifically says not the 8080 or 6800. I don't know how much more "primary" a reference can get, folks.
1974 - 6800 / 8080
1975 - 6502
1976 - Z80
1977 - 8085
1978 - 6809 / 8086
1979 - 68000 / 8088 / Z8000