nes-support mapper 115
This commit is contained in:
parent
7d308da245
commit
f592fc3748
|
@ -124,6 +124,7 @@
|
|||
<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\Mapper095.cs" />
|
||||
<Compile Include="Consoles\Nintendo\NES\Boards\MMC3_family\Mapper115.cs" />
|
||||
<Compile Include="Consoles\Nintendo\NES\Boards\MMC3_family\Mapper206.cs" />
|
||||
<Compile Include="Consoles\Nintendo\NES\Boards\MMC3_family\MMC3_family.cs" />
|
||||
<Compile Include="Consoles\Nintendo\NES\Boards\MMC3_family\NES-QJ.cs" />
|
||||
|
|
|
@ -5,7 +5,6 @@ Complete - what it sounds like
|
|||
Good - thought to be complete
|
||||
Decent - mostly compatible, but many significant edge cases not tested
|
||||
Minimal - Important games are playable, but emulation is known not to be complete
|
||||
~NEEDED~ - Needed for neshawk 1.0
|
||||
Needed - Someone should do this
|
||||
Nothing - Not implemented
|
||||
Junk - Who cares about this. Not enough games, or unlicensed junk or no interesting games
|
||||
|
@ -86,7 +85,7 @@ Open bus and bus conflict emulation is not considered complete or thorough in an
|
|||
107 Unlicensed Complete
|
||||
112 Misc (CN) Nothing
|
||||
113 =USELESS= Junk
|
||||
115 MMC3Variant Nothing
|
||||
115 MMC3Variant Decent
|
||||
118 TLSROM Complete
|
||||
119 TQROM Complete
|
||||
140 Misc (J) Complete
|
||||
|
|
|
@ -0,0 +1,68 @@
|
|||
using System;
|
||||
using System.IO;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace BizHawk.Emulation.Consoles.Nintendo
|
||||
{
|
||||
public class Mapper115 : MMC3Board_Base
|
||||
{
|
||||
public override bool Configure(NES.EDetectionOrigin origin)
|
||||
{
|
||||
//analyze board type
|
||||
switch (Cart.board_type)
|
||||
{
|
||||
case "MAPPER115":
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
||||
BaseSetup();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public override void SyncState(Serializer ser)
|
||||
{
|
||||
base.SyncState(ser);
|
||||
ser.Sync("prg_mode", ref prg_mode);
|
||||
ser.Sync("prg_page", ref prg_page);
|
||||
ser.Sync("chr_block_or", ref chr_block_or);
|
||||
}
|
||||
|
||||
bool prg_mode;
|
||||
int prg_page, chr_block_or;
|
||||
|
||||
public override void WriteWRAM(int addr, byte value)
|
||||
{
|
||||
base.WriteWRAM(addr, value);
|
||||
switch (addr & 1)
|
||||
{
|
||||
case 0:
|
||||
prg_mode = value.Bit(7);
|
||||
prg_page = (value & 0xF) * 2;
|
||||
break;
|
||||
case 1:
|
||||
chr_block_or = (value & 0x1)<<8;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected override int Get_PRGBank_8K(int addr)
|
||||
{
|
||||
int bank_8k = mapper.Get_PRGBank_8K(addr);
|
||||
if (prg_mode == false) return bank_8k;
|
||||
else if (addr < 0x4000)
|
||||
{
|
||||
return (addr >> 13) + prg_page;
|
||||
}
|
||||
else return bank_8k;
|
||||
}
|
||||
|
||||
protected override int Get_CHRBank_1K(int addr)
|
||||
{
|
||||
int bank_1k = base.Get_CHRBank_1K(addr);
|
||||
return bank_1k | chr_block_or;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -105,6 +105,7 @@ static string ClassifyTable = @"
|
|||
71 -1 -1 -1 -1 CAMERICA-BF9093; Micro Machines (U)
|
||||
79 -1 -1 -1 -1 AVE-NINA-06; Blackjack (U)
|
||||
113 -1 -1 -1 -1 AVE-NINA-06; ???
|
||||
115 -1 -1 -1 -1 MAPPER115
|
||||
232 -1 -1 -1 -1 CAMERICA-ALGQ; Quattro Adventure
|
||||
240 -1 -1 -1 -1 MAPPER240
|
||||
";
|
||||
|
|
Loading…
Reference in New Issue