mirror of
https://github.com/SourMesen/Mesen.git
synced 2025-04-02 10:52:48 -04:00
Mapper 112 support
This commit is contained in:
parent
b139870226
commit
dd4f7d8131
4 changed files with 58 additions and 0 deletions
|
@ -371,6 +371,7 @@
|
|||
<ClInclude Include="JalecoJf16.h" />
|
||||
<ClInclude Include="JalecoJf17_19.h" />
|
||||
<ClInclude Include="Mapper107.h" />
|
||||
<ClInclude Include="Mapper112.h" />
|
||||
<ClInclude Include="Mapper200.h" />
|
||||
<ClInclude Include="Mapper201.h" />
|
||||
<ClInclude Include="Mapper202.h" />
|
||||
|
|
|
@ -443,6 +443,9 @@
|
|||
<ClInclude Include="SunSoft4.h">
|
||||
<Filter>Nes\Mappers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Mapper112.h">
|
||||
<Filter>Nes\Mappers</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="stdafx.cpp">
|
||||
|
|
52
Core/Mapper112.h
Normal file
52
Core/Mapper112.h
Normal file
|
@ -0,0 +1,52 @@
|
|||
#pragma once
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "MMC3.h"
|
||||
|
||||
class Mapper112 : public MMC3
|
||||
{
|
||||
private:
|
||||
uint8_t _currentReg;
|
||||
|
||||
protected:
|
||||
void InitMapper()
|
||||
{
|
||||
MMC3::InitMapper();
|
||||
SetMirroringType(MirroringType::Vertical);
|
||||
}
|
||||
|
||||
void UpdateMirroring()
|
||||
{
|
||||
}
|
||||
|
||||
void StreamState(bool saving)
|
||||
{
|
||||
MMC3::StreamState(saving);
|
||||
Stream<uint8_t>(_currentReg);
|
||||
}
|
||||
|
||||
void WriteRegister(uint16_t addr, uint8_t value)
|
||||
{
|
||||
switch(addr & 0xE001) {
|
||||
case 0x8000:
|
||||
//Adjust register numbers to match MMC3
|
||||
_currentReg = value & 0x07;
|
||||
if(_currentReg >= 2) {
|
||||
_currentReg -= 2;
|
||||
} else {
|
||||
_currentReg += 6;
|
||||
}
|
||||
break;
|
||||
|
||||
case 0xA000:
|
||||
_registers[_currentReg] = value;
|
||||
break;
|
||||
|
||||
case 0xE000:
|
||||
SetMirroringType(value & 0x01 ? MirroringType::Horizontal : MirroringType::Vertical);
|
||||
break;
|
||||
}
|
||||
|
||||
UpdateState();
|
||||
}
|
||||
};
|
|
@ -23,6 +23,7 @@
|
|||
#include "Mapper61.h"
|
||||
#include "Mapper62.h"
|
||||
#include "Mapper107.h"
|
||||
#include "Mapper112.h"
|
||||
#include "Mapper200.h"
|
||||
#include "Mapper201.h"
|
||||
#include "Mapper202.h"
|
||||
|
@ -139,6 +140,7 @@ BaseMapper* MapperFactory::GetMapperFromID(ROMLoader &romLoader)
|
|||
case 97: return new IremTamS1();
|
||||
case 101: return new JalecoJfxx(true);
|
||||
case 107: return new Mapper107();
|
||||
case 112: return new Mapper112();
|
||||
case 113: return new Nina03_06(true);
|
||||
case 115: return new MMC3_115();
|
||||
case 119: return new MMC3_ChrRam(0x40, 0x7F, 8);
|
||||
|
|
Loading…
Add table
Reference in a new issue