Mesen-SX/Core/MemoryDumper.h

38 lines
1.2 KiB
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;
2019-03-22 21:38:31 -04:00
class Spc;
2020-02-11 22:01:06 -05:00
class Debugger;
class Disassembler;
2019-02-15 21:33:13 -05:00
enum class SnesMemoryType;
class MemoryDumper
{
private:
2020-02-11 22:01:06 -05:00
Ppu* _ppu;
Spc* _spc;
MemoryManager* _memoryManager;
BaseCartridge* _cartridge;
Debugger* _debugger;
Disassembler* _disassembler;
2019-02-15 21:33:13 -05:00
public:
2020-02-11 22:01:06 -05:00
MemoryDumper(Debugger* debugger);
2019-02-15 21:33:13 -05:00
uint8_t* GetMemoryBuffer(SnesMemoryType type);
2019-02-15 21:33:13 -05:00
uint32_t GetMemorySize(SnesMemoryType type);
2020-12-19 23:30:09 +03:00
void GetMemoryState(SnesMemoryType type, uint8_t* buffer);
2019-02-15 21:33:13 -05:00
uint8_t GetMemoryValue(SnesMemoryType memoryType, uint32_t address, bool disableSideEffects = true);
2019-05-12 21:18:05 -04:00
uint16_t GetMemoryValueWord(SnesMemoryType memoryType, uint32_t address, bool disableSideEffects = true);
void SetMemoryValueWord(SnesMemoryType memoryType, uint32_t address, uint16_t value, bool disableSideEffects = true);
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);
2020-12-19 23:30:09 +03:00
void SetMemoryState(SnesMemoryType type, uint8_t* buffer, uint32_t length);
};