From 4ccdf269e5008ae370c0960be4f3c342d999ebcf Mon Sep 17 00:00:00 2001 From: "andres.delikat" Date: Fri, 4 Mar 2011 03:02:29 +0000 Subject: [PATCH] NES - Get SAROM board working & Dragon Warrior in gamedb.txt --- .../Consoles/Nintendo/NES/Boards/SxROM.cs | 12 +++++++++--- BizHawk.Emulation/Consoles/Nintendo/NES/NES.cs | 3 ++- BizHawk.MultiClient/output/gamedb.txt | 1 + 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/BizHawk.Emulation/Consoles/Nintendo/NES/Boards/SxROM.cs b/BizHawk.Emulation/Consoles/Nintendo/NES/Boards/SxROM.cs index b2772fa791..c166f383d7 100644 --- a/BizHawk.Emulation/Consoles/Nintendo/NES/Boards/SxROM.cs +++ b/BizHawk.Emulation/Consoles/Nintendo/NES/Boards/SxROM.cs @@ -190,7 +190,7 @@ namespace BizHawk.Emulation.Consoles.Nintendo.Boards { base.Initialize(romInfo, nes); - Debug.Assert(RomInfo.PRG_Size == 1 || RomInfo.PRG_Size == 8 || RomInfo.PRG_Size == 16); + Debug.Assert(RomInfo.PRG_Size == 1 |RomInfo.PRG_Size == 4 | RomInfo.PRG_Size == 8 || RomInfo.PRG_Size == 16); prg_mask = RomInfo.PRG_Size - 1; Debug.Assert(RomInfo.CRAM_Size == -1, "don't specify in gamedb, it is redundant"); @@ -200,7 +200,13 @@ namespace BizHawk.Emulation.Consoles.Nintendo.Boards //analyze board type switch (type) { - case "SGROM": + case "SAROM": + romInfo.CRAM_Size = 0; + RomInfo.PRAM_Size = 0; + RomInfo.PRAM_Size = 8; + RomInfo.PRG_Size = 8; + break; + case "SGROM": Debug.Assert(RomInfo.CHR_Size == -1, "don't specify in gamedb, it is redundant"); romInfo.CHR_Size = 0; RomInfo.CRAM_Size = 8; @@ -247,7 +253,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 == 16); + Debug.Assert(RomInfo.CHR_Size == 2 || 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 3538a16ebe..6b4025b081 100644 --- a/BizHawk.Emulation/Consoles/Nintendo/NES/NES.cs +++ b/BizHawk.Emulation/Consoles/Nintendo/NES/NES.cs @@ -672,7 +672,8 @@ namespace BizHawk.Emulation.Consoles.Nintendo case "Discrete_74x377": board = new Boards.Discrete_74x377(); break; case "CPROM": board = new Boards.CPROM(); break; case "GxROM": board = new Boards.GxROM(); break; - case "SGROM": board = new Boards.SxROM("SGROM"); break; + case "SAROM": board = new Boards.SxROM("SAROM"); 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; case "SL2ROM": board = new Boards.SxROM("SL2ROM"); break; diff --git a/BizHawk.MultiClient/output/gamedb.txt b/BizHawk.MultiClient/output/gamedb.txt index fed01e2bcc..96890327c6 100644 --- a/BizHawk.MultiClient/output/gamedb.txt +++ b/BizHawk.MultiClient/output/gamedb.txt @@ -2329,6 +2329,7 @@ A4309FA076EBEDDCB28A25F53746D4DC Bard's Tale, The Tales of the Unknown (U) NES 12B0DBC4F2B22A50D0BB53C4929217F0 Blaster Master (U) NES board=SL2ROM;PRG=8;CHR=16 FFCC592A3F063C1DCC87CB5E0F81C8AF Bomberman II (U) NES board=SNROM;PRG=8 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 24AE5EDF8375162F91A6846D3202E3D6 Final Fantasy (U) NES board=SNROM;PRG=16;bat 881ECC27F0D3B10ED63DCC68C2B20ADC Final Fantasy (J) NES board=SNROM;PRG=16;bat