Common/DebugInterface: Make return value of GetColor() a u32
At its only usage point, its return value is stored into a u32, and the default implementation returns 0xFFFFFFFF (-1), which would be an unsigned integer. Given all of the bits are used to determine a color, it makes slightly more sense to treat this as an unsigned value as opposed to a signed one.
This commit is contained in:
parent
a9a9b193bb
commit
d4d485b692
|
@ -74,7 +74,7 @@ public:
|
||||||
virtual void SetPC(u32 /*address*/) {}
|
virtual void SetPC(u32 /*address*/) {}
|
||||||
virtual void Step() {}
|
virtual void Step() {}
|
||||||
virtual void RunToBreakpoint() {}
|
virtual void RunToBreakpoint() {}
|
||||||
virtual int GetColor(u32 /*address*/) { return 0xFFFFFFFF; }
|
virtual u32 GetColor(u32 /*address*/) { return 0xFFFFFFFF; }
|
||||||
virtual std::string GetDescription(u32 /*address*/) = 0;
|
virtual std::string GetDescription(u32 /*address*/) = 0;
|
||||||
virtual void Clear() = 0;
|
virtual void Clear() = 0;
|
||||||
};
|
};
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
|
|
||||||
#include "Core/Debugger/PPCDebugInterface.h"
|
#include "Core/Debugger/PPCDebugInterface.h"
|
||||||
|
|
||||||
|
#include <array>
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
@ -300,13 +301,20 @@ void PPCDebugInterface::ToggleMemCheck(u32 address, bool read, bool write, bool
|
||||||
// =======================================================
|
// =======================================================
|
||||||
// Separate the blocks with colors.
|
// Separate the blocks with colors.
|
||||||
// -------------
|
// -------------
|
||||||
int PPCDebugInterface::GetColor(u32 address)
|
u32 PPCDebugInterface::GetColor(u32 address)
|
||||||
{
|
{
|
||||||
if (!IsAlive())
|
if (!IsAlive())
|
||||||
return 0xFFFFFF;
|
return 0xFFFFFF;
|
||||||
if (!PowerPC::HostIsRAMAddress(address))
|
if (!PowerPC::HostIsRAMAddress(address))
|
||||||
return 0xeeeeee;
|
return 0xeeeeee;
|
||||||
static const int colors[6] = {
|
|
||||||
|
Common::Symbol* symbol = g_symbolDB.GetSymbolFromAddr(address);
|
||||||
|
if (!symbol)
|
||||||
|
return 0xFFFFFF;
|
||||||
|
if (symbol->type != Common::Symbol::Type::Function)
|
||||||
|
return 0xEEEEFF;
|
||||||
|
|
||||||
|
static constexpr std::array<u32, 6> colors{
|
||||||
0xd0FFFF, // light cyan
|
0xd0FFFF, // light cyan
|
||||||
0xFFd0d0, // light red
|
0xFFd0d0, // light red
|
||||||
0xd8d8FF, // light blue
|
0xd8d8FF, // light blue
|
||||||
|
@ -314,12 +322,7 @@ int PPCDebugInterface::GetColor(u32 address)
|
||||||
0xd0FFd0, // light green
|
0xd0FFd0, // light green
|
||||||
0xFFFFd0, // light yellow
|
0xFFFFd0, // light yellow
|
||||||
};
|
};
|
||||||
Common::Symbol* symbol = g_symbolDB.GetSymbolFromAddr(address);
|
return colors[symbol->index % colors.size()];
|
||||||
if (!symbol)
|
|
||||||
return 0xFFFFFF;
|
|
||||||
if (symbol->type != Common::Symbol::Type::Function)
|
|
||||||
return 0xEEEEFF;
|
|
||||||
return colors[symbol->index % 6];
|
|
||||||
}
|
}
|
||||||
// =============
|
// =============
|
||||||
|
|
||||||
|
|
|
@ -77,7 +77,7 @@ public:
|
||||||
void SetPC(u32 address) override;
|
void SetPC(u32 address) override;
|
||||||
void Step() override {}
|
void Step() override {}
|
||||||
void RunToBreakpoint() override;
|
void RunToBreakpoint() override;
|
||||||
int GetColor(u32 address) override;
|
u32 GetColor(u32 address) override;
|
||||||
std::string GetDescription(u32 address) override;
|
std::string GetDescription(u32 address) override;
|
||||||
|
|
||||||
void Clear() override;
|
void Clear() override;
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
|
|
||||||
#include "Core/HW/DSPLLE/DSPDebugInterface.h"
|
#include "Core/HW/DSPLLE/DSPDebugInterface.h"
|
||||||
|
|
||||||
|
#include <array>
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
@ -257,17 +258,8 @@ void DSPDebugInterface::ToggleMemCheck(u32 address, bool read, bool write, bool
|
||||||
// =======================================================
|
// =======================================================
|
||||||
// Separate the blocks with colors.
|
// Separate the blocks with colors.
|
||||||
// -------------
|
// -------------
|
||||||
int DSPDebugInterface::GetColor(u32 address)
|
u32 DSPDebugInterface::GetColor(u32 address)
|
||||||
{
|
{
|
||||||
static const int colors[6] = {
|
|
||||||
0xd0FFFF, // light cyan
|
|
||||||
0xFFd0d0, // light red
|
|
||||||
0xd8d8FF, // light blue
|
|
||||||
0xFFd0FF, // light purple
|
|
||||||
0xd0FFd0, // light green
|
|
||||||
0xFFFFd0, // light yellow
|
|
||||||
};
|
|
||||||
|
|
||||||
// Scan backwards so we don't miss it. Hm, actually, let's not - it looks pretty good.
|
// Scan backwards so we don't miss it. Hm, actually, let's not - it looks pretty good.
|
||||||
int addr = -1;
|
int addr = -1;
|
||||||
for (int i = 0; i < 1; i++)
|
for (int i = 0; i < 1; i++)
|
||||||
|
@ -284,7 +276,16 @@ int DSPDebugInterface::GetColor(u32 address)
|
||||||
return 0xFFFFFF;
|
return 0xFFFFFF;
|
||||||
if (symbol->type != Common::Symbol::Type::Function)
|
if (symbol->type != Common::Symbol::Type::Function)
|
||||||
return 0xEEEEFF;
|
return 0xEEEEFF;
|
||||||
return colors[symbol->index % 6];
|
|
||||||
|
static constexpr std::array<u32, 6> colors{
|
||||||
|
0xd0FFFF, // light cyan
|
||||||
|
0xFFd0d0, // light red
|
||||||
|
0xd8d8FF, // light blue
|
||||||
|
0xFFd0FF, // light purple
|
||||||
|
0xd0FFd0, // light green
|
||||||
|
0xFFFFd0, // light yellow
|
||||||
|
};
|
||||||
|
return colors[symbol->index % colors.size()];
|
||||||
}
|
}
|
||||||
// =============
|
// =============
|
||||||
|
|
||||||
|
|
|
@ -71,7 +71,7 @@ public:
|
||||||
void SetPC(u32 address) override;
|
void SetPC(u32 address) override;
|
||||||
void Step() override {}
|
void Step() override {}
|
||||||
void RunToBreakpoint() override;
|
void RunToBreakpoint() override;
|
||||||
int GetColor(u32 address) override;
|
u32 GetColor(u32 address) override;
|
||||||
std::string GetDescription(u32 address) override;
|
std::string GetDescription(u32 address) override;
|
||||||
|
|
||||||
void Clear() override;
|
void Clear() override;
|
||||||
|
|
|
@ -121,8 +121,8 @@ void CodeViewWidget::Update()
|
||||||
|
|
||||||
for (int i = 0; i < rowCount(); i++)
|
for (int i = 0; i < rowCount(); i++)
|
||||||
{
|
{
|
||||||
u32 addr = m_address - ((rowCount() / 2) * 4) + i * 4;
|
const u32 addr = m_address - ((rowCount() / 2) * 4) + i * 4;
|
||||||
u32 color = PowerPC::debug_interface.GetColor(addr);
|
const u32 color = PowerPC::debug_interface.GetColor(addr);
|
||||||
auto* bp_item = new QTableWidgetItem;
|
auto* bp_item = new QTableWidgetItem;
|
||||||
auto* addr_item = new QTableWidgetItem(QStringLiteral("%1").arg(addr, 8, 16, QLatin1Char('0')));
|
auto* addr_item = new QTableWidgetItem(QStringLiteral("%1").arg(addr, 8, 16, QLatin1Char('0')));
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue