mirror of
https://github.com/SourMesen/Mesen2.git
synced 2025-04-02 10:21:44 -04:00
33 lines
No EOL
605 B
C++
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);
|
|
}
|
|
}; |