GBHawk: Fix DMG sprite evaluation (fixes Oh! Demo bug)
This commit is contained in:
parent
77938b0d1b
commit
41e217731d
|
@ -570,8 +570,8 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawk
|
||||||
// before we go on to read case 3, we need to know if we stall there or not
|
// before we go on to read case 3, we need to know if we stall there or not
|
||||||
// Gekkio's tests show that if sprites are at position 0 or 1 (mod 8)
|
// Gekkio's tests show that if sprites are at position 0 or 1 (mod 8)
|
||||||
// then it takes an extra cycle (1 or 2 more t-states) to process them
|
// then it takes an extra cycle (1 or 2 more t-states) to process them
|
||||||
|
// Also, on DMG only, this process only runs if sprites are on in the LCDC (on GBC it always runs)
|
||||||
if (!no_sprites && (pixel_counter < 160))
|
if (!no_sprites && (pixel_counter < 160) && LCDC.Bit(1))
|
||||||
{
|
{
|
||||||
for (int i = 0; i < SL_sprites_index; i++)
|
for (int i = 0; i < SL_sprites_index; i++)
|
||||||
{
|
{
|
||||||
|
@ -900,7 +900,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawk
|
||||||
{
|
{
|
||||||
fetch_sprite = false;
|
fetch_sprite = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue