* Debugger: add new flags to breakpoints.
Stop / no stop.
Hit count
Keep temp breakpoint alive so they can be inspected.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
* Debugger: ensure temporary breakpoints are removed when the execution restarts.
This code:
_BWZ_Clear(pBP, iBreakpoint);
was actually a bug since the function needs the root points of all breakpoints, not to a particular one.
* Breakpoints: some extra tweaks.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
* Remove reundant code and comment.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
* Breakpoints: coding standards.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
---------
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
And these Debugger related:
. Improve FormatAddress() and GetSymbol().
. GetSymbol(), FindSymbolFromAddress(), FormatAddress() are changed to use std::string instead.
. Remove static variable (not nice) in FormatAddress().
. GetSymbol() returns std::string reference instead of pointer.
This reduces the chances of incompatibility between gcc and vs.
99% is "const char *" literals.
1 case of a goto jumping over a variable declaration (but it is not needed).
. 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.
And fix two general issues:
- confusing behavior when entering the builtin (mini) assembler mode,
- and also fixes the "cl" (clear flag) command - which was documented, but did not work at all (due to an "interesting" command/syntax conflict...).
Changes to ease code compilation in GCC.
Disk_t and HDD contain a std::string and for this reason they need a proper constructor, ZeroMemory is not guaranteed to work.
. Debug 'G(o)' cmd now defaults to normal speed (and precise video updates)
. New debug 'GG' cmd enables full speed (and periodic video updates)
. Single-stepping (normal or full speed) now routed through ContinueExecution()
. Removed Cpu6502()/Cpu65C02() check for debug breakpoints
. Removed the (undocumented) SHIFT+F7 feature to exit debugger for 'normal speed breakpoints'
. Removed the g_bDebugNormalSpeedBreakpoints variable