Add options read, write and log when toggling a breakpoint

These are needed for the next commit. I had to modify the implementation of the DSP one too, but since it basically isn`t used, I don`t think it matters much.  These options only matters when adding one.
This commit is contained in:
aldelaro5 2016-08-18 16:08:08 -04:00 committed by aldelaro5
parent 6e488e65e3
commit da55d2a381
5 changed files with 12 additions and 8 deletions

View File

@ -28,7 +28,9 @@ public:
virtual void AddWatch(unsigned int /*address*/) {} virtual void AddWatch(unsigned int /*address*/) {}
virtual void ClearAllMemChecks() {} virtual void ClearAllMemChecks() {}
virtual bool IsMemCheck(unsigned int /*address*/) { return false; } virtual bool IsMemCheck(unsigned int /*address*/) { return false; }
virtual void ToggleMemCheck(unsigned int /*address*/) {} virtual void ToggleMemCheck(unsigned int /*address*/, bool /*read*/, bool /*write*/, bool /*log*/)
{
}
virtual unsigned int ReadMemory(unsigned int /*address*/) { return 0; } virtual unsigned int ReadMemory(unsigned int /*address*/) { return 0; }
virtual void WriteExtraMemory(int /*memory*/, unsigned int /*value*/, unsigned int /*address*/) {} virtual void WriteExtraMemory(int /*memory*/, unsigned int /*value*/, unsigned int /*address*/) {}
virtual unsigned int ReadExtraMemory(int /*memory*/, unsigned int /*address*/) { return 0; } virtual unsigned int ReadExtraMemory(int /*memory*/, unsigned int /*address*/) { return 0; }

View File

@ -140,7 +140,7 @@ bool PPCDebugInterface::IsMemCheck(unsigned int address)
return (Memory::AreMemoryBreakpointsActivated() && PowerPC::memchecks.GetMemCheck(address)); return (Memory::AreMemoryBreakpointsActivated() && PowerPC::memchecks.GetMemCheck(address));
} }
void PPCDebugInterface::ToggleMemCheck(unsigned int address) void PPCDebugInterface::ToggleMemCheck(unsigned int address, bool read, bool write, bool log)
{ {
if (Memory::AreMemoryBreakpointsActivated() && !PowerPC::memchecks.GetMemCheck(address)) if (Memory::AreMemoryBreakpointsActivated() && !PowerPC::memchecks.GetMemCheck(address))
{ {
@ -148,10 +148,10 @@ void PPCDebugInterface::ToggleMemCheck(unsigned int address)
TMemCheck MemCheck; TMemCheck MemCheck;
MemCheck.StartAddress = address; MemCheck.StartAddress = address;
MemCheck.EndAddress = address; MemCheck.EndAddress = address;
MemCheck.OnRead = true; MemCheck.OnRead = read;
MemCheck.OnWrite = true; MemCheck.OnWrite = write;
MemCheck.Log = true; MemCheck.Log = log;
MemCheck.Break = true; MemCheck.Break = true;
PowerPC::memchecks.Add(MemCheck); PowerPC::memchecks.Add(MemCheck);

View File

@ -26,7 +26,8 @@ public:
void ToggleBreakpoint(unsigned int address) override; void ToggleBreakpoint(unsigned int address) override;
void ClearAllMemChecks() override; void ClearAllMemChecks() override;
bool IsMemCheck(unsigned int address) override; bool IsMemCheck(unsigned int address) override;
void ToggleMemCheck(unsigned int address) override; void ToggleMemCheck(unsigned int address, bool read = true, bool write = true,
bool log = true) override;
unsigned int ReadMemory(unsigned int address) override; unsigned int ReadMemory(unsigned int address) override;
enum enum

View File

@ -132,7 +132,7 @@ void DSPDebugInterface::ClearAllMemChecks()
PanicAlert("MemCheck functionality not supported in DSP module."); PanicAlert("MemCheck functionality not supported in DSP module.");
} }
void DSPDebugInterface::ToggleMemCheck(unsigned int address) void DSPDebugInterface::ToggleMemCheck(unsigned int address, bool read, bool write, bool log)
{ {
PanicAlert("MemCheck functionality not supported in DSP module."); PanicAlert("MemCheck functionality not supported in DSP module.");
} }

View File

@ -24,7 +24,8 @@ public:
void ToggleBreakpoint(unsigned int address) override; void ToggleBreakpoint(unsigned int address) override;
void ClearAllMemChecks() override; void ClearAllMemChecks() override;
bool IsMemCheck(unsigned int address) override; bool IsMemCheck(unsigned int address) override;
void ToggleMemCheck(unsigned int address) override; void ToggleMemCheck(unsigned int address, bool read = true, bool write = true,
bool log = true) override;
unsigned int ReadMemory(unsigned int address) override; unsigned int ReadMemory(unsigned int address) override;
unsigned int ReadInstruction(unsigned int address) override; unsigned int ReadInstruction(unsigned int address) override;
unsigned int GetPC() override; unsigned int GetPC() override;