O2Hawk: collision bug fix
This commit is contained in:
parent
9015d36862
commit
49fc6839e6
|
@ -146,6 +146,7 @@ namespace BizHawk.Emulation.Cores.Consoles.O2Hawk
|
||||||
else if (addr == 0xA2)
|
else if (addr == 0xA2)
|
||||||
{
|
{
|
||||||
VDC_collision = value;
|
VDC_collision = value;
|
||||||
|
//Console.WriteLine("VDC_collide: " + value + " " + Core.cpu.TotalExecutedCycles);
|
||||||
}
|
}
|
||||||
else if (addr == 0xA3)
|
else if (addr == 0xA3)
|
||||||
{
|
{
|
||||||
|
@ -404,7 +405,7 @@ namespace BizHawk.Emulation.Cores.Consoles.O2Hawk
|
||||||
}
|
}
|
||||||
|
|
||||||
// calculate collision
|
// calculate collision
|
||||||
int col_bit = 0;
|
int col_bit = -1;
|
||||||
for (int i = 7; i >= 0; i--)
|
for (int i = 7; i >= 0; i--)
|
||||||
{
|
{
|
||||||
if (VDC_collision.Bit(i))
|
if (VDC_collision.Bit(i))
|
||||||
|
@ -413,6 +414,8 @@ namespace BizHawk.Emulation.Cores.Consoles.O2Hawk
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (col_bit >= 0)
|
||||||
|
{
|
||||||
for (int i = 0; i < 8; i++)
|
for (int i = 0; i < 8; i++)
|
||||||
{
|
{
|
||||||
if (Pixel_Stat.Bit(i) & Pixel_Stat.Bit(col_bit) && (i != col_bit))
|
if (Pixel_Stat.Bit(i) & Pixel_Stat.Bit(col_bit) && (i != col_bit))
|
||||||
|
@ -422,6 +425,7 @@ namespace BizHawk.Emulation.Cores.Consoles.O2Hawk
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
cycle++;
|
cycle++;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue