38 lines
1.1 KiB
C
38 lines
1.1 KiB
C
|
#pragma once
|
||
|
#include <Project64-core\N64System\SaveType\Sram.h>
|
||
|
#include <Project64-core\N64System\SaveType\FlashRam.h>
|
||
|
#include <Project64-core\Settings\DebugSettings.h>
|
||
|
#include "MemoryHandler.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();
|
||
|
|
||
|
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;
|
||
|
};
|