diff --git a/BizHawk.Emulation/BizHawk.Emulation.csproj b/BizHawk.Emulation/BizHawk.Emulation.csproj index b2b9aa818f..da4ae1d079 100644 --- a/BizHawk.Emulation/BizHawk.Emulation.csproj +++ b/BizHawk.Emulation/BizHawk.Emulation.csproj @@ -95,7 +95,6 @@ Code - Code @@ -262,39 +261,6 @@ - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - diff --git a/BizHawk.Emulation/Consoles/Nintendo/NES/Boards/HVC_UN1ROM.cs b/BizHawk.Emulation/Consoles/Nintendo/NES/Boards/HVC_UN1ROM.cs deleted file mode 100644 index 776bc9dc5f..0000000000 --- a/BizHawk.Emulation/Consoles/Nintendo/NES/Boards/HVC_UN1ROM.cs +++ /dev/null @@ -1,67 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -namespace BizHawk.Emulation.Consoles.Nintendo -{ - //Mapper 94 - //Senjou no Ookami (Commando) - - class HVC_UN1ROM : NES.NESBoardBase - { - int prg_bank_mask_16k; - byte prg_bank_16k; - ByteBuffer prg_banks_16k = new ByteBuffer(2); - - public override bool Configure(NES.EDetectionOrigin origin) - { - switch (Cart.board_type) - { - case "HVC-UN1ROM": - break; - default: - return false; - } - SetMirrorType(Cart.pad_h, Cart.pad_v); - prg_bank_mask_16k = (Cart.prg_size / 16) - 1; - prg_banks_16k[1] = 0xFF; - return true; - } - - public override void Dispose() - { - prg_banks_16k.Dispose(); - base.Dispose(); - } - - public override void SyncState(Serializer ser) - { - base.SyncState(ser); - ser.Sync("prg_bank_mask_16k", ref prg_bank_mask_16k); - ser.Sync("prg_bank_16k", ref prg_bank_16k); - ser.Sync("prg_banks_16k", ref prg_banks_16k); - } - - void SyncPRG() - { - prg_banks_16k[0] = prg_bank_16k; - } - - public override void WritePRG(int addr, byte value) - { - prg_bank_16k = (byte)((value >> 2) & 7); - SyncPRG(); - } - - public override byte ReadPRG(int addr) - { - int bank_16k = addr >> 14; - int ofs = addr & ((1 << 14) - 1); - bank_16k = prg_banks_16k[bank_16k]; - bank_16k &= prg_bank_mask_16k; - addr = (bank_16k << 14) | ofs; - return ROM[addr]; - } - } -} diff --git a/BizHawk.Emulation/Consoles/Nintendo/NES/Boards/UxROM.cs b/BizHawk.Emulation/Consoles/Nintendo/NES/Boards/UxROM.cs index 84f8f59e6a..ad31b14b98 100644 --- a/BizHawk.Emulation/Consoles/Nintendo/NES/Boards/UxROM.cs +++ b/BizHawk.Emulation/Consoles/Nintendo/NES/Boards/UxROM.cs @@ -19,12 +19,15 @@ namespace BizHawk.Emulation.Consoles.Nintendo //configuration int prg_mask; int vram_byte_mask; + Func adjust_prg; //state int prg; public override bool Configure(NES.EDetectionOrigin origin) { + adjust_prg = (x) => x; + //configure switch (Cart.board_type) { @@ -34,6 +37,11 @@ namespace BizHawk.Emulation.Consoles.Nintendo AssertPrg(128); AssertChr(0); AssertVram(8); //AssertWram(0); //JJ - Tobidase Daisakusen Part 2 (J) includes WRAM break; + + case "HVC-UN1ROM": + AssertPrg(128); AssertChr(0); AssertWram(0); AssertVram(8); + adjust_prg = (x) => ((x >> 2) & 7); + break; case "NES-UOROM": //paperboy 2 case "HVC-UOROM": @@ -60,7 +68,7 @@ namespace BizHawk.Emulation.Consoles.Nintendo } public override void WritePRG(int addr, byte value) { - prg = value & prg_mask; + prg = adjust_prg(value) & prg_mask; } public override byte ReadPPU(int addr)