Mesen-SX/Core/DebugUtilities.h

45 lines
No EOL
911 B
C++

#pragma once
#include "stdafx.h"
#include "DebugTypes.h"
class DebugUtilities
{
public:
static SnesMemoryType GetCpuMemoryType(CpuType type)
{
switch(type) {
case CpuType::Cpu: return SnesMemoryType::CpuMemory;
case CpuType::Spc: return SnesMemoryType::SpcMemory;
case CpuType::Sa1: return SnesMemoryType::Sa1Memory;
case CpuType::Gsu: return SnesMemoryType::GsuMemory;
case CpuType::Cx4: break;
case CpuType::NecDsp: break;
}
throw std::runtime_error("Invalid CPU type");
}
static constexpr SnesMemoryType GetLastCpuMemoryType()
{
return SnesMemoryType::GsuMemory;
}
static bool IsPpuMemory(SnesMemoryType memType)
{
switch(memType) {
case SnesMemoryType::VideoRam:
case SnesMemoryType::SpriteRam:
case SnesMemoryType::CGRam:
return true;
default:
return false;
}
}
static constexpr CpuType GetLastCpuType()
{
return CpuType::Cx4;
}
};