Mesen-SX/Core/IMemoryHandler.h

32 lines
578 B
C
Raw Normal View History

2019-02-15 21:33:13 -05:00
#pragma once
#include "stdafx.h"
2019-02-26 22:27:09 -05:00
#include "DebugTypes.h"
2019-02-15 21:33:13 -05:00
class IMemoryHandler
{
protected:
SnesMemoryType _memoryType;
2019-02-15 21:33:13 -05:00
public:
IMemoryHandler(SnesMemoryType memType)
{
_memoryType = memType;
}
2020-12-19 23:30:09 +03:00
virtual ~IMemoryHandler()
{
}
2019-02-15 21:33:13 -05:00
virtual uint8_t Read(uint32_t addr) = 0;
2019-02-26 22:27:09 -05:00
virtual uint8_t Peek(uint32_t addr) = 0;
2020-12-19 23:30:09 +03:00
virtual void PeekBlock(uint32_t addr, uint8_t* output) = 0;
2019-02-15 21:33:13 -05:00
virtual void Write(uint32_t addr, uint8_t value) = 0;
__forceinline SnesMemoryType GetMemoryType()
{
return _memoryType;
}
2019-02-26 22:27:09 -05:00
virtual AddressInfo GetAbsoluteAddress(uint32_t address) = 0;
2020-12-19 23:30:09 +03:00
};