From dc9d69958ff6a375ed944ad78ea869d8b16168cc Mon Sep 17 00:00:00 2001 From: goyuken Date: Wed, 15 Jan 2014 17:00:02 +0000 Subject: [PATCH] NEShawk: fix a bunch of games, mostly (J) --- .../Consoles/Nintendo/NES/Boards/BANDAI-FCG-1.cs | 4 +--- .../Consoles/Nintendo/NES/Boards/CNROM.cs | 2 ++ .../Consoles/Nintendo/NES/Boards/ExROM.cs | 3 +++ .../Consoles/Nintendo/NES/Boards/JALECO_SS8806.cs | 6 ++++++ .../Consoles/Nintendo/NES/Boards/Mapper069.cs | 3 +++ .../Consoles/Nintendo/NES/Boards/NROM.cs | 2 ++ .../Consoles/Nintendo/NES/Boards/SxROM.cs | 5 +++-- .../Consoles/Nintendo/NES/Boards/Taito_TC0190FMC.cs | 4 ++-- .../Consoles/Nintendo/NES/Boards/UxROM.cs | 1 + .../Consoles/Nintendo/NES/Boards/VRC2_4.cs | 4 ++++ 10 files changed, 27 insertions(+), 7 deletions(-) diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/BANDAI-FCG-1.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/BANDAI-FCG-1.cs index 857fac1c1d..38b9c5e1bd 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/BANDAI-FCG-1.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/BANDAI-FCG-1.cs @@ -63,10 +63,8 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES switch (Cart.board_type) { case "BANDAI-FCG-1": // no eprom - AssertPrg(128, 256, 512); AssertChr(128, 256); AssertWram(0); AssertVram(0); - break; case "BANDAI-FCG-2": // no eprom - AssertPrg(128); AssertChr(128); AssertWram(0); AssertVram(0); + AssertPrg(128, 256, 512); AssertChr(128, 256); AssertWram(0); AssertVram(0); break; case "BANDAI-LZ93D50+24C01": // 1kbit eprom AssertPrg(128, 256); AssertChr(128, 256); AssertWram(0); AssertVram(0); diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/CNROM.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/CNROM.cs index 41155a9371..831bf03b06 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/CNROM.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/CNROM.cs @@ -46,6 +46,8 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES case "NES-CNROM": //adventure island case "UNIF_NES-CNROM": // some of these should be bus_conflict = false because UNIF is bad case "HVC-CNROM": + case "TAITO-CNROM": + case "BANDAI-CNROM": bus_conflict = true; AssertPrg(16, 32); break; diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/ExROM.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/ExROM.cs index ab19a3ae6b..7aa9b5027e 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/ExROM.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/ExROM.cs @@ -110,6 +110,9 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES break; case "HVC-EKROM": break; + case "NES-ETROM": + case "HVC-ETROM": + break; default: return false; } diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/JALECO_SS8806.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/JALECO_SS8806.cs index 474f5e8930..b05fce94f1 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/JALECO_SS8806.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/JALECO_SS8806.cs @@ -22,7 +22,13 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES switch (Cart.board_type) { case "MAPPER018": + case "JALECO-JF-23": case "JALECO-JF-24": //TODO: there will be many boards to list here + case "JALECO-JF-25": + case "JALECO-JF-27": + case "JALECO-JF-29": + case "JALECO-JF-37": + case "JALECO-JF-40": break; default: return false; diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/Mapper069.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/Mapper069.cs index 8ebe7bf442..e84a71de02 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/Mapper069.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/Mapper069.cs @@ -101,6 +101,9 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES case "NES-JLROM": //mr gimmick! AssertPrg(256); AssertChr(128); AssertWram(0); AssertVram(0); AssertBattery(false); break; + case "NES-JSROM": // batman(E) + AssertPrg(128); AssertChr(256); AssertWram(8); AssertVram(0); AssertBattery(false); + break; case "MAPPER069": break; case "SUNSOFT-5A": //Batman (J) diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/NROM.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/NROM.cs index b375cac197..849b29dcd6 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/NROM.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/NROM.cs @@ -22,11 +22,13 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES case "HVC-NROM-256": //super mario bros. case "NES-NROM-256": //10 yard fight case "HVC-RROM": //balloon fight + case "BANDAI-NROM-256": case "HVC-NROM-128": case "IREM-NROM-128": 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 diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/SxROM.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/SxROM.cs index 84c84af893..95a1dde9f6 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/SxROM.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/SxROM.cs @@ -341,6 +341,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES AssertPrg(32); AssertChr(16,32); AssertVram(0); AssertWram(0); break; case "NES-SFROM": //bubble bobble + case "NES-SF1ROM": AssertPrg(128, 256); AssertChr(16, 32, 64); AssertVram(0); AssertWram(0); break; case "NES-SGROM": //bionic commando @@ -354,8 +355,8 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES case "HVC-SIROM": //Igo: Kyuu Roban Taikyoku AssertPrg(32); AssertChr(16); AssertVram(0); AssertWram(8); break; - case "HVC-SJROM": //zombie hunter.. but it has no wram???? - AssertPrg(128); AssertChr(32); AssertVram(0); AssertWram(0); + case "HVC-SJROM": //zombie hunter (wram is missing), artelius. + AssertPrg(128); AssertChr(32); AssertVram(0); AssertWram(0, 8); break; case "NES-SJROM": //air fortress AssertPrg(128, 256); AssertChr(16, 32, 64); AssertVram(0); AssertWram(8); diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/Taito_TC0190FMC.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/Taito_TC0190FMC.cs index a53cb68965..a18e69b7e1 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/Taito_TC0190FMC.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/Taito_TC0190FMC.cs @@ -93,12 +93,12 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES break; case "TAITO-TC0190FMC": case "TAITO-TC0350FMR": - AssertPrg(128); AssertChr(128,256); AssertWram(0); AssertVram(0); + AssertPrg(128, 256); AssertChr(128, 256); AssertWram(0); AssertVram(0); pal16 = false; break; case "TAITO-TC0190FMC+PAL16R4": //this is the same as the base TAITO-TC0190FMC, with an added PAL16R4ACN which is a "programmable TTL device", presumably just the IRQ and mirroring - AssertPrg(128,256); AssertChr(256); AssertWram(0); AssertVram(0); + AssertPrg(128, 256); AssertChr(256); AssertWram(0); AssertVram(0); pal16 = true; mmc3 = new MMC3Variant(this); break; diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/UxROM.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/UxROM.cs index 1008335ae6..2aa093cb5e 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/UxROM.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/UxROM.cs @@ -37,6 +37,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES case "NES-UNROM": //mega man case "HVC-UNROM": case "KONAMI-UNROM": + case "NES-UNEPROM": // proto AssertPrg(128); AssertChr(0); AssertVram(8); //AssertWram(0); //JJ - Tobidase Daisakusen Part 2 (J) includes WRAM break; diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/VRC2_4.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/VRC2_4.cs index b47515ce2d..774a119493 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/VRC2_4.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/VRC2_4.cs @@ -149,6 +149,10 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES { remap = (addr) => addr; } + else if (Cart.pcb == "350603") + { + remap = (addr) => addr; + } else throw new Exception(string.Format("Unknown PCB type for VRC2: \"{0}\"", Cart.pcb)); break;