Sachen mapper 148 & 149 support
This commit is contained in:
parent
da335335bc
commit
af0741b50b
5 changed files with 53 additions and 0 deletions
|
@ -318,6 +318,8 @@
|
||||||
<ClInclude Include="Nina03_06.h" />
|
<ClInclude Include="Nina03_06.h" />
|
||||||
<ClInclude Include="NoiseChannel.h" />
|
<ClInclude Include="NoiseChannel.h" />
|
||||||
<ClInclude Include="Sachen_147.h" />
|
<ClInclude Include="Sachen_147.h" />
|
||||||
|
<ClInclude Include="Sachen_148.h" />
|
||||||
|
<ClInclude Include="Sachen_149.h" />
|
||||||
<ClInclude Include="SquareChannel.h" />
|
<ClInclude Include="SquareChannel.h" />
|
||||||
<ClInclude Include="StandardController.h" />
|
<ClInclude Include="StandardController.h" />
|
||||||
<ClInclude Include="MessageManager.h" />
|
<ClInclude Include="MessageManager.h" />
|
||||||
|
|
|
@ -299,6 +299,12 @@
|
||||||
<ClInclude Include="Sachen_145.h">
|
<ClInclude Include="Sachen_145.h">
|
||||||
<Filter>Header Files\Mappers</Filter>
|
<Filter>Header Files\Mappers</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="Sachen_149.h">
|
||||||
|
<Filter>Header Files\Mappers</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Sachen_148.h">
|
||||||
|
<Filter>Header Files\Mappers</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="CPU.cpp">
|
<ClCompile Include="CPU.cpp">
|
||||||
|
|
|
@ -24,6 +24,8 @@
|
||||||
#include "NROM.h"
|
#include "NROM.h"
|
||||||
#include "Sachen_145.h"
|
#include "Sachen_145.h"
|
||||||
#include "Sachen_147.h"
|
#include "Sachen_147.h"
|
||||||
|
#include "Sachen_148.h"
|
||||||
|
#include "Sachen_149.h"
|
||||||
#include "Sunsoft89.h"
|
#include "Sunsoft89.h"
|
||||||
#include "Sunsoft93.h"
|
#include "Sunsoft93.h"
|
||||||
#include "Sunsoft184.h"
|
#include "Sunsoft184.h"
|
||||||
|
@ -80,6 +82,8 @@ BaseMapper* MapperFactory::GetMapperFromID(ROMLoader &romLoader)
|
||||||
case 145: return new Sachen_145();
|
case 145: return new Sachen_145();
|
||||||
case 146: return new Nina03_06(false);
|
case 146: return new Nina03_06(false);
|
||||||
case 147: return new Sachen_147();
|
case 147: return new Sachen_147();
|
||||||
|
case 148: return new Sachen_148();
|
||||||
|
case 149: return new Sachen_149();
|
||||||
case 152: return new Bandai74161_7432(true);
|
case 152: return new Bandai74161_7432(true);
|
||||||
case 163: return new Nanjing();
|
case 163: return new Nanjing();
|
||||||
case 184: return new Sunsoft184();
|
case 184: return new Sunsoft184();
|
||||||
|
|
21
Core/Sachen_148.h
Normal file
21
Core/Sachen_148.h
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
#pragma once
|
||||||
|
#include "stdafx.h"
|
||||||
|
#include "BaseMapper.h"
|
||||||
|
|
||||||
|
class Sachen_148 : public BaseMapper
|
||||||
|
{
|
||||||
|
protected:
|
||||||
|
virtual uint16_t GetPRGPageSize() { return 0x8000; }
|
||||||
|
virtual uint16_t GetCHRPageSize() { return 0x2000; }
|
||||||
|
|
||||||
|
void InitMapper()
|
||||||
|
{
|
||||||
|
SelectPRGPage(0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void WriteRegister(uint16_t addr, uint8_t value)
|
||||||
|
{
|
||||||
|
SelectPRGPage(0, (value >> 3) & 0x01);
|
||||||
|
SelectCHRPage(0, value & 0x07);
|
||||||
|
}
|
||||||
|
};
|
20
Core/Sachen_149.h
Normal file
20
Core/Sachen_149.h
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
#pragma once
|
||||||
|
#include "stdafx.h"
|
||||||
|
#include "BaseMapper.h"
|
||||||
|
|
||||||
|
class Sachen_149 : public BaseMapper
|
||||||
|
{
|
||||||
|
protected:
|
||||||
|
virtual uint16_t GetPRGPageSize() { return 0x8000; }
|
||||||
|
virtual uint16_t GetCHRPageSize() { return 0x2000; }
|
||||||
|
|
||||||
|
void InitMapper()
|
||||||
|
{
|
||||||
|
SelectPRGPage(0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void WriteRegister(uint16_t addr, uint8_t value)
|
||||||
|
{
|
||||||
|
SelectCHRPage(0, (value >> 7) & 0x01);
|
||||||
|
}
|
||||||
|
};
|
Loading…
Add table
Reference in a new issue