From 6df5ea5a164391a08538308d609a04108473e206 Mon Sep 17 00:00:00 2001
From: goyuken <goyuken@4bbf4f03-6f44-549e-7e59-35d4b0962838>
Date: Wed, 22 Jan 2014 16:31:33 +0000
Subject: [PATCH] NES: NROM: exhaustively add all NROM boards from bootgod, so
 hopefully that's the end of that

---
 .../Consoles/Nintendo/NES/Boards/NROM.cs      | 56 ++++++++++++-------
 1 file changed, 37 insertions(+), 19 deletions(-)

diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/NROM.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/NROM.cs
index cbbc0bacb4..5ea6ecebac 100644
--- a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/NROM.cs
+++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/NROM.cs
@@ -19,44 +19,62 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
 				case "MAPPER219": //adelikat: a version of 3D-Block tries to use this ROM, but plays fine as NROM and 219 is undocumented by Disch
 					break;
 
-				case "HVC-NROM-256": //super mario bros.
-				case "NES-NROM-256": //10 yard fight
-				case "HVC-RROM": //balloon fight
+				case "BANDAI-NROM-128":
 				case "BANDAI-NROM-256":
+				case "HVC-HROM": //Donkey Kong Jr. (J)
 				case "HVC-NROM-128":
+				case "HVC-NROM-256": //super mario bros.
+				case "HVC-RROM": //balloon fight
+				case "HVC-RTROM":
+				case "HVC-SROM":
+				case "HVC-STROM":
 				case "IREM-NROM-128":
+				case "IREM-NROM-256":
+				case "JALECO-JF-01": //Exerion (J)
+				case "JALECO-JF-02":
+				case "JALECO-JF-03":
+				case "JALECO-JF-04":
 				case "KONAMI-NROM-128":
-				case "NES-NROM-128":
 				case "NAMCOT-3301":
 				case "NAMCOT-3302":
-				case "HVC-HROM": //Donkey Kong Jr. (J)
-				case "JALECO-JF-01": //Exerion (J)
-				case "UNIF_NES-NROM-256": // Locksmith
-				case "UNIF_NES-NROM-128": // various
-				case "TENGEN-800003": // ms pac man, others
-				case "JALECO-JF-02":
-				case "TAITO-NROM-256":
-				case "HVC-SROM":
-				case "SETA-NROM-128":
-				case "BANDAI-NROM-128":
-				case "JALECO-JF-03":
-				case "NAMCOT-3305":
-				case "SUNSOFT-NROM-256":
-				case "TAITO-NROM-128":
-				case "IREM-NROM-256":
 				case "NAMCOT-3303":
+				case "NACOMT-3304":
+				case "NAMCOT-3305":
 				case "NAMCOT-3311":
 				case "NAMCOT-3312":
+				case "NES-NROM-128":
+				case "NES-NROM-256": //10 yard fight
+				case "NES-RROM-128":
+				case "SACHEN-NROM":
+				case "SETA-NROM-128":
+				case "SUNSOFT-NROM-128":
+				case "SUNSOFT-NROM-256":
+				case "TAITO-NROM-128":
+				case "TAITO-NROM-256":
+				case "TENGEN-800003": // ms pac man, others
+				case "UNIF_NES-NROM-128": // various
+				case "UNIF_NES-NROM-256": // Locksmith
 					AssertPrg(8, 16, 32); 
 					AssertChr(8); AssertVram(0); AssertWram(0, 8);
 					break;
 				case "AVE-NINA-03":
+					// at least one game on this board has none of the mapper chips present,
+					// and emulates as simple NROM
 					if (Cart.chips.Count != 0)
 						return false;
 					AssertPrg(8, 16, 32); 
 					AssertChr(8); AssertVram(0); AssertWram(0);
 					break;
 
+					/*
+				case "CAMERICA-GAMEGENIE":
+					// if you really want to emulate a game genie, it isn't NROM
+					return false;
+				case "HVC-FAMILYBASIC":
+					// we don't emulate the controller, so no point
+					return false;
+					*/
+
 				default:
 					return false;
 			}