project64/Source/Project64-core/N64System/MemoryHandler/CartridgeDomain2Address2Han...

44 lines
1.1 KiB
C
Raw Normal View History

#pragma once
2022-10-10 00:22:17 +00:00
#include "MemoryHandler.h"
#include <Project64-core\N64System\SaveType\FlashRam.h>
2022-10-10 00:22:17 +00:00
#include <Project64-core\N64System\SaveType\Sram.h>
#include <Project64-core\Settings\DebugSettings.h>
class CN64System;
class CMipsMemoryVM;
class CRegisters;
class CartridgeDomain2Address2Handler :
public MemoryHandler,
private CDebugSettings
{
public:
CartridgeDomain2Address2Handler(CN64System & System, CRegisters & Reg, CMipsMemoryVM & MMU, bool SavesReadOnly);
bool Read32(uint32_t Address, uint32_t & Value);
bool Write32(uint32_t Address, uint32_t Value, uint32_t Mask);
bool DMARead();
void DMAWrite();
2022-10-10 00:22:17 +00:00
CSram & Sram(void)
{
return m_Sram;
}
CFlashRam & FlashRam(void)
{
return m_FlashRam;
}
private:
CartridgeDomain2Address2Handler(void);
CartridgeDomain2Address2Handler(const CartridgeDomain2Address2Handler &);
CartridgeDomain2Address2Handler & operator=(const CartridgeDomain2Address2Handler &);
CN64System & m_System;
CRegisters & m_Reg;
CMipsMemoryVM & m_MMU;
CSram m_Sram;
CFlashRam m_FlashRam;
};