[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
65816 Memory management questions.
I'm currently working on a 65816 emulater for the IBM and have run into
a snag. I did a 6510/6502 emulater a few years ago but the 24 bit memory
model has left totaly confused. Could anyone help answer these folowing
questions;
1) How can the memory be 24 bit when the PC and S registers are only 16
bits wide. I think it has something to do with the PB register.
2) The PB register switches banks but to where? How big is the bank?
I've seen memory maps where a bank goes from $0000-$FFFF. If that's so
then that means when you bank in a page of ram, (1 page=1 bank=64K; the
largest amount of data that could be "seen" with a 16 bit PC and S
register) you loose the page that your're on, including the stack &
program data.
3) where is the stack now? In the 6502/6510 it started at $FFFF and the
Interupt vectors were at $0000. How can this be in the 65816 with it
banking memory at 64k a time.
I know there is an easy explanation for all this and I know I'm VERY
much in error with a lot of my thinking. Could someone strighten me
out?
-Signed
@>---'---,--- Hal the Slightly Incondecent ---,---'---<@