NES - decently support mappers 74 and 192 (games play fine other than missing characters in text boxes))

This commit is contained in:
adelikat 2012-07-22 16:57:44 +00:00
parent 91be138920
commit b089f2996c
3 changed files with 110 additions and 0 deletions

View File

@ -184,10 +184,12 @@
<Compile Include="Consoles\Nintendo\NES\Boards\MMC3_family\Mapper012.cs" />
<Compile Include="Consoles\Nintendo\NES\Boards\MMC3_family\Mapper044.cs" />
<Compile Include="Consoles\Nintendo\NES\Boards\MMC3_family\Mapper049.cs" />
<Compile Include="Consoles\Nintendo\NES\Boards\MMC3_family\Mapper074.cs" />
<Compile Include="Consoles\Nintendo\NES\Boards\MMC3_family\Mapper115.cs" />
<Compile Include="Consoles\Nintendo\NES\Boards\MMC3_family\Mapper182.cs" />
<Compile Include="Consoles\Nintendo\NES\Boards\MMC3_family\Mapper189.cs" />
<Compile Include="Consoles\Nintendo\NES\Boards\MMC3_family\Mapper191.cs" />
<Compile Include="Consoles\Nintendo\NES\Boards\MMC3_family\Mapper192.cs" />
<Compile Include="Consoles\Nintendo\NES\Boards\MMC3_family\MMC3.cs" />
<Compile Include="Consoles\Nintendo\NES\Boards\MMC3_family\NES-QJ.cs" />
<Compile Include="Consoles\Nintendo\NES\Boards\MMC3_family\TQROM.cs" />

View File

@ -0,0 +1,55 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace BizHawk.Emulation.Consoles.Nintendo
{
class Mapper074 : MMC3Board_Base
{
/*
Here are Disch's original notes:
========================
= Mapper 074 =
========================
aka:
--------------------------
Pirate MMC3 variant
Example Games:
--------------------------
Di 4 Ci - Ji Qi Ren Dai Zhan
Ji Jia Zhan Shi
Notes:
--------------------------
This mapper is a modified MMC3 (or is based on MMC3?).
In addition to any CHR-ROM present, there is also an additional 2k of CHR-RAM which is selectable. CHR pages
$08 and $09 select CHR-RAM, other pages select CHR-ROM
Apart from that, this mapper behaves exactly like your typical MMC3. See mapper 004 for details.
TODO: implement CHR-RAM behavior
*/
public override bool Configure(NES.EDetectionOrigin origin)
{
//analyze board type
switch (Cart.board_type)
{
case "MAPPER074":
break;
default:
return false;
}
BaseSetup();
return true;
}
}
}

View File

@ -0,0 +1,53 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace BizHawk.Emulation.Consoles.Nintendo
{
class Mapper192 : MMC3Board_Base
{
/*
Here are Disch's original notes:
========================
= Mapper 192 =
========================
aka:
--------------------------
Pirate MMC3 variant
Example Game:
--------------------------
Ying Lie Qun Xia Zhuan
Notes:
--------------------------
This mapper is a modified MMC3 (or is based on MMC3?).
In addition to any CHR-ROM present, there is also an additional 4k of CHR-RAM which is selectable.
CHR Pages $08-$0B are CHR-RAM, other pages are CHR-ROM.
Apart from that, this mapper behaves exactly like your typical MMC3. See mapper 004 for details.
*/
public override bool Configure(NES.EDetectionOrigin origin)
{
//analyze board type
switch (Cart.board_type)
{
case "MAPPER192": //adelikat: I couldn't find any ROMs that weren't labeled as Mapper 04. All of these ran fine as far as I could tell, but just in case, I added this. I'm considering the mapper fully supported until proven otherwise.
break;
default:
return false;
}
BaseSetup();
return true;
}
}
}