Mapper 61 support
This commit is contained in:
parent
e444b54d1e
commit
d6ee666240
4 changed files with 37 additions and 0 deletions
|
@ -376,6 +376,7 @@
|
|||
<ClInclude Include="Mapper202.h" />
|
||||
<ClInclude Include="Mapper203.h" />
|
||||
<ClInclude Include="Mapper57.h" />
|
||||
<ClInclude Include="Mapper61.h" />
|
||||
<ClInclude Include="MMC3_12.h" />
|
||||
<ClInclude Include="MMC3_205.h" />
|
||||
<ClInclude Include="Mapper231.h" />
|
||||
|
|
|
@ -428,6 +428,9 @@
|
|||
<ClInclude Include="Mapper57.h">
|
||||
<Filter>Nes\Mappers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Mapper61.h">
|
||||
<Filter>Nes\Mappers</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="stdafx.cpp">
|
||||
|
|
31
Core/Mapper61.h
Normal file
31
Core/Mapper61.h
Normal file
|
@ -0,0 +1,31 @@
|
|||
#pragma once
|
||||
#include "stdafx.h"
|
||||
#include "BaseMapper.h"
|
||||
|
||||
class Mapper61 : public BaseMapper
|
||||
{
|
||||
protected:
|
||||
virtual uint16_t GetPRGPageSize() { return 0x4000; }
|
||||
virtual uint16_t GetCHRPageSize() { return 0x2000; }
|
||||
|
||||
void InitMapper()
|
||||
{
|
||||
SelectPRGPage(0, 0);
|
||||
SelectPRGPage(1, 1);
|
||||
SelectCHRPage(0, 0);
|
||||
}
|
||||
|
||||
void WriteRegister(uint16_t addr, uint8_t value)
|
||||
{
|
||||
uint8_t prgPage = ((addr & 0x0F) << 1) | ((addr >> 5) & 0x01);
|
||||
if(addr & 0x10) {
|
||||
SelectPRGPage(0, prgPage);
|
||||
SelectPRGPage(1, prgPage);
|
||||
} else {
|
||||
SelectPRGPage(0, prgPage & 0xFE);
|
||||
SelectPRGPage(1, (prgPage & 0xFE) + 1);
|
||||
}
|
||||
|
||||
SetMirroringType(addr & 0x80 ? MirroringType::Horizontal : MirroringType::Vertical);
|
||||
}
|
||||
};
|
|
@ -20,6 +20,7 @@
|
|||
#include "JalecoSs88006.h"
|
||||
#include "Mapper57.h"
|
||||
#include "Mapper58.h"
|
||||
#include "Mapper61.h"
|
||||
#include "Mapper107.h"
|
||||
#include "Mapper200.h"
|
||||
#include "Mapper201.h"
|
||||
|
@ -108,6 +109,7 @@ BaseMapper* MapperFactory::GetMapperFromID(ROMLoader &romLoader)
|
|||
case 52: return new MMC3_52();
|
||||
case 57: return new Mapper57();
|
||||
case 58: return new Mapper58();
|
||||
case 61: return new Mapper61();
|
||||
case 66: return new GxRom();
|
||||
case 70: return new Bandai74161_7432(false);
|
||||
case 71: return new BF909x();
|
||||
|
|
Loading…
Add table
Reference in a new issue