wayfarer wrote:
100% agree on a WDC65CE02 :!:
it is like the last of the 8-bit, with a lot of the best improvements, while the 65816 is a 16-bit chip, the first of its generation of chips (in 65xx).
I think I'd agree that, in terms of programming model, the 65816 is more of a 16-bit chip than an 8-bit one. In particular, you couldn't really mix 8- and 16-bit work smoothly because you had to explicitly switch between 8- and 16-bit modes using another instruction. In some ways, supporting mixed 8- and 16-bit operations is even worse than a full 16-bit processor such as the 68000. For example, it's not possible (though correct me if I'm wrong here) to add (with correctly calculated carry) an 8-bit value to a full register width (16-bit on 65816) value; you have to convert the 8-bit value to a 16-bit value first. (The 68000 explicitly specifies byte, word or long addends and even has special short encodings for adding small constants in a single 16-bit instruction with no operand.)
But when I hear "the last of the 8-bit" I hear the potential for an implied "and best" there, too, and for me that would be the 6809. While the 6502 did improve over the 6800 in certain ways, the improvements were extremely limited due to the focus on lowering cost. The 6809, on the other hand, walks all over both in terms of programming model, compactness of code and (arguably) speed.
This came at the cost of (binary) incompatibility, of course, but that's just the nature of things. And that at this point rather leaves the 65xx line stuck; the reason people like it and use it now is because it's 6502, not because they're looking for a faster CPU, or an improved architecture or instruction set, all of which are available more cheaply now if you're willing to abandon the 6502 model.
GARTHWILSON wrote:
That 6530 IC was really nice at the time. There was another company later that did that kind of thing, more powerful, and not 65xx-specific. I think it was called "Crystal," although I don't know if that's the entire company name. I threw out my data book not too long ago.
It was a pretty common idea. Motorola also had the MC6846 (2K ROM, 8-bit PIA, timer). It didn't have RAM, but it didn't need it: it was released (in March 1977) along with the 6802, which had 128 bytes of on-board RAM.
wayfarer wrote:
...however, I would still advocate for the Stack (and maybe a "scratchpad" of a few bytes of RAM) that is internal to the 6502 IC.
I would think of this Stack RAM as separate from the normal ram addressing, and accessed internally via the Stack register. because it is only 8 bit addressing, when using the stack, it can be accessed, and externally, it would need a few extra operations to interact with....
The only thing that's going to give you is an extra 256 bytes of memory, and the cost would be enormous: incompatibility with a significant amount of 6502 software. Remember, accessing the stack via instructions other than PSH and PUL is not done only by programs that want to use a calling convention with arguments on the stack, but also for things like determining one's location in memory (JMP to a known RTS and read the return address from just below the stack pointer), saving and loading registers for various reasons, exception-handling type flow control, and so on.
Quote:
here we can see that 256 Byte Altair board in 1974 was ~$100 so it would put our chip at half the cost of the 6800 and have a significant advantage.
No, it's going to put you at a disadvantage because you're now forcing all your CPU buyers to buy 256 bytes of expensive static RAM, even if their design already had, say, 2 KB of far less expensive DRAM. (Remember, DRAM quickly got to one transistor per bit, whereas static RAM to this day is, IIRC, 6 transistors per bit in small quantities, approaching 4 as you get to large quantities.)
Quote:
so in demos, you have the 6800, that costs several hundred dollars in a socket, it 'does nothing but use electricity' while the 6502 'with scratchRAM' is $40 and is doing things all the while.
The "who can do more with fewer chips?" battle is not one you want to get into with Motorola, because they will win.
Keep in mind, less than a year and a half after the introduction of the 6502, Motorola introduced the 6802, which had 128 bytes of onboard RAM. (It's also what's actually in several late-70s-onward "6800" microcomputers, too, because it had an on-board clock generator.) So that just stuffed your demo above. (Not to mention your pricing is wrong; the 6800/6802 rapidly dropped in price after the 6502 came out and by mid-1977 you could buy one from the back of Byte for $35. (The August 1977 Byte didn't have anybody even offering 6502 CPUs. Not sure what was up with that; availability issues?)
Second, unless you had external ROM,
both CPUs were sitting there doing nothing. Sure, you could pull out a RRIOT, but Motorola had the MC6846, and with the RRIOT the internal RAM you've added to the 6502 isn't needed.
But then, Motorola's going to haul out a 6801 MCU (which was actually in use with GM well before it was released to the public in 1978), with ROM, RAM, PIO, a serial port and, hey why not, even a multiply instruction) and show you a complete working system in one chip, and what are you going to respond with?
Remember, the MC6801 and similar chips from Motorola far outsold the 650x processors. (And to this day we're still using 68HC11 MCUs.) MOS may have won in the microcomputer market, but Motorola had automobiles, and there were a lot more cars than microcomputers back then.