GARTHWILSON wrote:
backspace119 wrote:
I remember reading that in the docs, and I do intend on staying in 816 mode, so I'll probably end up moving both of them (I may keep zero page at 0 though, since I have ram there) is zero page 16 bits as well? if so it may be a good idea to move it to the start of the 4M module if it's installed, to have a 64k zero page
Direct page and the stack must always remain in bank 0. Although the stack can be huge, the direct page is always 256 bytes, but can start anywhere in bank 0, and doens't have to start on a bank boundary, although you do save a cycle with every DP access if it does start on a bank boundary. In multitasking, each task can have its own direct page and its own stack space.
GARTHWILSON wrote:
backspace119 wrote:
I remember reading that in the docs, and I do intend on staying in 816 mode, so I'll probably end up moving both of them (I may keep zero page at 0 though, since I have ram there) is zero page 16 bits as well? if so it may be a good idea to move it to the start of the 4M module if it's installed, to have a 64k zero page
Direct page and the stack must always remain in bank 0. Although the stack can be huge, the direct page is always 256 bytes, but can start anywhere in bank 0, and doens't have to start on a bank boundary, although you do save a cycle with every DP access if it does start on a bank boundary. In multitasking, each task can have its own direct page and its own stack space.
Ok so then it is going to have to live in my first 32k of ram then correct? I guess that's a bit of a bummer, but I doubt I'd ever need 64k stack. I suppose I can still have 32k-256 stack, and leave the zp where it's at, but I still doubt I'd ever need even 32k-256 stack.
At any rate, I just finished wiring up the 4M memory module, using a 3 to 8 on A21-A24 to select each chip select, so it should be living in the top 4M of address space now.