Mesen2/Core/SNES/IMemoryHandler.h
2021-04-09 21:45:04 -04:00

29 lines
No EOL
583 B
C++

#pragma once
#include "stdafx.h"
#include "Debugger/DebugTypes.h"
class IMemoryHandler
{
protected:
SnesMemoryType _memoryType;
public:
IMemoryHandler(SnesMemoryType memType)
{
_memoryType = memType;
}
virtual ~IMemoryHandler() {}
virtual uint8_t Read(uint32_t addr) = 0;
virtual uint8_t Peek(uint32_t addr) = 0;
virtual void PeekBlock(uint32_t addr, uint8_t *output) = 0;
virtual void Write(uint32_t addr, uint8_t value) = 0;
__forceinline SnesMemoryType GetMemoryType()
{
return _memoryType;
}
virtual AddressInfo GetAbsoluteAddress(uint32_t address) = 0;
};