c0e249e993
This reverts commitdaf3b57e89
, reversing changes made to7a6e0b7d77
.
60 lines
1.2 KiB
C++
60 lines
1.2 KiB
C++
#pragma once
|
|
#include "stdafx.h"
|
|
#include "Gameboy.h"
|
|
#include "GbMemoryManager.h"
|
|
#include "MessageManager.h"
|
|
#include "../Utilities/HexUtilities.h"
|
|
#include "../Utilities/ISerializable.h"
|
|
|
|
class GbCart : public ISerializable
|
|
{
|
|
protected:
|
|
Gameboy* _gameboy = nullptr;
|
|
GbMemoryManager* _memoryManager = nullptr;
|
|
uint8_t* _cartRam = nullptr;
|
|
|
|
void Map(uint16_t start, uint16_t end, GbMemoryType type, uint32_t offset, bool readonly)
|
|
{
|
|
_memoryManager->Map(start, end, type, offset, readonly);
|
|
}
|
|
|
|
void Unmap(uint16_t start, uint16_t end)
|
|
{
|
|
_memoryManager->Unmap(start, end);
|
|
}
|
|
|
|
public:
|
|
virtual ~GbCart()
|
|
{
|
|
}
|
|
|
|
void Init(Gameboy* gameboy, GbMemoryManager* memoryManager)
|
|
{
|
|
_gameboy = gameboy;
|
|
_memoryManager = memoryManager;
|
|
_cartRam = gameboy->DebugGetMemory(SnesMemoryType::GbCartRam);
|
|
}
|
|
|
|
virtual void InitCart()
|
|
{
|
|
}
|
|
|
|
virtual void RefreshMappings()
|
|
{
|
|
Map(0x0000, 0x7FFF, GbMemoryType::PrgRom, 0, true);
|
|
}
|
|
|
|
virtual uint8_t ReadRegister(uint16_t addr)
|
|
{
|
|
LogDebug("[Debug] GB - Missing read handler: $" + HexUtilities::ToHex(addr));
|
|
return 0;
|
|
}
|
|
|
|
virtual void WriteRegister(uint16_t addr, uint8_t value)
|
|
{
|
|
}
|
|
|
|
void Serialize(Serializer& s) override
|
|
{
|
|
}
|
|
};
|