2015-05-24 06:55:12 +02:00
|
|
|
// Copyright 2008 Dolphin Emulator Project
|
2015-05-18 01:08:10 +02:00
|
|
|
// Licensed under GPLv2+
|
2013-04-17 22:43:11 -04:00
|
|
|
// Refer to the license.txt file included.
|
|
|
|
|
2014-02-10 13:54:46 -05:00
|
|
|
#pragma once
|
2008-12-08 04:46:09 +00:00
|
|
|
|
|
|
|
#include <string>
|
|
|
|
|
2014-02-17 05:18:15 -05:00
|
|
|
#include "Common/DebugInterface.h"
|
2009-06-28 12:15:31 +00:00
|
|
|
|
2016-06-24 10:43:46 +02:00
|
|
|
// wrapper between disasm control and Dolphin debugger
|
2008-12-08 04:46:09 +00:00
|
|
|
|
2014-03-18 20:42:08 -04:00
|
|
|
class PPCDebugInterface final : public DebugInterface
|
2008-12-08 04:46:09 +00:00
|
|
|
{
|
|
|
|
public:
|
2016-06-24 10:43:46 +02:00
|
|
|
PPCDebugInterface() {}
|
|
|
|
std::string Disassemble(unsigned int address) override;
|
2016-10-07 09:56:02 -04:00
|
|
|
std::string GetRawMemoryString(int memory, unsigned int address) override;
|
2016-06-24 10:43:46 +02:00
|
|
|
int GetInstructionSize(int /*instruction*/) override { return 4; }
|
|
|
|
bool IsAlive() override;
|
|
|
|
bool IsBreakpoint(unsigned int address) override;
|
|
|
|
void SetBreakpoint(unsigned int address) override;
|
|
|
|
void ClearBreakpoint(unsigned int address) override;
|
|
|
|
void ClearAllBreakpoints() override;
|
|
|
|
void AddWatch(unsigned int address) override;
|
|
|
|
void ToggleBreakpoint(unsigned int address) override;
|
|
|
|
void ClearAllMemChecks() override;
|
|
|
|
bool IsMemCheck(unsigned int address) override;
|
2016-08-18 16:08:08 -04:00
|
|
|
void ToggleMemCheck(unsigned int address, bool read = true, bool write = true,
|
|
|
|
bool log = true) override;
|
2016-06-24 10:43:46 +02:00
|
|
|
unsigned int ReadMemory(unsigned int address) override;
|
2009-06-17 19:50:59 +00:00
|
|
|
|
2016-06-24 10:43:46 +02:00
|
|
|
enum
|
|
|
|
{
|
|
|
|
EXTRAMEM_ARAM = 1,
|
|
|
|
};
|
2014-08-30 17:23:13 -04:00
|
|
|
|
2016-06-24 10:43:46 +02:00
|
|
|
unsigned int ReadExtraMemory(int memory, unsigned int address) override;
|
|
|
|
unsigned int ReadInstruction(unsigned int address) override;
|
|
|
|
unsigned int GetPC() override;
|
|
|
|
void SetPC(unsigned int address) override;
|
|
|
|
void Step() override {}
|
|
|
|
void RunToBreakpoint() override;
|
|
|
|
void InsertBLR(unsigned int address, unsigned int value) override;
|
|
|
|
int GetColor(unsigned int address) override;
|
|
|
|
std::string GetDescription(unsigned int address) override;
|
2008-12-08 04:46:09 +00:00
|
|
|
};
|