[NES] fix bug in deemph palette that made airwolf invisible and add better tracking and reporting of bad roms (there are bad dumps of airwolf in addition to the game itself being bad)

This commit is contained in:
zeromus 2011-06-08 06:53:11 +00:00
parent 81b30501a5
commit 0015cada91
5 changed files with 11 additions and 4 deletions

View File

@ -222,6 +222,7 @@ namespace BizHawk.Emulation.Consoles.Nintendo
public short wram_size, vram_size;
public byte pad_h, pad_v, mapper;
public bool wram_battery;
public bool bad;
public string board_type;
public string pcb;
@ -305,7 +306,7 @@ namespace BizHawk.Emulation.Consoles.Nintendo
if (dict.ContainsKey("PAD_V"))
cart.pad_h = byte.Parse(dict["PAD_V"]);
if (dict.ContainsKey("bad"))
Console.WriteLine("rom is flagged as BAD!");
cart.bad = true;
return cart;
}

View File

@ -210,7 +210,6 @@ namespace BizHawk.Emulation.Consoles.Nintendo
{
int d = i >> 6;
int c = i & 63;
if (d >= 7) continue;
int r = palette[c, 0];
int g = palette[c, 1];
int b = palette[c, 2];

View File

@ -16,7 +16,6 @@ namespace BizHawk.Emulation.Consoles.Nintendo
static readonly bool USE_DATABASE = true;
//Game issues:
//Air Wolf - Black screen (seems to be mapped properly, and not frozen, but graphics just dont show up. must be ppu bug)
//Dragon warrior 3/4 certainly need some additional work done to the mapper wiring to get to the super big PRG (probably SXROM too)
//Tecmo superbowl - wobbly "NFL" logo at the end of a game (even skipped game) [zeromus cant test this; how do you skip game?]
@ -35,6 +34,7 @@ namespace BizHawk.Emulation.Consoles.Nintendo
//------
//zeromus's new notes:
//AD&D Hillsfar (U).nes black screen
//Air Wolf - big graphical glitch. seems to be a real bug, but it should never have been released with this. need to verify for sure that it is a real bug?
public NES()
{
@ -425,6 +425,11 @@ namespace BizHawk.Emulation.Consoles.Nintendo
Console.WriteLine("Final game detection results:");
Console.WriteLine(choice);
Console.WriteLine("\"" + game_name + "\"");
if (choice.bad)
{
Console.WriteLine("~~ ONE WAY OR ANOTHER, THIS DUMP IS KNOWN TO BE *BAD* ~~");
Console.WriteLine("~~ YOU SHOULD FIND A BETTER FILE ~~");
}
Console.WriteLine("END NES rom analysis");
Console.WriteLine("------");

View File

@ -16,7 +16,7 @@ namespace BizHawk.Emulation.Consoles.Nintendo
static float[] gtmul = { 0.915f, 1.086f, 0.98f, 1.026f, 0.908f, 0.987f, 0.75f };
static float[] btmul = { 0.743f, 0.882f, 0.653f, 1.277f, 0.979f, 0.101f, 0.75f };
public static void ApplyDeemphasis(ref int r, ref int g, ref int b, int deemph_bits)
public static void ApplyDeemphasis(ref int r, ref int g, ref int b, int deemph_bits)
{
//DEEMPH BITS MAY BE ORDERED WRONG. PLEASE CHECK
if (deemph_bits == 0) return;

View File

@ -2275,6 +2275,8 @@ sha1:91CECCFCAC90E417E9AEE80E8F7B560A20EB33CC Ai Sensei No Oshiete - Watashi No
sha1:984ADAEB85403EEF1BA85CDCF310FAAECEB409A0 Adventures of Captain Comic, The (Bad Dump) (U) NES board=COLORDREAMS-74*377;PRG=64;CHR=64;WRAM=0;VRAM=0;bad
sha1:869111A86FD46872AD8B1BA0ED31B858FA15681F Adventures of Lolo (Bad Dump) (U) NES board=NES-SEROM;PRG=32;CHR=32;WRAM=0;VRAM=0;bad
sha1:41BD74F739E008D476989C8296BB789EE57658F0 Adventures of Lolo (Bad Dump 2) (U) NES board=NES-SEROM;PRG=32;CHR=32;WRAM=0;VRAM=0;bad
sha1:10AF069B2AC5DB2FB10768349F4068CB3CDA0EC7 Airwolf (Bad Dump 1) (U) NES board=NES-SH1ROM;PRG=32;CHR=128;bad
sha1:DAD9D1D66018DFB3C30F48741EF188FEFA2B2F68 Airwolf (Bad Dump 2) (U) NES board=NES-SH1ROM;PRG=32;CHR=128;bad
;these roms are from goodNES but they are confusingly messed up somehow
sha1:36405B87E66E18DC432690A5959D4529C14B1AEE High Speed (U) NES board=NES-TQROM;PRG=128;CHR=64;VRAM=8;WRAM=0;bad