From 5e481a6083b2eeb00008263b20a0a74c0b66e1f2 Mon Sep 17 00:00:00 2001 From: alyosha-tas Date: Sat, 2 Dec 2017 10:03:27 -0500 Subject: [PATCH] NESHawk: Fix some unlicensed games --- Assets/gamedb/gamedb_nes.txt | 1 + .../NES/Boards/UNIF/UNIF_UNL-KOF97.cs | 28 ++++--------------- 2 files changed, 7 insertions(+), 22 deletions(-) diff --git a/Assets/gamedb/gamedb_nes.txt b/Assets/gamedb/gamedb_nes.txt index 1e5253ae48..ea70a263de 100644 --- a/Assets/gamedb/gamedb_nes.txt +++ b/Assets/gamedb/gamedb_nes.txt @@ -275,6 +275,7 @@ sha1:6AAA5521F91F101448E77C996C9802015578400C Dooly_Bravo_Land NES board=MAPPE sha1:4EBC1ED9665C36913D0F05129E6A54787BAD3165 Dragon Ball 3 - Gokuu Den (Japan) (Rev 1) NES board=BANDAI-FCG-2;PRG=128;CHR=256;WRAM=0;VRAM=0;PAD_V=0;PAD_H=1 sha1:5A6DFDD8A2D62EBE313A6FDB986C3585077BB348 Final Combat (Asia) (NTSC) (Unl) NES board=MAPPER139 sha1:DFAF6D81280ADBEB2ADF3DAB38E536B0F2FDFC76 Final Combat (Asia) (PAL) (Unl) NES board=MAPPER139;system=NES-PAL +sha1:433CEC30E71DCA31E32B8A44A0D534DBFE7039CA BoogerMan II (RexSoft) [!] NES board=UNIF_UNL-KOF97 ;;;;;;;;;;;;;;;;;;;----------------------------------------------------------------------- diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/UNIF/UNIF_UNL-KOF97.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/UNIF/UNIF_UNL-KOF97.cs index 1c90947375..2e7f029f53 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/UNIF/UNIF_UNL-KOF97.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/UNIF/UNIF_UNL-KOF97.cs @@ -33,36 +33,20 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES public override void WritePRG(int addr, byte value) { - if (addr < 0x1000) // 0x8000 - 0x8FFF - { - base.WritePRG(addr & 1, Unscramble(value)); - } + value = Unscramble(value); - else if (addr == 0x1000) // 9000 = 8001 + if (addr == 0x1000) // 9000 = 8001 { - base.WritePRG(1, Unscramble(value)); + base.WritePRG(1, value); } - - else if (addr == 0x2000) // A000 = 8000) - { - base.WritePRG(0, Unscramble(value)); - } - else if (addr == 0x5000) // D000 = C001 { - base.WritePRG(0x4001, Unscramble(value)); + base.WritePRG(0x4001, value); } - - else if (addr >= 0x6000 && addr < 0x7000) // 0xE0000 - 0xEFFF + else if (addr == 0x7000) // F000 = E001 { - base.WritePRG(addr & 1, Unscramble(value)); + base.WritePRG(0x6001, value); } - - else if (addr == 0x7000) // F000 - { - base.WritePRG(0x6001, Unscramble(value)); - } - else { base.WritePRG(addr, value);