One interesting thing about this discussion (and also ChatGPT’s suggestions) is that the question of stack sizes doesn’t arise. Looking at Chuck Peddle’s oral history, it seems that the stack size is about the only comprise, he seemed to have been somewhat worried about. Compare the following sentences (the first one explicitly on the subject of the merits of 6502 and not regretting anything):
So what would we have done? you don’t put a 256 stack into a computer, and we’re going to talk about that, right?
Gates took a look at the 6502 and says it’s a piece of junk, because it’s got a 256 byte stack.
(…) we felt we had to make a major step up, not just an extension of the 6502, but a major step up to a product like the 8080 or the 68000. That was the next generation because of the memory addressing capabilities. The structure that was in those machines were quite better than 6502, which only had a 256-byte stack.
In other words, compared to the virtually unlimited stack size of the 8080 (and Z80) inside the bounds of the total 64K address space, the single-page stack appears as kind of a major structural compromise of the entire architecture. In practice, this wasn’t really much of a hindrance, especially thanks to BASIC. – As attributed by Chuck Peddle:
let me make a point-- that Bill Gates had the solution for the stack problem.
He wasn’t paying attention to what he was selling. BASIC is an interpreter. It does one instruction at time.
You don’t need a stack heavy to do one instruction at a time. It doesn’t generate stack commands. So he was offering me the solution to this 256 byte stack, without realizing it. He didn’t-- it didn’t come together with him, that was enough. And that’s why the 6502 worked as the computer for the PET, is because the BASIC didn’t need a bigger stack.
Still, the stack size of the 6502 is a reoccurring theme, and Chuck Peddle is peculiarly defensive about it. But – as far as I would know – it never was a real-world problem. Or, is it just that BASIC shaped 8-bit microcomputing as much that this didn’t arise? Chuck Peddle seems to have been suggesting so.
(Quite to the contrary, to a normal programmer, like me, the limited size and fixed location of the stack ($0100–$01FF) appears more as a virtue of the architecture, as this makes the memory layout and use deterministic. E.g., it’s what enables the Atari VCS/2600 to work with just 128 bytes of memory, without running into major software hazards.)