Commit Graph
453 Commits
Author SHA1 Message Date
Kelvin Lee 3e8054b462 Replace BOOL (almost all) with bool (PR #1509)
. Remove uses of !!
2026-07-26 21:49:53 +01:00
Kelvin Lee 8193cc1fd1 Remove void argument lists (PR #1505) 2026-07-05 16:43:36 +01:00
tomcw 3e327ecdd9 MemUpdatePaging(), UpdatePaging() & ResetPaging()
. pass in an enum instead of a bool to improve code readability
2026-06-06 17:16:02 +01:00
Kelvin Lee 926c592f75 Replace some BOOL usages with proper bool (PR #1500)
1. Registry functions
   The set of functions are changed to consistently use bool arguments.
   The macros are changed to inline functions to improve type checking.
   RegSaveValue() are overloaded with help of templates to reduce
   typecasting at call sites. For instance, bool value would be converted
   consistently instead of relying on call sites to convert bool to int values.
2. Memory functions
   BOOL usages were unnecessary. Mostly internal usages which can simply be bool.
3. FrameBase
   Some member variables are changed to bool.
   BOOL was used because of those Registry functions.

Additional changes:
- Some expressions are forced to be bool when assigning to bool variables.
2026-06-06 14:12:42 +01:00
tomcw adb64459e7 Debugger: Fix crash with mini-dump window: (with MB in slot 4)
. m1 s4/mb
. m1 a4/mb
2026-05-25 15:30:48 +01:00
tomcw 8bd4cb27fa Debugger: allow right-arrow to follow RTI too (#1456) 2026-05-23 17:00:16 +01:00
tomcw 30ef6bbb5d Debugger: support slot 0 LC, eg. for 'm1 s0/lc1/d000' etc 2026-05-17 21:09:05 +01:00
tomcw 810c4fec07 Debugger: BP prefix support for LC: Rd ROM, Wr RAM 2026-05-17 13:44:41 +01:00
Michael "Code Poet" Pohoreski f97acf4788 Debugger: Fixed: Ctrl Right-Arrow now updates targets (#1460, PR #1461) 2026-01-01 11:50:51 +00:00
Michael "Code Poet" Pohoreski 971217c8cb Debugger: Fixed: Stack info shows correct return address if stack wraps around (#1457, PR #1459) 2026-01-01 11:42:51 +00:00
Michael "Code Poet" Pohoreski d661a5e276 Debugger: Added: QoL right arrow on RTS to use the stack return address (#1456, PR #1458) 2026-01-01 11:24:58 +00:00
Michael "Code Poet" Pohoreski 62b91a0cb1 Debugger: Fix right arrow follow bytes marked up as data. (#1382, PR #1455) 2025-12-31 10:42:35 +00:00
Michael "Code Poet" Pohoreski efc525c7b9 Debugger: Fix right arrow follow branch address when target branch address was negative ($81 .. $FF) (#1451, PR #1454) 2025-12-30 09:20:16 +00:00
tomcw 14323064de When using -debugger-auto-run <file.txt> (to set breakpoints), then we want to be MODE_STEPPING when leaving MODE_LOGO 2025-10-18 16:27:40 +01:00
tomcw 971793a53c Breakpoint card: add save/load state support 2025-10-18 15:39:11 +01:00
TomCh dce193b760 Add a Debugger breakpoint card (PR #1441)
. For AppleWin-Test regression tests for debugger breakpoints
2025-10-18 14:54:39 +01:00
tomcw b14a707c59 Debugger: extend 'help bpm' to include info on addr prefixes, with examples 2025-10-03 22:08:24 +01:00
Andrea 2081116322 A couple of changes from the linux branch. (PR #1437)
* Fix printf format spec.
* A fix from the MacOS build.
---------
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2025-09-28 22:00:00 +01:00
tomcw ef6bf16ea7 Mini mem dump for MB/AY: support case-insensitive device names 2025-09-23 19:56:47 +01:00
TomCh 1a68914a4a Fix all x64 warnings in the AppleWin proj (PR #1434)
NB. 10 warnings still in libyaml proj (but there's no upstream update - so will leave as-is).
2025-09-22 21:25:35 +01:00
Andrea 11fcaa63d1 Synch linux branch (PR #1432)
. Debug.cpp: fix compilation errors.
. Remove obsolete __attribute__((regparm(1))) & WATCOM.
. Support MINGW32.
. Replace sprintf with StrFormat().
---------
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2025-09-18 10:40:02 +01:00
tomcw 7433d7b84d Debuggger: Mini mem dump: switch to 'sN/' (slot) prefix for MB & AY device types 2025-09-12 19:59:37 +01:00
TomChandmichaelangel007 04ba39b1dd Debugger: support prefixed addresses for mini memory dump windows (PR #1427)
* 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>
2025-09-08 21:58:22 +01:00
TomChandmichaelangel007 54f86f0cdc Debugger: support address prefixes for slot, bank, language card & ROM (#1419)
* 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>
2025-09-06 02:43:57 -07:00
tomcw 8b31042c13 Add cmd line: -debugger-auto-run <script file>
. Use this to override the default "DebuggerAutoRun.txt"
2025-08-31 17:38:43 +01:00
Michael "Code Poet" Pohoreski afe3824f99 Debugger output error levels (#1422) 2025-08-29 16:51:30 -07:00
tomcw 217a31d095 Include AppleWin version & '32/64-bit build' info-string in Benchmark dialog summary (#1392) 2025-05-04 20:00:33 +01:00
tomcw 265f1ddbf1 Include '32/64-bit build' info-string in log file and debugger's MOTD (#1392) 2025-05-04 18:36:33 +01:00
Michael "Code Poet" Pohoreski 32749dbcad #1397 Add warning when trying to copy memory and the source end address is less than the source start address. (#1398) 2025-05-02 15:26:57 -07:00
Andrea 5bdbbb2a87 Remove references to DebugDefs.h (PR #1395)
. Removed unused declarations.
2025-04-20 12:38:27 +01:00
tomcw a4fa3b5cb5 Debugger: fix Ramworks3's bank display number (fixes #1393) 2025-04-05 09:27:50 +01:00
TomCh 839c493b67 Support IIe aux slot: 80-col(1KiB) card via generic read ptrs (#1341, PR #1391)
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.
2025-04-03 21:10:02 +01:00
Michael "Code Poet" Pohoreski 9d312230e5 Debugger view output QoL (#1384, PR #1387)
. Add HGR Pages 6, 7, 8 Visualizer viewing for Language Card.
. Update help for HGR Visualizer hotkeys 6, 7, 8 and debugger commands HGR6, HGR7, HGR8.
2025-03-02 15:57:27 +00:00
Michael "Code Poet" Pohoreski c1592b90f4 Debugger view output QoL (#1384, PR #1385)
. Add (missing) help for Debugger's View Output
2025-02-22 16:57:10 +00:00
Andrea acbef19489 Remove TEXT() and _T(). (PR #1379) 2025-02-13 20:48:37 +00:00
tomcw 648e5cca25 Replace a missed _tcslen() with strlen() 2025-02-08 11:11:31 +00:00
Andrea 168e868677 Remove TCHAR and <tchar.h> (PR #1373)
. Replace TCHAR -> char.
. Remove <tchar.h> and related functions.
2025-02-08 11:09:09 +00:00
michaelangel007 f44d058a09 Debugger: 2.9.2.6 Added: QoL: Turning a symbol table on/off now shows the current status. 2025-02-06 11:48:28 -08:00
michaelangel007 977cc01d85 Debugger: 2.9.2.5 Added: Symbol table for DOS 3.3 using file A2_DOS33.SYM2 2025-02-06 11:47:33 -08:00
michaelangel007 fa608c1f89 Debugger: 2.9.2.4 Fixed: DA RESET = 3F2 was displaying help instead of being parsed. 2025-02-06 10:38:15 -08:00
michaelangel007 3659beb776 Debugger 2.9.2.3: Fixed: DB HGR = 2000:3FFF and DB FOO = 300 wasn't parsing correctly from 2.9.1.3. Fix for commit 48e0fe3a. 2025-02-06 10:37:10 -08:00
michaelangel007 cb0da8538d Debugger 2.9.2.2: Fixed: DB HGR = 2000:3FFF was displaying help instead of being parsed. 2025-02-06 09:59:00 -08:00
michaelangel007 6c6d821051 Debugger 2.9.2.1 Added: Error message when trying to add a symbol > 51 characters. See Issue #1342 2025-01-06 15:45:47 -08:00
tomcw c336a0ce40 Fix 2 minor bugs:
1) Debugger: wasn't accounting for 80STORE when checking PAGE2 switch (eg. CTRL+PRNTSCRN)
2) 80-col 1KiB card (std80): wasn't checking SW_WRITERAM
2025-01-05 17:25:32 +00:00
Andrea c4e81fc71d DebugFont: use an ID which is a valid macro. (PR #1359)
Simplifies linux resource embedding.
2025-01-05 17:13:06 +00:00
TomCh 16b2cf329e Support IIe aux slot: empty or with 80-col(1KiB) card (#1341, PR #1351)
Add new command line switch: -aux <empty|std80|ext80|rw3>
Add 6502/65C02 x normal/debugger alt read support for CPU emulation (#1353).
Fix bug in MemReadFloatingBus() reading from mem[] - no good, if MF_AUXREAD is set.
Support odd 80-col text video mode when aux slot is empty:
. add a new videoMode flag for VF_80COL_AUX_EMPTY.
Correctly support 80COL & DHIRES soft-switches when aux slot is empty or with std80 card.
Support VidHD's SHR with -aux <empty|std80>.
Save-state: support aux slot empty or with std80 card.
2024-12-30 21:39:16 +00:00
Andrea 35f176e4d8 Replace DWORD -> uint32_t. (PR #1350)
Some have been left where tightly coupled with the Win32 API.
2024-12-21 12:32:00 +00:00
tomcw 3fb6839458 Debugger: Increase symbol length from 31 to 51 chars 2024-11-24 18:12:48 +00:00
tomcw e8641555e8 Debugger: visually show that a 6522 is configured as bad in mini-mem window's title 2024-09-28 16:46:28 +01:00
TomCh 29c02d6bf2 Gh1267 update paging (#1326)
MemGetBankPtr(): simplify with a default arg. (#1262, PR #1326)
. UpdatePaging(): improve comment for page0 & page1 and memdirty
2024-08-24 20:18:28 +01:00