Mapper 97 support

This commit is contained in:
Souryo 2016-01-18 18:24:22 -05:00
parent c71af2b9d9
commit 11fdf26c6e
4 changed files with 35 additions and 0 deletions

View File

@ -196,6 +196,7 @@
<ClInclude Include="DefaultVideoFilter.h" />
<ClInclude Include="ExpressionEvaluator.h" />
<ClInclude Include="HdVideoFilter.h" />
<ClInclude Include="IremTamS1.h" />
<ClInclude Include="SoundMixer.h" />
<ClInclude Include="Namco108.h" />
<ClInclude Include="Namco108_154.h" />

View File

@ -347,6 +347,9 @@
<ClInclude Include="UnRom_180.h">
<Filter>Nes\Mappers</Filter>
</ClInclude>
<ClInclude Include="IremTamS1.h">
<Filter>Nes\Mappers</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="stdafx.cpp">

29
Core/IremTamS1.h Normal file
View File

@ -0,0 +1,29 @@
#pragma once
#include "stdafx.h"
#include "BaseMapper.h"
class IremTamS1 : public BaseMapper
{
protected:
virtual uint16_t GetPRGPageSize() { return 0x4000; }
virtual uint16_t GetCHRPageSize() { return 0x2000; }
void InitMapper()
{
SelectPRGPage(0, -1);
SelectPRGPage(1, -1);
SelectCHRPage(0, 0);
}
void WriteRegister(uint16_t addr, uint8_t value)
{
SelectPRGPage(1, value & 0x0F);
switch(value >> 6) {
case 0: SetMirroringType(MirroringType::ScreenAOnly); break;
case 1: SetMirroringType(MirroringType::Horizontal); break;
case 2: SetMirroringType(MirroringType::Vertical); break;
case 3: SetMirroringType(MirroringType::ScreenBOnly); break;
}
}
};

View File

@ -10,6 +10,7 @@
#include "ColorDreams.h"
#include "GxRom.h"
#include "IremG101.h"
#include "IremTamS1.h"
#include "JalecoJfxx.h"
#include "JalecoSs88006.h"
#include "MMC1.h"
@ -86,6 +87,7 @@ BaseMapper* MapperFactory::GetMapperFromID(ROMLoader &romLoader)
case 89: return new Sunsoft89();
case 93: return new Sunsoft93();
case 95: return new Namco108_95();
case 97: return new IremTamS1();
case 101: return new JalecoJfxx(true);
case 113: return new Nina03_06(true);
case 145: return new Sachen_145();