From 38396fc02cacbcd21fc1281d6871f5534261e8c2 Mon Sep 17 00:00:00 2001 From: "andres.delikat" Date: Fri, 4 Mar 2011 03:16:26 +0000 Subject: [PATCH] Fix PRG size of dragon warrior, it now doesn't crash on load (but still is only a black screen). Implemented SBROM & Bug's Bunny's Crazy Castle, the game now works. --- BizHawk.Emulation/Consoles/Nintendo/NES/Boards/SxROM.cs | 9 +++++++-- BizHawk.Emulation/Consoles/Nintendo/NES/NES.cs | 1 + BizHawk.MultiClient/output/gamedb.txt | 1 + 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/BizHawk.Emulation/Consoles/Nintendo/NES/Boards/SxROM.cs b/BizHawk.Emulation/Consoles/Nintendo/NES/Boards/SxROM.cs index c166f383d7..7782360865 100644 --- a/BizHawk.Emulation/Consoles/Nintendo/NES/Boards/SxROM.cs +++ b/BizHawk.Emulation/Consoles/Nintendo/NES/Boards/SxROM.cs @@ -204,7 +204,12 @@ namespace BizHawk.Emulation.Consoles.Nintendo.Boards romInfo.CRAM_Size = 0; RomInfo.PRAM_Size = 0; RomInfo.PRAM_Size = 8; - RomInfo.PRG_Size = 8; + RomInfo.PRG_Size = 4; + break; + case "SBROM": + romInfo.CRAM_Size = 0; + RomInfo.PRAM_Size = 0; + RomInfo.PRG_Size = 4; break; case "SGROM": Debug.Assert(RomInfo.CHR_Size == -1, "don't specify in gamedb, it is redundant"); @@ -253,7 +258,7 @@ namespace BizHawk.Emulation.Consoles.Nintendo.Boards //some boards contain CHR roms, so set that up here. if (RomInfo.CHR_Size != 0) { - Debug.Assert(RomInfo.CHR_Size == 2 || RomInfo.CHR_Size == 16); + Debug.Assert(RomInfo.CHR_Size == 2 || RomInfo.CHR_Size == 4 || RomInfo.CHR_Size == 16); chr_mask = (RomInfo.CHR_Size*2) - 1; } diff --git a/BizHawk.Emulation/Consoles/Nintendo/NES/NES.cs b/BizHawk.Emulation/Consoles/Nintendo/NES/NES.cs index 6b4025b081..d549d17c9a 100644 --- a/BizHawk.Emulation/Consoles/Nintendo/NES/NES.cs +++ b/BizHawk.Emulation/Consoles/Nintendo/NES/NES.cs @@ -673,6 +673,7 @@ namespace BizHawk.Emulation.Consoles.Nintendo case "CPROM": board = new Boards.CPROM(); break; case "GxROM": board = new Boards.GxROM(); break; case "SAROM": board = new Boards.SxROM("SAROM"); break; + case "SBROM": board = new Boards.SxROM("SBROM"); break; case "SGROM": board = new Boards.SxROM("SGROM"); break; case "SNROM": board = new Boards.SxROM("SNROM"); break; case "SKROM": board = new Boards.SxROM("SKROM"); break; diff --git a/BizHawk.MultiClient/output/gamedb.txt b/BizHawk.MultiClient/output/gamedb.txt index 96890327c6..df54f71a76 100644 --- a/BizHawk.MultiClient/output/gamedb.txt +++ b/BizHawk.MultiClient/output/gamedb.txt @@ -2328,6 +2328,7 @@ BB9F640237A953B4753DF9D2A8DC31B3 720 (U) NES board=SNROM;PRG=8 A4309FA076EBEDDCB28A25F53746D4DC Bard's Tale, The Tales of the Unknown (U) NES board=SNROM;PRG=8;bat 12B0DBC4F2B22A50D0BB53C4929217F0 Blaster Master (U) NES board=SL2ROM;PRG=8;CHR=16 FFCC592A3F063C1DCC87CB5E0F81C8AF Bomberman II (U) NES board=SNROM;PRG=8 +6BC8F54DC358AA35F6259715E5143B37 Bug's Bunny Crazy Castle (U) NES board=SBROM;PRG=4;CHR=4 755F9086B0567243B3CE25CC8A6DFD17 Castlevania II - Simon's Quest (U) NES board=SL2ROM;PRG=8;CHR=16 E8382F82570BC616B0BCC02C843C1B79 Dragon Warrior (U) NES board=SAROM;CHR=2;PRG=4 CCDB4563C9004d862DCF3A98C7937C22 Dragon Warrior 2 (U) NES board=SNROM;PRG=16;bat