[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
AUX memory question
- Subject: AUX memory question
- From: Dennis Jenkins <dennis@uranium.usb.com>
- Date: Thu, 22 Feb 2001 05:51:51 GMT
- Newsgroups: comp.sys.apple2
- Reply-to: dennis@usb.com
- User-agent: tin/1.4.4-20000803 ("Vet for the Insane") (UNIX) (Linux/2.2.16-22 (i686))
- Xref: supernews.google.com comp.sys.apple2:6461
Hello,
I know that I can use the soft switches $c002 through $c005 to
control if an I going to read or write to the 48K main/aux memory, but how
do I gain access to the upper 16K of AUX memory (and then re-gain access
to the upper 16K of normal memory)? I think the answer in the the address
range of $c080 through $c08f, but I don't understand what each of those
soft switches _really_ does. I know that ProDOS lives in one of those
upper banks, and I have to be careful not to trash it.
(I know about the AUXMOVE API found at $c311. That isn't exactly
what I want. I need faster access to AUX memory, as I am using it to
store hash tables. AUXMOVE is way to slow. I am writing my own custom
AUX memory access functions. I store them in the upper part of zero page.
My code has nothing to do with BASIC.SYSTEM, so I'm not worried about
basic trashing my work areas.)
I currently have working code that lets me read/write single bytes
(at a time, exactly what I want) to AUX range $0200 through $bfff. I want
to be able to handle $c000 through $fffc. Can I safely write random data
to AUX $fffe,$ffff? I am not bothering to write to AUX $0000 through
$01ff.