Meanwhile, over at Apple, Woz and team used most of those memory addresses as global variables, choosing the zero page because that saved some precious bytes of memory from ROM, and because when Woz wrote the first version of the ROM for the Apple board kit (a.k.a. Apple I) he didn't he have enough memory for the 40x24 page of text.
At the same time, over at Atari, the Atari 2600 used half of zero page to address the TIA chip, likely choosing that address space because the game ROMs were only 4K in size. The other half of the zero page was all of RAM, including the stack, and thus again really just global variables.
Are there any 1970s use cases of the 6502 that used zp as registers?
What I'm wondering is how much of the use of that space as globals was due to the syntax of 6502 assembly? LDA $03 doesn't look or feel any different from LDA $303. What if instead the syntax were LDA R3? E.g.
Code: Select all
LDX #2
LDA $FF82,X
STA R1
INX
LDA $FF82,X
STA R2
LDY $801
LDA (R1),Y
STA R129
Agree? Disagree? Other thoughts on the 259 registers of the 6502, only three of which have names?