NES: support more mapper 118 roms without hash.

NES: detect a hashless mapper 001 rom with 512KPRG as SUROM.  should be no negative side effects, and fixes some translations of SUROM games.
This commit is contained in:
goyuken 2014-01-21 23:01:38 +00:00
parent 8bf8213a7d
commit b39577cc51
2 changed files with 17 additions and 1 deletions

View File

@ -14,6 +14,8 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
AssertPrg(128); AssertChr(128); AssertVram(0); AssertWram(0);
break;
case "MAPPER118":
AssertVram(0);
break;
case "HVC-TKSROM": //ys III: wanderers from ys (J)
AssertPrg(256); AssertChr(128); AssertVram(0); AssertWram(8);
AssertBattery(true);

View File

@ -320,6 +320,10 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
case "MAPPER116_HACKY":
break;
case "MAPPER001":
// there's no way to define PRG oversize for mapper001 due to how the MMC1 regs work
// so 512KB must mean SUROM or SXROM. SUROM is more common, so we try that
if (Cart.prg_size > 256)
return false;
break;
case "MAPPER171": // Tui Do Woo Ma Jeung
AssertPrg(32); AssertChr(32); Cart.wram_size = 0;
@ -520,11 +524,21 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
switch (Cart.board_type)
{
case "MAPPER001":
// we try to heuristic match to iNES 001 roms with big PRG only
if (Cart.prg_size <= 256)
return false;
AssertPrg(512); AssertChr(0);
Cart.vram_size = 8;
Cart.wram_size = 8;
Cart.wram_battery = true; // all SUROM boards had batteries
break;
case "NES-SUROM": //dragon warrior 4
case "HVC-SUROM":
AssertPrg(512); AssertChr(0); AssertVram(8); AssertWram(8);
break;
default: return false;
default:
return false;
}
BaseConfigure();