nes-support mapper 182
This commit is contained in:
parent
f592fc3748
commit
cf5dcb1cd5
|
@ -125,6 +125,7 @@
|
|||
<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\Mapper182.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" />
|
||||
|
|
|
@ -95,12 +95,12 @@ Open bus and bus conflict emulation is not considered complete or thorough in an
|
|||
164 Pirate Junk - Started
|
||||
165 Pirate Junk
|
||||
180 Misc (J) Complete (but we don't implement the crazy climber controller)
|
||||
182 MMC3Variant Nothing
|
||||
182 MMC3Variant Decent
|
||||
184 Sunsoft-1 Complete
|
||||
185 Misc (J) Complete
|
||||
189 MMC3Variant Nothing
|
||||
191 Pirate Junk
|
||||
192 Pirate Junk
|
||||
191 Pirate Junk (mmc3 variant)
|
||||
192 Pirate Junk (mmc3 variant)
|
||||
193 Unlicensed Junk - Started
|
||||
194 Pirate Junk
|
||||
200 Multicart Junk
|
||||
|
|
|
@ -0,0 +1,65 @@
|
|||
using System;
|
||||
using System.IO;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace BizHawk.Emulation.Consoles.Nintendo
|
||||
{
|
||||
public class Mapper182 : MMC3Board_Base
|
||||
{
|
||||
public override bool Configure(NES.EDetectionOrigin origin)
|
||||
{
|
||||
//analyze board type
|
||||
switch (Cart.board_type)
|
||||
{
|
||||
case "MAPPER182":
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
||||
BaseSetup();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public override void WritePRG(int addr, byte value)
|
||||
{
|
||||
addr += 0x8000;
|
||||
switch (addr & 0xE001)
|
||||
{
|
||||
case 0x8000: break; //?
|
||||
case 0x8001: base.WritePRG(0xA000,value); break;
|
||||
case 0xA000:
|
||||
value = (byte)scramble_A000(value);
|
||||
base.WritePRG(0x8000,value);
|
||||
break;
|
||||
case 0xA001: break; //?
|
||||
case 0xC000: base.WritePRG(0x8001, value); break;
|
||||
case 0xC001:
|
||||
base.WritePRG(0xC000, value);
|
||||
base.WritePRG(0xC001, value);
|
||||
break;
|
||||
default:
|
||||
base.WritePRG(addr, value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static byte[] scramble_table = new byte[] { 0, 3, 1, 5, 6, 7, 2, 4 };
|
||||
static int scramble_A000(byte val)
|
||||
{
|
||||
return (val & ~0x7) | scramble_table[val & 0x7];
|
||||
}
|
||||
|
||||
public override void SyncState(Serializer ser)
|
||||
{
|
||||
base.SyncState(ser);
|
||||
}
|
||||
|
||||
public override void WriteWRAM(int addr, byte value)
|
||||
{
|
||||
base.WriteWRAM(addr, value);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -106,6 +106,7 @@ static string ClassifyTable = @"
|
|||
79 -1 -1 -1 -1 AVE-NINA-06; Blackjack (U)
|
||||
113 -1 -1 -1 -1 AVE-NINA-06; ???
|
||||
115 -1 -1 -1 -1 MAPPER115
|
||||
182 -1 -1 -1 -1 MAPPER182
|
||||
232 -1 -1 -1 -1 CAMERICA-ALGQ; Quattro Adventure
|
||||
240 -1 -1 -1 -1 MAPPER240
|
||||
";
|
||||
|
|
Loading…
Reference in New Issue