Mapper 158 support (Emulate Alien Syndrome as mapper 158 instead of 118)
This commit is contained in:
parent
731c39b6eb
commit
ad41b0561a
6 changed files with 47 additions and 3 deletions
|
@ -412,6 +412,7 @@
|
||||||
<ClInclude Include="Assembler.h" />
|
<ClInclude Include="Assembler.h" />
|
||||||
<ClInclude Include="AutomaticRomTest.h" />
|
<ClInclude Include="AutomaticRomTest.h" />
|
||||||
<ClInclude Include="FceuxMovie.h" />
|
<ClInclude Include="FceuxMovie.h" />
|
||||||
|
<ClInclude Include="Rambo1_158.h" />
|
||||||
<ClInclude Include="RecordedRomTest.h" />
|
<ClInclude Include="RecordedRomTest.h" />
|
||||||
<ClInclude Include="AutoSaveManager.h" />
|
<ClInclude Include="AutoSaveManager.h" />
|
||||||
<ClInclude Include="AviRecorder.h" />
|
<ClInclude Include="AviRecorder.h" />
|
||||||
|
|
|
@ -1171,6 +1171,9 @@
|
||||||
<ClInclude Include="RewindManager.h">
|
<ClInclude Include="RewindManager.h">
|
||||||
<Filter>Rewinder</Filter>
|
<Filter>Rewinder</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="Rambo1_158.h">
|
||||||
|
<Filter>Nes\Mappers</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="stdafx.cpp">
|
<ClCompile Include="stdafx.cpp">
|
||||||
|
|
|
@ -186,6 +186,7 @@
|
||||||
#include "OekaKids.h"
|
#include "OekaKids.h"
|
||||||
#include "Racermate.h"
|
#include "Racermate.h"
|
||||||
#include "Rambo1.h"
|
#include "Rambo1.h"
|
||||||
|
#include "Rambo1_158.h"
|
||||||
#include "Rt01.h"
|
#include "Rt01.h"
|
||||||
#include "Sachen_133.h"
|
#include "Sachen_133.h"
|
||||||
#include "Sachen_136.h"
|
#include "Sachen_136.h"
|
||||||
|
@ -257,7 +258,7 @@ Supported mappers:
|
||||||
| 96| 97|===| 99|...|101|===|103|104|105|106|107|108|===|===|111|
|
| 96| 97|===| 99|...|101|===|103|104|105|106|107|108|===|===|111|
|
||||||
|112|113|114|115| |117|118|119|120|121|===|123|===|125|126|===|
|
|112|113|114|115| |117|118|119|120|121|===|123|===|125|126|===|
|
||||||
|===|===|===|===|132|133|134|===|136|137|138|139|140|141|142|143|
|
|===|===|===|===|132|133|134|===|136|137|138|139|140|141|142|143|
|
||||||
|144|145|146|147|148|149|150|151|152|153|154|155|156|157|???|159|
|
|144|145|146|147|148|149|150|151|152|153|154|155|156|157|158|159|
|
||||||
|---|===|162|163|164|165|166|167|168|===|170|171|172|173|===|175|
|
|---|===|162|163|164|165|166|167|168|===|170|171|172|173|===|175|
|
||||||
|176|177|178|179|180|---|182|183|184|185|186|187|188|189|190|191|
|
|176|177|178|179|180|---|182|183|184|185|186|187|188|189|190|191|
|
||||||
|192|193|194|195|196|197| |199|200|201|202|203|204|205|206|207|
|
|192|193|194|195|196|197| |199|200|201|202|203|204|205|206|207|
|
||||||
|
@ -417,6 +418,7 @@ BaseMapper* MapperFactory::GetMapperFromID(RomData &romData)
|
||||||
case 155: return new MMC1_155();
|
case 155: return new MMC1_155();
|
||||||
case 156: return new DaouInfosys();
|
case 156: return new DaouInfosys();
|
||||||
case 157: return new BandaiFcg();
|
case 157: return new BandaiFcg();
|
||||||
|
case 158: return new Rambo1_158();
|
||||||
case 159: return new BandaiFcg();
|
case 159: return new BandaiFcg();
|
||||||
case 162: return new Waixing162();
|
case 162: return new Waixing162();
|
||||||
case 163: return new Nanjing();
|
case 163: return new Nanjing();
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
class Rambo1 : public BaseMapper
|
class Rambo1 : public BaseMapper
|
||||||
{
|
{
|
||||||
private:
|
protected:
|
||||||
const uint8_t PpuIrqDelay = 2;
|
const uint8_t PpuIrqDelay = 2;
|
||||||
const uint8_t CpuIrqDelay = 1;
|
const uint8_t CpuIrqDelay = 1;
|
||||||
bool _irqEnabled = false;
|
bool _irqEnabled = false;
|
||||||
|
|
38
Core/Rambo1_158.h
Normal file
38
Core/Rambo1_158.h
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
#pragma once
|
||||||
|
#include "stdafx.h"
|
||||||
|
#include "Rambo1.h"
|
||||||
|
|
||||||
|
class Rambo1_158 : public Rambo1
|
||||||
|
{
|
||||||
|
void WriteRegister(uint16_t addr, uint8_t value) override
|
||||||
|
{
|
||||||
|
if((addr & 0xE001) == 0x8001) {
|
||||||
|
uint8_t nametable = value >> 7;
|
||||||
|
|
||||||
|
if(_currentRegister & 0x80) {
|
||||||
|
switch(_currentRegister & 0x07) {
|
||||||
|
case 2: SetNametable(0, nametable); break;
|
||||||
|
case 3: SetNametable(1, nametable); break;
|
||||||
|
case 4: SetNametable(2, nametable); break;
|
||||||
|
case 5: SetNametable(3, nametable); break;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
switch(_currentRegister & 0x07) {
|
||||||
|
case 0:
|
||||||
|
SetNametable(0, nametable);
|
||||||
|
SetNametable(1, nametable);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 1:
|
||||||
|
SetNametable(2, nametable);
|
||||||
|
SetNametable(3, nametable);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if((addr & 0xE001) != 0xA000) {
|
||||||
|
Rambo1::WriteRegister(addr, value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
|
@ -2448,7 +2448,7 @@ CB5ACB49,Famicom,HVC-TKROM,HVC-TKROM-03,MMC3C,4,128,128,,0,8,1,,,
|
||||||
CB8F9AB7,NesNtsc,,,,4,128,128,,0,0,0,,,
|
CB8F9AB7,NesNtsc,,,,4,128,128,,0,0,0,,,
|
||||||
CBAD8B09,Famicom,,,,0,32,8,,0,0,0,v,,
|
CBAD8B09,Famicom,,,,0,32,8,,0,0,0,v,,
|
||||||
CBBEFD1F,VsUni,,,,99,32,16,4,0,0,0,,,
|
CBBEFD1F,VsUni,,,,99,32,16,4,0,0,0,,,
|
||||||
CBF4366F,NesNtsc,TENGEN-800037,800037 REV A,337006,118,128,128,,0,0,0,,,
|
CBF4366F,NesNtsc,TENGEN-800037,800037 REV A,337006,158,128,128,,0,0,0,,,
|
||||||
CBFB6DE5,Famicom,,,,4,128,128,,0,0,0,,,
|
CBFB6DE5,Famicom,,,,4,128,128,,0,0,0,,,
|
||||||
CC3544B0,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1A,1,128,128,,0,0,0,,,
|
CC3544B0,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1A,1,128,128,,0,0,0,,,
|
||||||
CC37094C,NesNtsc,NES-SGROM,NES-SGROM-04,MMC1B2,1,256,,8,0,0,0,,,
|
CC37094C,NesNtsc,NES-SGROM,NES-SGROM-04,MMC1B2,1,256,,8,0,0,0,,,
|
||||||
|
|
Loading…
Add table
Reference in a new issue