• Viewing AUXMEM in AppleWin

    From Michael J. Mahon@mjmahon@aol.com to comp.sys.apple2 on Thursday, December 10, 2020 17:56:35
    From Newsgroup: comp.sys.apple2

    I was just using AppleWin’s debugger to examine some bank switching code, including a couple of memory mini-windows.

    How do I specify whether main or aux RAM are viewed? And how do I list the contents of a region of aux RAM?

    --
    -michael - NadaNet 3.1 and AppleCrate II: http://michaeljmahon.com
    --- Synchronet 3.18b-Win32 NewsLink 1.113
  • From Michael 'AppleWin Debugger Dev'@michael.pohoreski@gmail.com to comp.sys.apple2 on Friday, December 11, 2020 04:15:01
    From Newsgroup: comp.sys.apple2

    I was just using AppleWin’s debugger to examine some bank switching code, including a couple of memory mini-windows.

    How do I specify whether main or aux RAM are viewed?
    And how do I list the contents of a region of aux RAM?
    Hi Michael
    Sorry that this isn't documented in the Debugger > Memory help. I'll add this to my TODO list.
    This probably belongs over in comp.emulators.apple2 but to answer your questions:
    a) The debugger always uses the _current memory bank soft-switch settings,_ b) You will have to use the debugger OUT commands to temporary switch to aux mem, view the memory, and then restore the bank-switched stated before continuing execution.
    e.g.

    OUT 03
    MD1 3488
    OUT 02

    Note: You can also use the partial debugger commands O or OU instead of OUT if you wish to save typing.
    Unfortunately there is no easy way to restore the current bank-switch state so you will have to manually inspect the mini-memory flags 02:Rm/x Wm/x line BEFORE changing the bank flags. (Maybe PUSHM and POPM might be a good feature request?)
    Using my VIEW.DHGR program as an example... https://github.com/Michaelangel007/apple2_hgrbyte
    Let's setup some "markers" so we can easily tell which [memory] bank we are looking at:
    We'll use LDA #'A' for aux, and
    And LDA #'M' for main.
    BLOAD TUT.DHGR
    CALL-151
    3488:A9 41
    5488:A9 4D
    -VIEW.DHGR
    Press <F7>
    3488L
    MD1 3488
    O 3 // Disassembly and Mini-memory dump will now show Aux memory
    DATA // Switch to a memory dump viewing
    O 2 // Disassembly and Min-memory dump again show Main memory
    CODE // Switch back to disassembly viewing
    Press <F7>
    The soft-switch panel shows which OUT address(es) you need to toggle the soft switch(es), and the corresponding state:
    02:Rm/x Wm/x
    * When you execute OUT 03 you will see the the "x" displayed in inverse mode to signal that you are reading aux memory.
    * Likewise when you execute OUT 02 you will see the "m" displayed in inverse mode to signal that you are reading main memory.
    Sorry again that this isn't documented in the manual.
    Hope this helps.
    Michael, AppleWin Debugger Dev
    --- Synchronet 3.18b-Win32 NewsLink 1.113
  • From Michael 'AppleWin Debugger Dev'@michael.pohoreski@gmail.com to comp.sys.apple2 on Friday, December 11, 2020 09:19:06
    From Newsgroup: comp.sys.apple2

    Created AppleWin FR #889 to track this.

    https://github.com/AppleWin/AppleWin/issues/889
    --- Synchronet 3.18b-Win32 NewsLink 1.113
  • From Michael J. Mahon@mjmahon@aol.com to comp.sys.apple2 on Tuesday, December 15, 2020 23:44:52
    From Newsgroup: comp.sys.apple2

    Michael 'AppleWin Debugger Dev' <michael.pohoreski@gmail.com> wrote:
    I was just using AppleWin’s debugger to examine some bank switching code, >> including a couple of memory mini-windows.

    How do I specify whether main or aux RAM are viewed?
    And how do I list the contents of a region of aux RAM?

    Hi Michael

    Sorry that this isn't documented in the Debugger > Memory help. I'll add this to my TODO list.

    This probably belongs over in comp.emulators.apple2 but to answer your questions:

    a) The debugger always uses the _current memory bank soft-switch settings,_ b) You will have to use the debugger OUT commands to temporary switch to
    aux mem, view the memory, and then restore the bank-switched stated
    before continuing execution.

    e.g.

    OUT 03
    MD1 3488
    OUT 02


    Note: You can also use the partial debugger commands O or OU instead of
    OUT if you wish to save typing.

    Unfortunately there is no easy way to restore the current bank-switch
    state so you will have to manually inspect the mini-memory flags 02:Rm/x
    Wm/x line BEFORE changing the bank flags. (Maybe PUSHM and POPM might be
    a good feature request?)

    Using my VIEW.DHGR program as an example... https://github.com/Michaelangel007/apple2_hgrbyte

    Let's setup some "markers" so we can easily tell which [memory] bank we are looking at:

    We'll use LDA #'A' for aux, and
    And LDA #'M' for main.

    BLOAD TUT.DHGR
    CALL-151
    3488:A9 41
    5488:A9 4D
    -VIEW.DHGR
    Press <F7>
    3488L
    MD1 3488
    O 3 // Disassembly and Mini-memory dump will now show Aux memory
    DATA // Switch to a memory dump viewing
    O 2 // Disassembly and Min-memory dump again show Main memory
    CODE // Switch back to disassembly viewing
    Press <F7>

    The soft-switch panel shows which OUT address(es) you need to toggle the
    soft switch(es), and the corresponding state:

    02:Rm/x Wm/x

    * When you execute OUT 03 you will see the the "x" displayed in inverse
    mode to signal that you are reading aux memory.
    * Likewise when you execute OUT 02 you will see the "m" displayed in
    inverse mode to signal that you are reading main memory.

    Sorry again that this isn't documented in the manual.

    Hope this helps.

    Michael, AppleWin Debugger Dev


    Thanks, Michael, this is very helpful!

    --
    -michael - NadaNet 3.1 and AppleCrate II: http://michaeljmahon.com
    --- Synchronet 3.18b-Win32 NewsLink 1.113