* Mem dump cmds without any args will now display the prefix address
* Support data sub-window (that reflects m1 dump)
* Breakpoint display: Right align R and W at end of line
* Help doc: Update Memory page to include prefix address examples
* Help doc: Update Breakpoint & Memory pages: add images showing address prefixes as shown in the UI
---------
Co-authored-by: michaelangel007 <michaelangel007@sharedcraft.com>
* Minor tidy
* Changes:
. semicolon now Comment EOL
. double fwd-slash now Divide floor
. (single fwd-slash unassigned)
* . fwd-slash now parsed in Range_GetPrefix()
. WIP: 'bp bank/addr'
* Add error msgs
* Extend Breakpoint_t struct
* Update cmd 'bpl' to support displaying prefixes
* Do prefix checks & output error msgs
* Add _CheckBreakpointValueWithPrefix()
. support bank, for BP_OP_EQUAL
Stop reason: include BP id
* WIP: fix BPs (non-BPM)
* Fix cmd 'bpr'
* Stop reason: don't show BP id for BP_HIT_REG (as it already includes it)
Add comment about nArgs from calling funcs
Refactor _CmdBreakpointAddCommonArg(): nArgs
* Stop reason for memory BP: show full prefixed address
* Stop reason: output BP id in consistenct way
* Support ROM prefix filter
* Complete addr prefix logic
* Improve logic
* BP: 'HDD DMA to/from memory' - use common hit id function
* Support rw bank 100
* Support double forward-slash at start of line as a comment
* Refactor: use debugger naming convention for vars
* Changed prefix errors from 'bad' to 'out-of-range'
* DebugInitialize(): Reset g_breakpointHitID
* Refactor: use debugger var naming convention & formatting style
* Switch divide-operator to the underscore char, and allow double-fslash as a comment anywhere on a line
* Update help for debugger calculator
* Update help for debugger breakpoints
* Update help for debugger breakpoints (conditional)
* Fix help:breakpoints.html & fix ArgsGetRegisterVlaue() to do case-insensitive compare
* Fix underscore to be treated as a alphanumeric in a few edge cases
* Revert to using '//' as divide operator
* Help: update debugger Breakpoints & Calculalor pages
* Help: update debugger Calculator (missed one)
* Detabify and align
* Display (1) or (2) prefix for LC1 or LC2 breakpoint
* #1419 Added Aux.1 and Aux.N indicators
* Display (1) or (2) suffix for LC1 or LC2 breakpoint
* Extend cmd 'bpl' to display BP's end addr
* Show both bank and slot together
* Fix spacing for BP with range
* Add: FG_INFO_BP_MEM, FG_INFO_MEM_WRITE, BG_INFO_MEM_BANK_LC, FG_INFO_MEM_BANK_LC colors
* Cleanup
* Add 3x5 mini hex numbers
* Mini hex font to have rounded 0,A,C glyphs
* Display 2 hex Bank now
* Support edge-case for bank 0x100
* Tidy up end red spacer
* Refactor & introduce new struct AddressPrefix_t
* Fix a few bugs:
. bpl: fix end addr
. fix for 'R' and 'W' not coloured for single-byte BPs (eg. bpmr 100)
---------
Co-authored-by: michaelangel007 <michaelangel007@sharedcraft.com>
Better support the IIe's aux slot when it's empty or has the 80-col(1KiB) card.
- any h/w using this alternate CPU emulation, (ie. aux=empty or 80-col(1KiB)), then the 'mem' cache is completely bypassed.
Debugger: change all the direct 'mem' accesses to go via ReadByteFromMemory().
TestCPU6502: test the alt CPU emulation code too.
. Command line config only, and only permitted in slot 3 for now.
. Save-state Unit v9: Extended: memory (added 'Last Slot to Set Main Mem LC', 'MMU LC Mode').
. Add LanguageCardManager class.
- Simplify common StrFormat(), especially in Debugger (changes upcoming)
- Add helpers StrAppendByteAsHex() and StrAppendWordAsHex()
- Add helpers StrBufferAppendByteAsHex() and StrBufferAppendWordAsHex() for plain string buffer
. Split AppleWin -> Core with the functionality really needed by the emulator.
. Split AppleWin -> Utilities for generic code not called by other emulator components.
. Split AppleWin -> CmdLine for the command line option parsing.
Support 2nd Disk][ in slot-5, via command line:
- -s5 diskii
- -s5d1 \<imagefile\>
- -s5d2 \<imagefile\>
NB. there's currently no Configuration UI support, except the Drive icons' tooltips show what's in slot-5 & slot-6 (for drive-n). So there's no way to eject the disks or insert new disks. The use-case I'm supporting it Wasteland which just has the 4 disks in the 4 drives.
Improved card management:
- Added `class Card` (in Card.h) which all other cards (that exist as classes) derive from (eg. LC,SSC,Mouse,Disk2).
- Added `class CardManager` (in CardManager.cpp\h) which now manages the 8 slots (and aux slot).
- Added `class Disk2CardManager` (in Disk2CardManager.cpp\h) which provides methods for operations that act on all Disk2 instances at the same time.
- Currently limited to just 1x SSC and 1x Mouse card (why would you need more?). This simplifies things, meaning there's no need to have dedicated SSCManager / MouseCardManager objects.
- Currently the 2nd Disk2 card can only be put into slot-5. This limitation is just due to the complexity of the Configuration UI. Having a more general drop-down per slot UI would remove this limitation.
* Refactor Language Card:
. MemSetPaging() now not used for $C080-C08F accesses.
- Instead LC registers its own I/O handler like all other slot 1-7 cards.
. Saturn uses base LC's 16K for bank0
* Move all 'modechanging = 0' to UpdatePaging()
Added support for #590:
* Changed Apple II original to default to no LC
* Added new cmd-line switch: -s0 <languagecard|lc>
* Changed so when LC is in slot-0, it now use Apple II+'s F8 (auto-start) ROM
Support for #408:
* added slot-0 LC and Saturn 128K for Apple II and II+
* added save-state support
- for slot-0 LC/Saturn, save the LC state in the slot-0 card, not the //e MMU; and switch to a new Apple2 unit ver2
* added g_Slot0, g_SlotAux
* added new LanguageCard.cpp/h to project and moved Saturn code into these new files.
* updated VS2013,2015,2017 projects