[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Direct Page & Stack Page in Bank $00?
- Subject: Re: Direct Page & Stack Page in Bank $00?
- From: Exegete <millers@noneofyourbusiness.com>
- Date: Wed, 17 Dec 2003 17:32:51 -0600
- In-reply-to: <Ut5Eb.66138$HH.42898@fe1.texas.rr.com>
- Newsgroups: comp.sys.apple2
- Organization: Newsfeeds.com http://www.newsfeeds.com 100,000+ UNCENSORED Newsgroups.
- References: <Ut5Eb.66138$HH.42898@fe1.texas.rr.com>
- User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)
- Xref: archiver1.google.com comp.sys.apple2:1672
Bryan Parkoff wrote:
I find an interesting issue that 65816 can only restrict Direct Page and
Stack Page to Bank $00. I wonder why Western Design Center designed 65816
to use Bank $00 only. I would want Direct Page and Stack Page to be in Bank
$01 through $FF by changing Bank Program Counter Register, but leaving
Direct Register and Stack Register alone. Direct Register allows to move
from Page $00 to between Page $01 and Page $FF. Stack Register does the
same like Direct Register does.
It is very painful for Western Design Center to tell us that we must use
Long Address to load and store data in any banks.
No pain, no gain.
It may be terrible
design, but is it the way how 65816 is designed?
My example code below.
LDA $4000
STA 00
PHB
LDA #01
PHA
PLB
LDA $4000
STA 01
PLB
RTS
Data must be stored in Direct Page in Bank $00. I replace from Direct
Page to Absolute Page. Take a look below.
LDA $4000
STA $0000
PHB
LDA #01
PHA
PLB
LDA $4000
STA $0000
PLB
RTS
Data shows in $0000 in both Bank $00 and Bank $01. It is why I use
Absolute Page instead of Direct Page. I really want to use Direct Page in
both Bank $00 and Bank $01 because I would like to store data pointer there
however I hate to see that it is always located in Bank $00.
What happen if Direct Page has taken 256 bytes? I tell Direct Register
to move from Page Zero to Page One and so. It would be impossible for
Direct Pointer to contain 512 bytes or 1024 bytes.
CPU 6502 and CPU 65C02 allow separate Bank $00 and Bank $01 so Bank $00
has its own Direct Page and Stack Page while Bank $01 has its own Direct
Page and Stack Page unlike CPU 65816 does.
No, they don't. They don't have banks at all. Only the 65816 has banks.
Now, the Apple II DOES have it's Aux bank, but that is a feature of the
Apple II, not the 6502.
Please advise...
-----= Posted via Newsfeeds.Com, Uncensored Usenet News =-----
http://www.newsfeeds.com - The #1 Newsgroup Service in the World!
-----== Over 100,000 Newsgroups - 19 Different Servers! =-----