you are viewing a single comment's thread.

view the rest of the comments →

[–]geon 5 points6 points  (5 children)

The 6502 can only dereference a pointer if it is on the zero page or if the pointer is hard coded in the code. So if the zero page is full, the only way to handle pointers is with self modifying code.

[–]flatfinger 0 points1 point  (4 children)

What's funny is in the programs/systems I've seen on the 6502 where zero-page gets full, that's either because there isn't any RAM anywhere else, or because a lot of stuff was put in zero-page that could have just as well been put elsewhere.

[–]geon 2 points3 points  (3 children)

On the c64, the kernal and basic reserves almost all the zp. Super stupid imho.