Fix TAITO_74_161_161_32 board (mapper 152), arkanoid 2 now works. Added Goodnes3.14's version of arkanoid 2 to the gamedb (even though it is actually a bad dump, our policy is to support 3.14 roms). Fixes to other mappers, Holy Diver now works properly (among other games).

This commit is contained in:
andres.delikat 2011-09-24 14:04:21 +00:00
parent cfd5cca324
commit d17934b395
6 changed files with 14 additions and 10 deletions

View File

@ -10,7 +10,6 @@ namespace BizHawk.Emulation.Consoles.Nintendo
class HVC_UN1ROM : NES.NESBoardBase
{
int prg;
int prg_bank_mask_16k;
byte prg_bank_16k;
ByteBuffer prg_banks_16k = new ByteBuffer(2);

View File

@ -59,7 +59,7 @@ namespace BizHawk.Emulation.Consoles.Nintendo
prg_bank_16k = (byte)(value & 7);
SyncPRG();
if (value.Bit(3))
if (value.Bit(3) == false)
{
if (holydiver)
SetMirrorType(EMirrorType.Horizontal);

View File

@ -58,7 +58,7 @@ namespace BizHawk.Emulation.Consoles.Nintendo
prg_bank_16k = (byte)((value >> 4) & 7);
SyncPRG();
if (value.Bit(3))
if (value.Bit(3) == false)
SetMirrorType(EMirrorType.OneScreenA);
else
SetMirrorType(EMirrorType.OneScreenB);

View File

@ -5,7 +5,6 @@ using System.Diagnostics;
namespace BizHawk.Emulation.Consoles.Nintendo
{
//AKA shanghai (although a lot of shanghais have been hacked to use a different mapper, so....
//TODO - this hasnt been tested yet and isnt even close to right
class MAPPER93 : NES.NESBoardBase
{
int prg_bank_mask_16k;

View File

@ -5,6 +5,10 @@ using System.Text;
namespace BizHawk.Emulation.Consoles.Nintendo
{
//Mapper 152
//Arkanoid 2 (J)
//Gegege no Kitarou 2
class TAITO_74_161_161_32 : NES.NESBoardBase
{
int chr;
@ -23,7 +27,7 @@ namespace BizHawk.Emulation.Consoles.Nintendo
}
SetMirrorType(Cart.pad_h, Cart.pad_v);
prg_bank_mask_16k = (Cart.prg_size / 16) - 1;
prg_banks_16k[0] = 0xFF;
prg_banks_16k[1] = 0xFF;
return true;
}
@ -36,6 +40,7 @@ namespace BizHawk.Emulation.Consoles.Nintendo
public override void SyncState(Serializer ser)
{
base.SyncState(ser);
ser.Sync("chr", ref chr);
ser.Sync("prg_bank_mask_16k", ref prg_bank_mask_16k);
ser.Sync("prg_bank_16k", ref prg_bank_16k);
ser.Sync("prg_banks_16k", ref prg_banks_16k);
@ -43,7 +48,7 @@ namespace BizHawk.Emulation.Consoles.Nintendo
void SyncPRG()
{
prg_banks_16k[1] = prg_bank_16k;
prg_banks_16k[0] = prg_bank_16k;
}
public override void WritePRG(int addr, byte value)
@ -52,8 +57,7 @@ namespace BizHawk.Emulation.Consoles.Nintendo
prg_bank_16k = (byte)((value >> 4) & 7);
SyncPRG();
int m = value >> 6;
if (value.Bit(7) == true)
if (value.Bit(7))
SetMirrorType(EMirrorType.OneScreenB);
else
SetMirrorType(EMirrorType.OneScreenA);
@ -72,8 +76,9 @@ namespace BizHawk.Emulation.Consoles.Nintendo
public override byte ReadPPU(int addr)
{
if (addr < 0x2000)
return VROM[addr + (chr * 0x2000)];
return base.ReadPPU(addr);
return VROM[(addr & 0x1FFF) + (chr * 0x2000)];
else
return base.ReadPPU(addr);
}
}
}

View File

@ -76,6 +76,7 @@ sha1:8C7D33753649A2BAF2EAAF8D5FFC2AE8E9316A13 Akira (J) NES board=TAITO-TC0190
sha1:0AE47BD83202A5A2235B0BC16278F56D66038AB5 Deathbots (U) NES board=AVE-NINA-06;PRG=64;CHR=64;PAD_H=1;PAD_V=0
;these roms are in goodNES but theyre junk
sha1:A1D674D1C7C633A317CFD516EFB9A0350CD0E45E H Arkanoid II (J) NES board=TAITO-74*161/161/32;PRG=128;CHR=128;WRAM=8
sha1:4D6117577CE301BB987C5C32FEEF7B132A21B046 H Afro Man (Mega Man 3 Hack) (UNL) NES board=TXROM-HOMEBREW;PRG=256;CHR=128;WRAM=8
sha1:7BD102770FE7766BF8430ACDB3C17EE51E30478C H Mike Tyson's Punch-Out!! (Hacked) (U) NES board=NES-PNROM;PRG=128;CHR=128;WRAM=0
sha1:536D623BA02A622BDE8E2D7D514AE9785B5E0357 H Punch Out!! Kirby (Hack) (U) NES board=NES-PNROM;PRG=128;CHR=128;WRAM=0