• accessing auxillary memory language card memroy area

    From woodsworth1@21:1/5 to All on Fri Mar 17 18:01:06 2023
    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From qkumba@21:1/5 to All on Fri Mar 17 19:37:28 2023
    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.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From woodsworth1@21:1/5 to All on Fri Mar 17 21:48:17 2023
    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Antoine Vignau@21:1/5 to All on Mon Mar 20 06:12:40 2023
    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Brian Patrie@21:1/5 to All on Tue Mar 21 03:43:32 2023
    woodsworth1 wrote:
    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

    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).

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Michael Pohoreski@21:1/5 to All on Tue Mar 21 07:45:46 2023
    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Michael Pohoreski@21:1/5 to All on Tue Mar 21 08:47:12 2023
    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.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)