TIA: Implemented missile copying. Also added the missile 1 size which was missing before.
This commit is contained in:
parent
fa25305d67
commit
e708527168
|
@ -27,12 +27,15 @@ namespace BizHawk.Emulation.Consoles.Atari
|
||||||
public bool resetToPlayer;
|
public bool resetToPlayer;
|
||||||
public byte hPosCnt;
|
public byte hPosCnt;
|
||||||
public byte size;
|
public byte size;
|
||||||
|
public byte number;
|
||||||
public byte HM;
|
public byte HM;
|
||||||
public byte collisions;
|
public byte collisions;
|
||||||
|
|
||||||
public bool tick()
|
public bool tick()
|
||||||
{
|
{
|
||||||
bool result = false;
|
bool result = false;
|
||||||
|
|
||||||
|
// At hPosCnt == 0, start drawing the missile, if enabled
|
||||||
if (hPosCnt < (1 << size))
|
if (hPosCnt < (1 << size))
|
||||||
{
|
{
|
||||||
if (enabled && !resetToPlayer)
|
if (enabled && !resetToPlayer)
|
||||||
|
@ -41,6 +44,42 @@ namespace BizHawk.Emulation.Consoles.Atari
|
||||||
result = true;
|
result = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((number & 0x07) == 0x01 || ((number & 0x07) == 0x03))
|
||||||
|
{
|
||||||
|
if (hPosCnt >= 16 && hPosCnt <= (16 + (1 << size) - 1) )
|
||||||
|
{
|
||||||
|
if (enabled && !resetToPlayer)
|
||||||
|
{
|
||||||
|
// Draw the missile
|
||||||
|
result = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (((number & 0x07) == 0x02 || ((number & 0x07) == 0x03) || ((number & 0x07) == 0x06)))
|
||||||
|
{
|
||||||
|
if (hPosCnt >= 32 && hPosCnt <= (32 + (1 << size) - 1) )
|
||||||
|
{
|
||||||
|
if (enabled && !resetToPlayer)
|
||||||
|
{
|
||||||
|
// Draw the missile
|
||||||
|
result = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((number & 0x07) == 0x04 || (number & 0x07) == 0x06)
|
||||||
|
{
|
||||||
|
if (hPosCnt >= 64 && hPosCnt <= (64 + (1 << size) - 1) )
|
||||||
|
{
|
||||||
|
if (enabled && !resetToPlayer)
|
||||||
|
{
|
||||||
|
// Draw the missile
|
||||||
|
result = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Increment the counter
|
// Increment the counter
|
||||||
hPosCnt++;
|
hPosCnt++;
|
||||||
|
@ -733,10 +772,13 @@ namespace BizHawk.Emulation.Consoles.Atari
|
||||||
{
|
{
|
||||||
player0.nusiz = (byte)(value & 0x37);
|
player0.nusiz = (byte)(value & 0x37);
|
||||||
player0.missile.size = (byte)((value & 0x30) >> 4);
|
player0.missile.size = (byte)((value & 0x30) >> 4);
|
||||||
|
player0.missile.number = (byte)(value & 0x07);
|
||||||
}
|
}
|
||||||
else if (maskedAddr == 0x05) // NUSIZ1
|
else if (maskedAddr == 0x05) // NUSIZ1
|
||||||
{
|
{
|
||||||
player1.nusiz = (byte)(value & 0x37);
|
player1.nusiz = (byte)(value & 0x37);
|
||||||
|
player1.missile.size = (byte)((value & 0x30) >> 4);
|
||||||
|
player1.missile.number = (byte)(value & 0x07);
|
||||||
}
|
}
|
||||||
else if (maskedAddr == 0x06) // COLUP0
|
else if (maskedAddr == 0x06) // COLUP0
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue