Mesen-SX/Core/MemoryDumper.h

29 lines
999 B
C
Raw Normal View History

2019-02-15 21:33:13 -05:00
#pragma once
#include "stdafx.h"
#include <unordered_map>
#include "DebugTypes.h"
class MemoryManager;
class BaseCartridge;
class Ppu;
enum class SnesMemoryType;
class MemoryDumper
{
private:
shared_ptr<Ppu> _ppu;
shared_ptr<MemoryManager> _memoryManager;
shared_ptr<BaseCartridge> _cartridge;
public:
MemoryDumper(shared_ptr<Ppu> ppu, shared_ptr<MemoryManager> memoryManager, shared_ptr<BaseCartridge> cartridge);
uint32_t GetMemorySize(SnesMemoryType type);
void GetMemoryState(SnesMemoryType type, uint8_t *buffer);
uint8_t GetMemoryValue(SnesMemoryType memoryType, uint32_t address, bool disableSideEffects = true);
2019-02-27 20:33:56 -05:00
uint8_t GetMemoryValueWord(SnesMemoryType memoryType, uint32_t address);
2019-02-15 21:33:13 -05:00
void SetMemoryValue(SnesMemoryType memoryType, uint32_t address, uint8_t value, bool disableSideEffects = true);
void SetMemoryValues(SnesMemoryType memoryType, uint32_t address, uint8_t* data, uint32_t length);
void SetMemoryState(SnesMemoryType type, uint8_t *buffer, uint32_t length);
};