Timeline for Why did so many early microcomputers use the MOS 6502 and variants?
Current License: CC BY-SA 3.0
4 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
May 14, 2023 at 2:30 | comment | added | cjs | The Motorola 6800 also had a zero page (which they called the "direct page"), and many instructions that saved a byte and a cycle by using it. As supercat mentions, the innovation the 6502 brought to this was indirection through the zero page, modified by the Y register, which consumed slightly fewer cycles and significantly less code than modifying the 6800's (16-bit) X register when you needed to alternate between using two or more pointers in a routine. (Unless you needed to work with more than 256 byte areas.) | |
Feb 18, 2022 at 22:50 | comment | added | supercat | More importantly, pairs of consecutive zero-page addresses could be used to hold memory addresses for use with (zp),y addressing mode, accomplishing an insane amount of work in a five-cycle instruction. A music player I did for the Atari 2600 required 46 cycles of every 76-cycle scan line to generate four-voice music, and within each group of four scan lines it used twenty different pointers all held in zero page (so 25 cycles out of each 46 were five-cycle instructions using (zp),y addressing). | |
Jun 30, 2019 at 23:22 | comment | added | Cliff Hall | This was a great feature. CBM BASIC gobbled up most of zero page for its own functions, but if you knew it well (Mapping the Vic and Mapping the C64 were a terrific help), you could make use of certain bytes when BASIC wasn't looking. They left you a couple or three user defined bytes. But of course if you were writing assembly, you could use nearly all of it. | |
Aug 17, 2017 at 20:30 | history | answered | Leo B. | CC BY-SA 3.0 |