Mesen2/Core/Gameboy/Carts/GbWisdomTree.h
2024-07-06 17:54:34 +09:00

33 lines
No EOL
605 B
C++

#pragma once
#include "pch.h"
#include "Gameboy/Carts/GbCart.h"
#include "Gameboy/GbMemoryManager.h"
#include "Utilities/Serializer.h"
class GbWisdomTree : public GbCart
{
private:
uint8_t _prgBank = 0;
public:
void InitCart() override
{
_memoryManager->MapRegisters(0x0000, 0x3FFF, RegisterAccess::Write);
}
void RefreshMappings() override
{
Map(0x0000, 0x7FFF, GbMemoryType::PrgRom, _prgBank * 0x8000, true);
}
void WriteRegister(uint16_t addr, uint8_t value) override
{
_prgBank = addr & 0x0F;
RefreshMappings();
}
void Serialize(Serializer& s) override
{
SV(_prgBank);
}
};