mirror of
https://github.com/libretro/Mesen.git
synced 2025-02-02 06:44:48 +00:00
Mapper 155 support (MMC1A)
This commit is contained in:
parent
135d02955f
commit
184be6b1f8
@ -425,6 +425,7 @@
|
||||
<ClInclude Include="Mapper230.h" />
|
||||
<ClInclude Include="Mapper241.h" />
|
||||
<ClInclude Include="Mapper60.h" />
|
||||
<ClInclude Include="MMC1_155.h" />
|
||||
<ClInclude Include="MMC3_45.h" />
|
||||
<ClInclude Include="Mapper57.h" />
|
||||
<ClInclude Include="Mapper61.h" />
|
||||
|
@ -637,6 +637,9 @@
|
||||
<ClInclude Include="DaouInfosys.h">
|
||||
<Filter>Nes\Mappers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="MMC1_155.h">
|
||||
<Filter>Nes\Mappers\MMC</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="stdafx.cpp">
|
||||
|
20
Core/MMC1.h
20
Core/MMC1.h
@ -1,3 +1,4 @@
|
||||
#pragma once
|
||||
#include "stdafx.h"
|
||||
#include "CPU.h"
|
||||
#include "BaseMapper.h"
|
||||
@ -44,13 +45,6 @@ class MMC1 : public BaseMapper
|
||||
uint8_t _prgReg;
|
||||
|
||||
int32_t _lastWriteCycle = -1;
|
||||
|
||||
struct {
|
||||
uint8_t Reg8000;
|
||||
uint8_t RegA000;
|
||||
uint8_t RegC000;
|
||||
uint8_t RegE000;
|
||||
} _state;
|
||||
|
||||
private:
|
||||
bool HasResetFlag(uint8_t value)
|
||||
@ -85,7 +79,16 @@ class MMC1 : public BaseMapper
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateState()
|
||||
protected:
|
||||
struct
|
||||
{
|
||||
uint8_t Reg8000;
|
||||
uint8_t RegA000;
|
||||
uint8_t RegC000;
|
||||
uint8_t RegE000;
|
||||
} _state;
|
||||
|
||||
virtual void UpdateState()
|
||||
{
|
||||
switch(_state.Reg8000 & 0x03) {
|
||||
case 0: SetMirroringType(MirroringType::ScreenAOnly); break;
|
||||
@ -135,7 +138,6 @@ class MMC1 : public BaseMapper
|
||||
}
|
||||
}
|
||||
|
||||
protected:
|
||||
void StreamState(bool saving)
|
||||
{
|
||||
BaseMapper::StreamState(saving);
|
||||
|
14
Core/MMC1_155.h
Normal file
14
Core/MMC1_155.h
Normal file
@ -0,0 +1,14 @@
|
||||
#pragma once
|
||||
#include "MMC1.h"
|
||||
|
||||
class MMC1_155 : public MMC1
|
||||
{
|
||||
protected :
|
||||
void UpdateState()
|
||||
{
|
||||
//WRAM disable bit does not exist in mapper 155
|
||||
_state.RegE000 &= 0x0F;
|
||||
|
||||
MMC1::UpdateState();
|
||||
}
|
||||
};
|
@ -47,6 +47,7 @@
|
||||
#include "Mapper242.h"
|
||||
#include "Mapper246.h"
|
||||
#include "MMC1.h"
|
||||
#include "MMC1_155.h"
|
||||
#include "MMC2.h"
|
||||
#include "MMC3.h"
|
||||
#include "MMC3_12.h"
|
||||
@ -202,6 +203,7 @@ BaseMapper* MapperFactory::GetMapperFromID(RomData &romData)
|
||||
case 152: return new Bandai74161_7432(true);
|
||||
case 153: return new BandaiFcg();
|
||||
case 154: return new Namco108_154();
|
||||
case 155: return new MMC1_155();
|
||||
case 156: return new DaouInfosys();
|
||||
case 157: return new BandaiFcg();
|
||||
case 159: return new BandaiFcg();
|
||||
|
Loading…
x
Reference in New Issue
Block a user