Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

accessing auxillary memory language card memroy area

59 views
Skip to first unread message

woodsworth1

unread,
Mar 17, 2023, 9:01:09 PM3/17/23
to
Hi.

I've looked through the aplle //e technical reference manual (1987) for answers but I can't find any. It talks about the soft switches for the lower 48K of the auxillary memory but I'm trying to learn how to access the top 16K (language card area) of auxillary memory on a 128K apple //e. There is a picture on page 87 that describes that memory as being banked like the main memory language card space, but its not clear to me how you would read or write that memory space. Can someone explain?

thanks!
jp

qkumba

unread,
Mar 17, 2023, 10:37:30 PM3/17/23
to
The aux memory LC behaves like the main memory LC as far as banking goes ($C083 to R/W bank 2, $C08B to R/W bank 1).
However, you need to STA $C009 to switch to aux LC, STA $C008 to switch back.
Switching to aux LC also switches to the aux ZP and aux stack, so you can't JSR to a routine that does a STA $C009 and expect it to return to the correct address.

woodsworth1

unread,
Mar 18, 2023, 12:48:19 AM3/18/23
to

Thanks heaps.
Once you know then the vague allusion to swithcing banked memory area with zp and stack on page 88 makes more sense. But it is definitely not clear, and not in the description of the soft switches at all.

Cheers
jp

Antoine Vignau

unread,
Mar 20, 2023, 9:12:41 AM3/20/23
to
Hi There,
I like the document @ https://drive.google.com/file/d/1Ydbw3Y6vU4ynNOwrKRuEnNT5_B3LsCvd/view?usp=sharing - Even if written in French, it explains the meaning of the different bits that select RAM vs ROM, Read vs Write, Bank 1 vs Bank 2, in an understandable manner.

Cheers,
Antoine

Brian Patrie

unread,
Mar 21, 2023, 4:43:34 AM3/21/23
to
If you just want to move stuff in and out of it, there is the AUXMOVE
subroutine at $C311. I think it works for the whole 64k.

It uses the same zp registers as the System Monitor MOVE subroutine for
source range and target address, and the carry flag to choose direction
(SEC to copy to auxmem; CLC to copy from auxmem).

Michael Pohoreski

unread,
Mar 21, 2023, 10:45:47 AM3/21/23
to
On Friday, March 17, 2023 at 6:01:09 PM UTC-7, woodsworth1 wrote:

You may find Anthony's and my softswitch utility handy. It is an interactive softswitch simulating visually showing a memory map.
https://github.com/Michaelangel007/apple2_softswitch

Space will toggle between the symbolic names and softswitch addresses.
Use D and T, to set the LC (High RAM Read/WRite) status
Use B to toggle the bank.
Use A to toggle Aux/Main although I see it doesn't display the Main/Aux status for the LC so I guess I should fix that for a version 5. =P

Cheers
Michael


Michael Pohoreski

unread,
Mar 21, 2023, 11:47:14 AM3/21/23
to
Also see David Empson's 128K Apple IIe Memory Map
https://gswv.apple2.org.za/a2zine/faqs/R032MMAP128.TXT

Which has 6502 code to accessing the Main/Aux LC Banks.
0 new messages