3 ms·
> Also you're not using the stack to pass parameters to routines here either. You might not even use subroutines. Well that 128 bytes was in the upper half of
by klelatti 4y ago
> Also you're not using the stack to pass parameters to routines here either. You might not even use subroutines.
Well that 128 bytes was in the upper half of page 1 and the 6502's stack was in page 1, but at least one source says that the upper half of page 1 was also mapped to page 0.
I'd guess that at least some programs would push to the stack - if nothing else you could save a byte when storing a byte to memory (PHA vs STA #FF).
- cardiffspaceman 4y agoI worked on a system in which the address decoding for the RAM mapped $0-$1FF to 256 bytes of RAM. Fortunately it was easier to do graphics on that than on the 2600
- erosenbe0 4y agoYes, if the 128 of the 6537 is mapped starting at 0x100, then one would use ldx, txs, pha, pla, etc., for any possible optimization. S register is a precious resource! Anything to squeeze between those hsyncs.
- tenebrisalietum 4y agoI'd have to look at the "fan dissassemblies" floating around--you are 100% right and I think Combat did this.
- klelatti 4y agoThanks! Interesting to have this confirmed. I had a think about how this might be used in practice. Probably not huge wins but every byte counted in those days!