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)