Added files via upload

star field correct
This commit is contained in:
alyosha-tas 2016-04-05 18:41:53 -04:00
parent 82f0cb2f46
commit ea18662bfe
1 changed files with 29 additions and 12 deletions

View File

@ -273,6 +273,7 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
private int test_count_m0;
private int test_count_m1;
private int test_count_b;
private bool do_ticks = false;
private byte _hsyncCnt;
private int _capChargeStart;
private bool _capCharging;
@ -413,6 +414,8 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
// TODO: Remove this magic number (17). It depends on the HMOVE
if ((_hsyncCnt / 4) >= (_hmove.LateHBlankReset ? 19 : 17))
{
do_ticks = false;
// TODO: Remove this magic number
if ((_hsyncCnt / 4) >= 37)
{
@ -559,9 +562,11 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
throw new Exception(); // TODO
_scanlinebuffer[_CurrentScanLine * ScreenWidth + x] = pixelColor;
}
}
else
} else
{
do_ticks = true;
}
@ -619,8 +624,12 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
// If the move counter still has a bit in common with the HM register
if (((15 - _hmove.Player0Cnt) ^ ((_player0.HM & 0x07) | ((~(_player0.HM & 0x08)) & 0x08))) != 0x0F)
{
// "Clock-Stuffing"
// "Clock-Stuffing"
if (do_ticks==true)
{
_player0.Tick();
}
// Increase by 1, max of 15
@ -650,9 +659,11 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
// If the move counter still has a bit in common with the HM register
if (((15 - _hmove.Missile0Cnt) ^ ((_player0.Missile.Hm & 0x07) | ((~(_player0.Missile.Hm & 0x08)) & 0x08))) != 0x0F)
{
// "Clock-Stuffing"
// "Clock-Stuffing"
if (do_ticks == true)
{
_player0.Missile.Tick();
}
// Increase by 1, max of 15
@ -679,9 +690,11 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
// If the move counter still has a bit in common with the HM register
if (((15 - _hmove.Player1Cnt) ^ ((_player1.HM & 0x07) | ((~(_player1.HM & 0x08)) & 0x08))) != 0x0F)
{
// "Clock-Stuffing"
// "Clock-Stuffing"
if (do_ticks == true)
{
_player1.Tick();
}
// Increase by 1, max of 15
test_count_p1++;
if (test_count_p1 < 16)
@ -705,9 +718,11 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
// If the move counter still has a bit in common with the HM register
if (((15 - _hmove.Missile1Cnt) ^ ((_player1.Missile.Hm & 0x07) | ((~(_player1.Missile.Hm & 0x08)) & 0x08))) != 0x0F)
{
// "Clock-Stuffing"
// "Clock-Stuffing"
if (do_ticks == true)
{
_player1.Missile.Tick();
}
// Increase by 1, max of 15
test_count_m1++;
if (test_count_m1 < 16)
@ -731,9 +746,11 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
// If the move counter still has a bit in common with the HM register
if (((15 - _hmove.BallCnt) ^ ((_ball.HM & 0x07) | ((~(_ball.HM & 0x08)) & 0x08))) != 0x0F)
{
// "Clock-Stuffing"
// "Clock-Stuffing"
if (do_ticks == true)
{
_ball.Tick();
}
// Increase by 1, max of 15
test_count_b++;
if (test_count_b < 16)
@ -776,7 +793,7 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
_hmove.DecCntEnabled = true;
}
}
}
// Increment the hsync counter
_hsyncCnt++;